@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;1,500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700;900&display=swap");
html, body {
  height: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700
}

html p, html a, html span, body p, body a, body span {
  color: #fff
}

img, svg {
  width: 100%
}

nav {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1e1e1e;
  z-index: 999999;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: 'Barlow', sans-serif
}

nav .menu-inner {
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 100%;
  padding: 50px 30px
}

@media only screen and (max-height: 500px) {
  nav .menu-inner {
    position: static;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
}

nav .menu-content {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto
}

nav .menu-list {
  text-align: left;
  padding-left: 7.27273%;
  border-left: #fff solid 1px;
  -ms-flex-negative: 1;
  flex-shrink: 1
}

nav .menu-list li:not(:last-child) {
  padding-bottom: 38px
}

nav .menu-list a {
  font-size: 60px;
  font-weight: 500;
  line-height: 38px
}

nav .menu-logo {
  -ms-flex-negative: 2;
  flex-shrink: 2;
  width: 355px;
  margin-right: 7.27273%
}

nav .menu-close {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100px;
  height: 100px;
  background: #000;
  padding: 33px
}

nav .menu-close div {
  position: relative
}

nav .menu-close span {
  position: absolute;
  top: 17px;
  left: -5px;
  display: block;
  width: 45px;
  height: 2px;
  background-color: #ffffff;
  z-index: 99999999;
  border-radius: 3px
}

nav .menu-close span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

nav .menu-close span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

nav .menu-close:hover {
  opacity: 0.6;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear
}

.lang-switcher {
  position: absolute;
  right: 0px;
  top: 20px;
  font-size: 20px;
  z-index: 1
}

.lang-switcher a {
  padding: 0 20px;
  letter-spacing: 1px;
  font-weight: 600;
  line-height: 0.8;
  display: inline-block;
  padding-bottom: 2px;
  font-weight: 400;
  font-family: 'Barlow', sans-serif
}

.lang-switcher a.jp {
  color: #4d4d4d;
  border-right: #fff 1px solid
}

.menu-open, .menu-open span {
  display: inline-block;
  -webkit-transition: all .4s;
  transition: all .4s;
  box-sizing: border-box
}

.menu-open {
  position: fixed;
  top: 40px;
  left: 30px;
  z-index: 10000
}

.menu-open div {
  position: relative;
  width: 40px;
  height: 24px
}

.menu-open span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #fff
}

.menu-open span:nth-of-type(1) {
  top: 0
}

.menu-open span:nth-of-type(2) {
  top: 11px
}

.menu-open span:nth-of-type(3) {
  bottom: 0
}

main {
  overflow-x: hidden;
  background-color: #000
}

section {
  overflow: hidden
}

section .section-inner {
  -webkit-transform: skew(0deg, -5deg);
  -ms-transform: skew(0deg, -5deg);
  transform: skew(0deg, -5deg);
  width: 100%;
  margin: auto;
  position: relative;
  overflow: hidden
}

section .section-inner>* {
  -webkit-transform: skew(0deg, 5deg);
  -ms-transform: skew(0deg, 5deg);
  transform: skew(0deg, 5deg)
}

section.bg-black .section-inner {
  background-color: #000
}

section.bg-black .section-inner::after {
  background: #000
}

section.bg-gray .section-inner {
  background-color: #1e1e1e
}

section.bg-gray .section-inner::after {
  background: #1e1e1e
}

section .section-side, section .section-accent {
  position: absolute
}

section .section-accent {
  right: 0
}

section .section-side {
  left: 0;
  top: 50%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s
}

section .section-inner h2 {
  text-align: right;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
  -webkit-transform: translateX(30%) skew(0deg, 5deg);
  -ms-transform: translateX(30%) skew(0deg, 5deg);
  transform: translateX(30%) skew(0deg, 5deg)
}

section .section-inner h2 span {
  display: block;
  line-height: 1
}

