body, div, p, form, table, th, td, figure, ul, li, dl, dt, dd, a, span, h1, h2, h3, h4, h5, h6, main, article, section, header, footer, nav {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul, li {
  list-style: none;
}

a {
  text-decoration: none;
}

a img {
  border: none;
}

img {
  vertical-align: bottom;
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: Meiryo, sans-serif;
}

@media only screen and (min-width: 900px) {
  body {
    min-width: 1024px;
  }
}

@media only screen and (max-width: 899px) {
  body {
    width: 100%;
    height: 100%;
  }
}

@media only screen and (max-width: 899px) {
  .is-pc {
    display: none;
  }
}

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

.author-name {
  width: 476px;
  height: 39px;
  margin: auto;
}

@media only screen and (max-width: 899px) {
  .author-name {
    width: 100%;
    height: auto;
    text-align: center;
  }
  .author-name img {
    width: 60.42vw;
  }
}

.wrapper {
  position: relative;
  width: 100%;
  min-height: 100%;
}

@media only screen and (min-width: 900px) {
  .wrapper {
    height: 100%;
    overflow: hidden;
  }
}

.header .header-inner {
  align-content: center;
  display: flex;
  flex-wrap: wrap;
  height: 312px;
  margin: auto;
  padding-top: 16px;
  width: 1024px;
}

.header .title {
  position: relative;
  height: 60px;
  z-index: 2;
}

.header .navigation {
  margin-top: 44px;
  text-align: center;
  width: 100%;
}

.header .navigation ul {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 490px;
}

.header .navigation ul li {
  height: 24px;
}

.header .navigation ul li a {
  position: relative;
  display: flex;
  height: 24px;
  align-items: flex-start;
}

.header .navigation ul li a img {
  height: auto;
}

.header .navigation ul li[data-target="works"] {
  width: 74px;
}

.header .navigation ul li[data-target="biography"] {
  width: 140px;
}

.header .navigation ul li[data-target="contact"] {
  width: 110px;
}

.header .langeage {
  left: 50%;
  max-width: 1900px;
  position: absolute;
  text-align: right;
  top: 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-right: 20px;
  width: 100%;
  z-index: 1;
}

.header .langeage a {
  color: #666;
  text-decoration: underline;
}

.header .langeage a.is-current {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

@media only screen and (max-width: 899px) {
  .header {
    position: relative;
  }
  .header .header-inner {
    height: 33.16vw;
    padding-bottom: 12.53vw;
    width: 100%;
  }
  .header .title {
    font-size: 0;
    height: auto;
  }
  .header .navigation {
    position: absolute;
    margin-top: 0;
    left: 0;
    bottom: 6.32vw;
    text-align: center;
    width: 100%;
    padding: 0 18.95vw;
  }
  .header .navigation ul {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: auto;
    width: 100%;
  }
  .header .navigation ul li {
    height: 2.95vw;
  }
  .header .navigation ul li a {
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  .header .navigation ul li a img {
    height: 100%;
  }
  .header .navigation ul li[data-target="works"], .header .navigation ul li[data-target="biography"], .header .navigation ul li[data-target="contact"] {
    width: auto;
  }
  .header .langeage {
    font-size: 11px;
    padding-right: 10px;
    top: 10px;
    width: 100%;
  }
}

.main-visual {
  height: 845px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.main-visual .main-visual-inner {
  height: 100%;
  left: 50%;
  top: 0;
  overflow: hidden;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 1900px;
  z-index: 2;
}

.main-visual .main-visual-inner img {
  position: relative;
  z-index: 1;
}

.main-visual .main-visual-inner .message {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 324px;
  z-index: 2;
}

.main-visual::before {
  background: #eeeded;
  content: "";
  display: block;
  height: 100%;
  margin: auto;
  position: relative;
  width: 1900px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .main-visual {
    height: 83.16vw;
  }
  .main-visual .main-visual-inner {
    width: 100%;
  }
  .main-visual .main-visual-inner img {
    width: 100%;
    height: auto;
  }
  .main-visual .main-visual-inner .message {
    top: 26.32vw;
    height: 5.89vw;
    width: auto;
  }
}

@media only screen and (max-width: 899px) {
  .tainaikukan .main-visual .main-visual-inner img:not(.message) {
    margin-top: -19.79vw;
  }
  .tainaikukan .main-visual .main-visual-inner .message {
    width: 80.63vw;
    height: auto;
  }
}

@media only screen and (max-width: 899px) {
  .artlabo .main-visual .main-visual-inner .message {
    width: 80.63vw;
    height: auto;
  }
}

.content-wrapper .content-inner {
  height: 100%;
  left: 50%;
  overflow: hidden;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 1900px;
}

.content-wrapper .content-inner .content {
  height: 100%;
  margin: auto;
  position: relative;
  width: 1024px;
  z-index: 3;
}

.content-wrapper .content-inner .content.common-content {
  padding-top: 50px;
}

.content-wrapper .content-inner .content.common-content.image-left {
  padding-left: 620px;
}

.content-wrapper .content-inner .content.common-content.image-left .section-image {
  height: 550px;
  left: 0;
  position: absolute;
  top: 0;
  width: 600px;
  align-items: flex-start;
  display: flex;
  flex-direction: row;
}

.content-wrapper .content-inner .content.common-content.image-right {
  padding-right: 623px;
}

.content-wrapper .content-inner .content.common-content.image-right .section-image {
  height: 500px;
  position: absolute;
  right: 0;
  top: 0;
  width: 600px;
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
}

.content-wrapper .content-inner .content.common-content .section-title {
  height: 38px;
}

.content-wrapper .content-inner .content.common-content .section-content {
  width: 402px;
}

.content-wrapper .content-inner .content .section-outline {
  font-size: 14px;
  letter-spacing: .5em;
  line-height: 3.5;
  margin-top: 58px;
  padding: 0 0 0 5px;
}

.content-wrapper .content-inner .content .section-outline a {
  color: #000;
  text-decoration: underline;
}

@media only screen and (max-width: 899px) {
  .content-wrapper .content-inner {
    background: url(../image/bg_top_content_sp.png) no-repeat center top;
    background-size: 100% auto;
    height: auto;
    left: 0;
    padding-bottom: 10.53vw;
    padding-top: 23.16vw;
    position: relative;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    width: 100%;
  }
  .content-wrapper .content-inner .content {
    height: auto;
    width: 79.16vw;
  }
  .content-wrapper .content-inner .content.common-content {
    padding-top: 0;
  }
  .content-wrapper .content-inner .content.common-content.image-left, .content-wrapper .content-inner .content.common-content.image-right {
    padding-left: 0;
    padding-right: 0;
  }
  .content-wrapper .content-inner .content.common-content.image-left .section-image, .content-wrapper .content-inner .content.common-content.image-right .section-image {
    height: auto;
    left: 0;
    padding-left: 8.42vw;
    padding-right: 8.42vw;
    position: relative;
    right: 0;
    width: 100%;
    justify-content: center;
  }
  .content-wrapper .content-inner .content.common-content.image-left .section-image img, .content-wrapper .content-inner .content.common-content.image-right .section-image img {
    width: 100%;
  }
  .content-wrapper .content-inner .content.common-content .section-title {
    height: auto;
    text-align: center;
    width: 100%;
  }
  .content-wrapper .content-inner .content.common-content .section-content {
    margin-top: 6.32vw;
    width: 100%;
  }
  .content-wrapper .content-inner .content.common-content .section-outline {
    font-size: 3.58vw;
    letter-spacing: .18em;
    line-height: 2.85;
    margin-top: 6.32vw;
  }
  .content-wrapper .content-inner .content.common-content .section-outline p:not(:last-child) {
    display: inline;
  }
}

.content-tainaikukan {
  height: 678px;
  overflow: hidden;
  position: relative;
}

.content-tainaikukan .content-inner .content.common-content {
  padding-top: 91px;
}

.content-tainaikukan .content-inner .content.common-content .section-title {
  height: 161px;
}

.content-reborn {
  height: 645px;
  overflow: hidden;
  position: relative;
}

.content-reborn .content-inner .content.common-content {
  padding-top: 85px;
}

@media only screen and (max-width: 899px) {
  .content-reborn {
    height: auto;
  }
  .content-reborn .content-inner .content.common-content {
    padding-top: 0;
  }
  .content-reborn .content-inner .content.common-content .section-title img {
    width: 38.95vw;
  }
}

.content-spirodesign {
  height: 590px;
  overflow: hidden;
  position: relative;
}

.content-spirodesign .content-inner .content.common-content .section-title {
  height: 105px;
}

@media only screen and (max-width: 899px) {
  .content-spirodesign {
    height: auto;
  }
  .content-spirodesign .content-inner .content.common-content .section-title {
    height: auto;
  }
  .content-spirodesign .content-inner .content.common-content .section-title img {
    width: 35.79vw;
  }
}

.content-artlabo {
  height: 652px;
  overflow: hidden;
  position: relative;
}

.content-artlabo .content-inner .content.common-content .section-title {
  height: 168px;
}

@media only screen and (max-width: 899px) {
  .content-artlabo {
    height: auto;
  }
  .content-artlabo .content-inner .content.common-content .section-title {
    height: auto;
  }
  .content-artlabo .content-inner .content.common-content .section-title img {
    width: 50.95vw;
  }
}

.content-framworks {
  height: 522px;
  overflow: hidden;
  position: relative;
}

.content-framworks .content-inner .content.common-content {
  padding-top: 44px;
}

.content-framworks .content-inner .content.common-content.image-right .section-image {
  width: 622px;
}

.content-framworks .content-inner .content.common-content .section-title {
  height: 105px;
}

.content-framworks .content-inner .content .section-outline {
  margin-top: 42px;
}

@media only screen and (max-width: 899px) {
  .content-framworks {
    height: auto;
  }
  .content-framworks .content-inner .content.common-content {
    padding-top: 0;
  }
  .content-framworks .content-inner .content.common-content.image-right .section-image {
    padding-left: 6.84vw;
    padding-right: 6.84vw;
    width: 100%;
  }
  .content-framworks .content-inner .content.common-content .section-title {
    height: auto;
  }
  .content-framworks .content-inner .content.common-content .section-title img {
    width: 31.37vw;
  }
  .content-framworks .content-inner .content.common-content .section-outline {
    margin-top: 6.32vw;
  }
}

.main-content .navigation-title {
  margin-top: -20px;
  height: 130px;
  text-align: center;
  position: relative;
}

.main-content .navigation-title img {
  display: inline-block;
  position: relative;
  z-index: 2;
}

.main-content .navigation-title::before {
  background: #a0a0a0;
  bottom: 22px;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.main-content .navigation-content {
  padding-top: 140px;
  margin: auto;
  position: relative;
  width: 1024px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .main-content .navigation-title {
    margin-top: 0;
    height: 10.53vw;
  }
  .main-content .navigation-title::before {
    bottom: 3.16vw;
  }
  .main-content .navigation-content {
    padding-top: 0;
    width: 100%;
  }
}

.page-outline {
  position: relative;
}

.page-outline .page-outline-inner {
  margin: auto;
  padding: 90px 0 130px;
  position: relative;
  width: 1024px;
}

.page-outline .page-outline-inner .page-outline-content {
  font-size: 14px;
  letter-spacing: .5em;
  line-height: 3.5;
  margin-top: 60px;
  padding-left: 5px;
}

.page-outline::before {
  background: #eeeded;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 1900px;
}

@media only screen and (max-width: 899px) {
  .page-outline .page-outline-inner {
    margin-top: -8.42vw;
    padding: 0 9.68vw 14.74vw;
    width: 100%;
    z-index: 2;
  }
  .page-outline .page-outline-inner .page-outline-title img {
    max-width: 100%;
    height: 5.26vw;
  }
  .page-outline .page-outline-inner .page-outline-content {
    font-size: 3.58vw;
    letter-spacing: .16em;
    line-height: 1.71;
    margin-top: 8.42vw;
    padding-left: 0;
  }
  .page-outline::before {
    width: 100%;
  }
}

.gallery-wrapper {
  position: relative;
}

.gallery-wrapper .gallery-inner {
  margin: auto;
  padding: 142px 0 150px;
  position: relative;
  width: 1024px;
}

.gallery-wrapper .gallery-inner .gallery-title {
  font-size: 30px;
  font-weight: 200;
  letter-spacing: .5em;
  line-height: 1.7;
}

.gallery-wrapper .gallery-inner .photos-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 54px;
  width: 100%;
}

.gallery-wrapper .gallery-inner .photos-list__center {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 54px;
  width: 100%;
}

.gallery-wrapper .gallery-inner .photos-list__center a {
  display: block;
  margin-right: 8px;
  width: 500px;
}

.gallery-wrapper .gallery-inner .photos-list__center a:nth-of-type(2n) {
  margin-right: 0;
}

.gallery-wrapper .gallery-inner .photos-list__center a img {
  width: 100%;
}

.gallery-wrapper .gallery-inner .photos-list a {
  display: block;
  margin-bottom: 8px;
  margin-right: 8px;
}

.gallery-wrapper .gallery-inner .photos-list a:nth-of-type(4n) {
  margin-right: 0;
}

.gallery-wrapper .gallery-inner .photos-list + .gallery-title {
  margin-top: 128px;
}

.gallery-wrapper .gallery-inner .photos-list__center + .gallery-title {
  margin-top: 128px;
}

@media only screen and (max-width: 899px) {
  .gallery-wrapper {
    padding: 15.26vw 8.5vw 14.74vw 9.68vw;
  }
  .gallery-wrapper .gallery-inner {
    padding: 0;
    width: 100%;
  }
  .gallery-wrapper .gallery-inner .gallery-title {
    font-size: 3.58vw;
    font-weight: 200;
    letter-spacing: .5em;
    line-height: 1.7;
  }
  .gallery-wrapper .gallery-inner .photos-list {
    margin-top: 6.32vw;
    width: 100%;
  }
  .gallery-wrapper .gallery-inner .photos-list__center {
    margin-top: 6.32vw;
  }
  .gallery-wrapper .gallery-inner .photos-list__center a {
    margin-right: 8px;
    width: calc((100% - 16px) / 2);
  }
  .gallery-wrapper .gallery-inner .photos-list a {
    margin-bottom: 0.84vw;
    margin-right: 0.84vw;
  }
  .gallery-wrapper .gallery-inner .photos-list a:nth-of-type(3n) {
    margin-right: 0;
  }
  .gallery-wrapper .gallery-inner .photos-list a:nth-of-type(4n) {
    margin-right: 0.84vw;
  }
  .gallery-wrapper .gallery-inner .photos-list a img {
    width: 26.32vw;
  }
  .gallery-wrapper .gallery-inner .photos-list + .gallery-title {
    margin-top: 15.79vw;
  }
  .gallery-wrapper .gallery-inner .photos-list__center + .gallery-title {
    margin-top: 15.79vw;
  }
}

@media only screen and (max-width: 899px) {
  .spirodesign .gallery-wrapper .gallery-inner .gallery-title {
    font-size: 3.16vw;
  }
}

.footer {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 720px;
}

.footer .footer-inner {
  padding-top: 523px;
  position: relative;
  text-align: center;
  z-index: 2;
}

.footer .footer-inner .copyright {
  color: #fff;
  display: block;
  font-size: 14px;
  letter-spacing: .5em;
  margin-top: 42px;
}

.footer::before {
  background: url(../image/bg_footer.png) no-repeat center bottom;
  display: block;
  content: "";
  height: 100%;
  left: 50%;
  top: 0;
  overflow: hidden;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 1900px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .footer {
    height: 69.26vw;
  }
  .footer .footer-inner {
    padding-top: 43.16vw;
  }
  .footer .footer-inner .copyright {
    font-size: 2.95vw;
    letter-spacing: 0.1em;
    margin-top: 6.32vw;
  }
  .footer::before {
    background-position: center top;
    background-size: 100% auto;
    width: 100%;
    z-index: 2;
  }
  .footer::after {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    top: 30%;
    background: #000;
    z-index: 1;
  }
}

.top .content-top-tainaikukan {
  height: 854px;
  overflow: hidden;
  position: relative;
}

.top .content-top-tainaikukan .content-inner .content .section-title {
  height: 426px;
  position: absolute;
  right: 167px;
  top: 56px;
  width: 123px;
}

.top .content-top-tainaikukan .content-inner .content .section-content {
  padding: 56px 0 0 168px;
}

.top .content-top-tainaikukan .content-inner .content .section-content .section-image {
  height: 288px;
  width: 430px;
}

.top .content-top-tainaikukan .content-inner .content .section-content .section-outline {
  margin-top: 50px;
  width: 430px;
}

.top .content-top-tainaikukan .content-inner::before {
  background: url(../image/bg_top_tainaikukan.png) no-repeat center bottom;
  bottom: 52px;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  width: 1900px;
  z-index: 2;
}

.top .content-top-tainaikukan .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-top-tainaikukan .content-inner::after {
    display: none;
  }
}

@media only screen and (max-width: 899px) {
  .top .content-top-tainaikukan {
    height: auto;
  }
  .top .content-top-tainaikukan .content-inner {
    padding-top: 5.47vw;
  }
  .top .content-top-tainaikukan .content-inner .content .section-title {
    height: auto;
    position: relative;
    right: inherit;
    top: 0;
    width: 100%;
    text-align: center;
  }
  .top .content-top-tainaikukan .content-inner .content .section-title img {
    width: 13.26vw;
  }
  .top .content-top-tainaikukan .content-inner .content .section-content {
    padding: 0;
  }
  .top .content-top-tainaikukan .content-inner .content .section-content .section-image {
    height: auto;
    margin-top: 10.53vw;
    width: 100%;
  }
  .top .content-top-tainaikukan .content-inner .content .section-content .section-image img {
    width: 100%;
  }
  .top .content-top-tainaikukan .content-inner .content .section-content .section-outline {
    font-size: 3.58vw;
    letter-spacing: .18em;
    line-height: 2.85;
    margin-top: 6.32vw;
    width: 100%;
  }
  .top .content-top-tainaikukan .content-inner .content .section-content .section-outline p:not(:last-child) {
    display: inline;
  }
}

.top .content-reborn .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-reborn .content-inner::after {
    display: none;
  }
}

.top .content-spirodesign .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-spirodesign .content-inner::after {
    display: none;
  }
}

.top .content-artlabo .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-artlabo .content-inner::after {
    display: none;
  }
}

