* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  text-align: justify;
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4 {
  font-weight: normal;
}

li {
  list-style: none;
}

a {
  display: block;
  text-decoration: none;
}

svg,
img,
video,
iframe {
  display: block;
}

html {
  scroll-behavior: smooth;
}

body {
  width: 100vw;
  height: 100vh;
}

.l-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  width: 20vw;
  height: 100%;
  padding: 3.2vw;
  background-color: #E83418;
}
@media screen and (max-width: 640px) {
  .l-header {
    width: 100vw;
    height: 16vw;
    padding: 4vw;
    overflow: hidden;
  }
}

.l-globalTitle {
  text-align: right;
  font-size: 1.2vw;
  color: white;
}
.l-globalTitle span {
  font-size: 1.6vw;
}
@media screen and (max-width: 640px) {
  .l-globalTitle {
    text-align: left;
    font-size: 6vw;
  }
  .l-globalTitle span {
    font-size: 8vw;
  }
}

.l-globalLogo {
  position: fixed;
  top: 2.4vw;
  right: 2.4vw;
  width: 6.4vw;
}
.l-globalLogo path {
  fill: #E83418;
}
@media screen and (max-width: 640px) {
  .l-globalLogo {
    top: 20vw;
    right: 4vw;
    width: 12vw;
  }
}

.l-globalNav {
  padding: 8vw 0;
}
.l-globalNav a {
  margin: 3.2vw 0;
  font-size: 2vw;
  text-align: right;
  color: white;
  transition: color 0.3s ease;
}
.l-globalNav a:hover {
  color: pink;
}

.copyright {
  display: block;
  font-size: 0.8vw;
  color: white;
  text-align: center;
}

.l-main {
  width: 80vw;
  height: 100%;
  margin-left: 20vw;
}
@media screen and (max-width: 640px) {
  .l-main {
    width: 100vw;
    margin-top: 16vw;
    margin-left: 0;
  }
}

article {
  height: 100%;
}

section {
  position: relative;
  height: 100%;
}
section::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(40vw - 0.5px);
  width: 1px;
  height: 25%;
  background-color: black;
}
@media screen and (max-width: 640px) {
  section {
    height: calc(100% - 16vw);
    scroll-margin-top: 16vw;
  }
  section::before {
    left: calc(50vw - 0.5px);
    height: 15%;
  }
}

.sectionTitle {
  display: flex;
  align-items: flex-end;
  height: 25%;
  padding-bottom: 2.4vw;
  padding-left: 42.4vw;
  font-size: 2vw;
}
.sectionTitle span {
  position: absolute;
  right: 42.4vw;
}
@media screen and (max-width: 640px) {
  .sectionTitle {
    height: 15%;
    padding-left: 52.4vw;
    font-size: 4vw;
  }
  .sectionTitle span {
    right: 52.4vw;
  }
}

.sectionContent {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 75%;
  padding: 5% 10vw 20%;
}
@media screen and (max-width: 640px) {
  .sectionContent {
    flex-direction: column;
  }
}

.visionLogo {
  width: 24vw;
}
.visionLogo path {
  fill: #E83418;
}
@media screen and (max-width: 640px) {
  .visionLogo {
    width: 48vw;
  }
}

.visionText {
  padding-left: 2.4vw;
  font-family: serif;
  line-height: 2.4;
  font-size: 2.4vw;
}
@media screen and (max-width: 640px) {
  .visionText {
    font-size: 4.8vw;
  }
}

.neuronLogo {
  display: inline-block;
  margin: 0 -4px -0.2vw;
  height: 2.4vw;
}
.neuronLogo path {
  fill: #E83418;
}
@media screen and (max-width: 640px) {
  .neuronLogo {
    height: 4.8vw;
  }
}

.serviceList {
  position: relative;
  padding-left: 3.2vw;
}
.serviceList::before {
  content: "";
  position: absolute;
  top: 20%;
  left: calc(1vw - 2px);
  width: 4px;
  height: 60%;
  background-color: #E83418;
}
.serviceList li {
  padding: 1.6vw 0;
  line-height: 2vw;
  font-size: 1.6vw;
}
.serviceList li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 2vw;
  height: 2vw;
  border-radius: 50%;
  background-color: #E83418;
}
@media screen and (max-width: 640px) {
  .serviceList {
    padding-left: 9.6vw;
  }
  .serviceList::before {
    top: 15%;
    left: calc(3.2vw - 1px);
    width: 2px;
  }
  .serviceList li {
    padding: 3.2vw 0;
    line-height: 6.4vw;
    font-size: 4.8vw;
  }
  .serviceList li::before {
    width: 6.4vw;
    height: 6.4vw;
  }
}

.overviewList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  font-size: 1.2vw;
}
.overviewList::before {
  content: "";
  position: absolute;
  top: 8%;
  left: calc(50% - 1px);
  width: 2px;
  height: 84%;
  background-color: #E83418;
}
.overviewList dt {
  width: 45%;
  padding: 1.2vw 0;
  text-align: right;
}
.overviewList dt::before {
  content: "";
  position: absolute;
  left: calc(50% - 0.6vw);
  width: 1.2vw;
  height: 1.2vw;
  border-radius: 50%;
  background-color: #E83418;
}
.overviewList dd {
  width: 45%;
  padding: 1.2vw 0;
}
@media screen and (max-width: 640px) {
  .overviewList {
    display: block;
  }
  .overviewList::before {
    content: none;
  }
  .overviewList dt {
    width: auto;
    padding-left: 4vw;
    text-align: left;
    font-size: 3.2vw;
  }
  .overviewList dt::before {
    left: 0;
    width: 3.2vw;
    height: 3.2vw;
  }
  .overviewList dd {
    width: auto;
    margin: -0.8vw 0 1.6vw;
    font-size: 4vw;
  }
}

.philosophyText {
  position: relative;
  margin: 5% 13.5vw;
}
.philosophyText::before {
  content: "";
  position: absolute;
  top: 0.7vw;
  right: 0;
  width: 58%;
  height: 2px;
  background-color: #E83418;
}
.philosophyText::after {
  content: "";
  position: absolute;
  bottom: 0.7vw;
  left: 0;
  width: 72%;
  height: 2px;
  background-color: #E83418;
}
.philosophyText p {
  margin: 0.8vw 0;
  font-family: serif;
  line-height: 1.6vw;
  font-size: 1.2vw;
}
@media screen and (max-width: 640px) {
  .philosophyText {
    margin: 5% 9vw;
  }
  .philosophyText::before {
    top: 1.5vw;
    width: 46%;
    height: 1px;
  }
  .philosophyText::after {
    bottom: 1.7vw;
    width: 64%;
    height: 1px;
  }
  .philosophyText p {
    margin: 1.6vw 0;
    line-height: 3.6vw;
    font-size: 2.4vw;
  }
}/*# sourceMappingURL=style.css.map */