@charset "UTF-8";
/***
    The new CSS reset - version 1.8.2 (last updated 23.12.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
pre {
  all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* remove default dot (•) sign */
::marker {
  content: "";
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
}

html {
  font-size: 62.5%;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe {
  display: block;
  width: 100%;
}

@media screen and (min-width: 600px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .pc {
    display: block;
  }
}

.main {
  display: block;
}

/* font */
html {
  font-family: "Sawarabi Gothic", serif;
}

.en {
  font-family: "Outfit", serif;
}

/* common */
h2 {
  font-size: clamp(3rem, 2.459rem + 1.5vw, 4rem);
  letter-spacing: 0.1em;
  width: fit-content;
}
h2 span {
  color: #274a78;
}

/* header */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1rem 1rem;
  display: flex;
  flex-direction: row-reverse;
  z-index: 10;
}
header .btn {
  --rotate: 0deg;
  --translateSP: 1rem;
  --translatePC: 1rem;
  --opacity: 1;
  display: grid;
  place-items: center;
  z-index: 30;
  width: 5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: transparent;
  transition: all 0.5s ease-in-out;
  cursor: pointer;
}
header .btn.-isactive {
  --rotate: 45deg;
  --translateSP: 0rem;
  --opacity: 0;
}
header .btn span {
  grid-area: 1/1/-1/-1;
  display: block;
  width: 70%;
  height: 0.2rem;
  background-color: #bfc0d1;
  transition: all 0.5s ease;
}
header .btn span:nth-child(1) {
  opacity: var(--opacity);
}
header .btn span:nth-child(2) {
  translate: 0 var(--translateSP);
  rotate: var(--rotate);
}
header .btn span:nth-child(3) {
  translate: 0 calc(var(--translateSP) * -1);
  rotate: calc(var(--rotate) * -1);
}
header .nav {
  position: fixed;
  top: -100%;
  right: 0;
  width: clamp(18rem, 5.745rem + 38.3vw, 45rem);
  height: 70vh;
  background-color: #eee;
  display: grid;
  place-items: center;
  transition: all 1s ease-out;
  border-radius: 0 0 0 30px;
  z-index: 20;
}
header .nav__container {
  display: grid;
  gap: 3rem;
}
header .nav__container__items {
  font-size: clamp(1.2rem, 0.767rem + 1.2vw, 2rem);
}
header .nav.-isactive {
  top: 0;
}

