@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");
html {
  font-size: 62.5%; }

body {
  font-family: "Lato", sans-serif;
  background-color: #eee; }

h1, h2, h3, h4, h5, h6, p, span, a, table {
  line-height: 1.4;
  color: #3a3b3c; }

.center {
  text-align: center; }

.gray {
  color: #808080; }

.red {
  color: #cc0000; }

.bold {
  font-weight: bold; }

.headline-h1 {
  font-weight: bold;
  font-size: 4.8rem; }
  @media screen and (min-width: 760px) {
    .headline-h1 {
      font-size: 6.4rem; } }
  @media screen and (min-width: 960px) {
    .headline-h1 {
      font-size: 6.4rem; } }

.headline-h2 {
  font-weight: bold;
  font-size: 2.4rem; }
  @media screen and (min-width: 760px) {
    .headline-h2 {
      font-size: 3.6rem; } }

.headline-h3 {
  font-weight: bold;
  font-size: 2rem; }
  @media screen and (min-width: 760px) {
    .headline-h3 {
      font-size: 2.8rem; } }

.headline-h4 {
  font-weight: bold;
  font-size: 1.8rem; }
  @media screen and (min-width: 760px) {
    .headline-h4 {
      font-size: 2.4rem; } }

.headline-h5 {
  font-size: 1.6rem; }

.p-bg {
  font-size: 1.8rem; }
  @media screen and (min-width: 760px) {
    .p-bg {
      font-size: 2.4rem; } }

.p-md {
  font-size: 1.4rem; }
  @media screen and (min-width: 760px) {
    .p-md {
      font-size: 1.8rem; } }

.sub-title00 {
  font-size: 1.8rem; }
  @media screen and (min-width: 760px) {
    .sub-title00 {
      font-size: 2.8rem; } }

.sub-title01 {
  font-size: 1.2rem; }
  @media screen and (min-width: 760px) {
    .sub-title01 {
      font-size: 1.4rem; } }

.sub-title02 {
  font-size: 1.4rem; }
  @media screen and (min-width: 760px) {
    .sub-title02 {
      font-size: 1.8rem; } }

.sub-title03 {
  font-size: 1rem; }
  @media screen and (min-width: 760px) {
    .sub-title03 {
      font-size: 1.2rem; } }

main {
  overflow: hidden; }

.column {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto; }

.title-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 60px;
  padding: 100px 0 0; }

.line01 {
  width: 75px;
  height: 2px;
  background-color: #cc0000;
  margin: 10px 0 20px; }

header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  transition: ease .3s; }
  header .header-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    header .header-wrapper .header-box {
      position: relative;
      height: 100%; }
      header .header-wrapper .header-box .header-brand {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        width: 60px; }
        header .header-wrapper .header-box .header-brand img {
          display: block;
          width: 48px;
          height: 48px; }
      header .header-wrapper .header-box .header-nav {
        position: absolute;
        top: 0;
        right: -100%;
        z-index: 1;
        width: 200px;
        height: 300px;
        transition: ease .3s;
        overflow: hidden;
        opacity: 0; }
        @media screen and (min-width: 760px) {
          header .header-wrapper .header-box .header-nav {
            opacity: 1;
            position: relative;
            right: 0;
            width: auto;
            height: auto; } }
        header .header-wrapper .header-box .header-nav.active {
          opacity: 1;
          right: 0;
          background-color: rgba(238, 238, 238, 0.8); }
          header .header-wrapper .header-box .header-nav.active .nav-a {
            color: #3a3b3c; }
        header .header-wrapper .header-box .header-nav-ul {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          margin: 80px 0 0; }
          @media screen and (min-width: 760px) {
            header .header-wrapper .header-box .header-nav-ul {
              margin: 0;
              flex-direction: row; } }
          header .header-wrapper .header-box .header-nav-ul-li {
            margin: 0 0 20px; }
            @media screen and (min-width: 760px) {
              header .header-wrapper .header-box .header-nav-ul-li {
                margin: 0 20px 0 0; } }
            header .header-wrapper .header-box .header-nav-ul-li .nav-a {
              position: relative;
              padding: 0 0 4px;
              color: #eee;
              font-size: 1.8rem;
              transition: ease .3s; }
              header .header-wrapper .header-box .header-nav-ul-li .nav-a:after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 10%;
                width: 80%;
                height: 3px;
                background: #cc0000;
                transition: ease .3s;
                transform: scale(0, 1);
                transform-origin: left top; }
              header .header-wrapper .header-box .header-nav-ul-li .nav-a:hover:after {
                transform: scale(1, 1); }
              header .header-wrapper .header-box .header-nav-ul-li .nav-a:focus:after {
                transform: scale(1, 1); }
              header .header-wrapper .header-box .header-nav-ul-li .nav-a.current:after {
                transform: scale(1, 1); }
      header .header-wrapper .header-box .hum-button {
        cursor: pointer;
        position: relative;
        z-index: 2;
        height: 60px;
        width: 60px;
        transition: ease 0.3s; }
        @media screen and (min-width: 760px) {
          header .header-wrapper .header-box .hum-button {
            display: none; } }
        header .header-wrapper .header-box .hum-button .hum-line, header .header-wrapper .header-box .hum-button:before, header .header-wrapper .header-box .hum-button:after {
          display: block;
          position: absolute;
          height: 3px;
          width: 36px;
          background-color: #eee;
          transition: ease .3s; }
        header .header-wrapper .header-box .hum-button .hum-line {
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
        header .header-wrapper .header-box .hum-button:before {
          content: '';
          top: 25%;
          left: 50%;
          transform: translate(-50%, -50%); }
        header .header-wrapper .header-box .hum-button:after {
          content: '';
          top: 75%;
          left: 50%;
          transform: translate(-50%, -50%); }
        header .header-wrapper .header-box .hum-button:hover .hum-line, header .header-wrapper .header-box .hum-button:hover:before, header .header-wrapper .header-box .hum-button:hover:after {
          background-color: #cc0000; }
        header .header-wrapper .header-box .hum-button.active .hum-line {
          opacity: 0;
          transform: translate(-50%, -50%) rotateY(180deg);
          background-color: #3a3b3c; }
        header .header-wrapper .header-box .hum-button.active:before {
          top: 50%;
          transform: translate(-50%, -50%) rotateY(180deg) rotateZ(45deg);
          background-color: #3a3b3c; }
        header .header-wrapper .header-box .hum-button.active:after {
          top: 50%;
          transform: translate(-50%, -50%) rotateY(180deg) rotateZ(-45deg);
          background-color: #3a3b3c; }
        header .header-wrapper .header-box .hum-button.active:hover .hum-line, header .header-wrapper .header-box .hum-button.active:hover:before, header .header-wrapper .header-box .hum-button.active:hover:after {
          background-color: #cc0000; }
  header.scrolled {
    background-color: #eee; }
    header.scrolled .header-box .hum-button .hum-line, header.scrolled .header-box .hum-button:before, header.scrolled .header-box .hum-button:after {
      background-color: #3a3b3c; }
    header.scrolled .header-box .header-nav .header-nav-ul-li .nav-a {
      color: #3a3b3c; }

.hero {
  width: 100%;
  height: 100vh;
  position: relative; }
  .hero .hero-box {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center; }
    .hero .hero-box h1 {
      color: #eee; }
    .hero .hero-box span {
      color: #eee; }
    .hero .hero-box .scroll-down {
      width: 40px;
      height: 40px; }
      @media screen and (min-width: 760px) {
        .hero .hero-box .scroll-down {
          width: 60px;
          height: 60px; } }
  .hero .hero-back {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #111; }
    .hero .hero-back .hero-video {
      width: auto;
      height: 100%;
      filter: brightness(0.5); }

.about {
  margin: 0 0 40px; }
  @media screen and (min-width: 960px) {
    .about .about-ul {
      display: flex;
      align-items: flex-start; } }
  .about .about-ul-li:nth-child(2) {
    margin: 60px 0; }
  @media screen and (min-width: 960px) {
    .about .about-ul-li {
      display: flex;
      justify-content: center;
      flex-direction: column;
      width: 30%; }
      .about .about-ul-li:nth-child(2) {
        margin: 0 5%; } }
  .about .about-ul-li-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .about .about-ul-li .about-icon {
    display: block;
    font-size: 6.4rem;
    height: 80px;
    line-height: 80px; }

@media screen and (min-width: 960px) {
  .profile .profile-flex {
    display: flex;
    justify-content: center;
    align-items: flex-start; } }
.profile .profile-flex-child {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (min-width: 960px) {
    .profile .profile-flex-child {
      width: 50%; } }
  .profile .profile-flex-child .profile-img {
    width: 80%;
    max-width: 400px; }
    @media screen and (min-width: 960px) {
      .profile .profile-flex-child .profile-img {
        width: 80%;
        margin: 0 auto 0 0; } }
  .profile .profile-flex-child .profile-main {
    width: 100%;
    margin: 30px 0 0; }
    @media screen and (min-width: 960px) {
      .profile .profile-flex-child .profile-main {
        margin: 0; } }
    .profile .profile-flex-child .profile-main .p-md {
      margin: 20px 0 0; }
    .profile .profile-flex-child .profile-main .sns-icon {
      font-size: 2.8rem;
      line-height: 3.6rem;
      transition: ease .3s;
      transform-origin: center; }
      .profile .profile-flex-child .profile-main .sns-icon:hover, .profile .profile-flex-child .profile-main .sns-icon:focus {
        font-size: 3.2rem;
        filter: brightness(0.8); }
  .profile .profile-flex-child .profile-sub {
    width: 100%;
    margin: 30px 0 0 0; }
    .profile .profile-flex-child .profile-sub .table-wrapper {
      width: 100%;
      margin: 20px 0 0; }
      .profile .profile-flex-child .profile-sub .table-wrapper .column-layout-item {
        display: flex;
        font-size: 1.4rem;
        margin: 0 0 10px; }
        @media screen and (min-width: 960px) {
          .profile .profile-flex-child .profile-sub .table-wrapper .column-layout-item {
            font-size: 1.8rem; } }
        .profile .profile-flex-child .profile-sub .table-wrapper .column-layout-item-left {
          width: 25%;
          display: block; }
        .profile .profile-flex-child .profile-sub .table-wrapper .column-layout-item-right {
          width: 75%;
          display: block; }

.works {
  padding: 0 0 160px; }
  .works .swiper-container {
    position: relative;
    overflow: hidden; }
    .works .swiper-container .swiper-wrapper .swiper-slide {
      padding: 0 20px; }
      .works .swiper-container .swiper-wrapper .swiper-slide .works-images {
        width: 100%; }
        @media screen and (min-width: 760px) {
          .works .swiper-container .swiper-wrapper .swiper-slide .works-images {
            display: flex;
            justify-content: space-between;
            align-items: center; } }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-images li {
          width: 100%;
          display: none; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-images li:first-child {
            display: block; }
          @media screen and (min-width: 760px) {
            .works .swiper-container .swiper-wrapper .swiper-slide .works-images li {
              display: block;
              width: 30%; } }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-images li img {
            width: 100%; }
      @media screen and (min-width: 960px) {
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox {
          display: flex;
          justify-content: space-between;
          align-items: flex-start; } }
      .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child {
        margin: 20px 0 0; }
        @media screen and (min-width: 960px) {
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child {
            margin: 60px 0 0; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child.left {
              width: 50%; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child.right {
              width: 40%; } }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .sub-title02 {
          margin: 0 0 20px;
          display: block; }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .works-link:focus span {
          color: #cc0000; }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .works-link span {
          color: #808080;
          transition: ease .3s; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .works-link span:hover {
            color: #cc0000; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .works-link span:before {
            content: '>>'; }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button {
          margin: 20px 0 0; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button .more-button-inner {
            width: 90px;
            display: flex;
            align-items: center;
            transition: ease .3s; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button .more-button-inner:hover, .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button .more-button-inner:focus {
              filter: brightness(0.8);
              cursor: pointer; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button .more-button-inner i {
              font-size: 4.8rem;
              margin: 0 8px 0 0; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .more-button .more-button-inner span {
              line-height: 1em; }
        .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper {
          position: relative;
          min-height: 220px; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-menu {
            display: flex;
            justify-content: space-between;
            width: 95%;
            margin: 0 auto; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-menu .tab {
              width: 33%;
              padding: 0 0 4px;
              border-bottom: #808080 solid 3px;
              text-align: center;
              transition: ease .3s; }
              .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-menu .tab:hover, .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-menu .tab:focus {
                border-color: #cc0000; }
              .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-menu .tab.active {
                border-color: #cc0000;
                margin: -8px 0 0; }
          .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content {
            min-height: 220px;
            position: absolute;
            opacity: 0;
            z-index: -1;
            transition: linear .1s; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content-ul {
              width: calc(100% - 10px);
              margin: 10px 0 0; }
              .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content-ul-li {
                display: flex;
                align-items: flex-start;
                padding: 0 0 0 10px;
                margin: 0 0 8px;
                font-size: 1.4rem;
                line-height: 1.4; }
                @media screen and (min-width: 760px) {
                  .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content-ul-li {
                    font-size: 1.8rem; } }
                .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content-ul-li:before {
                  content: '・';
                  display: block; }
            .works .swiper-container .swiper-wrapper .swiper-slide .works-flexbox-child .tab-area-wrapper .tab-content.active {
              z-index: 1;
              opacity: 1; }
    .works .swiper-container .swiper-controller {
      width: 160px;
      height: 60px;
      margin: 0 0 0 auto;
      padding: 0 10px 0 0;
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .works .swiper-container .swiper-controller .swiper-button {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #808080;
        transition: ease .5s; }
        .works .swiper-container .swiper-controller .swiper-button:hover, .works .swiper-container .swiper-controller .swiper-button:focus {
          background-color: #cc0000;
          transform: scale(1.1); }
        .works .swiper-container .swiper-controller .swiper-button-prev {
          position: relative;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto; }
          .works .swiper-container .swiper-controller .swiper-button-prev::after {
            content: '←';
            color: #eee;
            font-size: 1.8rem;
            font-weight: bold; }
        .works .swiper-container .swiper-controller .swiper-button-next {
          position: relative;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto; }
          .works .swiper-container .swiper-controller .swiper-button-next::after {
            content: '→';
            color: #eee;
            font-size: 1.8rem;
            font-weight: bold; }
    .works .swiper-container .swiper-notification {
      display: none; }
  .works .featured-products__wrapper {
    padding-bottom: 0 !important; }
  .works .featured__slider {
    padding-bottom: 0 !important; }
  .works .featured-slide__mask {
    padding-bottom: 0 !important; }

.lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  .lightbox .close-button-wrapper {
    height: 10%;
    display: flex;
    align-items: center; }
    .lightbox .close-button-wrapper .close-button {
      color: #eee;
      font-size: 3.6rem;
      cursor: pointer;
      transition: ease .3s; }
      @media screen and (min-width: 760px) {
        .lightbox .close-button-wrapper .close-button {
          font-size: 4.8rem; } }
      .lightbox .close-button-wrapper .close-button:hover, .lightbox .close-button-wrapper .close-button:focus {
        color: #cc0000; }
  .lightbox .lightbox-wrapper {
    width: 90%;
    height: 90%;
    margin: 0 auto; }
    .lightbox .lightbox-wrapper .swiper-box {
      height: 100%;
      overflow: hidden; }
      .lightbox .lightbox-wrapper .swiper-box .swiper-main {
        height: 80%; }
        .lightbox .lightbox-wrapper .swiper-box .swiper-main .swiper-slide {
          height: 100%;
          display: flex;
          align-items: center;
          overflow-y: auto; }
          .lightbox .lightbox-wrapper .swiper-box .swiper-main .swiper-slide img {
            height: 0;
            width: 100%; }
        .lightbox .lightbox-wrapper .swiper-box .swiper-main .swiper-slide-active {
          height: 100%; }
          .lightbox .lightbox-wrapper .swiper-box .swiper-main .swiper-slide-active img {
            height: auto;
            width: auto;
            max-width: 100%;
            display: block;
            margin: auto; }
      .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail {
        height: 15%;
        margin: 5% 0 0; }
        @media screen and (min-width: 760px) {
          .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail {
            margin: 2% 0 0; } }
        @media screen and (min-width: 960px) {
          .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper {
            display: flex;
            justify-content: center;
            align-items: center; } }
        .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide {
          transition: ease .3s;
          display: flex;
          align-items: center;
          justify-content: center; }
          .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide:hover, .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide:focus {
            filter: brightness(0.6);
            cursor: pointer; }
          @media screen and (min-width: 960px) {
            .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide {
              width: 140px !important; } }
          .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide img {
            display: flex;
            width: auto;
            max-width: 100%;
            height: auto;
            max-height: 100%;
            margin: 0 auto; }
        .lightbox .lightbox-wrapper .swiper-box .swiper-thumbnail .swiper-wrapper .swiper-slide-thumb-active {
          filter: brightness(0.6);
          border: solid #cc0000 1px;
          border-radius: 10px; }
      .lightbox .lightbox-wrapper .swiper-box .swiper-button-allow {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background-color: #808080;
        transition: ease .5s; }
        @media screen and (min-width: 760px) {
          .lightbox .lightbox-wrapper .swiper-box .swiper-button-allow {
            width: 60px;
            height: 60px; } }
        .lightbox .lightbox-wrapper .swiper-box .swiper-button-allow:hover, .lightbox .lightbox-wrapper .swiper-box .swiper-button-allow:focus {
          background-color: #cc0000;
          transform: scale(1.1); }
      .lightbox .lightbox-wrapper .swiper-box .swiper-button-prev::after {
        content: '←';
        color: #eee;
        font-size: 1.8rem;
        font-weight: bold; }
      .lightbox .lightbox-wrapper .swiper-box .swiper-button-next::after {
        content: '→';
        color: #eee;
        font-size: 1.8rem;
        font-weight: bold; }

footer {
  width: 100%;
  padding: 40px 0;
  background-color: #3a3b3c; }
  footer .footer-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    footer .footer-inner .copy {
      display: block;
      color: #eee;
      font-size: 1rem; }
      @media screen and (min-width: 760px) {
        footer .footer-inner .copy {
          font-size: 1.2rem; } }

.fadeInUp {
  opacity: 0;
  transform: translateY(200px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out; }

.fadeInUp.active {
  opacity: 1;
  transform: translateY(0); }

.loadUp01, .loadUp02, .loadUp03 {
  opacity: 0;
  transform: translateY(40px); }

.loadDown02 {
  opacity: 0;
  transform: translateY(-40px); }

@keyframes loadUp {
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes loadDown {
  to {
    opacity: 1;
    transform: translateY(0); } }
.loadUp01.active, .loadUp02.active, .loadUp03.active {
  animation: loadUp 0.8s forwards; }

.loadDown02.active {
  animation: loadDown 0.8s forwards; }

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