/* ************************************************************************
   ************************************************************************

    COMMON SETTINGS

   ************************************************************************
   ************************************************************************ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");
@font-face {
  font-family: "quentin";
  src: url("../fonts/Quentin.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
:root {
  --color-main: #21a59e;
  --color-main2: #47af5d;
  --color-main3: #e6df42;
  --color-gradient: linear-gradient(138deg,rgba(33, 165, 158, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%);
  --color-accent: #21a59e;
  --color-base: #f8f6ed;
  --color-white: #ffffff;
  --font-unique-en: "quentin", serrif;
}

/* ------------------------------
    RESPONSIVE SETTINGS
  ------------------------------ */
/* ------------------------------
    FONT
  ------------------------------ */
.t__min {
  font-family: serif !important;
}

/* ------------------------------
    COLOR SETTINGS
  ------------------------------ */
svg {
  fill: currentColor;
}

/* ------------------------------
    MIXIN
  ------------------------------ */
/* ------------------------------
    KEYFRAME
  ------------------------------ */
@-webkit-keyframes scrollDown {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
  70% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
}
@keyframes scrollDown {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
  70% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
}
@-webkit-keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loopClRv {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes loopClRv {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes countDown {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0% 0 0);
            clip-path: inset(0 0% 0 0);
  }
}
@keyframes countDown {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0% 0 0);
            clip-path: inset(0 0% 0 0);
  }
}
@-webkit-keyframes rotateInf {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
@keyframes rotateInf {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.company {
  background: var(--color-base);
}

.companyCopy_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 320px) {
  .companyCopy_wrapper {
    padding: 56px 15vw 0;
  }
}
@media screen and (min-width: 600px) {
  .companyCopy_wrapper {
    padding: 80px 15vw 0 10vw;
  }
}

.companyCopy_title div {
  font-weight: 800;
  line-height: 1.24;
}
@media screen and (min-width: 320px) {
  .companyCopy_title div {
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 600px) {
  .companyCopy_title div {
    font-size: 8rem;
  }
}
.companyCopy_title div small {
  font-size: 70%;
  margin: 0 4px;
}
.companyCopy_title h2 {
  font-weight: 700;
  margin-top: 24px;
}
@media screen and (min-width: 320px) {
  .companyCopy_title h2 {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 600px) {
  .companyCopy_title h2 {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 320px) {
  .companyCopy_text {
    font-size: 1.2rem;
    line-height: 1.46;
    margin-top: 32px;
  }
}
@media screen and (min-width: 600px) {
  .companyCopy_text {
    font-size: 2.4rem;
    line-height: 2.2;
    margin-top: 64px;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.companyGallery, .copmanyGallery_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.companyGallery {
  margin-top: 24px;
  overflow: hidden;
}

.copmanyGallery_wrapper {
  -webkit-animation: loopCl 50000ms linear infinite both;
          animation: loopCl 50000ms linear infinite both;
}

@media screen and (min-width: 320px) {
  .copmpanyGallery_item {
    width: 24rem;
    margin-right: 8px;
  }
}
@media screen and (min-width: 600px) {
  .copmpanyGallery_item {
    width: 56rem;
    margin-right: 16px;
  }
}
@media screen and (min-width: 320px) {
  .copmpanyGallery_item .imgWrapper {
    border-radius: 8px;
  }
}
@media screen and (min-width: 600px) {
  .copmpanyGallery_item .imgWrapper {
    border-radius: 16px;
  }
}

.companyOutline_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 320px) {
  .companyOutline_wrapper {
    padding: 64px 10vw;
    padding-bottom: 32px;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline_wrapper {
    padding: 64px 10vw 0 12.5vw;
    padding-bottom: 64px;
  }
}

@media screen and (min-width: 320px) {
  .companyOutline_title {
    width: 100%;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline_title {
    width: 30%;
    margin-bottom: 0;
  }
}
.companyOutline_title h2 {
  position: sticky;
  top: 12.5rem;
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .companyOutline_title h2 {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline_title h2 {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 320px) {
  .companyOutline_table {
    width: 100%;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline_table {
    width: 60%;
  }
}

.companyOutline_dl {
  background: var(--color-white);
  border-radius: 8px;
  padding: 16px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 8px;
}
@media screen and (min-width: 320px) {
  .companyOutline_dl {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline_dl {
    font-size: 1.6rem;
  }
}
.companyOutline_dl dt {
  font-weight: 700;
  width: 25%;
}
.companyOutline_dl dd {
  width: 70%;
}
.companyOutline_dl a {
  color: var(--color-accent);
}/*# sourceMappingURL=company.css.map */