section .section-inner h2 .titleEn {
  font-family: 'Barlow', sans-serif;
  font-weight: 600
}

section .scrollIn {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s
}

section.animate .scrollIn {
  opacity: 1
}

section.animate h2 {
  opacity: 1;
  -webkit-transform: translateX(0%) skew(0deg, 5deg);
  -ms-transform: translateX(0%) skew(0deg, 5deg);
  transform: translateX(0%) skew(0deg, 5deg)
}

section.animate .section-side {
  left: 0;
  top: 50%
}

.animElem.fadeIn {
  opacity: 0
}

.fadeIn {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1
}

section.top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 1;
  padding: 0;
  margin-top: 0;
  background-color: #000;
  width: 100%;
  height: 100vh
}

section.top .section-inner {
  padding: 0;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

section.top:after {
  content: none
}

section.top h1 {
  margin: auto;
  opacity: 0;
  -webkit-transform: skew(0deg, 5deg) scale(0.3);
  -ms-transform: skew(0deg, 5deg) scale(0.3);
  transform: skew(0deg, 5deg) scale(0.3);
  -webkit-transition: all 1.5s;
  transition: all 1.5s
}

section.top h1.animate {
  opacity: 1;
  -webkit-transform: skew(0deg, 5deg) scale(1);
  -ms-transform: skew(0deg, 5deg) scale(1);
  transform: skew(0deg, 5deg) scale(1)
}

section.about {
  z-index: 2
}

section.about img {
  display: block;
  margin: auto
}

section.about .about-name img {
  opacity: 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  -webkit-transition-delay: .5s;
  transition-delay: .5s
}

section.about .about-name img:nth-of-type(1) {
  -webkit-transform: translateX(-30%);
  -ms-transform: translateX(-30%);
  transform: translateX(-30%)
}

section.about .about-name img:nth-of-type(2) {
  -webkit-transform: translateX(30%);
  -ms-transform: translateX(30%);
  transform: translateX(30%)
}

section.about.animate .about-name img {
  opacity: 1
}

section.about.animate .about-name img:nth-of-type(1) {
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%)
}

section.about.animate .about-name img:nth-of-type(2) {
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%)
}

section.awards .award-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 2
}

section.awards .award-logos div {
  width: 30%
}

section.awards p {
  font-family: 'Barlow', sans-serif;
  text-align: right;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-weight: 500
}

section.label .label-description {
  text-align: left;
  margin: auto;
  letter-spacing: 0.1rem
}

section.label .label-description>img {
  margin: auto
}

section.label .label-description a {
  margin: auto;
  display: block
}

section.company .company-table {
  margin: auto;
  z-index: 100;
  position: relative
}

section.company .company-table table {
  color: #fff;
  letter-spacing: 0.08rem
}

section.company .company-table li {
  text-indent: -1.5rem;
  padding-left: 1rem;
  line-height: 1.8
}

section.company .company-table td:first-child {
  border-bottom: 1px solid #333
}

section.company .company-table td:last-child {
  border-bottom: 1px dotted #333
}

section.contact {
  background-color: #1e1e1e
}

section.contact iframe {
  width: 100%;
  height: 100%;
  margin: auto
}

section.contact a {
  font-style: italic;
  font-weight: 500;
  font-family: 'Barlow', sans-serif;
  display: inline-block;
  position: relative;
  line-height: 0.8
}

section.contact a:before {
  position: absolute;
  bottom: 0;
  left: -52px;
  content: '';
  display: inline-block;
  background: url("../img/icon-mail.png") left top no-repeat
}

section.contact p {
  font-family: 'Barlow', sans-serif;
  letter-spacing: 0.05rem
}

.go-backto-top {
  display: none;
  width: 20px;
  height: 20px;
  color: #fff;
  border-top: solid 2px;
  border-right: solid 2px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: fixed;
  bottom: 43px;
  right: 50px;
  margin: auto
}

