@charset "utf-8";
:root {
  --base-color: #333;
  --bg-color: #fff9f0;
  --accent-color: #de8d01;
  --link-color: #0051de;
  --default-font: "Noto Sans JP", serif;
  --normal: 400;
  --bold: 600;
  --google-icon: "Material Symbols Outlined";
  --bootstrap: "bootstrap-icons";
}
* {
  box-sizing: border-box;
}

/*.scrolling header{
    height: 30px;
    background: rgba(255, 255, 255, 0.8);
    transition: 0.5s;
}
.scrolling header .logo span{
    display: none;
}
.scrolling header .logo{
    font-size:1.4em;
}*/

.billboard {
  position: relative;
  z-index: 1;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-bottom: 120px;
}
.swiper {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}
.swiper-pagination-bullet-active {
  background: #fff !important;
}
.billboard img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.billboard-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  display: inline-block;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1.5em 1.8em 1.5em;
}
.billboard-text figure {
  margin-bottom: 0.7em;
}
.billboard-text img {
  aspect-ratio: 300 / 25;
  margin: 0 auto;
  width: 500px;
  height: auto;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(58%) sepia(75%) saturate(2543%)
    hue-rotate(9deg) brightness(97%) contrast(99%);
}
.billboard h1 {
  font-size: 1.2em;
  width: 100%;
  font-weight: var(--normal);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
h2 {
  font-size: 1.5em;
  font-weight: var(--bold);
  margin-bottom: 50px;
  text-align: center;
}
section {
  margin-bottom: 80px;
}
section:last-of-type {
  //margin-bottom: 120px;
}
section.project {
  padding: 0 5%;
}
.project h2 {
  margin-bottom: 10px;
}
.project > p {
  text-align: center;
  margin-bottom: 50px;
}
section.project ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px 2em;
}
section.project ul li {
  width: calc((100% - 6em) / 4);
}
section.project ul li h3 {
  font-size: 0.9em;
  line-height: 1.6;
  text-align: center;
}
section.project ul li figure {
  margin-bottom: 0.5em;
}
section.project ul li img {
  aspect-ratio: 640/427;
  width: 100%;
  height: auto;
}
.description {
  background-color: var(--bg-color);
  padding-top: 75px;
  padding-bottom: 80px;
}
.description > ul {
  margin: 0 5%;
}
.description ul.description-list > li {
  background-color: #fff;
  margin-bottom: 2em;
  padding: 1.5em 2.2em 1.8em;
}
.description figure {
  aspect-ratio: 4/3;
  background-color: #ccc;
  width: 380px;
  height: auto;
}
.description-list h2 {
  text-align: left;
  margin-bottom: 0.4em;
  font-size: 1.25em;
}
.description-list li p,
.description-list li ul {
  flex: 1;
}
.description-list li ul {
  display: block;
}
.description-list .flex {
  gap: 1.5em;
}
.description-list .disc-list li {
  margin-bottom: 0.5em;
}
.about {
  padding: 0 calc((100% - 880px) / 2);
  text-align: center;
}
.about h2 {
  margin-bottom: 20px;
}
.about ul {
  display: flex;
  justify-content: center;
  margin-bottom: 1em;
  gap: 2em;
}
.about ul li {
  width: calc((100% - 4em) / 3);
  text-align: left;
  font-size: 0.9em;
}
.about ul li h3 {
  font-size: 1.1em;
}
.about ul li img {
  border: 1px solid #ccc;
  width: 100%;
}
.about ul.legal-documents li:first-child {
  text-align: right;
}
footer {
  padding: 2em 0 0.5em;
  background: #fafafa;
}
footer p {
  text-align: center;
  font-size: 0.7em;
}
footer .footer-company-info {
  margin-bottom: 2em;
}
footer .footer-company-info p {
  text-align: center;
  margin-bottom: 0;
  font-size: 0.9em;
}
footer .footer-company-info p > span:first-child {
  display: block;
}
