@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Shippori+Mincho:wght@400;500&display=swap");

/* ====== Night sky: the look of the home page, used on every page ====== */
:root{
  --bg:#080717;
  --ink:#f4f0f1;
  --mute:rgba(244,240,241,.66);
  --line:rgba(244,240,241,.34);
  --faint:rgba(244,240,241,.14);
  --en:"Cormorant Garamond","Times New Roman",serif;
  --jp:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
}

/* ====== Reset ====== */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;tab-size:4}
*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}
:after,:before{text-decoration:inherit;vertical-align:inherit}
*{padding:0;margin:0}
html,body{width:100%;height:100%;overflow:hidden;color:var(--ink)}
html{background-color:var(--bg);background-image:radial-gradient(ellipse 55% 45% at 78% 16%,rgba(64,84,206,.2),rgba(64,84,206,0) 70%),linear-gradient(180deg,#080717 0%,#0a0d30 55%,#080717 100%)}
body{font-family:var(--jp)}
body.is-loaded{overflow-y:auto}
a{color:inherit;background-color:transparent}
a:active,a:hover{outline-width:0}
button,input,select,textarea{background-color:transparent;border-style:none;font:inherit}
[role=button],[type=button],button{cursor:pointer;color:inherit}
img{border-style:none;max-width:100%}
small{font-size:80%}
ul,ol{list-style:none}
hr{border:0}
@media only screen and (max-width:768px){.u-pc{display:none}}
@media only screen and (min-width:769px){.u-sp{display:none}}
.u-gap{margin-top:2em}

/* ====== Shared Title Styles ====== */
.archive-header__title,
.art-index-hgroup__title,
.profile-header__title,
.contact-header__title,
.biography-title,
.sitepolicy-title{
  line-height:1;letter-spacing:-.01em;
  font-family:var(--en);font-style:italic;
  font-weight:400;font-size:clamp(52px,14vw,64px)
}
@media only screen and (min-width:769px){
  .archive-header__title,.art-index-hgroup__title,.profile-header__title,.contact-header__title,.biography-title,.sitepolicy-title{font-size:clamp(72px,7vw,104px)}
}

/* ====== Page Title Reveal Animation ====== */
.page-title-anim{
  display:inline-block;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .8s cubic-bezier(.77,0,.175,1), transform .8s cubic-bezier(.77,0,.175,1);
}
.page-title-anim.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ====== Link with underline animation ====== */
.link-underline{
  text-decoration:none;display:inline-flex;align-items:center;
  font-family:var(--en);
  font-weight:400;font-size:16px;padding-bottom:8px;position:relative
}
@media only screen and (min-width:769px){.link-underline{font-weight:300;font-size:18px}}
.link-underline:after{
  content:"";display:block;width:100%;height:4px;
  background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 2px,transparent 2px,transparent 4px);
  position:absolute;bottom:0;left:0;
  transform:scaleX(1);transform-origin:right center;
  transition:transform .5s cubic-bezier(.77,0,.175,1)
}
.link-underline:hover:after{
  animation:linkUnderline .5s cubic-bezier(.77,0,.175,1)
}
@keyframes linkUnderline{
  0%{transform:scaleX(1);transform-origin:right center}
  50%{transform:scaleX(0);transform-origin:right center}
  50.1%{transform:scaleX(0);transform-origin:left center}
  100%{transform:scaleX(1);transform-origin:left center}
}

/* ====== SNS List ====== */
.sns-list{display:flex;flex-wrap:wrap}
.sns-list>li{font-size:13px;margin-right:18px;margin-bottom:5px;letter-spacing:.04em}
@media only screen and (min-width:769px){.sns-list>li{font-size:14px;margin-right:22px}}
.sns-list>li>a{text-decoration:none;display:inline-block;position:relative;transition:opacity .3s cubic-bezier(.77,0,.175,1)}
.sns-list>li>a:hover{opacity:.3}

/* ====== Header ====== */
.header{
  position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:40px 8vw;z-index:3;
  font-family:var(--en);
  font-weight:300;pointer-events:none
}
.header>*{pointer-events:auto}
@media only screen and (min-width:769px){.header{font-weight:200;justify-content:center;padding:50px 6.94444vw}}
.header__title{font-size:21px;font-style:italic;text-decoration:none;letter-spacing:.02em;transition:all .3s cubic-bezier(.77,0,.175,1)}
@media only screen and (min-width:769px){.header__title:hover{opacity:.3}}

/* Hamburger button */
.header__button{
  text-indent:-9999px;width:27px;height:27px;position:relative;overflow:hidden
}
@media only screen and (min-width:769px){.header__button{width:30px;height:30px;position:absolute;right:6.94444vw;top:46px}}
.header__button:after,.header__button:before{
  content:"";display:block;width:100%;height:1px;background:var(--ink);position:absolute;left:0
}
.header__button:before{top:calc(50% - 3px)}
@media only screen and (min-width:769px){.header__button:before{top:calc(50% - 4px)}}
.header__button:after{top:calc(50% + 3px)}
@media only screen and (min-width:769px){.header__button:after{top:calc(50% + 4px)}}
.header__button:not(:hover):after,.header__button:not(:hover):before{
  animation:hamburger-slide 4s -2s infinite cubic-bezier(.77,0,.175,1)
}
.header__button:not(:hover):after{animation-delay:-2.1s}
@keyframes hamburger-slide{0%,12.5%{transform:translateX(0)}6.25%{transform:translateX(100%)}6.251%{transform:translateX(-100%)}}
@media only screen and (min-width:769px){
  .header__button:hover:before{animation:hamburger-up .3s 1 forwards cubic-bezier(.77,0,.175,1)}
  .header__button:hover:after{animation:hamburger-down .3s 1 forwards cubic-bezier(.77,0,.175,1)}
}
@keyframes hamburger-up{to{transform:translateY(-2px)}}
@keyframes hamburger-down{to{transform:translateY(2px)}}

/* ====== Fullscreen Menu ====== */
.menu{
  position:fixed;z-index:4;width:100%;height:100%;top:0;left:0;overflow-y:auto;
  background:linear-gradient(180deg,#080717 0%,#0a0d30 58%,#080717 100%);
  font-family:var(--en);
  font-weight:400;
  display:none;opacity:0;
  transition:opacity .5s cubic-bezier(.77,0,.175,1)
}
.menu.is-open{display:block}
.menu.is-visible{opacity:1}
@media only screen and (min-width:769px){.menu{font-weight:100}}
@media only screen and (max-width:768px){
  .menu__container{position:relative;padding-bottom:230px}
  .menu__container:after{
    content:"";display:block;width:74.66643vw;height:auto;
    margin:60px auto 0;padding-top:0
  }
}
@media only screen and (min-width:769px){.menu__container{position:relative;min-height:50vw;height:100%}}

.menu__header{display:flex;align-items:center;justify-content:space-between;padding:40px 8vw}
@media only screen and (min-width:769px){.menu__header{padding:50px 6.94444vw 0;position:relative;z-index:2}}

.menu__title{font-size:21px;font-style:italic;text-decoration:none;letter-spacing:.02em;font-weight:400}
@media only screen and (min-width:769px){
  .menu__title{font-weight:200;transition:all .3s cubic-bezier(.77,0,.175,1)}
  .menu__title:hover{opacity:.3}
}

.menu__button{width:27px;height:27px;text-indent:-9999px;overflow:hidden;position:relative}
.menu__button:after,.menu__button:before{
  content:"";display:block;width:30px;height:1px;background:var(--ink);
  position:absolute;top:50%;left:calc(50% - 15px)
}
.menu__button:before{transform:rotate(45deg)}
.menu__button:after{transform:rotate(-45deg)}
@media only screen and (min-width:769px){.menu__button:hover{animation:menu-close-spin .5s cubic-bezier(.77,0,.175,1)}}
@keyframes menu-close-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* Menu Nav */
@media only screen and (max-width:768px){
  .menu__nav{width:74.66643vw;margin:auto;position:relative;border-top:1px solid var(--faint);margin-top:13px;padding-top:58px}
}
@media only screen and (min-width:769px){.menu__nav__list{width:27.77778vw;position:absolute;left:6.94444vw;top:16.5%}}
.menu__nav__list>li{font-size:9.6vw;line-height:1.05;font-style:italic}
@media only screen and (min-width:769px){.menu__nav__list>li{font-size:clamp(30px,3vw,48px)}}
.menu__nav__list>li:not(:last-child){margin-bottom:6vw}
@media only screen and (min-width:769px){.menu__nav__list>li:not(:last-child){margin-bottom:1.14vw}}
.menu__nav__list>li>a{text-decoration:none;display:inline-block;position:relative}
.menu__nav__list>li>a small{display:inline-block;white-space:nowrap;font-family:var(--jp);font-style:normal;font-size:11px;letter-spacing:.2em;color:var(--mute);margin-left:1.1em;vertical-align:.45em}
@media only screen and (min-width:769px){.menu__nav__list>li>a small{font-size:12px}}
@media only screen and (min-width:769px){
  .menu__nav__list>li>a:after{
    content:"";display:block;width:100%;height:1px;background:var(--ink);
    position:absolute;left:0;bottom:-3px;
    transform:scaleX(0);transform-origin:left center;
    transition:transform .5s cubic-bezier(.77,0,.175,1)
  }
  .menu__nav__list>li>a:hover:after{transform:scaleX(1)}
}

.menu__links{font-weight:300}
/* Site Policy sits just above the copyright, in the same size */
@media only screen and (min-width:769px){.menu__links{position:absolute;left:6.94444vw;bottom:62px;font-size:12px;letter-spacing:.03em}}
@media only screen and (max-width:768px){.menu__links{width:74.66643vw;margin:60px auto 0;padding:30px 0 0;border-top:1px solid var(--faint);font-size:12px;letter-spacing:.03em}}
.menu__links>li:not(:last-child){margin-bottom:4px}
.menu__links>li>a{text-decoration:none;display:inline-block;position:relative}
@media only screen and (min-width:769px){
  .menu__links>li>a:after{
    content:"";display:block;width:100%;height:1px;background:var(--ink);
    position:absolute;left:0;bottom:2px;
    transform:scaleX(0);transform-origin:left center;
    transition:transform .5s cubic-bezier(.77,0,.175,1)
  }
  .menu__links>li>a:hover:after{transform:scaleX(1)}
}

/* Menu Information Panel */
.menu__information{display:flex;justify-content:center;flex-direction:column;align-items:center;color:var(--ink)}
@media only screen and (max-width:768px){
  .menu__information{position:relative;margin:65px 0 42px;padding:63px 16vw 63px 10.66667vw;min-height:187px}
}
@media only screen and (min-width:769px){
  .menu__information{position:absolute;top:0;right:0;height:100%;width:52.77769vw;padding:8.33333vw;align-items:flex-end}
}
.menu__information__background{position:absolute;z-index:-1;top:0;left:0;width:100%;height:100%;overflow:hidden;background:#0a0d30}
.menu__information__background:before{
  content:"";display:block;width:100%;height:100%;
  background:linear-gradient(90deg,#080717 0,rgba(8,7,23,.35) 35%,rgba(8,7,23,0) 70%),linear-gradient(to bottom,rgba(8,7,23,0) 40%,#080717);
  top:0;left:0;position:absolute;z-index:1
}
.menu__information__background__slide{
  position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;background:50%/cover no-repeat;
  filter:grayscale(1) contrast(1.05);mix-blend-mode:luminosity;transition:opacity 1.5s ease
}
.menu__information__background__slide.is-active{opacity:.5}

.menu__information__lang{font-weight:400;font-size:13px;color:hsla(0,0%,100%,.45);display:flex;align-items:center;justify-content:flex-end;width:100%}
@media only screen and (min-width:769px){.menu__information__lang{font-weight:300;margin-top:-30px;margin-bottom:30px}}
@media only screen and (max-width:768px){.menu__information__lang{position:absolute;top:30px;right:10.66667vw}}
.menu__information__lang__separator{display:block;margin:0 4px}
.menu__information__lang__button{transition:color .3s ease;cursor:pointer}
.menu__information__lang__button.is-active{color:var(--ink)}
.menu__information--ja .menu__information__list__title--en{display:none}
.menu__information--ja .menu__information__lang__button--ja{color:var(--ink)}
.menu__information--en .menu__information__list__title--ja{display:none}
.menu__information--en .menu__information__lang__button--en{color:var(--ink)}
@media only screen and (max-width:768px){.menu__information__list{width:100%}}
@media only screen and (min-width:769px){.menu__information__list{text-align:right}}
.menu__information__list>li{line-height:1.65;font-size:11px}
@media only screen and (min-width:769px){.menu__information__list>li{font-size:12px}}
.menu__information__list>li:not(:last-child){margin-bottom:25px}
@media only screen and (min-width:769px){.menu__information__list>li:not(:last-child){margin-bottom:28px}}
.menu__information__list>li>a{text-decoration:none}
.menu__information__list>li>a .menu__information__list__title{text-decoration:underline}
.menu__information__list>li>a:hover .menu__information__list__title{text-decoration:none}
.menu__information__list__date{font-weight:400;opacity:.45}
@media only screen and (min-width:769px){.menu__information__list__date{opacity:.6;font-size:14px;letter-spacing:.04em}}
.menu__information__list__title{margin-top:3px;font-family:var(--jp);font-weight:400}
@media only screen and (min-width:769px){.menu__information__list__title{font-weight:200}}
.menu__information__list__date,.menu__information__list__title{
  display:table;width:auto;
  background:rgba(8,7,23,.55);
  padding:2px 8px;
  border-radius:2px
}

/* Menu SNS / Copyright */
.menu__sns{font-weight:300;display:flex;flex-wrap:wrap}
@media only screen and (min-width:769px){.menu__sns{font-weight:200;position:absolute;left:6.94444vw;bottom:13.5%}}
@media only screen and (max-width:768px){.menu__sns{margin-left:10.66667vw}}
@media only screen and (max-width:768px){
  .menu__copyright{width:74.66643vw;margin:6px auto 0}
}
@media only screen and (min-width:769px){
  .menu__copyright{position:absolute;left:6.94444vw;bottom:41px;letter-spacing:.03em}
}
.menu__copyright>small{font-size:12px;font-weight:400;letter-spacing:.03em}

/* ====== Loading Screen (sub pages) ====== */
/* The home page's opening in short: staff lines drawn across the screen come apart as the page appears (js/main.js) */
.loading{
  position:fixed;width:100%;height:100%;top:0;left:0;z-index:5;pointer-events:all;
  background:linear-gradient(180deg,#080717 0%,#0a0d30 52%,#0b0f35 78%,#080717 100%);
  transition:opacity .7s cubic-bezier(.77,0,.175,1)
}
.loading.is-hidden{opacity:0;pointer-events:none}
.loading__staff{position:absolute;top:0;left:0;width:100%;height:100%;display:block}

/* ====== Home Hero ====== */
/* Staff lines come apart into a violin (js/hero.js); text and header follow */
.hero{
  --hero-ink:#f4f0f1;
  --hero-mute:rgba(244,240,241,.66);
  --hero-line:rgba(244,240,241,.34);
  --hero-faint:rgba(244,240,241,.14);
  --hero-en:"Cormorant Garamond","Times New Roman",serif;
  --hero-jp:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  position:relative;min-height:100vh;min-height:100svh;
  padding:clamp(112px,14vh,140px) 6.94444vw 42px;
  display:flex;flex-direction:column;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#080717 0%,#0a0d30 52%,#0b0f35 78%,#080717 100%);
  color:var(--hero-ink);font-family:var(--hero-jp);letter-spacing:.04em
}
.hero__art{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;display:block}
.hero:after{
  content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,7,23,.55) 0,rgba(8,7,23,.25) 28%,rgba(8,7,23,0) 48%),
    linear-gradient(0deg,#0a0d30 0,rgba(10,13,48,0) 14%)
}
.hero__kicker{font-family:var(--hero-en);font-size:clamp(11px,1.1vw,14px);letter-spacing:.34em;text-transform:uppercase}
.hero__title{margin-top:clamp(6px,1.6vh,24px);font-family:var(--hero-en);font-style:italic;font-weight:400}
.hero__title span{display:block}
.hero__title__name{font-size:clamp(96px,min(17vw,27vh),270px);line-height:.86;letter-spacing:-.01em;margin-left:-.05em}
.hero__title__role{margin-top:clamp(6px,1.4vh,16px);font-size:clamp(20px,min(2.4vw,3.8vh),36px);line-height:1.2;letter-spacing:.02em}
.hero__lead{margin-top:clamp(16px,3vh,36px);font-size:clamp(13px,min(1.4vw,2.3vh),20px);line-height:1.9;letter-spacing:.06em}
.hero__kicker,.hero__title,.hero__lead{text-shadow:0 0 18px rgba(8,7,23,.95),0 0 6px rgba(8,7,23,.9)}
.hero__bottom{
  margin-top:auto;padding-top:clamp(14px,2.2vh,24px);max-width:min(820px,52vw);
  border-top:1px solid var(--hero-line);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;
  font-family:var(--en);font-weight:300
}
@media only screen and (min-width:769px){.hero__bottom{font-weight:200}}
.hero__bottom .sns-list>li{margin-bottom:0}
.hero__bottom .sns-list>li>a:not(:hover){opacity:.6}
.hero__copyright>small{font-size:10px;letter-spacing:.03em;opacity:.6}

.header{transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.is-scrolled .header{
  background:rgba(8,7,23,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:rgba(244,240,241,.14)
}

/* short laptop screens: keep the text block inside the first screen */
@media only screen and (min-width:769px) and (max-height:780px){
  .hero{padding-top:96px}
  .hero__title__name{font-size:clamp(96px,min(17vw,23vh),270px)}
  .hero__lead{margin-top:14px}
}

/* opening motion: text rises out of a blur once the staff lines start to come apart */
.js .home .header{opacity:0}
.js .home .hero__kicker,.js .home .hero__lead,.js .home .hero__bottom>*{opacity:0;transform:translateY(18px)}
.js .home .hero__title span{opacity:0;transform:translateY(.32em);filter:blur(10px)}
.js .home .hero__bottom{border-top-color:transparent}
.js .home.is-ready .hero__kicker,.js .home.is-ready .hero__lead,.js .home.is-ready .hero__bottom>*{
  opacity:1;transform:none;transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)
}
.js .home.is-ready .hero__title span{
  opacity:1;transform:none;filter:blur(0);
  transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1),filter 1.3s ease
}
.js .home.is-ready .hero__title span:nth-child(1){transition-delay:.1s}
.js .home.is-ready .hero__title span:nth-child(2){transition-delay:.5s}
.js .home.is-ready .hero__lead{transition-delay:1.05s}
.js .home.is-ready .hero__bottom{border-top-color:var(--hero-line);transition:border-color 1s 1.6s}
.js .home.is-ready .hero__bottom>*:nth-child(1){transition-delay:1.9s}
.js .home.is-ready .hero__bottom>*:nth-child(2){transition-delay:2.05s}
.js .home.is-ready .header{opacity:1;transition:background .4s,backdrop-filter .4s,border-color .4s,opacity 1.2s 2s}
@media (prefers-reduced-motion:reduce){
  .js .home .header,.js .home .hero__kicker,.js .home .hero__lead,.js .home .hero__bottom>*,
  .js .home .hero__title span{opacity:1;transform:none;filter:none;transition:none}
  .js .home .hero__bottom{border-top-color:var(--hero-line)}
}

/* phone: the violin sits in the upper part of the first screen, the text runs on below it */
@media only screen and (max-width:768px){
  .hero{min-height:max(100svh,600px);padding:104px 8vw 32px;touch-action:pan-y}
  .hero:after{background:linear-gradient(0deg,#0a0d30 0,rgba(10,13,48,0) 16%)}
  .hero__art{height:72vh;height:72svh}
  .hero__kicker{font-size:10.5px;letter-spacing:.3em}
  .hero__title__name{font-size:clamp(80px,26vw,140px)}
  .hero__title__role{font-size:clamp(16px,4.8vw,22px)}
  .hero__lead{font-size:13px;line-height:1.85;letter-spacing:.04em}
  .hero__kicker,.hero__title,.hero__lead{text-shadow:0 0 12px rgba(8,7,23,.9)}
  .hero__bottom{margin-top:24px;padding-top:16px;max-width:none}
}

/* ====== Stars (js/main.js): behind every page and the menu ====== */
.stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;display:block}
.menu .stars{z-index:0}
.menu__container{z-index:1}

/* ====== Canvas ====== */
.canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* ====== Archive Header (Information, Exhibition) ====== */
.archive-header{
  padding:0 8vw;padding-top:140px;
  display:flex;align-items:flex-end;justify-content:space-between
}
@media only screen and (min-width:769px){.archive-header{padding:180px 6.94444vw 0}}
.archive-header__trigger{
  display:flex;align-items:center;
  font-family:var(--en);font-weight:300;font-size:15px;letter-spacing:.03em;
  cursor:pointer
}
@media only screen and (min-width:769px){.archive-header__trigger{font-weight:200}}
.archive-header__trigger__label{opacity:.5;margin-right:8px}
.archive-header__trigger__value{text-decoration:underline}
.archive-header__trigger__value:hover{text-decoration:none}

/* ====== Archive Filter ====== */
.archive-filter{display:none;padding:0 8vw;margin-top:25px}
.archive-filter.is-open{display:block}
@media only screen and (min-width:769px){.archive-filter{padding:0 6.94444vw}}
.archive-filter__label{font-family:var(--en);font-size:12px;font-weight:200;opacity:.5;margin-bottom:15px}
.archive-filter__list{display:flex;flex-wrap:wrap;gap:5px 0}
.archive-filter__list>li>a{
  font-family:var(--en);font-size:16px;font-weight:300;
  text-decoration:none;display:inline-block;margin-right:18px;
  transition:all .2s ease;opacity:.5
}
@media only screen and (min-width:769px){.archive-filter__list>li>a{font-weight:200;font-size:15px}}
.archive-filter__list>li>a:hover,.archive-filter__list>li>a.is-selected{opacity:1}
.archive-filter__close{margin-top:15px}
.archive-filter__close__button{
  font-family:var(--en);font-size:12px;font-weight:300;
  opacity:.5;text-decoration:underline;cursor:pointer
}
.archive-filter__close__button:hover{opacity:1}

/* ====== Information Filtered Value ====== */
.information-filtered-value{
  font-family:var(--en);font-weight:200;font-style:italic;font-size:18px;
  padding:20px 8vw 0;opacity:.4;letter-spacing:.03em
}
@media only screen and (min-width:769px){.information-filtered-value{padding:20px 6.94444vw 0;font-size:20px}}

/* ====== Information List ====== */
.information-list{padding:25px 8vw 40px}
@media only screen and (min-width:769px){.information-list{padding:25px 6.94444vw 40px}}
.information-list>li{border-top:1px solid var(--faint)}
.information-list>li:last-child{border-bottom:1px solid var(--faint)}
.information-item{text-decoration:none;display:block;padding:28px 0;transition:opacity .3s ease}
.information-item__title a{text-decoration:none;transition:opacity .3s ease}
.information-item__title a:after{content:" →";font-family:var(--en);opacity:.5}
.information-item__title a:hover{opacity:.5}
.information-item__text{margin-top:10px;max-width:750px;font-family:var(--jp);font-size:13px;line-height:2;letter-spacing:.04em;opacity:.85}
.information-item__text a{text-underline-offset:.3em}
.information-empty{padding:40px 0;font-family:var(--jp);font-size:14px;line-height:2.1;letter-spacing:.06em;color:var(--mute)}
.information-empty a{color:var(--ink);font-family:var(--en);font-style:italic;font-size:1.15em;text-underline-offset:.3em}
.is-information-empty .archive-header__trigger,.is-information-empty .information-filtered-value{display:none}
.information-item__date{font-family:var(--en);font-weight:400;font-size:14px;letter-spacing:.04em;opacity:.6;margin-bottom:6px}
@media only screen and (min-width:769px){.information-item__date{font-weight:200}}
.information-item__title{font-family:var(--jp);font-weight:400;font-size:13px;line-height:1.8}
@media only screen and (min-width:769px){.information-item__title{font-weight:200;font-size:14px}}
.information-item__en-title{font-family:var(--en);font-weight:200;font-size:13px;opacity:.6;margin-top:4px;line-height:1.6}

/* ====== Pager ====== */
.pager{padding:0 8vw 60px;font-family:var(--en);font-weight:300}
@media only screen and (min-width:769px){.pager{padding:0 6.94444vw 80px;font-weight:200}}
.pager__content{display:flex;flex-direction:column;align-items:center;gap:15px}
.pager__list{display:flex;align-items:center;gap:5px;font-size:15px}
.pager__list .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;text-decoration:none;transition:opacity .3s ease
}
.pager__list .page-numbers:hover{opacity:.5}
.pager__list .page-numbers.current{border:1px solid rgba(243,243,243,.3);border-radius:2px}
.pager__list .page-numbers.dots{opacity:.3}
.pager__separation{display:flex;gap:15px;font-size:13px}
.pager__prev,.pager__next{font-size:15px;text-decoration:none;letter-spacing:.03em;transition:opacity .3s ease}
.pager__prev:hover,.pager__next:hover{opacity:.5}
span.pager__prev,span.pager__next{opacity:.2;cursor:default}
span.pager__prev:hover,span.pager__next:hover{opacity:.2}
.pager-count{
  font-family:var(--en);font-weight:200;font-size:14px;
  opacity:.4;text-align:center;padding:15px 0;letter-spacing:.05em
}

/* ====== Art Index Layout ====== */
.art-index-hgroup{padding:140px 8vw 0}
@media only screen and (min-width:769px){.art-index-hgroup{padding:180px 8.33333vw 0;margin-bottom:0}}
.art-index-hgroup__text{
  margin-top:5px;line-height:1.2;
  font-family:var(--jp);font-weight:600;font-size:14px;letter-spacing:.333em
}
@media only screen and (min-width:769px){.art-index-hgroup__text{font-weight:200;font-size:18px;letter-spacing:.666em}}

/* Art Index Content: flex layout */
.art-index-content{display:flex;flex-direction:column}
@media only screen and (min-width:769px){.art-index-content{flex-direction:row;justify-content:space-between;align-items:flex-start}}

/* ====== Art Filter (left sidebar) ====== */
.art-filter{padding-top:35px;position:relative}
@media only screen and (max-width:768px){.art-filter{margin-bottom:45px;padding:35px 8vw 0}}
@media only screen and (min-width:769px){
  .art-filter{width:30.55553vw;padding:75px 0 100px 6.94444vw;position:sticky;top:0;align-self:flex-start}
}
.art-filter__button,.art-filter__title{font-size:16px;font-family:var(--en);font-weight:400}
@media only screen and (min-width:769px){.art-filter__button,.art-filter__title{font-weight:300}}
.art-filter__button{display:block;margin:0 auto;width:80vw;text-align:left;border-bottom:1px solid var(--faint);padding-bottom:0}
@media only screen and (min-width:769px){.art-filter__button{display:none}}
.art-filter__button__text{
  display:inline-block;position:relative;padding-bottom:15px
}
.art-filter__button__text:after{
  content:"";display:block;width:100%;height:4px;
  background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 2px,transparent 2px,transparent 4px);
  position:absolute;bottom:0;left:0
}
.art-filter__content{display:none}
@media only screen and (min-width:769px){.art-filter__content{display:block!important;opacity:1!important}}
/* mobile overlay for filter */
@media only screen and (max-width:768px){
  .art-filter__content.is-open{
    display:block;position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.95);z-index:10;overflow-y:auto;padding:80px 8vw 60px
  }
}
.art-filter__heading{font-size:15px;font-family:var(--en);font-weight:200;opacity:.5;margin-bottom:32px;margin-top:40px}
.art-filter__heading:first-of-type{margin-top:0}
@media only screen and (min-width:769px){.art-filter__heading{font-weight:100}}
.art-filter__list>li{padding:7px 0 8px}
.art-filter__list>li>a{
  font-size:18px;text-decoration:none;display:inline-block;
  font-family:var(--en);font-weight:300;
  transition:all .2s cubic-bezier(.77,0,.175,1)
}
@media only screen and (min-width:769px){
  .art-filter__list>li>a{font-weight:200;transform:translateX(0)}
  .art-filter__list>li>a:hover{transform:translateX(8px);opacity:.3}
}
.art-filter__list>li>a .art-filter__list__serif{
  font-family:var(--jp);font-weight:500;font-size:16px;letter-spacing:0;display:block
}
@media only screen and (min-width:769px){.art-filter__list>li>a .art-filter__list__serif{font-weight:200}}
.art-filter__list>li>a .art-filter__list__sub{display:block;margin-top:4px;font-size:11px;font-weight:200;opacity:.7}
@media only screen and (min-width:769px){.art-filter__list>li>a .art-filter__list__sub{font-size:13px;margin-top:5px}}
.art-filter__list>li>a.is-selected{opacity:.3}
.art-filter__list--vertical{display:flex;flex-direction:column;gap:0}
.art-filter__list--vertical>li{padding:5px 0}
.art-filter__list--vertical>li>a{font-size:14px;display:block}
.art-filter__list--vertical>li>a:before{content:"# ";font-size:12px;opacity:.5}
.art-filter__pager{
  display:flex;font-family:var(--en);font-weight:300;font-size:9pt;
  margin-top:35px;letter-spacing:.05em
}
@media only screen and (min-width:769px){.art-filter__pager{font-weight:200;font-size:11px;margin-top:25px}}
.art-filter__pager>li:not(:last-child):after{content:"/";opacity:.3;margin:0 .5em}
.art-filter__pager>li>a{text-decoration:none}
.art-filter__pager>li>a:hover{text-decoration:underline}
.art-filter__pager>li>span{opacity:.3}
.art-filter__divider{display:block;border:0;height:1px;background:var(--ink);margin:50px 0}
@media only screen and (min-width:769px){
  .art-filter__divider{background:var(--faint)}
  .art-filter__divider:last-of-type{display:none}
}
.art-filter__close{font-family:var(--en);font-weight:400;font-size:18px;margin-top:-10px;display:block;cursor:pointer}
@media only screen and (min-width:769px){.art-filter__close{display:none}}

/* ====== Art List (right side grid) ====== */
.art-list{display:flex;flex-wrap:wrap;justify-content:flex-start}
@media only screen and (max-width:768px){.art-list{padding:0 4vw;padding-bottom:5px}}
@media only screen and (min-width:769px){.art-list{width:61.11125vw;padding-bottom:100px}}
.art-list>li{width:50%;display:flex;flex-direction:column;text-decoration:none;margin-bottom:60px;padding:0 2vw}
@media only screen and (min-width:769px){.art-list>li{margin-bottom:96px;padding:0 1.5vw}}
.art-list__thumbnail{height:64vw;overflow:hidden;position:relative;z-index:1}
@media only screen and (min-width:769px){.art-list__thumbnail{height:22vw}}
.art-list__thumbnail__background{
  background:50%/cover no-repeat;position:absolute;width:100%;height:100%;
  top:0;left:0;z-index:-1;opacity:.17;transform:scale(1.1)
}
.art-list__thumbnail__image{
  display:block;text-indent:-9999px;overflow:hidden;
  background:50%/cover no-repeat;width:100%;height:100%;
  transform:scale(.73);transform-origin:center;
  transition:all .5s cubic-bezier(.77,0,.175,1)
}
.art-list__thumbnail__image:hover{transform:scale(.78)}
.art-list__title{margin-top:15px;font-size:13px;padding-right:1em;line-height:1.6;flex:1}
@media only screen and (min-width:769px){.art-list__title{font-size:14px}}
.art-list__title--serif{font-family:var(--jp);font-weight:500;letter-spacing:0}
@media only screen and (min-width:769px){.art-list__title--serif{font-weight:200}}
.art-list__title--sub{font-family:var(--en);font-weight:200;font-size:11px;opacity:.6;margin-top:4px}
@media only screen and (min-width:769px){.art-list__title--sub{font-size:12px}}
.art-list__year{font-family:var(--en);font-weight:200;font-size:11px;opacity:.4;margin-top:8px}
.art-list__category{font-family:var(--en);font-weight:200;font-size:11px;opacity:.4;margin-top:2px}

/* ====== Coming Soon ====== */
.coming-soon{padding:90px 8vw 140px;text-align:center}
@media only screen and (min-width:769px){.coming-soon{padding:140px 6.94444vw 220px}}
.coming-soon__title{
  font-family:var(--jp);font-weight:500;font-size:16px;
  letter-spacing:.666em;text-indent:.666em
}
@media only screen and (min-width:769px){.coming-soon__title{font-weight:200;font-size:20px}}
.coming-soon__text{font-family:var(--en);font-weight:300;font-size:15px;letter-spacing:.1em;opacity:.45;margin-top:14px}
@media only screen and (min-width:769px){.coming-soon__text{font-weight:200}}

/* ====== Exhibition List ====== */
.exhibition-list{padding:40px 8vw 40px}
@media only screen and (min-width:769px){.exhibition-list{padding:40px 6.94444vw 40px}}
.exhibition-list>li{border-top:1px solid var(--faint)}
.exhibition-list>li:last-child{border-bottom:1px solid var(--faint)}
.exhibition-item{
  text-decoration:none;display:flex;flex-direction:column;
  padding:35px 0;transition:opacity .3s ease
}
@media only screen and (min-width:769px){.exhibition-item{flex-direction:row;align-items:flex-start;gap:40px}}
.exhibition-item:hover{opacity:.5}
.exhibition-item__image{flex-shrink:0;width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:20px}
@media only screen and (min-width:769px){.exhibition-item__image{width:280px;margin-bottom:0}}
.exhibition-item__image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.77,0,.175,1)
}
.exhibition-item:hover .exhibition-item__image img{transform:scale(1.05)}
.exhibition-item__content{flex:1}
.exhibition-item__date{font-family:var(--en);font-weight:400;font-size:14px;letter-spacing:.04em;opacity:.6;margin-bottom:6px}
@media only screen and (min-width:769px){.exhibition-item__date{font-weight:200}}
.exhibition-item__title{font-family:var(--jp);font-weight:400;font-size:14px;line-height:1.8}
@media only screen and (min-width:769px){.exhibition-item__title{font-weight:200;font-size:16px}}
.exhibition-item__en-title{font-family:var(--en);font-weight:200;font-size:11px;opacity:.6;margin-top:4px;line-height:1.6}
.exhibition-item__venue{font-family:var(--jp);font-weight:200;font-size:11px;opacity:.5;margin-top:6px}

