@charset "UTF-8";
/*
 * HTML5 ✰ Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */
/* =============================================================================
	 HTML5 display definitions
	 ========================================================================== */
.wrapper article, .wrapper aside, .wrapper details, .wrapper figcaption, .wrapper figure, .wrapper footer, .wrapper header, .wrapper hgroup, .wrapper nav, .wrapper section {
  display: block;
}
.wrapper audio, .wrapper canvas, .wrapper video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.wrapper audio:not([controls]) {
  display: none;
}
.wrapper [hidden] {
  display: none;
}

/* =============================================================================
	 Base
	 ========================================================================== */
/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Force vertical scrollbar in non-IE
 * 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */
.wrapper {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 100%;
  line-height: 1.231;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */
.wrapper ::selection {
  text-shadow: none;
  background-color: highlight;
  color: highlighttext;
}

/* =============================================================================
	 Links
	 ========================================================================== */
.wrapper a:focus {
  outline: thin dotted;
}
.wrapper {
  /* Improve readability when focused and hovered in all browsers: h5bp.com/h */
}
.wrapper a:hover, .wrapper a:active {
  outline: 0;
}

/* =============================================================================
	 Lists
	 ========================================================================== */
.wrapper ul, .wrapper ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}
.wrapper dd {
  margin: 0 0 0 40px;
}
.wrapper nav ul, .wrapper nav ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

/* =============================================================================
	 Embedded content
	 ========================================================================== */
/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/e
 */
.wrapper img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle;
}

/*
 * Correct overflow not hidden in IE9
 */
.wrapper svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
	 Figures
	 ========================================================================== */
.wrapper figure {
  margin: 0;
}

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */
.wrapper button, .wrapper input, .wrapper select, .wrapper textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */
.wrapper button, .wrapper input {
  line-height: normal;
}

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */
.wrapper button, .wrapper input[type=button], .wrapper input[type=reset], .wrapper input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

/*
 * Consistent box sizing and appearance
 */
.wrapper input[type=checkbox], .wrapper input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}
.wrapper input[type=search] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
.wrapper input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */
.wrapper button::-moz-focus-inner, .wrapper input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */
.wrapper textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/* Colors for form validity */
.wrapper input:invalid, .wrapper textarea:invalid {
  background-color: #f0dddd;
}

/* ==|== non-semantic helper classes ========================================
	 Please define your styles before this section.
	 ========================================================================== */
/* reflow reset for -webkit-margin-before: 1em */
.wrapper p {
  margin: 0;
}

.wrapper body, .wrapper div, .wrapper img, .wrapper p, .wrapper button, .wrapper input, .wrapper select, .wrapper textarea, .wrapper a {
  box-sizing: border-box;
}
.wrapper .image {
  display: block;
}
.wrapper input {
  cursor: default;
  display: block;
}
.wrapper input[type=button] {
  background-color: #e5e9e8;
  border: 1px solid #9daca9;
  border-radius: 4px;
  box-shadow: inset 0 1px #fff;
  font: inherit;
  letter-spacing: inherit;
  text-indent: inherit;
  color: inherit;
}
.wrapper input[type=button]:hover {
  background-color: #eff1f1;
}
.wrapper input[type=button]:active {
  background-color: #d2d6d6;
  border: 1px solid #9daca9;
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.1);
}
.wrapper div, .wrapper span, .wrapper applet, .wrapper object, .wrapper iframe,
.wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6, .wrapper p, .wrapper blockquote, .wrapper pre,
.wrapper a, .wrapper abbr, .wrapper acronym, .wrapper address, .wrapper big, .wrapper cite, .wrapper code,
.wrapper del, .wrapper dfn, .wrapper em, .wrapper font, .wrapper ins, .wrapper kbd, .wrapper q, .wrapper s, .wrapper samp,
.wrapper small, .wrapper strike, .wrapper strong, .wrapper sub, .wrapper sup, .wrapper tt, .wrapper var,
.wrapper b, .wrapper u, .wrapper i, .wrapper center,
.wrapper dl, .wrapper dt, .wrapper dd, .wrapper ol, .wrapper ul, .wrapper li,
.wrapper fieldset, .wrapper form, .wrapper label, .wrapper legend,
.wrapper table, .wrapper caption, .wrapper tbody, .wrapper tfoot, .wrapper thead, .wrapper tr, .wrapper th, .wrapper td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}
.wrapper ol, .wrapper ul {
  list-style: none;
}

:root {
  --sp-breakpoint: 750px;
}

