@charset "utf-8";
/* CSS Document */

.fv {
  position: relative;
  height: 154.2vw;
  margin-bottom: 21.33vw;
}
.fv__main-image {
  position: absolute;
  width: max(73.87%,277px);
  top: 10.3%;
  right: 1%;
}
.fv__main-image img {
  width: 100%;
}
.fv__copy--wrap {
  position: absolute;
  bottom: 0%;
  left: 0%;
}
.fv__text--decoration-image {
  width: 87.47%;
  margin-bottom: -4.2vw;
}
.fv__text--decoration-image img {
  width: 100%;
}
.fv__main-copy {
  margin-bottom: 8.53vw; /*32px*/
  margin-left: 4.2vw; /*16px*/
}
.fv__main-copy p {
  font-size: 9.74vw;
  font-weight: 800;
  line-height: 1.2;
  text-shadow: 3px 1px 12px #fff;
}
.fv__sub-copy--jp {
  margin-left: 4.2vw; /*16px*/
  margin-bottom: 4.2vw; /*16px*/
}
.fv__sub-copy--jp p {
  font-size: 3.59vw;
  font-weight: 700;
  line-height: 1.5;
}
.fv__sub-copy--en {
  border-bottom: solid 1px #C2BCB2;
  margin-left: 4.2vw; /*16px*/
}
.fv__sub-copy--en p {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 4.62vw;
  font-weight: 700;
  line-height: 1;
}
@media(min-width:768px) {
  .fv {
    height: auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    padding-top: 5.8vw;
    margin-bottom: 6.11vw;
  }
  .fv__main-image {
    position: static;
    width: 34.72vw;
    padding-left: 2vw;
  }
  .fv__main-image img {
    width: 100%;
  }
  .fv__copy--wrap {
    position: relative;
    padding-top: 10.1vw;
    padding-left: 2vw;
  }
  .fv__text--decoration-image {
    width: 46.94vw;
    position: absolute;
    top: 2.6%;
    left: -3%;
    z-index: -1;
    margin-bottom: -3.1vw;
  }
  .fv__text--decoration-image img {
    width: 100%;
  }
  .fv__main-copy {
    margin-bottom: 6.11vw;
    margin-left: 0;
  }
  .fv__main-copy p {
    font-size: 5vw;
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 3px 1px 12px #fff;
  }
  .fv__sub-copy--jp {
    margin-bottom: 2.22vw;
    margin-left: 0;
  }
  .fv__sub-copy--jp p {
    font-size: 1.39vw;
    line-height: 1.7;
  }
  .fv__sub-copy--en {
    margin-left: 0;
  }
  .fv__sub-copy--en p {
    font-size: 1.67vw;
  }
}

.intro {
  padding: 21.33vw 0 12.8vw;
  background: url("../images/TOP/txt-LimitlessPotential.png") no-repeat center 6% / 95.73vw,
              url("../images/common/section-bg.png") repeat;
  border-top: solid 1px #C2BCB2;
  border-bottom: solid 1px #C2BCB2;
  margin-bottom: 21.33vw;
}
.intro__main-text--wrap {
  display: flex;
}
.intro__main-text--contain {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0 4.27vw;
}
.intro__main-text--title {
  text-align: right;
  display: inline-block;
  margin-bottom: 2.13vw;
}
.intro__main-text--title h2 {
  font-size: 8.21vw;
  font-weight: 600;
  line-height: 1;
}
.intro__main-text--title h2 span {
  font-size: 6.15vw;
}
.intro__main-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  writing-mode: vertical-rl;
  padding: 2.13vw 0;
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
}
.intro__main-text p {
  font-size: 4.1vw;
  font-weight: 500;
}
@media(min-width:768px) {
  .intro {
    background: url("../images/TOP/txt-LimitlessPotential.png") no-repeat 23% 8% / 40.69vw,
                url("../images/common/section-bg.png") repeat;
    padding: 5.56vw 0;
    margin-bottom: 5.56vw;
  }
  .intro__main-text--wrap {
    justify-content: center;
  }
  .intro__main-text--contain {
    width: 52.5vw;
  }
  .intro__main-text--title h2 {
    font-size: 2.78vw;
  }
  .intro__main-text--title h2 span {
    font-size: 2.22vw;
  }
  .intro__main-text {
    padding: 1.11vw 0;
  }
  .intro__main-text p {
    font-size: 1.67vw;
  }
}