/* ====== Article (Concert detail, Lesson) ====== */
.archive-header__title>a{text-decoration:none}
@media only screen and (min-width:769px){.archive-header__title>a:hover{opacity:.3}}
.article{padding:40px 8vw 0}
@media only screen and (min-width:769px){.article{padding:40px 6.94444vw 0}}
.article__header{border-top:1px solid var(--faint);padding-top:35px;margin-bottom:35px}
@media only screen and (min-width:769px){.article__header{margin-bottom:45px}}
.article__date{font-family:var(--en);font-weight:400;font-size:14px;letter-spacing:.04em;opacity:.6;margin-bottom:8px}
@media only screen and (min-width:769px){.article__date{font-weight:200}}
.article__title{font-family:var(--jp);font-weight:500;font-size:19px;line-height:1.7;letter-spacing:.05em}
@media only screen and (min-width:769px){.article__title{font-weight:200;font-size:28px;letter-spacing:.08em}}
.article__text,.article__columns,.article__profile,.article__buttons{
  font-family:var(--jp);font-weight:400;font-size:13px;
  line-height:2;letter-spacing:.05em
}
@media only screen and (min-width:769px){
  .article__text,.article__columns,.article__profile,.article__buttons{font-weight:200;font-size:14px}
}
.article__text,.article__columns,.article__profile,.article__buttons,.article__figure,.article__embed,.article__gallery{margin-bottom:45px}
@media only screen and (min-width:769px){
  .article__text,.article__columns,.article__profile,.article__buttons,.article__figure,.article__embed,.article__gallery{margin-bottom:55px}
}
.article__text,.article__columns,.article__profile,.article__embed,.article__gallery,.article__figure--medium{max-width:750px}
.article p{margin-bottom:.6em}
.article__text>:first-child{margin-top:0}
.article__text>:last-child{margin-bottom:0}
.article__text a{text-underline-offset:.3em;transition:opacity .3s ease}
.article__text a:hover{opacity:.5}
.article__heading{font-weight:500;font-size:16px;line-height:1.8;letter-spacing:.1em;margin:2.6em 0 1em}
@media only screen and (min-width:769px){.article__heading{font-weight:300;font-size:19px;letter-spacing:.2em}}
.article__subheading{font-weight:500;font-size:14px;line-height:1.8;letter-spacing:.08em;margin:2em 0 .8em}
@media only screen and (min-width:769px){.article__subheading{font-weight:400;font-size:16px}}
.article__heading+.article__subheading,.article__columns .article__subheading{margin-top:0}
.article__label{font-weight:500;font-size:13px;line-height:1.8;margin:1.6em 0 .3em}
@media only screen and (min-width:769px){.article__label{font-weight:400;font-size:14px}}
.article .article__lead{opacity:.7;letter-spacing:.1em;margin-bottom:2em}
.article__note{font-size:11px;line-height:1.9;opacity:.6}
@media only screen and (min-width:769px){.article__note{font-size:12px}}
.article__divider{height:1px;background:var(--faint);border:0;margin-bottom:2em}
.article__figure img,.article__profile__image img,.article__gallery img{display:block;height:auto}
.article__figure--portrait{max-width:520px}
.article__buttons{display:flex;flex-wrap:wrap;gap:25px 45px}
.article__text+.article__buttons{margin-top:-15px}
.article__button{font-family:var(--jp);font-weight:400;font-size:14px;letter-spacing:.08em}
@media only screen and (min-width:769px){.article__button{font-weight:300;font-size:15px}}
.article__embed iframe{display:block;width:100%;height:300px;border:0}
@media only screen and (min-width:769px){.article__embed iframe{height:380px}}
.article__embed--video{aspect-ratio:16/9}
.article__embed--video iframe{height:100%}
.article__columns>div:not(:last-child){margin-bottom:30px}
@media only screen and (min-width:769px){
  .article__columns{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}
  .article__columns>div:not(:last-child){margin-bottom:0}
}
@media only screen and (min-width:769px){.article__profile{display:flex;gap:40px;align-items:flex-start}}
.article__profile__image{width:55%;max-width:220px;margin-bottom:20px}
@media only screen and (min-width:769px){.article__profile__image{width:200px;flex-shrink:0;margin-bottom:0}}
.article__profile__text{flex:1;min-width:0}
.article__profile__name{font-weight:500;font-size:14px;letter-spacing:.1em;margin-bottom:.8em}
@media only screen and (min-width:769px){.article__profile__name{font-weight:400;font-size:16px}}
.article__gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.article__gallery img{width:100%}
.article .contact-form{max-width:560px;margin-top:0}

