/* -- Google Fonts -- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;400;500;600;700&display=swap");

/* -- Variable CSS -- */
:root {
  --color-1: #186cb8;
  --color-2: #2a9a9f;
  --color-3: #f1b211;
  --color-4: #e83611;
  --color-5: #f9002f;
}

/* -- Reset -- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Noto Sans JP", verdana, sans-serif;
}
html {
  scroll-behavior: smooth;
}
body {
  background: #111222;
}
.container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
section {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 80px 100px;
  color: #fff;
}
.main-title,
.section-title {
  background: linear-gradient(
    219deg,
    var(--color-1) 19%,
    transparent 19%,
    transparent 20%,
    var(--color-2) 20%,
    var(--color-2) 39%,
    transparent 39%,
    transparent 40%,
    var(--color-3) 40%,
    var(--color-3) 59%,
    transparent 59%,
    transparent 60%,
    var(--color-4) 60%,
    var(--color-4) 79%,
    transparent 79%,
    transparent 80%,
    var(--color-5) 80%
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

/* -- Section 01 -- */
.main-title {
  font-size: 4em;
  margin-bottom: 50px;
}
.content {
  position: relative;
  width: 1150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.content .image {
  position: relative;
  width: 800px;
  height: 400px;
  overflow: hidden;
}
.content .image img {
  z-index: 111;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.content .text-box {
  z-index: 222;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  padding: 40px;
  max-width: 400px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  transform: translate(-80px, 50px);
}
.content .text-box h3 {
  font-size: 2em;
  margin-bottom: 10px;
}
.media-icons {
  margin-top: 100px;
}
.media-icons a {
  color: #fff;
  font-size: 2em;
  margin: 60px;
}

/* -- Section 02 -- */
.section-title {
  font-size: 3em;
  margin-bottom: 80px;
}
.info-title {
  font-size: 1.8em;
  margin-bottom: 10px;
}
.info {
  width: 700px;
  margin-left: 50px;
}

/* -- Section 03 -- */
.sec-03 {
  margin-bottom: 100px;
}
.media-info {
  width: 400px;
  margin-left: 50px;
}
.media-info li {
  list-style: none;
  font-size: 1.4em;
}
.media-info li a {
  color: #fff;
  text-decoration: none;
}
.media-info li:not(:last-child) {
  margin-bottom: 50px;
}
.media-info li:nth-child(1),
.media-info li:nth-child(5) {
  padding-left: 100px;
}
.media-info li:nth-child(2),
.media-info li:nth-child(4) {
  padding-left: 50px;
}