.works {
  margin-bottom: 17.07vw;
}
.works__title--wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  margin-left: 4.27vw;
  margin-bottom: 6.4vw;
}
.works__title {
  display: flex; /*スマホ表示用*/
  background-color: #f5f5f5;
  border: solid 1.5px #222;
  padding: 10px 6px;
}
.works__title h2 {
  font-size: 6.15vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
.works__sub-titel--wrap {
  margin-left: 4.27vw;
}
.works__sub-title--EN {
  display: inline-block;
  border-bottom: solid 1px #222;
  margin-bottom: 3.2vw;
}
.works__sub-title--EN p {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 14.36vw;
  font-weight: 700;
  line-height: 1;
}
.works__sub-title--description p {
  font-size: 3.59vw;
  font-weight: 600;
}
.works__work--container {
  border-top: solid 1px #C2BCB2;
  padding-top: 8.53vw;
  margin-bottom: 8.53vw;
}
.works__work--thumb {
  width: 100%;
  border: solid 1px #222;
  box-sizing: border-box;
  margin-bottom: 6.4vw;
}
.works__work--thumb img {
  width: 100%;
}
.works__work__text--container {
  border-top: solid 1px #C2BCB2;
  padding-top: 6.4vw;
  margin: 0 4.27vw;
}
.work__categories {
  margin-bottom: 4.27vw;
}
.work__categories p {
  font-size: 3.59vw;
  font-weight: 400;
  line-height: 1;
}
.work__title {
  font-size: 6.15vw;
  font-weight: 700;
  line-height: 1;
}
.work__title span {
  font-size: 10.26vw;
}
.work__title::after {
  content: "";
  display: block;
  width: 14.93vw;
  height: 4px;
  background-color: #E85716;
  margin: 6.4vw 0;
}
.work__description {
  margin-bottom: 6.4vw;
}
.work__description p {
  font-size: 3.59vw;
}
.works__work-btn {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
  padding: 1.07vw 0;
}
.works__work-btn p {
  font-family: "Archivo Narrow", sans-serif;
  font-weight: 600;
  color: #222;
  line-height: 1;
}

.works__work-btn:hover .btn__more {
  transform: translateX(20%);
  color: #E85716;
}

.btn__more {
  font-size: 4.62vw;
  transition: 0.2s linear;
}
.btn__arrow {
  font-size: 7.18vw;
}
.works__work03 {
  border-bottom: solid 1px #C2BCB2;
  padding-bottom: 8.53vw;
}
.works--btn--wrap {
  width: 56vw;
  margin-left: auto;
  margin-right: 4.27vw;
}
.works--btn {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
  padding: 1.07vw 0;
}
.works--btn:hover .works--btn__more {
  transform: translateX(10%);
  color: #E85716;
}

.works--btn p {
  font-family: "Archivo Narrow", sans-serif;
  font-weight: 600;
  color: #222;
  line-height: 1;
}
.works--btn__more {
  font-size: 5.64vw;
  transition: 0.3s;
}
.works--btn__arrow {
  font-size: 7.69vw;
}
@media(min-width:768px) {
  .works {
    margin-bottom: 5.56vw;
  }
  .works__title--wrap {
    padding-left: 8.33vw;
    padding-bottom: 2.78vw;
    border-bottom: solid 1px #C2BCB2;
    margin: 0;
  }
  .works__title {
    padding: 0.69vw 0.42vw;
  }
  .works__title h2 {
    font-size: 1.67vw;
  }
  .works__sub-titel--wrap {
    display: flex;
    align-items: flex-end;
    margin-left: 1.67vw;
  }
  .works__sub-titel {
    display: flex;
    align-items: center;
  }
  .works__sub-title--EN {
    border-bottom: 0;
    margin-bottom: 0;
    border-right: 1px solid #222;
    padding-right: 2.22vw;
  }
  .works__sub-title--EN p {
    font-size: 5vw;
    line-height: 0.8;
  }
  .works__sub-title--description {
    margin-left: 2.22vw;
  }
  .works__sub-title--description p {
    font-size: 1.11vw;
  }
  
  .works__work--container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3.33vw 0;
    margin: 0 min(6.25vw, 100px);
  }
  .works__work01 {
    border-top: 0;
  }
  .works__work03 {
    padding-bottom: 3.33vw;
    margin-bottom: 2.78vw;
  }
  .works__work--thumb {
    display: flex;
    align-items: center;
    width: 39.58vw;
    height: 31.88vw;
    margin-bottom: 0;
    border: 0;
    border-right: solid 1px #C2BCB2;
    padding-right: 1.81vw;
    
    padding: 0 2.08vw;
    box-sizing: content-box;
  }
  .works__work--thumb img {
    border: solid 1px #222;
  }
  .works__work__text--container {
    border: 0;
    padding-right: 8.33vw;
    padding: 0 6.94vw;
    margin: 0;
  }
  .work__categories {
    margin-bottom: 1.11vw;
  }
  .work__categories p {
    font-size: 0.97vw;
  }
  .work__title {
    font-size: 2.22vw;
  }
  .work__title span {
    font-size: 3.33vw;
  }
  .work__title::after {
    width: 5.28vw;
    height: 0.28vw;
    margin-top: 2.22vw;
    margin-bottom: 3.89vw;
  }
  .work__description {
    width: 29.86vw;
    margin-bottom: 3.89vw;
  }
  .work__description p {
    font-size: 1.11vw;
  }
  .works__work-btn {
    width: 29.86vw;
    padding: 0.56vw 0;
  }
  .btn__more {
    font-size: 1.39vw;
  }
  .btn__arrow {
    font-size: 1.67vw;
  }
  .works--btn--wrap {
    width: 23.61vw;
    margin-right: 13.17vw;
  }
  .works--btn {
    padding: 0.56vw 0;
  }
  .works--btn__more {
    font-size: 1.67vw;
  }
  .works--btn__arrow {
    font-size: 2.22vw;
  }
}