/* ====== Profile (Artist Statement) ====== */
.profile-header{padding:140px 8vw 0}
@media only screen and (min-width:769px){.profile-header{padding:180px 6.94444vw 0}}
.profile-front{padding:0 8vw}
@media only screen and (min-width:769px){.profile-front{padding:0 6.94444vw}}
.profile-front__image{margin:60px 0 50px}
@media only screen and (min-width:769px){.profile-front__image{margin:80px 0 70px;max-width:600px}}
.profile-front__image__image{width:100%;display:block}
.profile-front__header{margin-bottom:50px}
@media only screen and (min-width:769px){.profile-front__header{margin-bottom:70px}}
.profile-front__header__title{
  font-family:var(--jp);font-weight:500;font-size:16px;line-height:2.2;letter-spacing:.1em
}
@media only screen and (min-width:769px){.profile-front__header__title{font-weight:200;font-size:20px;letter-spacing:.3em}}
.profile-front__header__text{
  font-family:var(--en);font-size:14px;letter-spacing:.2em;
  opacity:.66;margin-top:18px;line-height:1.8
}
.profile-front__ja-text,.profile-front__en-group{
  font-family:var(--jp);font-weight:400;font-size:13px;
  line-height:2;letter-spacing:.05em;margin-bottom:50px
}
@media only screen and (min-width:769px){
  .profile-front__ja-text,.profile-front__en-group{font-weight:200;font-size:14px;max-width:750px}
}
.profile-front__ja-text p:not(:last-child),.profile-front__en-group p:not(:last-child){margin-bottom:2em}
.ordered-group__section{margin-bottom:2em}
.profile-front__en-group{font-family:var(--en);font-size:17px;line-height:1.85;letter-spacing:.01em}
@media only screen and (min-width:769px){.profile-front__en-group{font-size:18px}}

