
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Noto Sans JP',sans-serif;
}

/* ===================================== */

.hero-stats{

    width:100%;

    background:#fff;

    border-top:1px solid #edf1f7;

    border-bottom:1px solid #edf1f7;

}

.stats-wrapper{

    max-width:1440px;

    margin:auto;

    display:flex;

    justify-content:space-between;

}

.stat{

    width:33%;

    height:148px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    border-right:1px solid #dde5ef;

}

.last{

    border-right:none;

}

/* ================================ */

.headline{

    display:flex;

    align-items:flex-end;

}

.num{

    font-size:48px;

    font-weight:800;

    color:#1748ff;

    line-height:1.4;

    letter-spacing:-3px;

}

.small{

    font-size:48px;

    font-weight:800;

    color:#1748ff;

    margin-left:8px;


}

.global{

    font-size:48px;

    font-weight:800;

    color:#1748ff;

    line-height:1.4;

    letter-spacing:-1px;

}

/* ================================ */

.title{

    margin-top:14px;

    font-size:25px;

    font-weight:700;

    color:#172549;

    line-height:1.4;

}


/* --  START - MISSION  -- */

.mission-section {
  width: 100%;
  background: #ffffff;
  padding: 0 26px;
  border-top: 1px solid #edf2f8;
  border-bottom: 1px solid #edf2f8;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif;
  overflow: hidden;
}

.mission-wrap {
  max-width: 1440px;
  min-height: 370px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 54% 46%;
  align-items: center;
}

.mission-left {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 58px 0 58px 30px;
}

.mission-blue-line {
  width: 6px;
  height: 230px;
  background: #075bff;
  border-radius: 10px;
  flex-shrink: 0;
  margin-top: 4px;
}

.mission-tag {
  margin: 0 0 18px;
  color: #075bff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.mission-copy h2 {
  margin: 0 0 24px;
  color: #111111;
  font-size: 42px;
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.mission-copy p {
  margin: 0 0 8px;
  color: #202020;
  font-size: 22px;
  line-height: 1.95;
  font-weight: 600;
}

.mission-right {
  position: relative;
  height: 100%;
  min-height: 370px;
  overflow: hidden;
}

.mission-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 65% 50%,
    rgba(232, 244, 255, 0.85) 0%,
    rgba(255, 255, 255, 0.2) 45%,
    rgba(255, 255, 255, 0) 70%
  );
}

.mission-right img {
  position: absolute;
  top: 55%;
  right: 100px;
  width: 560px;
  max-width: none;
  transform: translateY(-50%);
  opacity: 1;
  display: block;
  pointer-events: none;
  user-select: none;
}

/* --  END - MISSION  -- */

/* -- START - DENAI IMAGE -- */

.denai-image-section {
  width: 100%;
  max-width: 1180px;
  margin: 60px auto;
  padding: 0 20px;
  overflow: hidden;
}

.denai-image-section img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 0;
}


.hero-banner{
    position:relative;
    width:100%;
}

.hero-banner img{
    width:100%;
    display:block;
    height:auto;
}

/* CTA Button */

.denai-cta{
    position:absolute;
    left:50%;
    bottom:4.8%;
    transform:translateX(-50%);

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    width:30%;
    max-width:470px;
    min-width:300px;
    height:74px;

    background:#0836C9;
    color:#fff;
    text-decoration:none;

    font-family:"Inter",sans-serif;
    font-size:24px;
    font-weight:700;
    letter-spacing:.2px;

    border-radius:10px;

    box-shadow:
        0 10px 25px rgba(0,38,170,.22),
        inset 0 1px 0 rgba(255,255,255,.18);

    transition:.3s;
}

.denai-cta i{
    font-size:32px;
    transition:.3s;
}

.denai-cta:hover{
    background:#052ba8;
    transform:translateX(-50%) translateY(-3px);
    box-shadow:
        0 18px 35px rgba(0,38,170,.35);
}

.denai-cta:hover i{
    transform:translateX(6px);
}


/* ---------------------- */


.denai-hero{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#CFE9FF;
}

.denai-hero img{
    width:100%;
    height:auto;
    display:block;
    max-width:100%;
}