.eng main section {
  font-family: 'Barlow', sans-serif;
  font-weight: 400;
  letter-spacing: 0.05rem
}

.eng main section h2 {
  width: 100%;
  text-align: left
}

.eng main section.about .about-lead, .eng main section.about .about-name {
  width: 100%;
  text-align: left;
  font-weight: 500
}

.eng main section.about .about-name img {
  margin-left: 0
}

.eng main section.bg-gray .section-side {
  right: 0 !important;
  left: auto
}

.eng main section.bg-gray h2 .titleEn:before {
  content: none
}

.eng main section.bg-gray h2 .titleEn:after {
  content: '';
  display: inline-block;
  height: 1px;
  background-color: #fff;
  vertical-align: middle
}

.eng main section.bg-black h2 {
  text-align: right;
  padding-right: 0
}

.eng main section.label {
  font-weight: 500
}

.eng main section.label .label-description {
  width: 100%;
  margin: auto
}

.eng main section.label .label-description a {
  margin: 0
}

.eng .lang-switcher a.jp {
  color: #fff
}

.eng .lang-switcher a.en {
  color: #4d4d4d !important
}

* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  box-sizing: border-box
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 0;
  -webkit-margin-before: 0;
  margin-block-start: 0;
  -webkit-margin-after: 0;
  margin-block-end: 0
}

img {
  border: 0
}

ul, ol {
  list-style-type: none;
  text-indent: 0
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

caption, th {
  font-style: normal;
  font-weight: normal;
  text-align: left
}

em, strong {
  font-style: normal;
  font-weight: normal
}

cite {
  font-style: normal
}

a {
  outline: none;
  text-decoration: none
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 2.6666666vw;
    -webkit-text-size-adjust: 100%
  }
  .forP {
    display: none !important
  }
  .lang-switcher {
    position: fixed;
    z-index: 1;
    top: 1.4rem;
    font-size: 1.6rem
  }
  .lang-switcher a {
    padding: 0 1.5rem;
    letter-spacing: 1px;
    font-size: 1.6rem !important;
    font-weight: 400;
    display: inline-block;
    line-height: 0.7 !important
  }
  .lang-switcher a.jp {
    padding-left: 0;
    color: #4d4d4d;
    border-right: #fff 1px solid;
    padding-bottom: 0.2rem
  }
  nav {
    overflow-y: scroll
  }
  nav .menu-inner {
    position: static;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    padding: 10rem 3.5rem
  }
}