.top .content-framworks .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-framworks .content-inner::after {
    display: none;
  }
}

.top .content-biography {
  height: 1300px;
  overflow: hidden;
  position: relative;
}

.top .content-biography .content-inner .content {
  width: 1300px;
}

.top .content-biography .content-inner .content.common-content {
  padding-top: 980px;
}

.top .content-biography .content-inner .content.common-content.image-left {
  padding-left: 690px;
}

.top .content-biography .content-inner .content.common-content.image-left .section-image {
  height: 610px;
  left: 5px;
  top: 622px;
  width: 650px;
}

.top .content-biography .content-inner .content.common-content .section-title {
  height: 140px;
  left: 63px;
  position: absolute;
  top: 434px;
  width: 485px;
}

.top .content-biography .content-inner .content.common-content .section-content {
  padding-left: 15px;
  width: 500px;
}

.top .content-biography .content-inner .content .section-outline {
  margin-top: 0;
}

.top .content-biography .content-inner::before {
  background: url(../image/bg_top_biography.png) no-repeat center top;
  content: "";
  left: 0;
  top: 8px;
  width: 1900px;
  height: 100%;
  position: absolute;
  z-index: 2;
}

.top .content-biography .content-inner::after {
  background: #bd2121;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  width: 6px;
  z-index: 1;
  bottom: inherit;
  height: 50%;
  top: 0;
  z-index: 1;
}

