@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* GENERAL */
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 1px;
}
a {
  text-decoration: none;
  color: black;
}
.container {
  margin: 0 auto;
  width: 90vw;
}
.section {
  padding: 64px 24px;
}
.section h2 {
  font-size: 56px;
  margin: 0;
  padding: 0;
}
.section h3 {
  font-size: 24px;
  margin: 0;
  padding: 0;
}
.section-container {
  margin-top: 48px;
}
.hidden {
  display: none;
}
@media screen and (max-width: 540px) {
  .container {
    width: 100vw;
  }
  .section {
    padding: 48px 16px;
  }
  .section h2 {
    font-size: 40px;
  }
  .section h3 {
    font-size: 20px;
  }
  .section-container {
    margin-top: 36px;
  }
}

/* COMPONENT */
.border-button {
  font-size: 16px;
  font-weight: bold;
  width: 280px;
  padding: 24px 0px;
  border: 4px solid #212121;
  text-align: center;
  margin-top: 48px;
}
.link-button {
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 540px) {
  .border-button {
    width: 238px;
    padding: 24px 0px;
    font-size: 14px;
    margin-top: 32px;
  }
}

/* HEADER */
header {
  background-color: white;
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 80px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.header-image {
  width: 148px;
  height: 32px;
  margin-left: 16px;
}
header ul {
  list-style: none;
  display: flex;
  flex-direction: row;
}
header li {
  margin-right: 24px;
  font-weight: bold;
}
header li:hover {
  text-decoration: underline;
}
header .menu-image {
  display: none;
}
header .cancel-image {
  display: none;
}
header .link-pc {
  display: inline;
}
header .link-sp {
  display: none;
}
header .sub-list {
  display: none;
}
header .language-selector {
  display: flex;
  justify-content: flex-start;
}
header .language-selector li {
  margin-right: 10px;
}
header .language-selector .inactive {
  color: #999;
}
@media screen and (max-width: 540px) {
  header {
    height: 64px;
  }
  header nav {
    position: absolute;
    z-index: 100;
    height: 100vh;
    width: 66%;
    top: 0;
    right: -66%;
    background-color: #3E3E3E;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  header ul {
    flex-direction: column;
  }
  header .menu-image {
    display: block;
    width: 44px;
    height: 44px;
    margin-right: 12px;
  }
  header .nav-header {
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 12px;
  }
  header .cancel-image {
    display: block;
    width: 44px;
    height: 44px;
  }
  header .link-pc {
    display: none;
  }
  header .link-sp {
    display: inline;
  }
  header .list {
    font-size: 24px;
    margin-bottom: 24px;
    color: white;
  }
  header .sub-list {
    display: block;
    font-size: 14px;
    color: white;
  }
  nav.open-menu {
    right: 0%;
  }
}

/* TOP */
.top-container {
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.top-title-container {
  width: 90%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  z-index: 10;
}
.top-image {
  width: 30%;
  position: absolute;
  top: -15%;
  bottom: 0;
  right: 0;
  left: 50%;
  margin: auto;
  z-index: 1;
}
.top-image-left {
  position: absolute;
  top: 64px;
  left: 0;
  z-index: 1;
}
.top-image-right {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.top-title {
  font-size: 11vw;
  font-weight: 900;
  font-style: italic;
  font-family: 'Avenir Next', sans-serif;
  line-height: 100%;
  text-shadow: -1px -1px 5px white, -1px 0 5px white, -1px 1px 5px white,
                  0 -1px 5px white,                    0 1px 5px white,
                1px -1px 5px white,  1px 0 5px white,  1px 1px 5px white;
}
.top-subtitle {
  font-weight: 700;
  font-size: 2vw;
  line-height: 150%;
  text-shadow: -1px -1px 2px white, -1px 0 2px white, -1px 1px 2px white,
                  0 -1px 2px white,                    0 1px 2px white,
                1px -1px 2px white,  1px 0 2px white,  1px 1px 2px white;
}
@media screen and (max-width: 540px) {
  .top-title-container {
    margin-top: 24px;
  }
  .top-image {
    width: 80%;
    position: relative;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0;
    z-index: 1;
  }
  .top-title {
    font-size: 10vw;
  }
  .top-subtitle {
    margin-top: 8px;
    margin-bottom: 24px;
    font-size: 17px;
  }
}

/* PRODUCT */
.product-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.product-texts {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 18px;
}
.product-texts p {
  margin: 0;
  padding: 0;
}
.product-images {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}
.product-images .pc {
  display: block;
}
.product-images .sp {
  display: none;
}
.product-image {
  width: 70%;
  height: 100%;
  border: 1px solid #EEF0F3;
  border-radius: 24px;
}
.product-urls {
  margin-top: 12px;
  display: flex;
  flex-direction: row;
  width: 1008px;
  justify-content: space-around;
  /* justify-content: center; */
  align-items: center;
}
@media screen and (max-width: 540px) {
  .product-description {
    margin-top: 16px;
    font-size: 16px;
  }
  .product-images {
    margin-top: 32px;
  }
  .product-images .pc {
    display: none;
  }
  .product-images .sp {
    display: block;
  }
  .product-image {
    width: 100%;
    border-radius: 12px;
  }
  .product-urls {
    flex-direction: column;
    width: 100%;
  }
}

/* achievements */
.achievements-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.achievements-subcontainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}
.achievements-content {
  text-align: center;
  width: 33%;
  height: 256px;
  /* border: 1px solid black; */
  margin-bottom: 24px;
}
.achievements-title {
  margin-top: 24px;
  font-weight: 700;
  font-size: 32px;
  color: #212121;
}
.achievements-image {
  margin-top: 16px;
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.achievements-text {
  margin-top: 16px;
  font-weight: 700;
  font-size: 40px;
  color: #E24C4A;
}
@media screen and (max-width: 540px) {
  .achievements-content {
    width: 50%;
    height: 171px;
  }
  .achievements-title {
    margin-top: 12px;
    font-size: 16px;
  }
  .achievements-image {
    width: 40px;
    height: 40px;
  }
  .achievements-text {
    font-size: 24px;
  }
}

/* NEWS */
.news-container {
  background-color: #F5F7FA;
  width: 100%;
  height: 500px;
  overflow-y: scroll;
  border: 1px solid #EEF0F3;
  border-radius: 24px;
}
.news-subcontainer {
  padding: 24px 24px 12px 24px;
}
.news-date {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 12px;
}
.news-title-with-link {
  font-size: 18px;
  text-decoration: underline;
}
.news-title-without-link {
  font-size: 18px;
  text-decoration: none;
}
@media screen and (max-width: 540px) {
  .news-subcontainer {
    padding: 16px 16px 8px 16px;
  }
  .news-date {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .news-title-with-link {
    font-size: 14px;
  }
  .news-title-without-link {
    font-size: 14px;
  }
}

/* MEMBERS */
.member-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.member-subcontainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: 1200px;
  justify-content: center;
}
.member-content {
  text-align: center;
  width: 160px;
  height: 168px;
}
.member-image {
  width: 80px;
  height: 80px;
  border: 4px solid #F2F2F2;
  border-radius: 26px;
  object-fit: contain;
}
.member-text {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 540px) {
  .member-content {
    width: 114px;
    height: 146px;
  }
  .member-image {
    width: 82px;
    height: 82px;
  }
  .member-text {
    font-size: 11px;
  }
}

/* RECRUIT */
.recruit-container {
}
.recruit-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 48px;
}
.recruit-title {
  font-size: 56px;
  font-weight: bold;
}
.recruit-subtitle {
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 540px) {
  .recruit-title {
    font-size: 32px;
  }
}

/* COMPANY */
.company-container table {
  text-align: left;
  font-size: 20px;
}
.company-container th {
  padding-bottom: 32px;
  vertical-align: top;
}
.company-container td {
  padding-bottom: 32px;
  padding-left: 60px;
  vertical-align: top;
}
.company-container br {
  display: none;
}
@media screen and (max-width: 540px) {
  .company-container table {
    font-size: 14px;
  }
  .company-container tr {
    width: 100%;
  }
  .company-container th {
    padding-bottom: 24px;
    width: 20%;
  }
  .company-container td {
    padding-bottom: 24px;
    padding-left: 16px;
    width: 80%;
  }
  .company-container br {
    display: inline;
  }
}

/* CONTACT */
.contact-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact-subtitle {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 540px) {
  .contact-subtitle {
    font-size: 14px;
  }
}

/* FOOTER */
.footer {
  height: 20vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-container {
  height: 50%;
  width: 100%;
}
.footer-link {
  height: 50%;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-term {
  text-align: center;
  margin-right: 48px;
}
.footer-privacy_policy {
  text-align: center;
}
.footer-copyright {
  height: 50%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 540px) {
  .footer {
    height: 30vh;
  }
  .footer-container {
    width: 70%;
  }
  .footer-link {
    font-size: 12px;
  }
  .footer-copyright {
    font-size: 12px;
  }
}
