@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(520 / var(--inner-scale));
  --inner: 410;
  --inner-500: 500;
}
@media screen and (max-width: 999px) {
  :root {
    --inner-scale: calc(0.9 / (410 / 520));
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: calc(520 * 0.3);
    --inner-scale: 1;
  }
}

/* ===============================
  TOP
=============================== */
/*------------------------------
fv
------------------------------*/
.fv {
  aspect-ratio: 183/99;
  width: 100%;
  position: relative;
}
@media (max-width: 767px) {
  .fv {
    aspect-ratio: 183/130;
  }
}

#fadeWrap {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#fadeWrap > picture, #fadeWrap > img, #fadeWrap > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* ※1 */
}
#fadeWrap > picture img, #fadeWrap > img img, #fadeWrap > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.15); /* スケール start */
}
#fadeWrap > picture:not(.act-transition), #fadeWrap > img:not(.act-transition), #fadeWrap > div:not(.act-transition) {
  opacity: 0;
}
#fadeWrap > picture.act-transition img, #fadeWrap > img.act-transition img, #fadeWrap > div.act-transition img {
  transition: transform 7s linear;
  transform: scale(1); /* スケール end */
}

.top-hero-text {
  position: absolute;
  bottom: 0%;
  left: 28%;
  transform: translate(-50%, 13%);
  z-index: 300;
}
.top-hero-text p {
  font-family: "EB Garamond", serif;
  font-size: min( 44.5 * 100vw / var(--vw-base) , 44.5/var(--vw-base) * 1440px );
  color: #fff;
}
@media (max-width: 767px) {
  .top-hero-text p {
    font-size: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
  }
}

.fv-text {
  font-size: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .fv-text {
    font-size: min( 6 * 100vw / var(--vw-base) , 6/var(--vw-base) * 1440px );
    width: 100%;
    text-align: center;
  }
}

.fv-text1 {
  position: absolute;
  top: 31%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .fv-text1 {
    top: 50%;
  }
}

.fv-text2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*------------------------------
philosophy
------------------------------*/
.philosophy {
  padding-top: min( 14 * 100vw / var(--vw-base) , 14/var(--vw-base) * 1440px );
  padding-bottom: min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
  position: relative;
  overflow: hidden;
}
.philosophy > * {
  position: relative;
  z-index: 10;
}
.philosophy::before {
  content: "";
  position: absolute;
  background: url(../img/philosophy_dec.png) no-repeat center center/100%;
  aspect-ratio: 449/463;
  transform: translate(50%, -8%);
  width: 43%;
  right: 18%;
  top: 0%;
}
@media (max-width: 767px) {
  .philosophy {
    padding-bottom: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
    padding-top: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  }
}