@media only screen and (max-width: 899px) {
  .top .content-biography .content-inner::after {
    display: none;
  }
}

@media only screen and (max-width: 899px) {
  .top .content-biography {
    height: auto;
  }
  .top .content-biography .content-inner {
    background: none;
    padding-top: 37.89vw;
    padding-bottom: 10.53vw;
  }
  .top .content-biography .content-inner .content {
    width: 100%;
  }
  .top .content-biography .content-inner .content.common-content {
    padding-top: 0;
  }
  .top .content-biography .content-inner .content.common-content.image-left {
    padding-left: 0;
  }
  .top .content-biography .content-inner .content.common-content.image-left .section-image {
    height: auto;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    position: relative;
    padding-left: 0;
    padding-right: 0;
    justify-content: flex-start;
  }
  .top .content-biography .content-inner .content.common-content.image-left .section-image img {
    width: 66.74vw;
  }
  .top .content-biography .content-inner .content.common-content .section-title {
    height: auto;
    left: 0;
    position: relative;
    top: 0;
    width: 100%;
  }
  .top .content-biography .content-inner .content.common-content .section-title img {
    width: 50.95vw;
  }
  .top .content-biography .content-inner .content.common-content .section-content {
    padding-left: 0;
    width: 100%;
  }
  .top .content-biography .content-inner .content.common-content .section-outline {
    width: 79.16vw;
    margin: 6.32vw auto 0;
  }
  .top .content-biography .content-inner::before {
    background: url(../image/bg_top_biography_sp.png) no-repeat center top;
    background-size: 100% auto;
    top: 0;
    width: 100%;
  }
}