/* ====== Page Links (prev/next navigation) ====== */
.page-links{padding:0 8vw;margin:80px 0}
@media only screen and (min-width:769px){.page-links{padding:0 6.94444vw;margin:120px 0}}
.page-links__content{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--faint);padding-top:40px}
.page-links__prev,.page-links__next,.page-links__index{
  font-family:var(--en);font-weight:200;font-style:italic;font-size:17px;
  text-decoration:none;transition:opacity .3s ease;letter-spacing:.03em
}
@media only screen and (min-width:769px){.page-links__prev,.page-links__next,.page-links__index{font-size:19px}}
.page-links__prev:hover,.page-links__next:hover,.page-links__index:hover{opacity:.5}
span.page-links__prev,span.page-links__next,span.page-links__prev:hover,span.page-links__next:hover{opacity:.2;cursor:default}
.page-links__prev:before{content:"← ";opacity:.5}
.page-links__next:after{content:" →";opacity:.5}

/* ====== Contact ====== */
.contact-header{padding:140px 8vw 0}
@media only screen and (min-width:769px){.contact-header{padding:180px 6.94444vw 0}}
.contact-content{padding:50px 8vw 80px;max-width:700px}
@media only screen and (min-width:769px){.contact-content{padding:50px 6.94444vw 120px}}
.contact-form{margin-top:3em}
.contact-form__group{margin-bottom:30px}
.contact-form__label{
  display:block;font-family:var(--en);font-weight:300;font-size:15px;
  margin-bottom:8px;opacity:.7
}
.contact-form__input,.contact-form__textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--ink);font-family:var(--jp);font-size:14px;
  padding:10px 0;transition:border-color .3s ease;outline:none
}
.contact-form__input:focus,.contact-form__textarea:focus{border-bottom-color:var(--ink)}
.contact-form__textarea{min-height:150px;resize:vertical}
.contact-form__submit{
  font-family:var(--en);font-weight:300;font-size:15px;color:var(--ink);
  background:transparent;border:1px solid var(--line);padding:15px 50px;cursor:pointer;
  transition:all .3s cubic-bezier(.77,0,.175,1);letter-spacing:.05em
}
.contact-form__submit:hover{background:var(--ink);color:var(--bg)}
.contact-form__note{
  font-family:var(--jp);font-weight:400;font-size:12px;
  line-height:2;letter-spacing:.05em;margin-top:25px;opacity:.8
}
.contact-form__note a{text-underline-offset:.3em}