@media only screen and (max-width: 767px) and (orientation: landscape) {
  nav .menu-inner {
    position: relative;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
}

@media only screen and (max-width: 767px) {
  nav .menu-content {
    display: block;
    max-width: none
  }
  nav .menu-list {
    border: none;
    padding-left: 0
  }
  nav .menu-list ul {
    padding-left: 3rem;
    border-left: #fff solid 2px
  }
  nav .menu-list li {
    line-height: 2rem
  }
  nav .menu-list li a {
    font-size: 3.6rem;
    display: block;
    line-height: 0.7
  }
}

@media only screen and (max-width: 767px) and (max-width: 320px) {
  nav .menu-list li a {
    font-size: 2.6rem
  }
}

@media only screen and (max-width: 767px) {
  nav .menu-list li:not(:last-child) {
    padding-bottom: 2.2rem
  }
}

@media only screen and (max-width: 767px) and (max-width: 320px) {
  nav .menu-list li:not(:last-child) {
    padding-bottom: .6rem
  }
}

@media only screen and (max-width: 767px) {
  nav .menu-list li:nth-child(5) a {
    line-height: 3.65rem
  }
  nav .menu-list a {
    font-size: 3.6rem
  }
}

@media only screen and (max-width: 767px) and (max-width: 320px) {
  nav .menu-list a {
    font-size: 2.6rem
  }
}

@media only screen and (max-width: 767px) {
  nav .menu-list .lang-switcher a {
    font-size: 2rem !important
  }
  nav .menu-logo {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 11rem;
    padding-right: 0;
    margin-right: 0
  }
  nav .menu-close {
    width: 5rem;
    height: 5rem;
    padding: 1.3rem
  }
  nav .menu-close span {
    top: 1.1rem;
    left: .25rem;
    width: 2rem;
    height: .1rem
  }
  nav .lang-switcher {
    position: static;
    margin-top: 5rem
  }
  .menu-open {
    position: fixed;
    top: 2rem;
    left: 1.5rem;
    z-index: 10000
  }
  .menu-open div {
    width: 2rem;
    height: 1.25rem
  }
  .menu-open span {
    height: 0.1rem
  }
  .menu-open span:nth-of-type(2) {
    top: 0.55rem
  }
  main section {
    padding: 7rem 0 8.75rem;
    margin-top: -18rem
  }
  main section .section-inner {
    padding: 7rem 0 10.75rem;
    -webkit-transform: skew(0deg, -7deg);
    -ms-transform: skew(0deg, -7deg);
    transform: skew(0deg, -7deg)
  }
  main section .section-inner>* {
    -webkit-transform: skew(0deg, 7deg);
    -ms-transform: skew(0deg, 7deg);
    transform: skew(0deg, 7deg)
  }
  main section .section-side {
    width: 10.5rem;
    z-index: 0;
    top: 50%;
    -webkit-transform: translateY(100%) skew(0deg, 7deg);
    -ms-transform: translateY(100%) skew(0deg, 7deg);
    transform: translateY(100%) skew(0deg, 7deg)
  }
  main section .section-accent {
    top: -4.5vw;
    width: 25rem
  }
  main section .titleEn {
    font-size: 1.2rem;
    padding-bottom: 1rem
  }
  main section .titleEn:before {
    content: '';
    display: inline-block;
    width: 3rem;
    height: 1px;
    background-color: #fff;
    vertical-align: middle;
    margin-right: .6rem
  }
  main section .titleJp {
    font-size: 1.8rem
  }
  main section .section-inner h2 {
    padding-right: 2rem;
    margin-bottom: 5.9rem;
    -webkit-transform: translateX(30%) skew(0deg, 7deg);
    -ms-transform: translateX(30%) skew(0deg, 7deg);
    transform: translateX(30%) skew(0deg, 7deg)
  }
  main section.animate h2 {
    -webkit-transform: translateX(0%) skew(0deg, 7deg);
    -ms-transform: translateX(0%) skew(0deg, 7deg);
    transform: translateX(0%) skew(0deg, 7deg)
  }
  main section.animate.animate .section-side {
    opacity: 1;
    -webkit-transform: translateY(-45%) skew(0deg, 7deg);
    -ms-transform: translateY(-45%) skew(0deg, 7deg);
    transform: translateY(-45%) skew(0deg, 7deg)
  }
  main section.top {
    height: 100vh
  }
  main section.top h1 {
    width: 25.4rem;
    -webkit-transform: skew(0deg, 7deg) scale(0.3);
    -ms-transform: skew(0deg, 7deg) scale(0.3);
    transform: skew(0deg, 7deg) scale(0.3)
  }
  main section.top h1.animate {
    opacity: 1;
    -webkit-transform: skew(0deg, 7deg) scale(1);
    -ms-transform: skew(0deg, 7deg) scale(1);
    transform: skew(0deg, 7deg) scale(1)
  }
  main section.about {
    margin-top: -4.7rem
  }
  main section.about .naname {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    width: 99%;
    height: 10vw;
    -webkit-transform: rotate(6deg) translate3d(0, 0, 0);
    transform: rotate(6deg) translate3d(0, 0, 0)
  }
  main section.about .about-lead {
    font-size: 1.4rem;
    line-height: 1.72;
    width: 25rem;
    margin: 5rem auto 0;
    text-align: left;
    position: relative;
    z-index: 100;
    letter-spacing: 0.1rem
  }
  main section.about .about-lead p:last-child {
    margin-top: 0.8rem
  }
  main section.about .about-name {
    margin-top: 3.5rem;
    position: relative;
    z-index: 100
  }
  main section.about .about-name img:first-child {
    width: 19rem;
    margin-bottom: 1rem
  }
  main section.about .about-name img:last-child {
    width: 20.35rem
  }
  main section.awards .award-logos {
    width: 33rem;
    margin: auto;
    position: relative;
    z-index: 100
  }
  main section.awards .award-logos img {
    width: 100%
  }
  main section.awards .award-logos div {
    text-align: center
  }
  main section.awards .award-logos div:not(:nth-of-type(7)) {
    margin-bottom: 2.5rem
  }
  main section.awards .award-logos div:nth-child(1) img {
    width: 10rem
  }
  main section.awards .award-logos div:nth-child(2) img {
    width: 5rem;
    max-width: 100px
  }
  main section.awards .award-logos div:nth-child(3) img {
    width: 7.5rem
  }
  main section.awards .award-logos div:nth-child(4) img {
    width: 8rem
  }
  main section.awards .award-logos div:nth-child(5) img {
    width: 10.25rem
  }
  main section.awards .award-logos div:nth-child(6) img {
    width: 6rem
  }
  main section.awards .award-logos div:nth-child(7) img {
    width: 5.4rem
  }
  main section.awards .award-logos p {
    font-size: 1.4rem
  }
  main section.label .label-description {
    width: 29.05rem;
    position: relative;
    z-index: 100;
    font-size: 1.4rem;
    line-height: 2
  }
  main section.label .label-description>img {
    width: 24.15rem;
    margin: auto;
    display: block;
    padding-bottom: 3.6rem
  }
  main section.label .label-description p {
    font-size: 1.4rem
  }
  main section.label .label-description p:nth-of-type(1) {
    padding-bottom: 1.5rem
  }
  main section.label .label-description a {
    width: 13.5rem;
    padding-top: 3.5rem;
    display: block
  }
  main section.company h2 {
    margin-bottom: 4rem
  }
  main section.company .company-table {
    width: 33.5rem;
    margin: auto;
    position: relative;
    z-index: 100
  }
  main section.company .company-table table {
    color: #fff;
    text-align: left;
    font-size: 1.4rem
  }
  main section.company .company-table td {
    padding: 1.5rem 0
  }
  main section.company .company-table td:first-child {
    width: 10rem
  }
  main section.company.animate .section-side {
    -webkit-transform: translateY(-50%) skew(0deg, 7deg);
    -ms-transform: translateY(-50%) skew(0deg, 7deg);
    transform: translateY(-50%) skew(0deg, 7deg)
  }
  main section.contact {
    padding-bottom: 2.5rem
  }
  main section.contact h2 {
    margin-bottom: 5rem
  }
  main section.contact .contact-map {
    width: 31.5rem;
    height: 22.5rem;
    margin: 0 auto 5rem
  }
  main section.contact .contact-email {
    font-size: 3rem;
    text-align: center
  }
  main section.contact .contact-email a {
    margin-bottom: 3.5rem;
    display: inline-block;
    margin-right: -3rem
  }
  main section.contact .contact-email a:before {
    width: 2.5rem;
    height: 2rem;
    background-size: 100%;
    left: -3.6rem
  }
  main section.contact p {
    font-size: 1rem;
    text-align: center
  }
  main section.contact .section-inner {
    padding: 7rem 0 4rem
  }
  .go-backto-top {
    width: 1.5rem;
    height: 1.5rem;
    bottom: 4.15rem;
    right: 2.5rem;
    border-width: 1px;
    margin: auto
  }
  .eng main section h2 {
    padding-left: 3rem;
    margin: 0 auto 5rem;
    -webkit-transform: translateX(-50%) skew(0deg, 7deg);
    -ms-transform: translateX(-50%) skew(0deg, 7deg);
    transform: translateX(-50%) skew(0deg, 7deg)
  }
  .eng main .section-inner {
    padding: 8.3rem 0 10rem
  }
  .eng main section.about .about-lead, .eng main section.about .about-name {
    padding-left: 3rem
  }
  .eng main section.about .about-name {
    margin: 3.5rem auto 0
  }
  .eng main section.about .about-name img {
    margin-left: 0
  }
  .eng main section.bg-gray h2 .titleEn:after {
    width: 2rem;
    height: 1px;
    margin-left: .6rem
  }
  .eng main section.bg-black h2 {
    padding-right: 1.8rem;
    -webkit-transform: translateX(30%) skew(0deg, 7deg);
    -ms-transform: translateX(30%) skew(0deg, 7deg);
    transform: translateX(30%) skew(0deg, 7deg)
  }
  .eng main section.label .label-description {
    width: 32.5rem
  }
  .eng main section.label .label-description>img {
    width: 24rem;
    margin-left: 0
  }
  .eng main section.label .label-description a {
    width: 13.5rem;
    margin: 0;
    padding-top: 1.25rem
  }
  .eng section.animate .section-inner h2 {
    -webkit-transform: translateX(0%) skew(0deg, 7deg);
    -ms-transform: translateX(0%) skew(0deg, 7deg);
    transform: translateX(0%) skew(0deg, 7deg)
  }
  .eng section.animate .section-inner.animate .section-side {
    opacity: 1;
    -webkit-transform: translateY(-45%) skew(0deg, 7deg);
    -ms-transform: translateY(-45%) skew(0deg, 7deg);
    transform: translateY(-45%) skew(0deg, 7deg)
  }
}

@media only screen and (min-width: 768px) {
  .forS {
    display: none !important
  }
  body {
    margin: 0 auto;
    text-align: center
  }
  body.desktop a, body.desktop button, body.desktop a:hover span {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer
  }
  body.desktop a:hover, body.desktop a:hover button, body.desktop a:hover span {
    opacity: 0.7
  }
  body.desktop a {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
  }
  body.desktop a:hover {
    cursor: pointer;
    opacity: .6
  }
  main section {
    padding: 140px 0px 215px;
    margin-top: -356px
  }
  main section .section-side {
    width: 140px;
    opacity: 0;
    -webkit-transform: translateY(100%) skew(0deg, 5deg);
    -ms-transform: translateY(100%) skew(0deg, 5deg);
    transform: translateY(100%) skew(0deg, 5deg)
  }
  main section .section-inner {
    padding: 140px 20px 215px
  }
  main section .section-accent {
    max-width: 800px;
    top: -4.5vw;
    width: 57.14286vw
  }
  main section .titleEn {
    font-size: 16px;
    padding-bottom: 15px
  }
  main section .titleEn:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #fff;
    vertical-align: middle;
    margin-right: 12px
  }
  main section .titleJp {
    font-size: 24px
  }
  main section .section-inner h2 {
    padding-right: 100px;
    margin-bottom: 100px
  }
  main section.animate .section-side {
    opacity: 1;
    -webkit-transform: translateY(-45%) skew(0deg, 5deg);
    -ms-transform: translateY(-45%) skew(0deg, 5deg);
    transform: translateY(-45%) skew(0deg, 5deg)
  }
  main section.top h1 {
    width: 508px
  }
  main section.about {
    margin-top: -5.71429vw
  }
  main section.about .naname {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    width: 99%;
    height: 10vw
  }
  main section.about .about-lead {
    font-size: 20px;
    line-height: 2;
    width: 520px;
    margin: 0 auto;
    text-align: left
  }
  main section.about .about-lead p:last-child {
    margin-top: 15px
  }
  main section.about .about-name {
    margin-top: 70px;
    font-size: 60px;
    font-weight: 600
  }
  main section.about .about-name span {
    color: #505050
  }
  main section.about .about-name img:first-child {
    width: 380px;
    margin-bottom: 15px
  }
  main section.about .about-name img:last-child {
    width: 407px
  }
  main section.awards .award-logos {
    width: 640px;
    margin: 0 auto 0
  }
  main section.awards .award-logos div:not(:nth-of-type(7)) {
    margin-bottom: 50px
  }
  main section.awards .award-logos img {
    width: auto
  }
  main section.awards .award-logos p {
    font-size: 20px
  }
  main section.label .label-description {
    width: 415px;
    font-size: 20px;
    line-height: 2
  }
  main section.label .label-description>img {
    padding-bottom: 32px
  }
  main section.label .label-description p:nth-of-type(1) {
    padding-bottom: 30px
  }
  main section.label .label-description a {
    width: 175px;
    margin-top: 70px;
    display: block
  }
  main section.company .company-table {
    width: 800px;
    margin: auto
  }
  main section.company .company-table table {
    color: #fff;
    text-align: left;
    font-size: 14px;
    width: 100%
  }
  main section.company .company-table td {
    padding: 20px 0
  }
  main section.company .company-table td:first-child {
    width: 200px
  }
  main section.contact {
    padding-bottom: 100px
  }
  main section.contact .contact-map {
    width: 80%;
    max-width: 800px;
    height: 450px;
    margin: 0 auto 150px
  }
  main section.contact .contact-email {
    font-size: 40px
  }
  main section.contact .contact-email a {
    margin-bottom: 55px;
    margin-right: -50px
  }
  main section.contact .contact-email a:before {
    width: 34px;
    height: 26px
  }
  main section.contact p {
    font-size: 11px
  }
  main section.contact .section-inner {
    padding: 140px 20px 80px
  }
  .eng main section h2 {
    max-width: 920px;
    margin: 0 auto 100px;
    -webkit-transform: translateX(-50%) skew(0deg, 7deg);
    -ms-transform: translateX(-50%) skew(0deg, 7deg);
    transform: translateX(-50%) skew(0deg, 7deg)
  }
  .eng main .section-inner {
    padding: 190px 20px 160px
  }
  .eng main section.about .about-lead, .eng main section.about .about-name {
    max-width: 900px
  }
  .eng main section.about .about-name {
    margin: 70px auto
  }
  .eng main section.about .about-name img {
    margin-left: 0
  }
  .eng main section.bg-gray h2 .titleEn:after {
    width: 40px;
    height: 1px;
    margin-left: 12px
  }
  .eng main section.bg-black h2 {
    -webkit-transform: translateX(30%) skew(0deg, 7deg);
    -ms-transform: translateX(30%) skew(0deg, 7deg);
    transform: translateX(30%) skew(0deg, 7deg)
  }
  .eng main section.label .label-description {
    max-width: 900px
  }
  .eng main section.label .label-description>img {
    width: 403px
  }
  .eng main section.label .label-description a {
    width: 175px;
    margin: 0;
    padding-top: 25px
  }
  .eng main section.contact .section-side {
    -webkit-transform: translateY(-28%) skew(0deg, 5deg);
    -ms-transform: translateY(-28%) skew(0deg, 5deg);
    transform: translateY(-28%) skew(0deg, 5deg)
  }
  .eng main section.animate .section-inner h2 {
    -webkit-transform: translateX(0%) skew(0deg, 5deg);
    -ms-transform: translateX(0%) skew(0deg, 5deg);
    transform: translateX(0%) skew(0deg, 5deg)
  }
  .eng main section.animate .section-inner.animate .section-side {
    opacity: 1;
    -webkit-transform: translateY(-45%) skew(0deg, 5deg);
    -ms-transform: translateY(-45%) skew(0deg, 5deg);
    transform: translateY(-45%) skew(0deg, 5deg)
  }
}