.works .navigation-title {
  padding-top: 29px;
}

.works .content-wrapper.content-reborn {
  height: 675px;
}

.works .content-wrapper.content-reborn .content-inner .content.common-content .section-outline {
  margin-top: 50px;
}

.works .content-wrapper.content-spirodesign {
  height: 639px;
}

.works .content-wrapper.content-spirodesign .content-inner .content.common-content .section-outline {
  margin-top: 54px;
}

.works .content-wrapper.content-artlabo {
  height: 698px;
}

.works .content-wrapper.content-artlabo .content-inner .content.common-content .section-outline {
  margin-top: 53px;
}

@media only screen and (max-width: 899px) {
  .works .navigation-title {
    padding-top: 0;
  }
  .works .navigation-title img {
    width: 35.26vw;
  }
  .works .content-wrapper .content-inner {
    background: none;
  }
  .works .content-wrapper.content-tainaikukan {
    height: auto;
  }
  .works .content-wrapper.content-tainaikukan .content-inner {
    padding-top: 15.79vw;
    padding-bottom: 0;
  }
  .works .content-wrapper.content-tainaikukan .content-inner .content.common-content {
    padding-top: 0;
  }
  .works .content-wrapper.content-tainaikukan .content-inner .content.common-content .section-title {
    height: auto;
  }
  .works .content-wrapper.content-tainaikukan .content-inner .content.common-content .section-title img {
    width: 49.89vw;
  }
  .works .content-wrapper.content-reborn {
    height: auto;
  }
  .works .content-wrapper.content-reborn .content-inner {
    padding-top: 15.79vw;
    padding-bottom: 0;
  }
  .works .content-wrapper.content-spirodesign {
    height: auto;
  }
  .works .content-wrapper.content-spirodesign .content-inner {
    padding-top: 15.79vw;
    padding-bottom: 0;
  }
  .works .content-wrapper.content-artlabo {
    height: auto;
  }
  .works .content-wrapper.content-artlabo .content-inner {
    padding-top: 15.79vw;
    padding-bottom: 0;
  }
  .works .content-wrapper.content-framworks {
    height: auto;
  }
  .works .content-wrapper.content-framworks .content-inner {
    padding-top: 15.79vw;
  }
}