/* ====== Biography ====== */
.biography-header{padding:140px 8vw 0}
@media only screen and (min-width:769px){.biography-header{padding:180px 6.94444vw 0}}
.biography-content{padding:50px 8vw 80px}
@media only screen and (min-width:769px){.biography-content{padding:50px 6.94444vw 120px}}
.biography-content--with-photo{display:block}
@media only screen and (min-width:769px){
  .biography-content--with-photo{display:flex;gap:60px;align-items:flex-start}
}
.biography-content__main{flex:1;min-width:0;max-width:700px}
.biography-content__photo{flex-shrink:0;margin-top:40px}
@media only screen and (min-width:769px){.biography-content__photo{margin-top:0;width:280px;position:sticky;top:200px}}
.biography-content__photo__img{width:100%;display:block;filter:grayscale(.2);transition:filter .5s ease}
.biography-content__photo__img:hover{filter:grayscale(0)}
.biography-content p{
  font-family:var(--jp);font-weight:400;font-size:13px;
  line-height:2;letter-spacing:.05em;margin-bottom:2em
}
@media only screen and (min-width:769px){.biography-content p{font-weight:200;font-size:14px}}
.biography-content p a{text-underline-offset:.3em;transition:opacity .3s ease}
.biography-content p a:hover{opacity:.5}
.biography-section{margin-bottom:3em}
.biography-section__heading{
  font-family:var(--en);font-weight:300;font-style:italic;font-size:24px;
  letter-spacing:.03em;margin-bottom:1em;opacity:.6
}
@media only screen and (min-width:769px){.biography-section__heading{font-weight:200;font-size:28px}}

