@charset "UTF-8";
/* CSS Document */
/* ===================================================================
 * # base style overrides
 * ------------------------------------------------------------------- */
html, body {
  height: 100%;
}
html::-webkit-scrollbar {
  display: none;
}
html {
  overflow-y: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}
body {
  background: #FFF;
  margin: 0;
  padding: 0;
  font-feature-settings: "palt";
  font-kerning: normal;
}
img {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}
#loading {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  background:#EEE;
  text-align:center;
  color:#FFF;
}
#loading_text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 999;
  width: 100%;
  transform: translate(-50%, -50%);
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-top: -1.75%;
}
/* ===================================================================
 * # main
 * ------------------------------------------------------------------- */
#logo {
  position: fixed;
  top: 2.0vw;
  left: 2.5vw;
  z-index: 3;
  mix-blend-mode: difference;
}
#logo h1 {
  font-size: max(2.5vw, 28px);
  line-height: 1.1;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.01em;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased
}
#logo a {
  text-decoration-line: none;
  color: #FFF;
}
#logo a:hover, #logo a:focus, #about a:hover, #about a:focus {
  opacity: 0.5;
  transition: 0.5s;
}
span.kerning-l {
  margin-left: -0.125em;
}
span.kerning-s {
  margin-left: -0.075em;
}
@media screen and (min-width: 660px) {
  #logo-sub {
    display: none;
  }
}
.slide img {
  height: 100vh;
  width: 100%;
  object-fit: cover;
}
.nombre {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4.0vw 3.0vw 0 0;
  z-index: 4;
  font-size: max(0.7vw, 12px);
  line-height: 0;
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  color: #FFF;
  mix-blend-mode: difference;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased
}
#scroll a {
   display: block;
}
#scrolldown {
  position: absolute;
  bottom: 2%;
  right: 50%;
  animation: arrowmove 1.25s ease infinite;
  z-index: 99;
  mix-blend-mode: difference;
}
@keyframes arrowmove {
  0% {
    bottom: 2%;
  }
  50% {
    bottom: 4%;
  }
  100% {
    bottom: 2%;
  }
}
#scrolldown span {
  position: absolute;
  left: -20px;
  bottom: 3px;
  color: #FFF;
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.075em;
  color: #FFF;
  font-size: 0.7rem;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
#scrolldown:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -3px;
  width: 1px;
  height: 7px;
  background: #FFF;
  transform: skewX(-45deg);
}
#scrolldown:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 35px;
  background: #FFF;
}
@media screen and (min-width: 660px) {
  .caption-jp {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0 0 4.0vw 4.0vw;
    z-index: 2;
  }
  .caption-en {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0 4.0vw 4.0vw 0;
    z-index: 2;
  }
}
.caption-jp h2 {
  display: block;
  font-size: max(0.9vw, 12px);
  line-height: 1.25;
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
}
.caption-en h2 {
  font-size: max(1.0vw, 12px);
  line-height: 1.2;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.025em;
  font-weight: 500;
  color: #222;
}
.caption-jp p {
  font-size: max(0.7vw, 10px);
  line-height: 0;
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
  padding-top: 1.25vw;
}
.caption-en p {
  font-size: max(0.8vw, 10px);
  line-height: 0;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: #222;
  padding-top: 1.175vw;
}
.credit-jp {
  font-size: max(0.6vw, 9px);
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
  padding-left: 1.0em;
}
.credit-en {
  font-size: max(0.7vw, 9px);
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: #222;
  padding-left: 1.0em;
}
.cv-page {
  width: 100vw;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 0 4.0vw 2.5vw;
  z-index: 2;
}
h3, .h3 {
  font-size: max(1.6vw, 11px);
  line-height: 0;
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
  padding-bottom: 3.0vw;
}
.name-eng {
  font-size: max(1.6vw, 11px);
  line-height: 0;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.01em;
  font-weight: normal;
  color: #222;
  padding: 4.0vw 0 3.0vw 0;
}
.cv-jp {
  font-size: max(1.0vw, 11px);
  line-height: 1.7;
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
}
.cv-jp-ex {
  font-size: max(0.95vw, 11px);
  line-height: 1.7;
  font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: #222;
  padding-top: 1.0vw;
}
.cv-en {
  font-size: max(1.0vw, 11px);
  line-height: 1.6;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.01em;
  font-weight: normal;
  color: #222;
}
.cv-en-ex {
  font-size: max(0.95vw, 11px);
  line-height: 1.6;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.01em;
  font-weight: normal;
  color: #222;
  padding-top: 1.0vw;
}
#navi {
  list-style: none;
  font-size: max(1.0vw, 9px);
  line-height: 0;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.03em;
  font-weight: 600;
  color: #222;
  padding: 3.0vw 0 0 0;
}
#navi li {
  display: inline-block;
  padding-right: 1.0vw;
}
.contact a {
  color: #222;
  text-decoration: none;
  border: solid 1px;
  border-color: #AAA;
  background-color: #FFF;
  padding: 0.3vw 1.1vw 0.4vw 1.1vw;
}
.contact a:hover, .text a:focus {
  background-color: #EEE;
  transition: 0.5s;
}
.archive {
  text-align: right;
  padding: 0 3.65vw 1.0vw 0;
}
.archive a {
  color: #222;
  text-decoration: none;
  border: solid 1px;
  border-color: #AAA;
  background-color: #FFF;
  padding: 0.3vw 1.1vw 0.4vw 1.1vw;
}
.archive a:hover, .archive a:focus {
  background-color: #EEE;
  transition: 0.5s;
}
.forpc {
  font-size: max(0.75vw, 8px);
  padding-left: 0.3em;
}
.br-caption {
  margin-bottom: 0.3em;
}
.cv-back {
  background: #EEE;
}
/* ------------------------------------------------------------------- 
 * responsive:
 * ------------------------------------------------------------------- */