.biography .main-content .biography-image {
  text-align: center;
}

.biography .main-content .author-name {
  width: 100%;
  text-align: center;
  height: auto;
  margin-top: 80px;
}

.biography .main-content .biography-outline {
  font-size: 14px;
  letter-spacing: .5em;
  line-height: 3.5;
  padding-top: 58px;
}

.biography .main-content .biography-outline p + p {
  margin-top: 48px;
}

.biography .main-content .career-content {
  margin-top: 150px;
}

.biography .main-content .career-content .navigation-title {
  margin-top: 0;
  height: 130px;
}

.biography .main-content .career-content .navigation-content {
  padding-top: 122px;
}

.biography .main-content .career-content .navigation-content .history-content {
  margin-top: 0;
  padding-bottom: 100px;
}

.biography .main-content .career-content .navigation-content .history-content .history-title {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: .5em;
  line-height: 3.5;
  padding-left: 3px;
}

.biography .main-content .career-content .navigation-content .history-content .history {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  letter-spacing: .5em;
  line-height: 3.5;
  width: 100%;
}

.biography .main-content .career-content .navigation-content .history-content .history dt {
  display: block;
  padding-left: 3px;
  width: 219px;
}

.biography .main-content .career-content .navigation-content .history-content .history dd {
  display: block;
  width: calc(100% - 219px);
}