/* ====== Sitepolicy ====== */
.sitepolicy-header{padding:140px 8vw 0}
@media only screen and (min-width:769px){.sitepolicy-header{padding:180px 6.94444vw 0}}
.sitepolicy-content{padding:50px 8vw 80px;max-width:750px}
@media only screen and (min-width:769px){.sitepolicy-content{padding:50px 6.94444vw 120px}}
.sitepolicy-content h2{
  font-family:var(--en);font-weight:300;font-style:italic;font-size:22px;
  margin:2.5em 0 .8em;letter-spacing:.03em
}
@media only screen and (min-width:769px){.sitepolicy-content h2{font-weight:200;font-size:24px}}
.sitepolicy-content h2:first-child{margin-top:0}
.sitepolicy-content p{
  font-family:var(--jp);font-weight:400;font-size:13px;
  line-height:2;letter-spacing:.05em;margin-bottom:1.5em
}
@media only screen and (min-width:769px){.sitepolicy-content p{font-weight:200;font-size:14px}}

/* ====== Profile Description (Artist Statement sub-sections) ====== */
.profile-description{padding:0 8vw;margin-bottom:80px}
@media only screen and (min-width:769px){.profile-description{padding:0 6.94444vw;display:flex;gap:60px;align-items:flex-start;margin-bottom:120px}}
.profile-description--reverse{flex-direction:row-reverse}
.profile-description__title{
  font-family:var(--jp);font-weight:500;font-size:18px;
  line-height:1.6;letter-spacing:.1em;margin-bottom:30px;min-width:200px
}
@media only screen and (min-width:769px){.profile-description__title{font-weight:200;font-size:22px;letter-spacing:.2em}}
.profile-description__title--en{font-family:var(--en);font-weight:200;letter-spacing:.03em}
.profile-description__images{margin-bottom:30px}
@media only screen and (min-width:769px){.profile-description__images{max-width:400px;flex-shrink:0}}
.profile-description__images__box{display:flex;flex-direction:column;gap:20px}
.profile-description__images__box figure{margin:0}
.profile-description__images__box img{width:100%;display:block}
.profile-description__images__box figcaption{
  font-family:var(--en);font-weight:200;font-size:11px;
  opacity:.5;margin-top:8px;line-height:1.4
}
.profile-description__images__serif{font-family:var(--jp);font-weight:300}
.profile-description__ja-text,.profile-description__en-text{
  font-family:var(--jp);font-weight:400;font-size:13px;
  line-height:2;letter-spacing:.05em
}
@media only screen and (min-width:769px){
  .profile-description__ja-text,.profile-description__en-text{font-weight:200;font-size:14px;max-width:650px}
}
.profile-description__ja-text p:not(:last-child),.profile-description__en-text p:not(:last-child){margin-bottom:1.5em}