@media screen and (max-width: 750px) {
  .onlyPC {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .onlySP {
    display: none;
  }
}
/* ===============
base settings
================== */
body {
  margin: 0;
  font-family: yakuhanjp, "Shippori Mincho B1", serif;
  color: #645064;
}

@media screen and (min-width: 1100px) {
  .content_section .section-inner {
    position: relative;
    width: 1100px;
    margin: 0 auto;
  }
}
.content_section {
  position: relative;
  width: 100%;
}

.bg {
  background: center center no-repeat;
  background-size: 100% auto;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}

.textHide {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}

.section-header {
  font-weight: 400;
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background-size: 100% auto;
  opacity: 0;
  transform: translateY(18px);
  will-change: opacity, transform;
}
@media screen and (max-width: 750px) {
  .section-header {
    height: 5.3333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .section-header {
    height: 1.3636363636vw;
  }
}
@media screen and (min-width: 1100px) {
  .section-header {
    height: 15px;
  }
}

.photo-container,
.profile-photo,
.works-photo {
  position: relative;
  overflow: hidden;
}

.photo-container::before,
.profile-photo::before,
.works-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #888;
  opacity: 1;
  z-index: 1;
  pointer-events: none;
}

.content_section.is-section-animate .section-header {
  animation: section-header-reveal 1s ease-out forwards;
}
.content_section.is-section-animate .profile-text > :not(.section-header) {
  opacity: 0;
  animation: profile-text-fade 2s ease-out forwards;
}
.content_section.is-section-animate .photo-container::before,
.content_section.is-section-animate .profile-photo::before,
.content_section.is-section-animate .works-photo::before {
  animation: image-cover-fade 1s ease-out forwards;
}
.content_section.is-section-animate .profile-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: image-fade-in 2s ease-out forwards;
  background-size: cover;
  background-position: center;
}
.content_section.is-section-animate .works-photo .photo {
  opacity: 0;
  animation: image-fade-in 1s ease-out forwards;
}

@keyframes section-header-reveal {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes profile-text-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes image-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes image-cover-fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes nav-move-out {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    opacity: 0;
  }
}
@keyframes nav-move-in {
  0% {
    transform: translateY(100%);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .content_section.is-section-animate .section-header {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .content_section.is-section-animate .profile-text > :not(.section-header) {
    animation: none;
    opacity: 1;
  }
  .content_section.is-section-animate .photo-container,
  .content_section.is-section-animate .profile-photo,
  .content_section.is-section-animate .works-photo {
    opacity: 1;
  }
  .content_section.is-section-animate .photo-container::before,
  .content_section.is-section-animate .profile-photo::before,
  .content_section.is-section-animate .works-photo::before {
    opacity: 0;
    animation: none;
  }
  .content_section.is-section-animate .profile-photo::after {
    animation: none;
    opacity: 1;
  }
  .content_section.is-section-animate .works-photo .photo {
    animation: none;
    opacity: 1;
  }
}
@media screen and (max-width: 750px) {
  .fixed-hamburger {
    position: fixed;
    cursor: pointer;
    z-index: 100;
    top: 0;
    right: 0;
    width: 12.5333333333vw;
    height: 9.8666666667vw;
  }
  .fixed-hamburger .el {
    height: 1px;
    right: 0;
    width: 8.2666666667vw;
    right: 4.2666666667vw;
    position: absolute;
    background-color: #655164;
    transform-origin: 100% 50%;
    transition: transform 400ms, width 400ms, top 400ms, right 400ms, background-color 400ms 0ms;
  }
  .fixed-hamburger .el-1 {
    top: 4.2666666667vw;
  }
  .fixed-hamburger .el-2 {
    top: 5.6vw;
  }
  .fixed-hamburger.is-open {
    width: 42.6666666667vw;
    height: 21.3333333333vw;
    transform-origin: 50% 50%;
    transition: transform 500ms;
  }
  .fixed-hamburger.is-open .el {
    width: 8.2666666667vw;
    right: 3.7333333333vw;
  }
  .fixed-hamburger.is-open .el-1 {
    transform: rotate(-45deg);
    top: 4.5333333333vw;
  }
  .fixed-hamburger.is-open .el-2 {
    transform: rotate(45deg);
    top: 10.4vw;
  }
}
@media screen and (min-width: 751px) {
  .fixed-hamburger {
    display: none;
  }
}

.fixed-menu {
  position: fixed;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  display: none;
  z-index: 100;
  transition: opacity 300ms;
}
.fixed-menu.is--alive {
  display: block;
  width: 100%;
  height: 100%;
}
.fixed-menu.is--active {
  opacity: 1;
  transition: opacity 500ms 0ms;
  pointer-events: none;
}
.fixed-menu.is--active .navigation-wrapper,
.fixed-menu.is--active .links-wrapper {
  pointer-events: auto;
}
.fixed-menu .bg-container {
  position: absolute;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background-color: #fff;
  pointer-events: auto;
}
.fixed-menu .section-bg {
  position: relative;
  z-index: 1;
}
.fixed-menu .section-inner {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .fixed-menu .menu-wrapper {
    position: absolute;
    left: 12.8vw;
    top: 28.5333333333vw;
    padding-bottom: 5.3333333333vw;
  }
  .fixed-menu .menu-wrapper .menu-item {
    display: block;
    pointer-events: auto;
  }
  .fixed-menu .menu-wrapper .menu-item .inner {
    background-color: #645064;
  }
  .fixed-menu .navigation-item {
    margin-top: 9.8666666667vw;
    font-size: 10.4vw;
  }
  .fixed-menu .links-wrapper {
    left: 0;
    right: 0;
    bottom: 72vw;
    width: 69.3333333333vw;
    margin: 5.3333333333vw auto 0;
  }
  .fixed-menu .links-wrapper .links {
    width: 19.7333333333vw;
    height: 13.6vw;
    mask-size: 58.6666666667vw auto;
  }
  .fixed-menu .links-wrapper .links.t {
    mask-position: -19.4666666667vw 0;
  }
  .fixed-menu .links-wrapper .links.y {
    mask-position: -38.9333333333vw 0;
  }
}
@media screen and (min-width: 751px) {
  .fixed-menu {
    display: none;
  }
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 800ms;
}
.modal.is--alive {
  display: block;
  z-index: 50;
  width: 100%;
  height: 100%;
}
.modal.is--active {
  opacity: 1;
}
.modal .modal-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #e9e9ed;
}
.modal .modal-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}
@media screen and (max-width: 750px) {
  .modal .works-text-wrapper {
    padding: 8vw 2.9333333333vw 17.3333333333vw;
  }
  .modal h3.works-category {
    font-weight: 400;
    margin-top: 10.6666666667vw;
    font-size: 3.4666666667vw;
  }
  .modal dl {
    width: 100%;
    display: flex;
    font-size: 3.4666666667vw;
    margin-top: 2.4vw;
    line-height: 2.1em;
  }
  .modal dl + dl {
    margin-top: 0.8vw;
  }
  .modal dl dt {
    flex-shrink: 0;
    padding-right: 0.5em;
  }
  .modal dl dd {
    letter-spacing: -0.05em;
  }
}
@media screen and (min-width: 751px) {
  .modal {
    display: none;
  }
}