.biography .main-content .career-content .navigation-content .history-content + .history-content {
  margin-top: 28px;
}

@media only screen and (max-width: 899px) {
  .biography .main-content .navigation-title img {
    width: 55.37vw;
  }
  .biography .main-content .biography-image {
    margin-top: 10.53vw;
    text-align: center;
  }
  .biography .main-content .biography-image img {
    width: 66.32vw;
  }
  .biography .main-content .author-name {
    margin-top: 8.42vw;
  }
  .biography .main-content .author-name img {
    width: 48.63vw;
  }
  .biography .main-content .biography-outline {
    font-size: 3.58vw;
    letter-spacing: .18em;
    line-height: 2.85;
    padding: 6.32vw 10.52vw 0;
  }
  .biography .main-content .biography-outline p + p {
    margin-top: 7.37vw;
  }
  .biography .main-content .career-content {
    margin-top: 7.37vw;
  }
  .biography .main-content .career-content .navigation-title {
    height: auto;
    margin-top: 0;
  }
  .biography .main-content .career-content .navigation-title img {
    width: 39.58vw;
  }
  .biography .main-content .career-content .navigation-content {
    padding-top: 0;
    padding-bottom: 17.89vw;
  }
  .biography .main-content .career-content .navigation-content .history-content {
    margin-top: 0;
    padding: 14.21vw 10.52vw 0;
  }
  .biography .main-content .career-content .navigation-content .history-content .history-title {
    font-size: 3.26vw;
    letter-spacing: .18em;
    line-height: 2.85;
    padding-left: 0;
  }
  .biography .main-content .career-content .navigation-content .history-content .history {
    font-size: 3.26vw;
    letter-spacing: .18em;
    line-height: 1.75;
    width: 100%;
  }
  .biography .main-content .career-content .navigation-content .history-content .history dt {
    padding-left: 0;
    width: 21.05vw;
    margin-bottom: 2.63vw;
  }
  .biography .main-content .career-content .navigation-content .history-content .history dd {
    width: calc(100% - 21.05vw);
  }
  .biography .main-content .career-content .navigation-content .history-content .history dd p {
    margin-bottom: 2.63vw;
  }
  .biography .main-content .career-content .navigation-content .history-content + .history-content {
    margin-top: 0;
  }
}