/* fv */
.fv {
  width: 100%;
  height: 100vh;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.fv__phrase {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: clamp(10rem, 9.167rem + 2.31vw, 12.5rem);
  letter-spacing: 0.1em;
  position: relative;
  color: #444;
}
@media screen and (min-width: 1025px) {
  .fv__phrase {
    -ms-writing-mode: rl-tb;
    writing-mode: horizontal-tb;
    letter-spacing: 1em;
    text-indent: 1em;
  }
}
.fv__phrase::after {
  position: absolute;
  content: attr(data-text);
  inset: 0 0 0 0;
  z-index: 25;
  color: transparent;
  -webkit-text-stroke: 3px #444;
}
.fv__logo {
  position: absolute;
  bottom: 0rem;
  right: 0;
  background-color: rgba(221, 221, 221, 0.7);
  padding: 2rem;
  width: 70%;
  animation: logo 1.5s linear forwards;
}
@media screen and (min-width: 600px) {
  .fv__logo {
    animation: logo 2s linear forwards;
  }
}
.fv__logo img {
  width: 70%;
  max-width: 35rem;
}
.fv::before {
  position: absolute;
  width: 100%;
  font-size: clamp(12rem, 2.695rem + 29.08vw, 32.5rem);
  color: #f3f3f3;
  z-index: -1;
  content: "創造";
  text-align: left;
  bottom: 50%;
  animation: bg 1.5s linear forwards;
}
.fv::after {
  position: absolute;
  width: 100%;
  font-size: clamp(12rem, 2.695rem + 29.08vw, 32.5rem);
  color: #f3f3f3;
  z-index: -1;
  content: "想像";
  text-align: right;
  top: 50%;
  animation: bg 1.5s linear forwards;
}

/* keyframe */
@keyframes bg {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  50% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes logo {
  from {
    right: -100%;
    opacity: 0;
  }
  to {
    right: 0;
    opacity: 1;
  }
}
/* main */
.wrapper {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 600px) {
  .wrapper {
    max-width: 1440px;
  }
}

.layout {
  display: grid;
  justify-items: center;
  gap: clamp(2rem, 0.184rem + 5.67vw, 6rem);
}

section {
  margin-top: clamp(10rem, 5.461rem + 14.18vw, 20rem);
}

.about__profile--container {
  display: grid;
  gap: clamp(2rem, 1.092rem + 2.84vw, 4rem);
  font-size: clamp(1.4rem, 1.183rem + 0.6vw, 1.8rem);
  letter-spacing: 0.1em;
}
.about__profile--container--items {
  display: flex;
  gap: 1rem;
}
.about__profile--container--items th {
  width: 10em;
}
.about__profile--container--items td ul {
  display: grid;
  gap: 1rem;
}

.work {
  display: grid;
  justify-items: center;
  gap: clamp(2rem, 0.917rem + 3.01vw, 4rem);
}
.work__block {
  display: grid;
  justify-items: center;
}
@media screen and (min-width: 600px) {
  .work__block#copy .work__block__container {
    padding: 0 3rem;
  }
}
.work__block h3 {
  font-size: clamp(1.5rem, 0.819rem + 2.13vw, 3rem);
  margin-block: clamp(3rem, 0.73rem + 7.09vw, 8rem);
  border-bottom: 1px solid #333;
}
.work__block h3 span {
  color: #274a78;
}
.work__block__container {
  display: grid;
  justify-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 600px) {
  .work__block__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .work__block__container {
    gap: 10rem;
  }
}
.work__block__container__items {
  margin-top: 1rem;
  display: grid;
  justify-items: center;
  gap: 2rem;
}
.work__block__container__items .site-link {
  width: fit-content;
  overflow: hidden;
}
.work__block__container__items .site-link figure {
  display: grid;
  gap: 1rem;
}
.work__block__container__items .site-link figure img {
  width: 25rem;
  border: 1px solid #222;
}
@media screen and (min-width: 600px) {
  .work__block__container__items .site-link figure img {
    width: 30rem;
  }
}
@media screen and (min-width: 1025px) {
  .work__block__container__items .site-link figure img {
    width: 50rem;
  }
}
.work__block__container__items .site-link figure figcaption ul {
  display: grid;
  gap: 1em;
}
.work__block__container__items .site-link figure figcaption ul li:first-child {
  font-size: clamp(1.4rem, 1.218rem + 0.57vw, 1.8rem);
}
.work__block__container__items .site-link figure figcaption ul li:last-child {
  font-size: clamp(1.2rem, 1.038rem + 0.45vw, 1.5rem);
}
.work__block__container__items .site-link figure figcaption ul li span {
  display: inline-block;
}
.work__block__container__items .reference {
  width: 100%;
  font-size: clamp(1.2rem, 1.038rem + 0.45vw, 1.5rem);
  text-align: right;
}

.contact {
  display: grid;
  justify-items: center;
  gap: clamp(2rem, 0.917rem + 3.01vw, 4rem);
}
.contact__container__block {
  display: grid;
  gap: clamp(2rem, 1.459rem + 1.5vw, 3rem);
}
.contact__container__block__tr {
  font-size: clamp(1.4rem, 1.075rem + 0.9vw, 2rem);
  display: flex;
  text-align: left;
}
.contact__container__block__tr th {
  width: 6em;
}

footer {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-top: clamp(5rem, 3.647rem + 3.76vw, 7.5rem);
  padding-bottom: clamp(3rem, 1.917rem + 3.01vw, 5rem);
  font-size: 1.2rem;
}

/* fadein */
/* yfade */
.yfade {
  translate: 0 80px;
  opacity: 0;
  transition: all 0.7s ease;
}
.yfade.active {
  translate: 0 0;
  opacity: 1;
}

/* xfade */
.xfade {
  translate: 80px 0;
  opacity: 0;
  transition: all 0.7s ease;
}
.xfade.active {
  translate: 0 0;
  opacity: 1;
}/*# sourceMappingURL=style.css.map */