@media screen and (max-width: 660px) and (orientation: portrait) {
  body {
    background: #EEE;
  }
  #logo {
    position: fixed;
    width: 75%;
    top: 6.0vw;
    left: 7.5vw;
    mix-blend-mode: normal !important;
  }
  #logo h1 {
    font-size: 9.0vw;
    line-height: 1.1;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.01em;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased
  }
  #logo a {
    text-decoration-line: none;
    color: #222 !important;
  }
  #logo-sub {
    padding-top: 2.5vw;
    font-size: 3.24vw;
    line-height: 1.1;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.03em;
    font-weight: 500;
    mix-blend-mode: multiply;
    color: #222;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased
  }
  .section {
    height: 100dvh;
    width: 100%;
    position: relative;
  }
  .slide img {
    height: auto !important;
    width: 100vw !important;
  }
  .nombre {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10.0vw 5.0vw 0 0;
    z-index: 4;
    font-size: max(0.75vw, 12px);
    line-height: 0;
    font-family: "Libre Caslon Display", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    color: #222;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased
  }
  #scroll a {
    display: block;
 }
  #scrolldown {
    position: absolute;
    bottom: 5%;
    right: 10%;
    animation: arrowmove 1.25s ease infinite;
    z-index: 99;
  }
  @keyframes arrowmove {
    0% {
      bottom: 2%;
    }
    50% {
      bottom: 4%;
    }
    100% {
      bottom: 2%;
    }
  }
  #scrolldown span {
    display: none;
  }
  #scrolldown:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: -3px;
    width: 1px;
    height: 6px;
    background: #666;
    transform: skewX(-45deg);
  }
  #scrolldown:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1px;
    height: 16px;
    background: #666;
  }

  .cv-back {
    background: transparent;
  }
  .caption {
    height: auto !important;
    padding: 0 7.5vw 0 7.5vw;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: 10.0vw;
  }
  .caption-jp {
    padding: 0 !important;
  }
  .caption-en {
    padding: 0 !important;
  }
  .caption-jp h2 {
    font-size: 3.5vw;
    line-height: 1.35;
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
  }
  .caption-en h2 {
    font-size: 3.5vw;
    line-height: 1.3;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #333;
    padding-top: 4.0vw;
    text-align: left !important;
  }
  .caption-jp p {
    font-size: max(3.0vw, 11px);
    line-height: 1.35;
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
    padding-top: 1.0vw !important;
  }
  .caption-en p {
    font-size: max(3.0vw, 11px);
    line-height: 1.15;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #333;
    padding-top: 1.0vw !important;
    text-align: left !important;
  }
  .credit-jp {
    font-size: max(2.25vw, 8px);
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
    padding-left: 1.0em;
  }
  .credit-en {
    font-size: max(2.0vw, 7px);
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #333;
    padding-left: 1.0em;
    padding-top: 0 !important;
  }
  .cv-page {
    padding: 10.0vw 7.5vw 10.0vw 7.5vw;
  }
  h3, .h3 {
    font-size: max(5.0vw, 11px);
    line-height: 0;
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
    padding-bottom: 6.0vw !important;
  }
  .name-eng {
    font-size: max(5.0vw, 11px);
    line-height: 0;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.01em;
    font-weight: normal;
    color: #333;
    padding: 10.0vw 15.0vw 5.0vw 0;
  }
  .cv-jp {
    font-size: max(3.0vw, 11px);
    line-height: 1.5;
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
    padding-bottom: 1.0vw !important;
  }
  .cv-jp-ex {
    font-size: max(2.5vw, 9px);
    line-height: 1.5;
    font-family: 'YuMincho', 'Yu Mincho Demibold', 'Hiragino Mincho ProN', serif;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #333;
    padding-top: 2.0vw !important;
  }
  .cv-en {
    font-size: max(3.5vw, 11px);
    line-height: 1.35;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.01em;
    font-weight: normal;
    color: #333;
    padding-bottom: 1.25vw !important;
  }
  .cv-en-ex {
    font-size: max(3.25vw, 9px);
    line-height: 1.5;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.01em;
    font-weight: normal;
    color: #333;
    padding-top: 2.25vw !important;
  }
  #navi {
    list-style: none;
    font-size: max(3.25vw, 10px);
    line-height: 0;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.03em;
    font-weight: 600;
    color: #333;
    padding: 5.0vw 0 0 0;
  }
  #navi li {
    display: inline-block;
    padding-right: 1.5vw;
  }
  .contact a {
    color: #333;
    text-decoration: none;
    border: solid 1px;
    border-color: #AAA;
    background-color: #FFF;
    padding: 0.7vw 2.2vw 0.8vw 2.2vw;
  }
  .contact a:hover, .text a:focus {
    background-color: #EEE;
    transition: 0.5s;
  }
  .archive {
    text-align: right;
    padding: 0 3.65vw 1.0vw 0;
  }
  .archive a {
    color: #333;
    text-decoration: none;
    border: solid 1px;
    border-color: #AAA;
    background-color: #FFF;
    padding: 0.7vw 2.2vw 0.8vw 2.2vw;
  }
  .archive a:hover, .archive a:focus {
    background-color: #EEE;
    transition: 0.5s;
  }
  .br-caption {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .archive-pc {
    display: none !important;
  }
}