.spirodesign .page-outline .page-outline-inner .page-outline-content {
  text-align: center;
}

.spirodesign .page-outline .page-outline-inner .page-outline-content .link-row {
  margin-top: 50px;
}

.spirodesign .page-outline .page-outline-inner .page-outline-content .link-row a {
  color: #000;
  text-decoration: underline;
}

.spirodesign .gallery-wrapper {
  padding-top: 43px;
}

.spirodesign .gallery-wrapper .gallery-inner .gallery-title {
  text-align: center;
}

.spirodesign .gallery-wrapper .gallery-inner .photos-list {
  margin-top: 62px;
  justify-content: center;
}

.spirodesign .gallery-wrapper .gallery-inner .photos-list + .gallery-title {
  margin-top: 130px;
}

@media only screen and (max-width: 899px) {
  .spirodesign .page-outline .page-outline-inner .page-outline-content {
    text-align: left;
  }
  .spirodesign .page-outline .page-outline-inner .page-outline-content .link-row {
    margin-top: 5.79vw;
  }
  .spirodesign .gallery-wrapper {
    padding-top: 16.32vw;
  }
  .spirodesign .gallery-wrapper .gallery-inner .gallery-title {
    text-align: center;
  }
  .spirodesign .gallery-wrapper .gallery-inner .photos-list {
    margin-top: 6.84vw;
    justify-content: center;
  }
  .spirodesign .gallery-wrapper .gallery-inner .photos-list a img {
    width: 57.89vw;
  }
  .spirodesign .gallery-wrapper .gallery-inner .photos-list + .gallery-title {
    margin-top: 14.21vw;
  }
}

.contact-content {
  margin: auto;
  padding-top: 130px;
  position: relative;
  width: 1024px;
}

.contact-content .contact-message {
  letter-spacing: .5em;
  line-height: 2.8;
  font-size: 17px;
  margin-bottom: 80px;
}

.contact-content .wpcf7-response-output {
  display: none;
}

.contact-content .screen-reader-response > p {
  font-size: 20px;
  line-height: 200px;
  padding-left: 20px;
  text-align: center;
}

.contact-content .screen-reader-response ul {
  display: none;
}

.contact-content form > p {
  padding-bottom: 90px;
}

.contact-content form > p label {
  display: flex;
}

.contact-content form > p label span {
  display: block;
  font-size: 18px;
}

.contact-content form > p label span input,
.contact-content form > p label span textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #999999;
  box-sizing: border-box;
  font-family: Meiryo, sans-serif;
  font-size: 18px;
  padding: 0 10px;
  width: 100%;
}

.contact-content form > p label span input:focus,
.contact-content form > p label span textarea:focus {
  border-color: #000;
  outline: none;
}

.contact-content form > p label span input {
  height: 55px;
}

.contact-content form > p label span textarea {
  height: 430px;
  padding: 10px;
}

.contact-content form > p label .label {
  width: 270px;
  padding-left: 20px;
  line-height: 55px;
}

.contact-content form > p label .label + span {
  width: calc(100% - 270px);
}

.contact-content form > p label .label + span span {
  display: block;
  margin-top: 10px;
  color: #f00;
  font-weight: bold;
}

.contact-content form > p .submit {
  display: block;
  text-align: center;
}

.contact-content form > p .submit input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: black;
  border: 1px solid black;
  color: #fff;
  cursor: pointer;
  font-size: 24px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  width: 250px;
}