/* ====== Divider ====== */
.divider{height:1px;background:var(--faint);border:0;margin:60px 8vw}
@media only screen and (min-width:769px){.divider{margin:80px 6.94444vw}}

/* ====== Footer (sub pages) ====== */
.footer{padding:0 8vw}
@media only screen and (min-width:769px){.footer{padding:0 6.94444vw}}
.footer__content{
  font-family:var(--en);font-weight:300;
  margin:auto;padding-bottom:40px
}
@media only screen and (min-width:769px){
  .footer__content{
    font-weight:200;padding-top:100px;padding-bottom:70px;
    width:86.11114vw;display:flex;justify-content:space-between
  }
}
.footer__nav{padding:64px 0 30px}
@media only screen and (min-width:769px){.footer__nav{margin-bottom:58px;padding:0}}
.footer__nav>li:not(:last-child){margin-bottom:6px}
.footer__nav>li>a{text-decoration:none;font-size:24px;font-style:italic;opacity:.4;transition:opacity .3s cubic-bezier(.77,0,.175,1)}
@media only screen and (min-width:769px){.footer__nav>li>a{font-size:22px}}
.footer__nav>li>a.is-current,.footer__nav>li>a:hover{opacity:1}
.footer__links{margin-top:20px}
@media only screen and (min-width:769px){.footer__links{margin-top:0}}
.footer__links>li:not(:last-child){margin-bottom:1px}
.footer__links>li>a{text-decoration:none;font-size:14px;opacity:.3;transition:opacity .3s cubic-bezier(.77,0,.175,1)}
.footer__links>li>a:hover{opacity:1}
.footer__sns{margin-top:2px;padding:0;border-top:none;border-bottom:none}
@media only screen and (min-width:769px){.footer__sns{margin-top:0;border:none;padding:0}}
.footer__sns .sns-list>li>a:not(:hover){opacity:.3}
.footer__copyright{margin-top:2px}
@media only screen and (min-width:769px){.footer__copyright{margin-top:0;font-weight:300;display:flex;align-items:flex-end}}
.footer__copyright>small{font-size:12px;letter-spacing:.04em}
@media only screen and (min-width:769px){
  .footer__content__col--bottom-group{display:flex;flex-direction:column-reverse;align-items:flex-end;padding-right:1.38889vw;padding-bottom:100px}
}
.footer__autograph{opacity:.95;width:150px;height:79px}
@media only screen and (min-width:769px){.footer__autograph{width:200px;height:105px;margin-bottom:30px}}

/* ====== Cursor (js/cursor.js): a calm glow on the pointer and a shooting star behind it ====== */
.has-cursor,.has-cursor *{cursor:none!important}
.has-cursor iframe{cursor:auto!important}
.has-cursor input,.has-cursor textarea{cursor:text!important}
.cursor__trail,.cursor__glow{position:fixed;top:0;left:0;pointer-events:none}
.cursor__trail{width:100%;height:100%;z-index:1999}
.cursor__glow{width:30px;height:30px;z-index:2001;opacity:0;will-change:transform;transition:opacity .3s}
.cursor__glow:before{
  content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;
  background:radial-gradient(circle,#fff 0,rgba(236,238,255,.85) 12%,rgba(176,192,255,.28) 30%,rgba(176,192,255,0) 50%);
  animation:cursorGlow 3.2s ease-in-out infinite;transition:transform .5s cubic-bezier(.23,1,.32,1)
}
.cursor__glow.is-link:before{transform:scale(1.3)}
@keyframes cursorGlow{0%,100%{opacity:.82}50%{opacity:1}}

/* ====== Scroll reveal ====== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ====== Scrollbar ====== */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(244,240,241,.2);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:#555}