/* button position based on your screenshot */

.denai-left {

  position: absolute;
  left: 2.3%;
  top: 85%;
  width: 25%;
  z-index: 5;

}

.denai-btn {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 310px;
  min-height: 58px;
  padding: 14px 28px;
  background: #0A4CFF;
  color: #fff;
  font-size: clamp(14px, 1.25vw, 24px);
  font-weight: 700;
  text-decoration: none;
  border-radius: 7px;
  box-shadow: 0 10px 24px rgba(255, 133, 0, 0);
  white-space: nowrap;

}

.denai-btn:hover {
  background: #ff9933;
}

/* tablet */
@media (max-width: 1024px) {
  .denai-left {
    left: 2.5%;
    top: 87%;
    width: 28%;
  }

  .denai-btn {
    min-height: 48px;
    padding: 11px 20px;
  }
}

/* mobile */
@media (max-width: 600px) {
  .denai-left {
    left: 3%;
    top: 86%;
    width: 34%;
  }

  .denai-btn {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 11px;
  }
}


/* -- END - DENAI IMAGE -- */

/* -- START - SECTION */


.strength-section {
  width: 100%;
  background: #fff;
  padding: 10px 40px 36px;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif;
}

.strength-title {
  position: relative;
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  color: #111;
  margin: 0 0 24px;
}

.strength-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 34px;
  height: 4px;
  background: #075bff;
  border-radius: 10px;
  transform: translateX(-50%);
}

.strength-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.strength-card {
  background: #fff;
  border: 1px solid #dfe7f3;
  border-radius: 9px;
  min-height: 230px;
  padding: 24px 20px 22px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(8, 38, 90, 0.08);
}

.strength-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 13px;
}

.strength-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #075bff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.strength-card h3 {
  font-size: 18px;
  font-weight: 900;
  color: #075bff;
  margin: 0 0 15px;
}

.strength-card p {
  font-size: 13.5px;
  line-height: 1.85;
  font-weight: 600;
  color: #202020;
  text-align: left;
  margin: 0;
}

/* -- END- SECTION -- */

/* -- START - INDUSTRY -- */

.industry-strip {
  width: 100%;
  background: #ffffff;
  padding: 14px 40px 20px;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif;
  text-align: center;
}

.industry-strip h2 {
  margin: 0 0 10px;
  color: #111111;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.2;
}

.industry-list {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: center;
}

.industry-item {
  min-height: 76px;
  padding: 0 20px;
  border-right: 1px solid #d8e0ec;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.industry-item:last-child {
  border-right: none;
}