.wrapper .side-name {
  position: fixed;
}
@media screen and (max-width: 750px) {
  .wrapper .side-name {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .wrapper .side-name {
    width: 0.6363636364vw;
    height: 10.1818181818vw;
    right: 2.1818181818vw;
    top: 50%;
    margin-top: -5.7272727273vw;
    mask-image: url(/img/side-name-w.svg);
    background-color: #645064;
  }
}
@media screen and (min-width: 1100px) {
  .wrapper .side-name {
    width: 7px;
    height: 112px;
    right: 24px;
    margin-top: -63px;
  }
}

@media screen and (max-width: 750px) {
  .menu-wrapper .menu-item {
    outline: none;
    display: inline-block;
    text-decoration: none;
    padding: 0 4.5333333333vw;
    box-sizing: content-box;
    margin-top: 12.2666666667vw;
  }
  .menu-wrapper .menu-item .inner {
    width: 100%;
    height: 100%;
    display: block;
    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: bottom;
    mask-repeat: no-repeat;
    mask-size: 45.3333333333vw auto;
    mask-image: url(/img/hero-menu-n.svg);
  }
  .menu-wrapper .menu-item.anchor {
    height: 5.3333333333vw;
  }
  .menu-wrapper .menu-item.anchor.top {
    width: 9.3333333333vw;
    margin-top: 0;
  }
  .menu-wrapper .menu-item.anchor.top .inner {
    mask-position: 0 0;
  }
  .menu-wrapper .menu-item.anchor.profile {
    width: 18.6666666667vw;
  }
  .menu-wrapper .menu-item.anchor.profile .inner {
    mask-position: 0 -5.3333333333vw;
  }
  .menu-wrapper .menu-item.anchor.works {
    width: 16vw;
  }
  .menu-wrapper .menu-item.anchor.works .inner {
    mask-position: 0 -10.6666666667vw;
  }
  .menu-wrapper .menu-item.anchor.contact {
    width: 21.3333333333vw;
  }
  .menu-wrapper .menu-item.anchor.contact .inner {
    mask-position: 0 -16vw;
  }
  .menu-wrapper .menu-item.anchor.fanclub {
    width: 48vw;
  }
  .menu-wrapper .menu-item.anchor.fanclub .inner {
    mask-position: 0 -21.3333333333vw;
  }
  .menu-wrapper .menu-item.sns {
    width: 5.8666666667vw;
    height: 5.3333333333vw;
  }
  .menu-wrapper .menu-item.sns.i .inner {
    mask-position: 0 -26.6666666667vw;
  }
  .menu-wrapper .menu-item.sns.x {
    top: 105.3333333333vw;
  }
  .menu-wrapper .menu-item.sns.x .inner {
    mask-position: 0 -32vw;
  }
  .menu-wrapper .menu-item.copy {
    width: 32.5333333333vw;
    height: 5.3333333333vw;
    margin-top: 29.3333333333vw;
  }
  .menu-wrapper .menu-item.copy .inner {
    mask-position: 0 -37.3333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .menu-wrapper .menu-item {
    outline: none;
    display: inline-block;
    mask-repeat: no-repeat;
    mask-size: 12.7272727273vw auto;
    mask-image: url(/img/hero-menu-w.svg);
    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: bottom;
  }
  .menu-wrapper .menu-item.name {
    left: 0.6363636364vw;
    width: 1.7272727273vw;
    height: 1.8181818182vw;
  }
  .menu-wrapper .menu-item.name.name-1 {
    top: 0;
    mask-position: 0 0;
  }
  .menu-wrapper .menu-item.name.name-2 {
    top: 2.2727272727vw;
    mask-position: 0 -2.2727272727vw;
  }
  .menu-wrapper .menu-item.name.name-3 {
    top: 4.5454545455vw;
    mask-position: 0 -4.5454545455vw;
  }
  .menu-wrapper .menu-item.name.name-4 {
    top: 6.8181818182vw;
    mask-position: 0 -6.8181818182vw;
  }
  .menu-wrapper .menu-item.anchor {
    height: 0.9090909091vw;
    left: 0.5454545455vw;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move {
    position: absolute;
    overflow: hidden;
    background-color: transparent;
    color: #645064;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move::before, .menu-wrapper .menu-item.anchor.is-nav-move::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    mask-image: url(/img/hero-menu-w.svg);
    mask-size: 12.7272727273vw auto;
    mask-repeat: no-repeat;
    -webkit-mask-image: url(/img/hero-menu-w.svg);
    -webkit-mask-size: 12.7272727273vw auto;
    -webkit-mask-repeat: no-repeat;
    opacity: 1;
    will-change: transform;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move::after {
    transform: translateY(100%);
  }
  .menu-wrapper .menu-item.anchor.is-nav-move-active::before {
    animation: nav-move-out 500ms cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move-active::after {
    animation: nav-move-in 500ms cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move-done::before {
    transform: translateY(-100%);
    opacity: 0;
  }
  .menu-wrapper .menu-item.anchor.is-nav-move-done::after {
    transform: translateY(0);
    opacity: 1;
  }
  .menu-wrapper .menu-item.anchor.top {
    width: 2.3636363636vw;
    mask-position: 0 -12.2727272727vw;
  }
  .menu-wrapper .menu-item.anchor.top.is-nav-move::before, .menu-wrapper .menu-item.anchor.top.is-nav-move::after {
    mask-position: 0 -12.2727272727vw;
    -webkit-mask-position: 0 -12.2727272727vw;
  }
  .menu-wrapper .menu-item.anchor.profile {
    width: 5vw;
    mask-position: 0 -8.6363636364vw;
    top: 14.8181818182vw;
  }
  .menu-wrapper .menu-item.anchor.profile.is-nav-move::before, .menu-wrapper .menu-item.anchor.profile.is-nav-move::after {
    mask-position: 0 -8.6363636364vw;
    -webkit-mask-position: 0 -8.6363636364vw;
  }
  .menu-wrapper .menu-item.anchor.works {
    width: 4.3636363636vw;
    mask-position: 0 -9.5454545455vw;
    top: 18vw;
  }
  .menu-wrapper .menu-item.anchor.works.is-nav-move::before, .menu-wrapper .menu-item.anchor.works.is-nav-move::after {
    mask-position: 0 -9.5454545455vw;
    -webkit-mask-position: 0 -9.5454545455vw;
  }
  .menu-wrapper .menu-item.anchor.contact {
    width: 5.6363636364vw;
    mask-position: 0 -10.4545454545vw;
    top: 21.1818181818vw;
  }
  .menu-wrapper .menu-item.anchor.contact.is-nav-move::before, .menu-wrapper .menu-item.anchor.contact.is-nav-move::after {
    mask-position: 0 -10.4545454545vw;
    -webkit-mask-position: 0 -10.4545454545vw;
  }
  .menu-wrapper .menu-item.anchor.fanclub {
    width: 11.3636363636vw;
    mask-position: 0 -11.4545454545vw;
    top: 24.3636363636vw;
  }
  .menu-wrapper .menu-item.anchor.fanclub.is-nav-move::before, .menu-wrapper .menu-item.anchor.fanclub.is-nav-move::after {
    mask-position: 0 -11.3636363636vw;
    -webkit-mask-position: 0 -11.3636363636vw;
  }
  .menu-wrapper .menu-item.sns {
    width: 1.4545454545vw;
    height: 1.4545454545vw;
    left: 0.5454545455vw;
  }
  .menu-wrapper .menu-item.sns.i {
    top: 27.4545454545vw;
    mask-position: -1.8181818182vw 0;
  }
  .menu-wrapper .menu-item.sns.x {
    top: 30.8181818182vw;
    mask-position: -1.8181818182vw -1.8181818182vw;
  }
}
@media screen and (min-width: 1100px) {
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item {
    mask-size: 140px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.name {
    left: 7px;
    width: 19px;
    height: 20px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.name.name-2 {
    top: 25px;
    mask-position: 0 -25px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.name.name-3 {
    top: 50px;
    mask-position: 0 -50px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.name.name-4 {
    top: 75px;
    mask-position: 0 -75px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor {
    height: 10px;
    left: 6px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.is-nav-move::after {
    mask-size: 140px auto;
    -webkit-mask-size: 140px auto;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.top {
    width: 26px;
    mask-position: 0 -135px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.top.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.top.is-nav-move::after {
    mask-position: 0 -135px;
    -webkit-mask-position: 0 -135px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.profile {
    width: 55px;
    mask-position: 0 -95px;
    top: 163px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.profile.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.profile.is-nav-move::after {
    mask-position: 0 -95px;
    -webkit-mask-position: 0 -95px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.works {
    width: 48px;
    mask-position: 0 -105px;
    top: 198px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.works.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.works.is-nav-move::after {
    mask-position: 0 -105px;
    -webkit-mask-position: 0 -105px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.contact {
    width: 62px;
    mask-position: 0 -115px;
    top: 233px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.contact.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.contact.is-nav-move::after {
    mask-position: 0 -115px;
    -webkit-mask-position: 0 -115px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.fanclub {
    width: 139px;
    mask-position: 0 -125px;
    top: 268px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.fanclub.is-nav-move::before, .menu-wrapper .menu-wrapper:not(.hero) .menu-item.anchor.fanclub.is-nav-move::after {
    mask-position: 0 -125px;
    -webkit-mask-position: 0 -125px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.sns {
    width: 16px;
    height: 16px;
    left: 6px;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.sns.i {
    top: 302px;
    mask-position: -20px 0;
  }
  .menu-wrapper .menu-wrapper:not(.hero) .menu-item.sns.x {
    top: 339px;
    mask-position: -20px -20px;
  }
}

.content_section.content_section-hero {
  z-index: 10;
}
.content_section.content_section-hero .title-container {
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.content_section.content_section-hero .title-container .title {
  position: absolute;
  overflow: hidden;
}
.content_section.content_section-hero .title-container .title .title-line {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
}
.content_section.content_section-hero .title-container .title .title-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: 100% auto;
  background-repeat: no-repeat;
  opacity: 0;
  transform: translateY(100%);
  will-change: opacity, transform;
}
.content_section.content_section-hero .content-container .photo-container {
  position: absolute;
  overflow: hidden;
}
.content_section.content_section-hero .content-container .photo-container .photo {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #f3f3f5;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  z-index: 1;
  transform: scale(1.04);
  transition: opacity var(--hero-fade-duration, 1200ms) ease-in-out, transform var(--hero-zoom-duration, 3300ms) ease-out;
  will-change: opacity, transform;
  pointer-events: none;
  user-select: none;
}
.content_section.content_section-hero .content-container .photo-container .photo.is-visible {
  opacity: 1;
  transform: scale(1);
}
@media screen and (max-width: 750px) {
  .content_section.content_section-hero {
    height: 178.1333333333vw;
  }
  .content_section.content_section-hero .title-container .title {
    left: 5.3333333333vw;
    width: 89.3333333333vw;
  }
  .content_section.content_section-hero .title-container .title.title-upper {
    top: 3.2vw;
    height: 27.4666666667vw;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-line {
    height: 50%;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line1 {
    top: 0;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line1 .title-inner {
    background-image: url(/img/title-upper-n.svg);
    background-size: 100% 200%;
    background-position: top;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line2 {
    bottom: 0;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line2 .title-inner {
    background-image: url(/img/title-upper-n.svg);
    background-size: 100% 200%;
    background-position: bottom;
  }
  .content_section.content_section-hero .title-container .title.title-lower {
    bottom: 8vw;
    height: 9.8666666667vw;
  }
  .content_section.content_section-hero .title-container .title.title-lower .title-inner {
    background-image: url(/img/title-lower-n.svg);
  }
  .content_section.content_section-hero .content-container .photo-container {
    left: 0;
    top: 26.6666666667vw;
    width: 100%;
    height: 140vw;
  }
  .content_section.content_section-hero .content-container .photo-container .photo {
    display: block;
  }
  .content_section.content_section-hero .photo-over {
    position: absolute;
    top: 26.6666666667vw;
    width: 100%;
    height: 140vw;
    z-index: 10;
  }
  .content_section.content_section-hero .photo-over .photo-over-name,
  .content_section.content_section-hero .photo-over .photo-over-copy {
    position: absolute;
  }
  .content_section.content_section-hero .photo-over .photo-over-name {
    left: 5.6vw;
    top: 11.7333333333vw;
    width: 4.2666666667vw;
    height: 19.2vw;
    background-image: url(/img/hero-name-n.svg);
  }
  .content_section.content_section-hero .photo-over .photo-over-copy {
    right: 2.4vw;
    top: 11.7333333333vw;
    width: 1.8666666667vw;
    height: 46.4vw;
    background-image: url(/img/hero-copy-n.svg);
  }
  .content_section.content_section-hero .menu-wrapper {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .content_section.content_section-hero {
    height: 58.9090909091vw;
  }
  .content_section.content_section-hero .title-container .title {
    left: 3.6363636364vw;
    width: 92.7272727273vw;
    height: 5.9090909091vw;
  }
  .content_section.content_section-hero .title-container .title.title-upper {
    top: -0.2727272727vw;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-line {
    height: 100%;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line1 {
    top: 0;
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line1 .title-inner {
    background-image: url(/img/title-upper-w.svg);
  }
  .content_section.content_section-hero .title-container .title.title-upper .title-upper-line2 {
    display: none;
  }
  .content_section.content_section-hero .title-container .title.title-lower {
    bottom: 4.2727272727vw;
  }
  .content_section.content_section-hero .title-container .title.title-lower .title-inner {
    background-image: url(/img/title-lower-w.svg);
  }
  .content_section.content_section-hero .content-container .photo-container {
    right: 4.7272727273vw;
    top: 2.5454545455vw;
    width: 63.6363636364vw;
    height: 56.3636363636vw;
  }
  .content_section.content_section-hero .photo-over {
    display: none;
  }
  .content_section.content_section-hero .menu-wrapper {
    position: absolute;
    left: 3.8181818182vw;
    top: 13.2727272727vw;
  }
  .content_section.content_section-hero .menu-wrapper .menu-item {
    position: absolute;
    background-color: #645064;
  }
  .content_section.content_section-hero .menu-wrapper .menu-item.name {
    opacity: 0;
    transform: translateY(100%);
    will-change: opacity, transform;
  }
  .content_section.content_section-hero .menu-wrapper .menu-item.anchor.is-nav-move {
    background-color: transparent;
    mask-image: none;
    -webkit-mask-image: none;
  }
}
@media screen and (min-width: 1100px) {
  .content_section.content_section-hero .section-inner {
    width: auto;
  }
}

.content_section.content_section-hero.is-title-animate .title-inner {
  animation: title-reveal 1.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
.content_section.content_section-hero.is-title-animate .title-upper-line2 .title-inner {
  animation-delay: 0.12s;
}
.content_section.content_section-hero.is-title-animate .title-lower .title-inner {
  animation-delay: 0.18s;
}
.content_section.content_section-hero.is-title-animate .menu-wrapper .menu-item.name {
  animation: title-reveal 1.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
.content_section.content_section-hero.is-title-animate .menu-wrapper .menu-item.name-1 {
  animation-delay: 0.12s;
}
.content_section.content_section-hero.is-title-animate .menu-wrapper .menu-item.name-2 {
  animation-delay: 0.18s;
}
.content_section.content_section-hero.is-title-animate .menu-wrapper .menu-item.name-3 {
  animation-delay: 0.24s;
}
.content_section.content_section-hero.is-title-animate .menu-wrapper .menu-item.name-4 {
  animation-delay: 0.3s;
}

@keyframes title-reveal {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .content_section.content_section-hero .title-inner {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .content_section.content_section-hero .menu-wrapper .menu-item.name {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.content_section.content_section-profile {
  background: #f3f3f5;
}
.content_section.content_section-profile .profile-name,
.content_section.content_section-profile .repr-header {
  font-weight: 400;
}
@media screen and (max-width: 750px) {
  .content_section.content_section-profile {
    padding: 15.2vw 5.0666666667vw 33.0666666667vw;
  }
  .content_section.content_section-profile .section-inner {
    width: 100%;
  }
  .content_section.content_section-profile .section-header {
    width: 44.2666666667vw;
    background-image: url(/img/header-profile-n.svg);
  }
  .content_section.content_section-profile .profile-name {
    margin-top: 23.4666666667vw;
    font-size: 5.3333333333vw;
    letter-spacing: 0.32em;
  }
  .content_section.content_section-profile .profile-bio {
    margin-top: 9.0666666667vw;
    font-size: 4.2666666667vw;
    line-height: 8.5333333333vw;
  }
  .content_section.content_section-profile .repr-header {
    margin-top: 9.8666666667vw;
    font-size: 4.2666666667vw;
  }
  .content_section.content_section-profile .profile-repr {
    margin-top: 1.6vw;
    font-size: 4.2666666667vw;
    line-height: 8.5333333333vw;
    letter-spacing: -0.12em;
  }
  .content_section.content_section-profile .profile-photo {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .content_section.content_section-profile {
    margin-top: -4.3636363636vw;
    padding: min(12.7272727273vw, 140px) min(7.6363636364vw, 84px);
  }
  .content_section.content_section-profile .section-inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .content_section.content_section-profile .section-header {
    width: 11.0909090909vw;
    background-image: url(/img/header-profile-w.svg);
  }
  .content_section.content_section-profile .profile-name {
    margin-top: 8.7272727273vw;
    font-size: 2vw;
    letter-spacing: 0.32em;
  }
  .content_section.content_section-profile .profile-bio {
    margin-top: 3.5454545455vw;
    font-size: 1.5454545455vw;
    line-height: 2.9090909091vw;
  }
  .content_section.content_section-profile .repr-header {
    margin-top: 3.3636363636vw;
    font-size: 1.5454545455vw;
  }
  .content_section.content_section-profile .profile-repr {
    margin-top: 1.3636363636vw;
    font-size: 1.2727272727vw;
    line-height: 2.2727272727vw;
  }
  .content_section.content_section-profile .profile-photo {
    width: 27.8181818182vw;
    height: 38.1818181818vw;
    pointer-events: none;
    background-color: #f3f3f5;
  }
  .content_section.content_section-profile .profile-photo::after {
    background-image: url(/img/profile-photo-w.jpg);
  }
  .content_section.content_section-profile .side-name {
    background-color: #a0a0af;
  }
}
@media screen and (min-width: 1100px) {
  .content_section.content_section-profile {
    margin-top: -48px;
    padding: 140px 84px;
  }
  .content_section.content_section-profile .section-inner {
    max-width: 932px;
  }
  .content_section.content_section-profile .section-header {
    width: 122px;
  }
  .content_section.content_section-profile .profile-name {
    margin-top: 96px;
    font-size: 22px;
  }
  .content_section.content_section-profile .profile-bio {
    margin-top: 39px;
    font-size: 17px;
    line-height: 32px;
  }
  .content_section.content_section-profile .repr-header {
    margin-top: 37px;
    font-size: 17px;
  }
  .content_section.content_section-profile .profile-repr {
    margin-top: 15px;
    font-size: 14px;
    line-height: 25px;
  }
  .content_section.content_section-profile .profile-photo {
    width: 306px;
    height: 420px;
  }
}

.works-text-wrapper .line-wrapper {
  display: inline-block;
  overflow: hidden;
}
.works-text-wrapper .line-inner {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%);
  will-change: opacity, transform;
}
.works-text-wrapper.is-line-animate .line-inner {
  animation: line-reveal 1.2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  animation-delay: calc(var(--line-index, 0) * 60ms);
}

@keyframes line-reveal {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 750px) {
  .content_section.content_section-works {
    padding: 14.9333333333vw 5.0666666667vw 27.7333333333vw;
  }
  .content_section.content_section-works .section-header {
    width: 36.2666666667vw;
    background-image: url(/img/header-works-n.svg);
  }
  .content_section.content_section-works .works-text-wrapper {
    width: 100%;
  }
  .content_section.content_section-works .works-photo {
    position: relative;
    margin-top: 13.6vw;
    width: 89.8666666667vw;
    height: 111.4666666667vw;
  }
  .content_section.content_section-works .works-photo .photo {
    width: 100%;
    height: 100%;
    background-size: 100% auto;
    background-image: url(/img/works-photo-n.jpg);
    cursor: pointer;
  }
  .content_section.content_section-works .works-photo .button {
    position: absolute;
    left: 34.6666666667vw;
    bottom: 21.6vw;
    width: 20vw;
    height: 5.6vw;
    background-size: 100% auto;
    background-image: url(/img/works-photo-button-n.svg);
  }
  .content_section.content_section-works .works-text {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .content_section.content_section-works {
    background: #e9e9ed;
    padding: min(8.1818181818vw, 90px) min(7.6363636364vw, 84px) min(14.9090909091vw, 164px);
  }
  .content_section.content_section-works .section-header {
    width: 9.1818181818vw;
    background-image: url(/img/header-works-w.svg);
  }
  .content_section.content_section-works .works-text-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .content_section.content_section-works .works-photo {
    display: none;
  }
  .content_section.content_section-works .works-text {
    width: 50%;
    padding-top: 1.3636363636vw;
  }
  .content_section.content_section-works h3.works-category {
    margin-top: 3.5454545455vw;
    font-weight: 400;
    font-size: 1.2727272727vw;
  }
  .content_section.content_section-works h3.works-category:first-child {
    margin-top: 4.8181818182vw;
  }
  .content_section.content_section-works dl {
    width: 100%;
    display: flex;
    font-size: 1.1818181818vw;
    margin-top: 0.7272727273vw;
    line-height: 2.1em;
  }
  .content_section.content_section-works dl + dl {
    margin-top: 0.2909090909vw;
  }
  .content_section.content_section-works dl dt {
    flex-shrink: 0;
    padding-right: 0.5em;
  }
}
@media screen and (min-width: 1100px) {
  .content_section.content_section-works {
    padding: 90px 84px 164px;
  }
  .content_section.content_section-works .works-text-wrapper {
    max-width: 932px;
    margin: 0 auto;
  }
  .content_section.content_section-works .section-header {
    width: 101px;
  }
  .content_section.content_section-works .works-text {
    padding-top: 15px;
  }
  .content_section.content_section-works h3.works-category {
    margin-top: 39px;
    font-size: 14px;
  }
  .content_section.content_section-works h3.works-category:first-child {
    margin-top: 53px;
  }
  .content_section.content_section-works dl {
    font-size: 13px;
    margin-top: 8px;
  }
  .content_section.content_section-works dl + dl {
    margin-top: 3.2px;
  }
}

.content_section.content_section-footer {
  position: relative;
}
.content_section.content_section-footer .menu-wrapper {
  display: flex;
}
.content_section.content_section-footer .menu-wrapper .menu-item {
  background-color: #8f8fa3;
}
.content_section.content_section-footer .footer-title {
  pointer-events: none;
  z-index: 10;
  position: absolute;
}
.content_section.content_section-footer .footer-title .footer-title-line {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
}
.content_section.content_section-footer .footer-title .footer-title-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: 100% auto;
  background-repeat: no-repeat;
  opacity: 0;
  transform: translateY(100%);
  will-change: opacity, transform;
}
.content_section.content_section-footer .copyright {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}
@media screen and (max-width: 750px) {
  .content_section.content_section-footer .footer-title {
    top: -36.5333333333vw;
    left: 5.3333333333vw;
    width: 89.3333333333vw;
    height: 27.4666666667vw;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-upper {
    top: 0;
    height: 50%;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-upper .footer-title-inner {
    background-image: url(/img/title-upper-n.svg);
    background-size: 100% 200%;
    background-position: top;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-lower {
    bottom: 0;
    height: 50%;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-lower .footer-title-inner {
    background-image: url(/img/title-upper-n.svg);
    background-size: 100% 200%;
    background-position: bottom;
  }
  .content_section.content_section-footer .section-inner.content {
    padding: 0 5.0666666667vw 8vw;
  }
  .content_section.content_section-footer .menu-wrapper {
    display: none;
  }
  .content_section.content_section-footer .copyright {
    width: 16vw;
    height: 1.8666666667vw;
    background-image: url(/img/copy-w.svg);
    background-size: 100% auto;
  }
}
@media screen and (min-width: 751px) {
  .content_section.content_section-footer {
    padding-bottom: 2.7272727273vw;
  }
  .content_section.content_section-footer .footer-title {
    top: -3.7272727273vw;
    left: 3.6363636364vw;
    width: 92.7272727273vw;
    height: 5.9090909091vw;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-upper {
    top: 0;
    height: 5.9090909091vw;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-upper .footer-title-inner {
    background-image: url(/img/title-upper-w.svg);
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-lower {
    display: none;
  }
  .content_section.content_section-footer .menu-wrapper {
    padding-top: 6.1818181818vw;
    justify-content: center;
    gap: 0 min(3.2727272727vw, 36px);
  }
  .content_section.content_section-footer .menu-wrapper .menu-item.anchor {
    margin-top: 0.2727272727vw;
  }
  .content_section.content_section-footer .copyright {
    margin: min(2.7272727273vw, 30px) auto 0;
    width: 5.4545454545vw;
    height: 0.6363636364vw;
    background-image: url(/img/copy-w.svg);
  }
}
@media screen and (min-width: 1100px) {
  .content_section.content_section-footer {
    padding-bottom: 30px;
  }
  .content_section.content_section-footer .footer-title {
    top: -41px;
    left: 40px;
    width: 1020px;
    height: 65px;
  }
  .content_section.content_section-footer .footer-title .footer-title-line.footer-title-upper {
    height: 65px;
  }
  .content_section.content_section-footer .menu-wrapper {
    padding-top: 68px;
    gap: 0 36px;
  }
  .content_section.content_section-footer .menu-wrapper .menu-item.anchor {
    margin-top: 3px;
  }
  .content_section.content_section-footer .copyright {
    margin: 30px auto 0;
    width: 60px;
    height: 7px;
  }
}

.content_section.content_section-footer.is-footer-title-animate .footer-title-inner {
  animation: title-reveal 1.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
.content_section.content_section-footer.is-footer-title-animate .footer-title-line.footer-title-lower .footer-title-inner {
  animation-delay: 0.18s;
}

@media (prefers-reduced-motion: reduce) {
  .content_section.content_section-footer .footer-title-inner {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