.contact-content form > p .submit input:hover {
  background: rgba(0, 0, 0, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.75);
}

.contact-content form > p .submit input:focus {
  border: 1px solid black;
  outline: none;
}

.contact-content form.sent {
  height: 400px;
}

.contact-content form.sent > div,
.contact-content form.sent > p {
  display: none;
}

@media only screen and (max-width: 899px) {
  .contact-content {
    width: 79.16vw;
    padding-top: 10.53vw;
  }
  .contact-content .contact-message {
    font-size: 3.58vw;
    letter-spacing: .18em;
    line-height: 2.85;
    margin-bottom: 8.42vw;
  }
  .contact-content .screen-reader-response > p {
    font-size: 3.58vw;
    line-height: 21.05vw;
    padding-left: 0;
  }
  .contact-content form > p {
    padding-bottom: 8.42vw;
  }
  .contact-content form > p label {
    display: block;
  }
  .contact-content form > p label span {
    display: block;
    font-size: 3.58vw;
  }
  .contact-content form > p label span input,
  .contact-content form > p label span textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 1px solid #999999;
    box-sizing: border-box;
    font-family: Meiryo, sans-serif;
    font-size: 3.58vw;
    padding: 0 1.05vw;
    width: 100%;
  }
  .contact-content form > p label span input:focus,
  .contact-content form > p label span textarea:focus {
    border-color: #000;
    outline: none;
  }
  .contact-content form > p label span input {
    height: 8.42vw;
  }
  .contact-content form > p label span textarea {
    height: 31.58vw;
    padding: 1.05vw;
  }
  .contact-content form > p label .label {
    width: 100%;
    padding-left: 0;
    line-height: 1.5;
  }
  .contact-content form > p label .label + span {
    margin-top: 2.11vw;
    width: 100%;
  }
  .contact-content form > p label .label + span span {
    display: block;
    margin-top: 1.05vw;
    color: #f00;
    font-weight: bold;
  }
  .contact-content form > p .submit {
    display: block;
    text-align: center;
  }
  .contact-content form > p .submit input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: black;
    border: 1px solid black;
    color: #fff;
    cursor: pointer;
    font-size: 4.21vw;
    height: 10.53vw;
    line-height: 10.53vw;
    text-align: center;
    width: 31.58vw;
  }
  .contact-content form > p .submit input:hover {
    background: rgba(0, 0, 0, 0.75);
    border: 1px solid rgba(0, 0, 0, 0.75);
  }
  .contact-content form > p .submit input:focus {
    border: 1px solid black;
    outline: none;
  }
  .contact-content form.sent {
    height: 63.16vw;
  }
}

.lg-toolbar .lg-download {
  display: none !important;
}

@media only screen and (max-width: 899px) {
  .lg-outer .lg-img-wrap {
    padding: 10.53vw !important;
  }
  .lg-actions .lg-prev {
    left: 0.53vw !important;
  }
  .lg-actions .lg-next {
    right: 0.53vw !important;
  }
}

[lang="en"] body {
  font-family: Verdana, sans-serif;
}

@media only screen and (min-width: 900px) {
  [lang="en"] body .content-wrapper .content-inner .content .section-outline {
    letter-spacing: 0.05rem;
    font-size: 16px;
  }
  [lang="en"] body .page-outline .page-outline-inner .page-outline-content {
    letter-spacing: 0.1rem;
  }
  [lang="en"] body .gallery-wrapper .gallery-inner .gallery-title {
    letter-spacing: 0.4rem;
  }
  [lang="en"] body.top .content-biography .content-inner .content.common-content .section-content {
    width: 570px;
  }
  [lang="en"] body.tainaikukan .page-outline .page-outline-inner .page-outline-content {
    letter-spacing: 0.05rem;
  }
  [lang="en"] body.spirodesign .page-outline .page-outline-inner .page-outline-content {
    letter-spacing: 0.4rem;
    text-align: left;
  }
  [lang="en"] body.framworks .gallery-wrapper .gallery-inner .gallery-title {
    letter-spacing: 0.2rem;
  }
  [lang="en"] body.biography .main-content .biography-outline {
    letter-spacing: 0.1rem;
  }
  [lang="en"] body.biography .main-content .career-content .navigation-content .history-content .history-title {
    letter-spacing: 0.1rem;
  }
  [lang="en"] body.biography .main-content .career-content .navigation-content .history-content .history {
    letter-spacing: 0.1rem;
  }
}