.philosophy__header {
  width: calc(244 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .philosophy__header {
    width: 100%;
  }
}

.philosophy__title-ja {
  font-size: min( 7 * 100vw / var(--vw-base) , 7/var(--vw-base) * 1440px );
  font-weight: 400;
  line-height: 2.7142857143;
}

.philosophy__heading {
  font-size: min( 8 * 100vw / var(--vw-base) , 8/var(--vw-base) * 1440px );
  font-weight: 600;
  line-height: 2;
  margin-top: 2em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .philosophy__heading {
    font-size: min( 7 * 100vw / var(--vw-base) , 7/var(--vw-base) * 1440px );
    margin-top: 1em;
  }
}

.philosophy__description {
  font-size: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 2;
  margin-top: 1.1em;
}

.philosophy__items {
  margin-top: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .philosophy__items {
    width: 90%;
    margin: 0 auto;
    margin-top: 10%;
  }
}

.philosophy__item {
  display: flex;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .philosophy__item:first-child {
    align-items: flex-end;
  }
  .philosophy__item:first-child .philosophy__body {
    padding-right: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
    padding-bottom: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
  }
  .philosophy__item:nth-child(2) {
    flex-direction: row-reverse;
    align-items: center;
    margin-top: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  }
  .philosophy__item:nth-child(2) .philosophy__body {
    padding-left: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
  }
}
@media (min-width: 768px) {
  .philosophy__item:nth-child(2) .philosophy__body {
    width: calc(min(622 / 1440 * 100vw,622px) + max((100vw - 1440px) / 2, 0px));
    padding-left: calc(min(150 / 1440 * 100vw,150px) + max((100vw - 1440px) / 2, 0px));
  }
}
@media (max-width: 767px) {
  .philosophy__item {
    display: block;
  }
  .philosophy__item:nth-child(n+2) {
    margin-top: 10%;
  }
}

.philosophy__image {
  width: 52.8%;
}
@media (min-width: 768px) {
  .philosophy__image {
    width: calc(min(760 / 1440 * 100vw,760px) + max((100vw - 1440px) / 2, 0px));
  }
}
@media (max-width: 767px) {
  .philosophy__image {
    width: 100%;
  }
}

.philosophy__body {
  width: 43.2%;
}
@media (max-width: 767px) {
  .philosophy__body {
    width: 100%;
    margin-top: 5%;
  }
}

.philosophy__body-title {
  transform: translateY(0.5em);
  position: relative;
  display: block;
}

/*------------------------------
business
------------------------------*/
.business {
  padding: min( 45 * 100vw / var(--vw-base) , 45/var(--vw-base) * 1440px ) 0 min( 120 * 100vw / var(--vw-base) , 120/var(--vw-base) * 1440px );
  position: relative;
}
.business > * {
  position: relative;
  z-index: 10;
}
.business::before {
  content: "";
  position: absolute;
  background: #fff;
  width: calc(min(1123 / 1440 * 100vw,1123px) + max((100vw - 1440px) / 2, 0px));
  height: 58%;
  left: 0%;
  top: 0%;
}
@media (max-width: 767px) {
  .business {
    padding: calc(25 / var(--inner) * 100%) 0 40%;
  }
  .business::before {
    width: 80%;
  }
}

.business__header {
  display: flex;
  justify-content: space-between;
  padding: 0 min( 29 * 100vw / var(--vw-base) , 29/var(--vw-base) * 1440px ) 0 min( 53 * 100vw / var(--vw-base) , 53/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .business__header {
    width: 90%;
    margin: 0 auto;
    padding: 0;
    display: block;
  }
}

.business__message {
  width: 48.5%;
  font-size: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .business__message {
    width: 79%;
  }
}

.business__list {
  margin-top: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .business__list {
    display: block;
  }
}

.business__item {
  width: 48.5%;
  aspect-ratio: 252/158;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 6.3%;
}
@media (max-width: 767px) {
  .business__item {
    width: 100%;
  }
  .business__item:nth-child(2) {
    margin-top: 5%;
  }
}

.business__item--01 {
  background: url(../img/business_bg01.jpg) no-repeat center center/cover;
}

.business__item--02 {
  background: url(../img/business_bg02.jpg) no-repeat center center/cover;
}

.business__item-body {
  color: #fff;
  text-align: center;
}

.business__heading-ja {
  display: block;
  font-size: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  font-weight: 400;
}

.business__heading-en {
  display: block;
  font-size: min( 6 * 100vw / var(--vw-base) , 6/var(--vw-base) * 1440px );
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
  margin-top: 1em;
  letter-spacing: 0.1em;
}

.business__button {
  font-size: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  font-weight: 300;
  line-height: 3.5;
  text-align: center;
  border: 1px solid #fff;
  padding: 0 3em;
  width: 12.5em;
  margin: 2.6em auto 0;
}

/*------------------------------
mission
------------------------------*/
.mission {
  background: url(../img/mission_bg.jpg) no-repeat center bottom -11.1111111111vw/cover, #000;
  padding: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px ) 0 min( 177 * 100vw / var(--vw-base) , 177/var(--vw-base) * 1440px );
  padding-bottom: 34.0277777778vw;
  position: relative;
}
.mission::before {
  content: "";
  position: absolute;
  background: url(../img/philosophy_dec.png) no-repeat center center/100%;
  aspect-ratio: 449/463;
  transform: translate(-50%, -37%);
  width: 54%;
  max-width: 777px;
  left: calc(min(265 / 1440 * 100vw,265px) + max((100vw - 1440px) / 2, 0px));
  top: 0%;
}
.mission::after {
  content: "";
  position: absolute;
  background: url(../img/mission2.png) no-repeat center center/100%;
  aspect-ratio: 508/325;
  transform: translate(0%, -33%);
  width: 48.7%;
  max-width: 700px;
  right: 0%;
  top: 0%;
}
.mission > * {
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .mission {
    padding: min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px ) 0 min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
    padding-bottom: 70%;
    background-position: center bottom -33vw;
  }
}

.mission__content {
  width: min( 190 * 100vw / var(--vw-base) , 190/var(--vw-base) * 1440px );
  color: #fff;
}

.mission__heading {
  font-size: min( 8 * 100vw / var(--vw-base) , 8/var(--vw-base) * 1440px );
  font-weight: 600;
  line-height: 2.375;
}

.mission__message {
  font-size: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 2;
  margin-top: 1em;
}
/*# sourceMappingURL=top.css.map */