.about {
  padding-bottom: 23.47vw;
  padding-top: 8.53vw;
  background: url(../images/common/section-bg.png) repeat;
  border-top: solid 1px #C2BCB2;
}
.about__title--wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  margin-left: 4.27vw;
  margin-bottom: 6.4vw;
}
.about__title {
  display: flex; /*スマホ表示用*/
  background-color: #f5f5f5;
  border: solid 1.5px #222;
  padding: 10px 6px;
}
.about__title h2 {
  font-size: 6.15vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
.about__sub-titel--wrap {
  margin-left: 4.27vw;
}
.about__sub-title--EN {
  display: inline-block;
  border-bottom: solid 1px #222;
  margin-bottom: 3.2vw;
}
.about__sub-title--EN p {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 14.36vw;
  font-weight: 700;
  line-height: 1;
}
.about__sub-title--description p {
  font-size: 3.59vw;
  font-weight: 600;
}
.about__main--container {
  padding: 12.8vw 0 8.53vw;
  background: url("../images/TOP/bg_grid.png") round;
  background-size: 13%;
}
.about__main-image {
  position: relative;
  padding: 0 4.27vw;
  margin-bottom: 6.4vw;
}
.about__main-image--img {
  width: 100%;
}
.about__main-image--decoration {
  position: absolute;
  width: 32%;
  right: 0;
  left: 0;
  top: -5%;
  margin: 0 auto;
}
.about__main-image--decoration img {
  width: 100%;
}
.about__text--container {
  margin: 0 4.27vw;
}
.about__heading--wrap {
  display: flex;
  flex-direction: column;
}
.about__heading--ruby {
  padding-left: 13.33vw;
  margin-bottom: -3vw;
}
.about__heading--ruby p {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 4.1vw;
  font-weight: 700;
  line-height: 1;
}
.about__heading {
  font-size: 8.21vw;
  font-weight: 700;
  line-height: 1;
}
.about__heading span {
  font-size: 12.31vw;
}
.about__heading::after {
  content: "";
  display: block;
  width: 14.93vw;
  height: 4px;
  background-color: #E85716;
  margin: 6.4vw 0;
}
.about__text__description {
  margin-bottom: 6.4vw;
}
.about__text__description p {
  font-size: 4.1vw;
}
.about__btn {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
  padding: 1.07vw 0;
}
.about__btn:hover .about__btn__more {
  color: #E85716;
  transform: translateX(20%);
}
.about__btn p {
  font-family: "Archivo Narrow", sans-serif;
  font-weight: 600;
  color: #222;
  line-height: 1;
}
.about__btn__more {
  font-size: 5.64vw;
  transition: 0.2s;
}
.about__btn__arrow {
  font-size: 7.69vw;
}
@media(min-width:768px) {
  .about {
    padding-top: 3.47vw;
    margin-bottom: -10.56vw;
  }
  .about__title--wrap {
    margin-left: 8.33vw;
    margin-bottom: 2.78vw;
  }
  .about__title {
    padding: 0.69vw 0.42vw;
  }
  .about__title h2 {
    font-size: 1.67vw;
  }
  .about__sub-titel--wrap {
    display: flex;
    align-items: flex-end;
    margin-left: 1.67vw;
  }
  .about__sub-titel {
    display: flex;
    align-items: center;
  }
  .about__sub-title--EN {
    border-bottom: 0;
    margin-bottom: 0;
    border-right: 1px solid #222;
    padding-right: 2.22vw;
  }
  .about__sub-title--EN p {
    font-size: 5vw;
    line-height: 0.8;
  }
  .about__sub-title--description {
    margin-left: 2.22vw;
  }
  .about__sub-title--description p {
    font-size: 1.11vw;
  }
  
  .about__main--container {
    background-size: 4%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 min(5.55vw,96px);
    padding: 4.44vw 0;
  }
  .about__main-image {
    width: 39.58vw;
    margin-bottom: 0;
    padding: 0 2.08vw;
  }
  .about__text--container {
    padding: 0 6.94vw;
    margin: 0;
  }
  .about__heading--ruby {
    padding-left: 4.33vw;
    margin-bottom: 0vw;
  }
  .about__heading--ruby p {
    font-size: 1.11vw;
  }
  .about__heading {
    font-size: 2.78vw;
  }
  .about__heading span {
    font-size: 3.61vw;
  }
  .about__heading::after {
    width: 5.28vw;
    height: 0.28vw;
    margin-top: 2.22vw;
    margin-bottom: 3.89vw;
  }
  .about__text__description {
    width: 29.86vw;
    margin-bottom: 3.89vw;
  }
  .about__text__description p {
    font-size: 1.18vw;
  }
  .about__btn {
    width: 29.86vw;
    padding: 0.56vw 0;
  }
  .about__btn__more {
    font-size: 1.39vw;
  }
  .about__btn__arrow {
    font-size: 1.67vw;
  }
}






















