@charset "UTF-8";
/*----------------------------------------------------------
更新日：2025年2月9日

=TOP

-------------------------------------------------------------*/
main .sec:nth-child(odd) {
  background-color: #E4E5E7;
}
main h2 {
  margin-bottom: 1.65em;
  font-size: 1.5em;
  font-weight: 600;
}

/* =TOP
------------------------------------------------------------*/
#keyv {
  position: relative;
  height: 656px;
  background-image: url("../img/top/keyv_bg1.png"), url("../img/top/keyv_bg2.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, bottom center;
  background-size: auto, cover;
}
#keyv .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 728px;
  transform: translate(-65%, -35%);
}
#keyv .inner h1 {
  margin-bottom: 2em;
}
#keyv .inner h2 {
  margin: 0;
  letter-spacing: 0.15em;
  font-family: "Poppins";
  font-size: 9px;
  font-weight: 400;
  color: #FFF;
}

#vision {
  padding: 120px 0;
  background-image: url("../img/top/vision_bg1.png"), url("../img/top/vision_bg2.png");
  background-repeat: no-repeat, no-repeat;
  background-position: top left, center center;
  background-size: auto, cover;
}
#vision .box {
  overflow: hidden;
  padding: 50px;
  background: #FFF;
  border-radius: 1.25em;
  box-shadow: 0.25em 0.25em 0.8em 0 rgba(0, 0, 0, 0.1);
}
#vision .box h2 {
  margin-bottom: 1.5em;
}
#vision .box h2 img {
  width: 488px;
}

#service,
#approach,
#information,
#news,
#company {
  padding: 80px 0;
}

#service {
  background: #232A41;
  color: #FFF;
}
#service .pic {
  overflow: hidden;
  margin-bottom: 2.5em;
  border-radius: 1.25em;
  box-shadow: 0.25em 0.25em 0.8em 0 rgba(0, 0, 0, 0.1);
}

#approach .pic {
  overflow: hidden;
  border-radius: 1.25em;
  box-shadow: 0.25em 0.25em 0.8em 0 rgba(0, 0, 0, 0.1);
}

#information {
  overflow: hidden;
}
#information .slider .box {
  float: none;
  height: auto;
  overflow: hidden;
  flex-shrink: 0;
  width: 325px;
  margin-right: 20px;
  border-radius: 20px;
  background: #F9F8F8;
  box-shadow: 0.25em 0.25em 0.8em 0 rgba(0, 0, 0, 0.1);
}
#information .slider .box .pic {
  overflow: hidden;
  border-radius: 20px;
}
#information .slider .box .txt {
  padding: 1.5em 1.5em 1.9em;
}
#information .slider .box .txt h3 {
  margin-bottom: 0.5em;
  font-size: 1.25em;
  font-weight: 700;
}
#information .slider .box .txt h3.font-l {
  margin-bottom: 0.6em;
  line-height: 1;
  font-size: 2em;
}
#information .slider .box .txt h3 span {
  display: block;
  padding-top: 1em;
  line-height: 1.4;
  font-size: 0.5em;
}
#information .slick-list {
  overflow: visible;
}
#information .slick-track {
  display: flex;
  align-items: stretch;
}
#information .slider-controls {
  display: flex;
  align-items: center;
  padding-top: 40px;
}
#information .slider-controls .progress-bar {
  flex-grow: 1;
  position: relative;
  height: 4px;
  background-color: #EEECEC;
  overflow: hidden;
}
#information .slider-controls .progress-bar .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #264573;
  width: 0%;
  transition: 0.2s ease;
}
#information .slider-controls .slider-btn {
  display: flex;
}
#information .slider-controls .slider-btn li {
  cursor: pointer;
}
#information .slider-controls .slider-btn li.prev-btn {
  margin: 0 1em 0 2em;
}

#news h2,
#company h2 {
  text-align: center;
}

#news ul li {
  box-shadow: 0.25em 0.25em 0.8em 0 rgba(0, 0, 0, 0.1);
}
#news ul li:not(:last-of-type) {
  margin-bottom: 0.25em;
}
#news ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1.6em 2em;
  background: #FFF;
  font-weight: 700;
}
#news ul li a span {
  display: block;
  color: #8B9DB6;
  font-weight: 500;
}
#news ul li a:hover {
  background: #EEE;
}

#company .table {
  width: 100%;
}
#company .table th, #company .table td {
  padding: 1em 2.5em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  line-height: 2;
  text-align: left;
  vertical-align: middle;
}
#company .table th {
  width: 0;
  white-space: nowrap;
}
#company .table td {
  padding-left: 1em;
}

/* ------------------------------------------------------------------
	PC (957px以下)
-------------------------------------------------------------------*/
@media screen and (max-width: 960px) {
  #keyv .inner {
    transform: translate(-50%, -35%);
  }
}
/* ------------------------------------------------------------------
	スマホ (728px以下)
-------------------------------------------------------------------*/
@media screen and (max-width: 728px) {
  main h2 img {
    height: 1.5em;
  }

  #keyv {
    height: 152.1dvw;
    background-image: url("../img/top/keyv_bg1.png"), url("../img/top/keyv_bg2_sp.png");
    background-position: left bottom, top center;
    background-size: 110% auto, cover;
  }
  #keyv .inner {
    left: 0%;
    max-width: none;
    padding-left: 7.3vw;
    transform: translate(0, -35%);
  }
  #keyv .inner h1 {
    margin-bottom: 1.5em;
  }
  #keyv .inner h1 img {
    width: 73.7dvw;
  }
  #keyv .inner h2 {
    line-height: 1.6;
    font-size: 0.68em;
  }

  #vision,
  #service,
  #approach,
  #information {
    padding: 3.75em 0;
  }

  #vision {
    background-size: 150% auto, cover;
  }
  #vision .box {
    padding: 2.5em;
  }
  #vision .box h2 {
    margin-bottom: 1em;
  }
  #vision .box h2 img {
    height: auto;
  }

  #service h2 {
    margin: 0 0 1.175em -1.2em;
  }
  #service .pic {
    margin-bottom: 1.5em;
  }

  #approach h2 {
    margin: 0 0 1.175em -1.2em;
  }

  #news,
  #company {
    padding: 3.15em 0;
  }

  #news ul li a {
    padding: 1em 1em 1em 1.5em;
  }

  #information .slider .box {
    width: 78.4vw;
    margin-right: 4.84vw;
    border-radius: 4vw;
  }
  #information .slider .box .pic {
    border-radius: 4vw;
  }
  #information .slider-controls {
    padding-top: 7.25vw;
  }
  #information .slider-controls .progress-bar {
    height: 1vw;
  }
  #information .slider-controls .progress-bar .progress {
    height: 1vw;
  }
  #information .slider-controls .slider-btn li {
    width: 12vw;
  }
  #information .slider-controls .slider-btn li img {
    width: 100%;
  }
  #information .slider-controls .slider-btn li#prev-btn {
    margin: 0 0.8em 0 1.2em;
  }

  #company .table {
    width: 100%;
  }
  #company .table th, #company .table td {
    padding: 1em 0.65em;
    line-height: inherit;
  }
  #company .table th {
    width: 0;
    white-space: nowrap;
  }
  #company .table td {
    padding-left: 1em;
  }
}
/* ------------------------------------------------------------------
	ここまで
-------------------------------------------------------------------*/