.industry-item svg {
  width: 64px;
  height: 64px;
  margin-bottom: 7px;
  fill: none;
  stroke: #075bff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.industry-item span {
  color: #111111;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

/* -- END - INDUSTRY -- */

/* -- START - CTA -- */

.cta-section{
    padding:24px 30px 35px;
    background:#ffffff;
    font-family:"Noto Sans JP","Inter",sans-serif;
}

.cta-container{

    max-width:1360px;

    margin:auto;

    padding:30px 20px;

    text-align:center;

    border-radius:8px;

    background:
    linear-gradient(90deg,
    #edf5ff 0%,
    #ffffff 50%,
    #edf5ff 100%);

    border:1px solid #edf2fb;

}

.cta-container h2{

    margin:0;

    color:#0c2154;

    font-size:32px;

    font-weight:900;

    line-height:1.2;

    letter-spacing:-.02em;

}

.cta-container p{

    margin:12px 0 22px;

    color:#555;

    font-size:14px;

    font-weight:500;

    line-height:1.7;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn-primary,
.btn-outline{

    width:265px;

    height:48px;

    border-radius:6px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    font-size:16px;

    font-weight:700;

    transition:.25s;

}

.btn-primary{

    background:#0a4cff;

    color:#fff;

    border:0px solid #0a4cff;

}

.btn-primary:hover{

    background:#ff9933; /*#003fd3;*/

}

.btn-primary span{

    margin-left:12px;

    font-size:18px;

}

.btn-outline{

    background:#FF9933;

    color:#fff;

    border:0px solid #0a4cff;

}

.btn-outline:hover{

    background:#0a4cff;

    color:#fff;

}

/* -- END - CTA -- */

@media (max-width:1200px){

    .denai-cta{
        width:36%;
        height:66px;
        font-size:28px;
    }

    .denai-cta i{
        font-size:26px;
    }

}

@media (max-width:991px) {

    .stats-wrapper{

        flex-wrap:wrap;

    }

    .stat{

        width:50%;

        border-right:1px solid #dde5ef;

        border-bottom:1px solid #dde5ef;

    }

    .stat:nth-child(2){

        border-right:none;

    }

    .last{

        border-right:none;

    }


  .mission-section {
    padding: 0 20px;
  }

  .mission-wrap {
    grid-template-columns: 1fr;
  }

  .mission-left {
    padding: 48px 0 15px;
    gap: 20px;
  }

  .mission-copy h2 {
    font-size: 26px;
  }

  .mission-right {
    min-height: 260px;
  }

  .mission-right img {
    right: 50%;
    width: 420px;
    transform: translate(50%, -50%);
  }

  .strength-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .industry-list {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 16px;
  }

  .industry-item {
    border-right: none;
    border-bottom: 1px solid #d8e0ec;
    padding: 10px;
  }

      .denai-cta{
        width:44%;
        bottom:4%;
        height:60px;
        font-size:22px;
    }

    .denai-cta i{
        font-size:22px;
    }

}


@media(max-width:768px){

.cta-container{

padding:35px 18px;

}

.cta-container h2{

font-size:26px;

}

.cta-container p{

font-size:14px;

}

.btn-primary,
.btn-outline{

width:100%;

max-width:340px;

}

  .denai-image-section {
    margin: 40px auto;
    padding: 0 15px;
  }

  .denai-image-section img {
    width: 100%;
    max-width: 100%;
  }

.hero{
    min-height:auto;
    padding:90px 0 50px;
}

.hero-inner{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.hero-content{
    order:1;
    text-align:center;
    max-width:100%;
}


  .hero-banner {
    position: relative;
    overflow: hidden;
  }

  .denai-cta {
    width: 62%;
    min-width: auto;
    max-width: 260px;
    height: 34px;

    bottom: 3%;
    left: 50%;
    transform: translateX(-50%);

    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    border-radius: 6px;
    padding: 0 14px;
    white-space: nowrap;
  }

  .denai-cta i {
    font-size: 13px;
  }

}

@media (max-width:600px){

.stat{

    width:100%;

    border-right:none;

}

.num{

    font-size:56px;

}

.global{

    font-size:42px;

}

.small{

    font-size:22px;

}

.title{

    font-size:20px;

}

}

@media(max-width:576px) {

/* Responsive */

  .mission-section {
    padding: 0 18px;
  }

  .mission-content {
    gap: 16px;
  }

  .mission-line {
    width: 5px;
    height: 250px;
  }

  .mission-label {
    font-size: 14px;
  }

  .mission-text h2 {
    font-size: 23px;
    line-height: 1.55;
  }

  .mission-text p {
    font-size: 14px;
    line-height: 1.9;
  }

  .strength-section {
    padding: 24px 18px 34px;
  }

  .strength-grid {
    grid-template-columns: 1fr;
  }

  .strength-title {
    font-size: 22px;
  }

}

@media (max-width: 520px) {

  .mission-left {
    gap: 15px;
  }

  .mission-blue-line {
    width: 5px;
    height: 250px;
  }

  .mission-tag {
    font-size: 13px;
  }

  .mission-copy h2 {
    font-size: 22px;
  }

  .mission-copy p {
    font-size: 13.5px;
  }

  .industry-strip {
    padding: 18px 18px 24px;
  }

  .industry-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .industry-item svg {
    width: 34px;
    height: 34px;
  }

  .industry-item span {
    font-size: 12px;
  }


}


@media (max-width: 480px) {
  .denai-cta {
    width: 58%;
    max-width: 150px;
    height: 30px;
    bottom: 2.8%;
    font-size: 11px;
    gap: 6px;
    border-radius: 5px;
  }

  .denai-cta i {
    font-size: 11px;
  }
}