#site-logo {
  display: none;
}

@media screen and (min-width: 769px) {
  #site-header #global-nav ul li a {
    color: #fff;
    border-color: #fff;
  }
}

.ttl1 {
  font-family: "Barlow", sans-serif !important;
  font-weight: 200;
  font-style: italic;
  font-size: 76px;
  text-align: left;
  color: #003f7e;
  display: flex;
  align-items: baseline;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .ttl1 {
    font-size: 45px;
  }
}
.ttl1 small {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400;
  font-weight: 400;
  font-style: normal;
  font-size: 0.33em;
  text-align: left;
  padding-left: 1em;
}

#mv {
  padding: 20px;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #mv {
    padding: 5px;
  }
}
#mv figure {
  margin: 0;
}
@media screen and (max-width: 768px) {
  #mv figure {
    height: 50vh;
  }
}
@media screen and (max-width: 768px) {
  #mv figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
#mv .mv-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
#mv .mv-logo img {
  margin: auto;
}
#mv .mv-logo p {
  font-family: "Barlow", sans-serif !important;
  font-weight: 300;
  font-style: italic;
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 52px;
  text-align: center;
  color: #fff;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.31);
  margin: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #mv .mv-logo p {
    font-size: 4.8vw;
    line-height: 1.5;
  }
}

main {
  position: relative;
  padding-bottom: 0;
}
main::before {
  content: "";
  display: block;
  width: 33.33%;
  height: 100%;
  position: absolute;
  left: 33.333%;
  top: 0;
  z-index: -1;
  background: #F3F5F8;
}
main #intro {
  background-color: #fff;
  padding-bottom: 100px;
}
main #intro .uk-text-lead {
  font-weight: normal;
  font-size: 19px;
  letter-spacing: 0.1em;
  line-height: 2.7368421053;
  text-align: center;
  color: #003f7e;
  margin: 0;
}
@media screen and (max-width: 768px) {
  main #intro .uk-text-lead {
    font-size: 4vw;
    line-height: 2.5;
  }
}
main #works {
  position: relative;
  padding-bottom: 100px;
}
main #works::before {
  content: "";
  display: block;
  width: 66.66%;
  height: 150px;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
}
@media screen and (max-width: 768px) {
  main #works::before {
    height: 80px;
  }
}
main #works::after {
  content: "";
  display: block;
  width: 66.66%;
  height: 100px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #fff;
}
main #works h2.ttl1 {
  position: relative;
}
main #works .works-item-01::before, main #works .works-item-01::after {
  content: "";
  display: block;
  width: 33.3%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  background: linear-gradient(360deg, #003f7e 0%, #00e0fe 51.72%, #ffd528 100%);
  opacity: 0.52;
  z-index: -1;
}
main #works .works-item-01::after {
  left: auto;
  right: 0;
  transform: scaleY(-1);
}
main #works .works-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: 100px;
  min-height: 486px;
}
@media screen and (max-width: 768px) {
  main #works .works-item {
    min-height: 1px;
    margin-bottom: 0px;
  }
}
main #works .works-item .num {
  font-family: "Barlow", sans-serif !important;
  font-weight: 500;
  font-style: italic;
  font-size: 220px;
  text-align: left;
  color: #003f7e;
  opacity: 0.16;
  mix-blend-mode: color-burn;
  position: relative;
  line-height: 1;
  z-index: 2;
  margin: 0 0 -0.4em 0;
  padding-top: 0.35em;
}
@media screen and (max-width: 768px) {
  main #works .works-item .num {
    font-size: 120px;
    left: -20px;
  }
}
main #works .works-item > div {
  position: relative;
  z-index: 1;
  width: 680px;
  width: 58.6206896552%;
  padding: 30px 40px;
  background: rgba(255, 255, 255, 0.9);
  position: relative;
}
@media screen and (max-width: 768px) {
  main #works .works-item > div {
    width: auto;
  }
}
main #works .works-item > div h3 {
  font-weight: 400;
  font-size: 32px;
  text-align: left;
  color: #003f7e;
}
@media screen and (max-width: 768px) {
  main #works .works-item > div h3 {
    font-size: 23px;
  }
}
main #works .works-item > div p {
  font-size: 16px;
  line-height: 1.5;
  text-align: justify;
  color: #003f7e;
}
@media screen and (max-width: 768px) {
  main #works .works-item > div p {
    font-size: 14px;
  }
}
main #works .works-item figure {
  width: 640px;
  width: 55.1724137931%;
  position: absolute;
  right: -60px;
  top: 0;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  main #works .works-item figure {
    width: 65%;
  }
}
@media screen and (max-width: 768px) {
  main #works .works-item figure {
    width: auto;
    position: relative;
    right: auto !important;
    left: auto !important;
  }
}
main #works .works-item figure img {
  display: block;
}
main #works .works-item-02 {
  align-items: flex-end;
}
main #works .works-item-02 figure {
  left: -60px;
  right: auto;
}
@media screen and (max-width: 768px) {
  main #works .works-item-02 .num {
    right: -20px;
    left: auto;
  }
}
main #news {
  padding-top: 0;
  background-color: #F3F5F8;
}
main #news::before {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  background: #fff;
  margin-bottom: 60px;
}
main #news .news-ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 40px 1em;
}
@media screen and (max-width: 768px) {
  main #news .news-ttl {
    padding: 0 0 1em;
  }
}
main #news .news-ttl h2 {
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: 18px;
  text-align: left;
  color: #003f7e;
  margin: 0;
}
main #news .news-ttl a {
  font-size: 14px;
}
main #news .news-ttl a::before {
  content: "\f0ca";
  font-family: "FontAwesome" !important;
  margin-right: 0.7em;
}
main #news .uk-card {
  background-color: #fff;
}
main #company {
  background-color: #fff;
}
main #company .uk-container.uk-container-small h2.ttl1 {
  margin-bottom: 0.5em;
}
main #company .uk-container.uk-container-small dl {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #DDDDDD;
}
@media screen and (max-width: 768px) {
  main #company .uk-container.uk-container-small dl {
    display: block;
  }
}
main #company .uk-container.uk-container-small dl dt,
main #company .uk-container.uk-container-small dl dd {
  border-top: 1px solid #DDDDDD;
  padding: 1em 0;
}
main #company .uk-container.uk-container-small dl dt {
  flex: 0 0 11em;
}
main #company .uk-container.uk-container-small dl dd {
  flex: 0 0 calc(100% - 11em);
}
@media screen and (max-width: 768px) {
  main #company .uk-container.uk-container-small dl dd {
    border-top: none;
    padding-top: 0;
  }
}
main #company .uk-container.uk-container-small dl dd iframe {
  margin-top: 1em;
}
main .luck figure {
  margin: 0;
  padding: 30px;
  background: #fff;
  border-radius: 5px;
}