:root {
  --navy: #171c61;
  --accent: #e83828;
  --accent-yellow: #f6b400;
  --text: #222;
  --subtext: #666;
  --line: #e8e8e8;
  --bg: #f7f7f9;
  --white: #ffffff;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  --radius: 20px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  color: #171c61;
  background: var(--white);
  line-height: 1.7;
}
img {
  width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}
.section {
  padding: 80px 60px;
}
.card {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
 .site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.header-inner {
  /*max-width: 1280px;*/
  margin: 0 auto;
  padding: 18px 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-logo {
  height: 42px;
  width: auto;
}

.global-nav {
  display: flex;
  gap: 28px;
  align-items: center;
  
}

.global-nav a {
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
  position: relative;
  text-decoration: none;
}

.global-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: 0.3s;
}

.global-nav a:hover::after {
  width: 100%;
}

    
    /* .logo{
       font-size: 24px;
       font-weight: bold;
       letter-spacing: 2px;
    } */
/* hedder 自分のハンバーガー */
    /* .sp-only {
        display: none;
    }
    .pc-only {
        display: none;
    }

@media (max-width:768px) {
     .sp-only {
        display: block;
     }   
    .logo img {
        height: 40px;
    }
    .hamburger-menu {
        position: relative;
    }
        */
    /* .menu-btn { 
        　　　 position: absolute; 
        position: fixed;
        top: 25px;
        right: 40px;
        height: 35px;
        width: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 5;
    }
    .menu-btn span, .menu-btn span::before, .menu-btn span::after {
        content: "";
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #a6a6a6;
        position: absolute;
    }
    .menu-btn span::before {
        bottom: 10px;
    }
    .menu-btn span::after {
        top: 10px;
    }
    #menu-btn-check:checked + .menu-btn span {
        background-color: rgba(255, 255, 255, 0);
    }
    #menu-btn-check:checked + .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
        transition: 0.3s;
    }
     #menu-btn-check:checked + .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
        transition: 0.3s;
    }
    #menu-btn-check {
        display: none;
    }
    .menu-content {
        width: 40%;
              height: 60%; 
        margin-left: 65%;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 4;
        background-color: #171b5f;
        transition: 0.3s;
            border-radius: 30px; 
    }
    .menu-content ul {
        padding-top: 50px;
    }
    .menu-content ul li {
        list-style: none;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        height: 60px;
        font-size: 20px;
        box-sizing: border-box;
        color: #fafafa;
        text-decoration: none;
        padding: 9px 0px 20px 35px;
    }
    .menu-cotent ul li a:hover {
        background-color: #333;
    }
    #menu-btn-check:checked ~ .menu-content {
        left: 0;
    }
} */

 /* PC用ナビゲーション */
/* @media (min-width:768px) {
    .pc-only {
        display: block;
    }
    .hed1 {
        display: flex;
        justify-content: space-between;
         text-align: center;
    }
    .logo-image {
        height: 40px;
    } */
   
    /* nav {
        display: flex;
        align-items: center;
        height: 40px;
    }
    nav a {
        margin-left: 30px;
        
        text-decoration: none;
        color: #333;
        font-size: 17px;
             font-weight: bolder; 
        transition: 0.3s;
    }   

    nav a:hover {
    color: #888;
    }
} */
/* ハンバーガー前nav */
 /* .nav-menu{
        list-style: none;
        display: flex;
        gap:50px;
        font-weight: bold;
        font-size: 22px;
    }
    .nav-menu li a{
        text-decoration: none;
        color:rgb(0, 0, 0);
        font-weight: bold;  
    
    } */
    /* .navi_con{
        display: none;
    }
    */
    /* hamburger */
#menu-toggle {
  display: none;
}

.hamburger {
  display: none;
  width: 30px;
  height: 22px;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}

.hamburger span {
  display: block;
  height: 3px;
  border-radius: 999px;
  background: var(--navy);
  transition: 0.3s;
}

@media (max-width: 900px) {
  .about-grid,
  .office-grid,
  .mission-cards,
  .today-grid {
    grid-template-columns: 1fr;
  }

  .about-image img {
    max-height: 420px;
  }

  .global-nav {
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 20px 7% 28px;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 10px 20px rgba(0,0,0,0.06);
  }

  .hamburger {
    display: flex;
  }

  #menu-toggle:checked ~ .global-nav {
    display: flex;
  }

  #menu-toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }

  #menu-toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
  }

  #menu-toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }
}

@media (max-width: 768px) {
  .section {
    padding: 72px 5%;
  }

  .header-inner {
    padding: 16px 5%;
  }

  .hero-text {
    font-size: 16px;
  }

  .info-row {
    flex-direction: column;
    gap: 6px;
  }

  .label {
    width: 100%;
  }
}

      /* .morebtn {
  margin-top: 20px;
  padding: 12px 30px;
  border: none;
  background: black;
  color: white;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
} */

    /* @media  (min-width: 961px) {
        .iphone-screen{
        display: none;
    }

        .nav-menu{
        list-style: none;
        display: flex;
        gap:50px;
        font-weight: bold;
        font-size: 22px;
    }
    .nav-menu li a{
        text-decoration: none;
        color:rgb(0, 0, 0);
        font-weight: bold;  
    
    }
    .navi_con{
        display: none;
    }
}  */


 /* under header */
 .hero {
  position: relative;
  min-height: 100vh;
  background:
    linear-gradient(rgba(15, 20, 45, 0.45), rgba(15, 20, 45, 0.35)),
    url("../images/view2.png") center/cover no-repeat;
  display: flex;
  align-items: center;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  margin: 0 auto;
  padding: 0 7%;
  color: #fff;
}
.hero-content a {
  text-decoration: none;
}

.hero-sub {
  display: inline-block;
  margin-bottom: 18px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #fff;
}

.hero h1 {
  margin: 0;
  font-size: clamp(52px, 8vw, 76px);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

.hero-text {
  margin-top: 22px;
  max-width: 680px;
  font-size: 18px;
  color: rgba(255,255,255,0.92);
}
/* .hero {
  height: 400px;
  background: url("view2.png") center/cover no-repeat;
 
} */
 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  margin-top: 24px;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
  transition: 0.3s;
}

.btn-primary {
  background: linear-gradient(90deg, var(--accent), var(--accent-yellow));
  color: #fff;
  box-shadow: 0 8px 18px rgba(239, 74, 47, 0.25);
}

.btn-primary:hover {
  transform: translateY(-2px);
}



 @media  (max-width: 480px) {

        .section {
            padding: 80px 20px;
        }
    }

.section-heading {
  margin-bottom: 40px;
}

.section-heading.center {
  text-align: center;
}

.section-en {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--accent);
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 42px);
  line-height: 1.3;
  color: var(--navy);
}

/* .contain-abo { 
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1500px;
    margin: 0 auto;
    padding: 2rem;
  }
    */

/* ■ About
      タイトル：36px
      本文：16px
*/

    /* About & Office 共用 */

/* about */
.about-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 36px;
  align-items: stretch;
  margin-bottom: 36px;
}

.about-text {
  padding: 28px 32px;
}

.info-list {
  border-top: 1px solid var(--line);
}

.info-row {
  display: flex;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.label {
  width: 130px;
  flex-shrink: 0;
  font-weight: 700;
  color: var(--navy);
}

.value {
  flex: 1;
  color: var(--text);
}

.about-image {
  overflow: hidden;
  min-height: 100%;
}

.about-image img {
  height: 100%;
  object-fit: cover;
}

@media (max-width: 999px) {
  .about-grid {
    /* flex-direction:column; */
    grid-template-columns: 1fr;
  }
}

/*     display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    margin-top: 24px;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 700;
    transition: 0.3s; */

.btn-a a {
  background: linear-gradient(90deg, var(--accent), var(--accent-yellow));
    color: #fff;
    box-shadow: 0 8px 18px rgba(239, 74, 47, 0.25);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    margin-top: 24px;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 700;
    transition: 0.3s;
    border: none;
}

.btn-a:hover {
  transform: translateY(-2px);
  transition: 0.3s;
}
/* @media (max-width: 999px) {
  .about-grid .btn {
    text-align: center;
  }
} */

/* =========================
   Mission Section
========================= */
.mission {
  background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%);
  position: relative;
  overflow: hidden;
}

.mission::before {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -120px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(239,74,47,0.14) 0%, rgba(246,180,0,0.10) 35%, rgba(255,255,255,0) 72%);
  border-radius: 50%;
}

.mission::after {
  content: "";
  position: absolute;
  right: -180px;
  bottom: -180px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(31,42,120,0.06) 0%, rgba(31,42,120,0.03) 42%, rgba(255,255,255,0) 72%);
  border-radius: 50%;
}

.mission-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 2;
}

.mission-left {
  padding-top: 10px;
}

.mission-tag {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.25em;
  color: #ef4a2f;
  margin-bottom: 22px;
}




.mission-copy {
  font-size: 20px;
  color: #666;
  margin-bottom: 70px;
  line-height: 1.8;
}

.mission-about h3 {
  font-size: 28px;
  margin-bottom: 24px;
  color: #1f2a78;
  font-weight: 800;
  position: relative;
  display: inline-block;
}

.mission-about h3::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4a2f, #f6b400);
}

.mission-about p {
  font-size: 20px;
  line-height: 2;
  color: #666;
  margin-top: 26px;
}

.mission-right {
  padding-top: 110px;
}

.mission-list-title {
  font-size: 28px;
  font-weight: 800;
  color: #1f2a78;
  margin: 0 0 38px;
  position: relative;
}

.mission-list-title::after {
  content: "";
  display: block;
  width: 86px;
  height: 4px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4a2f, #f6b400);
}

.mission-item {
  display: block;
  align-items: center;
  gap: 28px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.mission-item:last-child {
  border-bottom: none;
}

.mission-icon {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 800;
  color: #1f2a78;
  flex-shrink: 0;
  border: 1px solid rgba(31,42,120,0.06);
}

.mission-item p {
  margin: 0;
  font-size: 22px;
  color: #666;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

.mission-item p span {
  font-size: 24px;
  font-weight: 800;
  color: #1f2a78;
  letter-spacing: 0.02em;
}

/* 手机和平板 */
@media (max-width: 900px) {
  .mission-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .mission-right {
    padding-top: 0;
  }

  .mission-copy {
    margin-bottom: 40px;
  }
}

@media (max-width: 768px) {
  .mission-title {
    font-size: 56px;
  }

  .mission-copy {
    font-size: 18px;
  }

  .mission-about p {
    font-size: 18px;
  }

  .mission-list-title {
    font-size: 28px;
  }

  .mission-item {
    gap: 18px;
    padding: 20px 0;
  }

  .mission-icon {
    width: 68px;
    height: 68px;
    font-size: 24px;
  }

  .mission-item p {
    font-size: 18px;
  }

  .mission-item p span {
    font-size: 20px;
  }
}



/* .about {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.about h1 {
  font-size: clamp(58px, 8vw, 76px);
  font-size: 36px;
}
.about p {
  font-size: 16px;
}

 @media (max-width:1000px) {
     .image img {
         display: none;  
        }
 } */
/* @media (max-width:1000px) {
    .text{
        flex-direction:column;
    }
} */
/* .list-c dl dd {
     padding: 25px 0px 25px 170px;
     border-bottom: solid 1px #111;
}

dd {
    margin-left: 0;
}

dt, dd{
    line-height: 1;
}
  */
  /* テキストブロック */
  .text {
    flex: 1 1 400px;        /* 最小幅400px、余白を伸縮 */
    max-width: 600px;
  }

  .image {
      flex: 1;
      height: 300px;

      /* background: #371111;
      border-radius: 10px; */
  }

  /* .text-abo h2 {
    font-size: 50px;
    margin-bottom: 50px;
  }
  .text-abo p {
    margin-bottom: 1.5rem;
    margin: 5px;
    line-height: 1.5;
    font-size: 20px;
   
  }
  .text-abo span{
    font-weight: bold;
  } */

  /* .morebtn {
  flex: 1;
  height: 30px;
  border-radius: 10px;
  text-align: left;
  margin-left: 140px; 
} */

/* ■ Mission
      タイトル：72px
      サブタイトル：26px
      小見出し（h2）：34px
      本文：26px
      右側テキスト：28px  */

/* mission */
/* .mission {
    background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%);
    display: flex;
    justify-content: flex-start;
    gap: 50px;
    align-items:flex-start;
    list-style: none;
} */
      /* text-align: center;
         background: #f5f5f5; */


/* .mission2 {
    margin-top: 100px;
}



.mission h4 {
  font-size: 28px;
} */

/* @media (max-width:1000px) {
    text-align: centr;
    これじゃだめ！
} */

/* 段落 */
p {
  font-size: 16px;
  color: #666;
}


/* 按钮 */
button {
    
    background: linear-gradient(90deg, var(--accent), var(--accent-yellow));
    color: #fff;
    box-shadow: 0 8px 18px rgba(239, 74, 47, 0.25);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    margin-top: 24px;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 700;
    transition: 0.3s;
    /* border: none;がボーダーけすやつー */
border: none;
  /* margin-top: 10px;
  padding: 12px 60px;
  border: none;
  backerground: black;
  color: white;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s; */
}

/* button:hover {
  background: #555;
} */
 
 
 
  /* 画像ブロック */
  .image-block {
    flex: 300px;        /* 最小幅300px、余白を伸縮 */
    text-align: center;
  }

  .image-block img {
    max-width: 80%;
    height: auto;
    display: inline-block;
    /*border-radius: 0.5rem;   任意の角丸 */
  }


 /* Interview */
  .interview1 {
    padding: 80px 60px;
  }
  .int {
    margin: 0;
  font-size: clamp(32px, 4vw, 42px);
  line-height: 1.3;
  color: var(--navy);
  }

  .int2 {
    /* margin-top: 50px; */
    /* padding: 30px;  */
    text-align: center;
  }

  .int2 p {
    color: #222;
  }

.contain p {
  margin-bottom: 40px;
}

  .int3{
    text-align: right;
    margin-right: 140px;
     /* display: flex; */
         /* gap:50px; */
  }

   @media  (max-width: 768px) {

        .int2 iframe {
            padding: 0px;
            width: 380px;
            height: 250px;
            /* border-radius: 10px; */
        }
@media  (max-width: 480px) {

        .int2 iframe {
            padding: 0px;
            width: 280px;
            height: 150px;
            /* border-radius: 10px; */
        }
    }
    

     /* .int2 iframe {
        border-radius: 10px;
     } */

   
          /* #interview iframe {
          width: 350px;
          height: 195px;
        } */
    
        /* .sp-only {
            display: block;
        } */
    }
 
    @media (min-width:768px) {
       .sp-only {
        display: none;
       }
    }
     
    

  /* Todays TAALTA */

  .todays-taalta {
    padding: 80px 60px;
    background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%); 
  }
  .todays-taalta h2 {
    /* font-size: 28px;
    text-align: center;
    padding: 60px 0px 0px 0px; */
    margin: 0;
    font-size: clamp(30px, 4vw, 39px);
    line-height: 1.3;
    color: #171c61;
  }
  .todays-taalta p {
  margin-bottom: 40px;
}


  .todaytaalta{
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    list-style: none;
    /* margin: 20; */
    
}
  .todaytaalta img {
    border-radius: 10px;
  }

@media (min-width:999px) {
  .todaytaalta img {
     border-radius: 10px;
     transition: 0.3s;
  }

  .todaytaalta img:hover {
    transform: translateY(-10px);
  }
}



@media (max-width:1000px) {
    .todaytaalta{
        flex-direction:column;
    }

    .todaytaalta img {
            width: 400px;
            height: 400px;
        }

    .todaytaalta p {
        margin-bottom: 50px;
    }  
}
.office {
  padding: 80px 60px;
}
.office h2 {
  margin: 0;
      font-size: clamp(30px, 4vw, 42px);
    line-height: 1.3;
    color: #171c61;
    
}
.office p {
  margin-bottom: 20px;
}

/* Map */
.map-text a {
  text-decoration: none;
}

  .officesec{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-evenly;
    align-items:flex-start;
    gap: 50px;
    margin-bottom: 50px;
}
  .g-map iframe {
    border-radius: 10px;
  }
.map-text {
  color: #222;
}

@media (min-width:999px) {
   
    .map-text{
     margin-top: 60px;
    }
}

@media (max-width:1000px) {
    .officesec{
        flex-direction:column;
        align-items: center;
        gap: 0px;
    }
    .map-text{
        text-align: center;
        }
    .map-text a {
      text-decoration: none;
    }
   .btn-a{
      text-align: center;
        /* justify-content: center; */
        margin-top: 0px;
        min-width: 180px;
    margin-top: 24px;
    padding: 14px 24px;
   }
   .g-map iframe {
            width: 400px;
            height: 300px;
          
        }
}

@media (max-width:450px){
    /* .officesec img{
        max-width: 75%;
    } */
    .map-text iframe{
        max-width: 100%;
    }
   
}

/* .btn-a {
  margin-top: 20px;
  padding: 12px 60px;
  border: none;
  background: black;
  color: white;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
}

.btn-a:hover {
  background: #555;
} */




/* .map-text iframe{ */
    /* width: 410px; */
    /* height: 200px; */
    
/* } */

.map-text p{
    font-size: 20px;
}

  /* .btn-a{
    
    font-size: medium;
    background-color: rgb(0, 0, 0);
    color: white;
    border-radius: 20px;
    padding: 10px 35px;
    transition: background-color, color .5s; 
    scale: 1.5;
    margin-top: 20px;
    margin-left: 50px;
    cursor: pointer;
     
} */



/* Geoup */
/* .groupsec {
   background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%); 
} */
.group{
    padding: 80px 60px;
   background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%);
    
    /* background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%);  */
}


.group-nav {
   
    margin-bottom: 30px;
}

.group-nav h1 {
   /* font-size: 72px; */
   margin: 0;
  font-size: clamp(32px, 4vw, 42px);
  line-height: 1.3;
  color: #171c61;
   
}

.group-jp{
   margin: 0;
  font-size: clamp(32px, 4vw, 42px);
  line-height: 1.3;
  color: var(--navy);
}
@media (min-width:768px) {
    .group-links{
        display: flex;
        /*justify-content: space-between;*/
        /* gap: 10px; */
    }
}

    .left-links,
    .right-links {
        flex: 1; 
    }
    .left-links a {
      text-decoration: none;
    }

.group-links ul{
    list-style: none;
    margin: 0;
    padding: 0 10px 0 0;
}
.group-links a {
    font-weight: bold;
}
.links{
    border-radius: 15px;
    text-decoration: none;
    color: #171c61;
    display: block;
    width: 100%;
    max-width: 600px;
    border: 2px solid #171c61;
    padding: 20px;
    margin: 10px 0;
    
}

.center-links a{
  border-radius: 35px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
  background-color: #171c61;
  display: block;
  width: 100%;
  max-width: 500px;
  border: 2px solid #171c61;
  padding: 20px;
  margin: 10px 0;
  justify-self: center;
  text-align: center;
}

.center-links a:hover{
    background-color: #fbeded;
    color: #171c61
    /* color: #e83828; */
}

.center-links{

  list-style: none;

}

.links:hover{
    background-color: #fbeded;
    /* color: #e83828; */
}

/* =========================
   Group
========================= */

.group {
    padding: 80px 60px;
    background: linear-gradient(135deg, #f7f7f7 0%, #f3f3f3 100%);
}

/* Group Title */
.group-nav {
    margin-bottom: 30px;
}

.group-jp {
    margin: 0;
    font-size: clamp(32px, 4vw, 42px);
    line-height: 1.3;
    color: var(--navy);
}

/* Group Links */
.group-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.left-links,
.right-links {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Link Button */
.links {
    border-radius: 15px;
    text-decoration: none;
    color: #171c61;
    display: block;
    width: 100%;
    max-width: none;
    border: 2px solid #171c61;
    padding: 20px;
    margin: 10px 0;
    font-weight: bold;
    text-align: left;
}

.links:hover {
    background-color: #fbeded;
}

/* Center Link */
.center-links {
    list-style: none;
    max-width: 500px;
    margin: 20px auto 0;
    padding: 0;
}

.center-links a {
    border-radius: 35px;
    font-weight: bold;
    text-decoration: none;
    color: #ffffff;
    background-color: #171c61;
    display: block;
    width: 100%;
    border: 2px solid #171c61;
    padding: 20px;
    text-align: center;
}

.center-links a:hover {
    background-color: #fbeded;
    color: #171c61;
}


/* =========================
   Mobile
========================= */

@media (max-width: 767px) {

    .group {
        padding: 60px 20px;
    }

    .group-links {
        display: block;
    }

    .left-links,
    .right-links {
        width: 100%;
    }

    .links {
        max-width: none;
    }

    .center-links {
        width: 100%;
    }
}

/* footer */
.footer-text-center{
    /* background-image: url(footerimg.jpeg); */
    background-color: #171c61;
    background-size: cover;
    background-position: bottom 300px;
    /* background-color: #0ef052;  */
    display: block;
    color: #ffffff;
    text-align: center;
    padding: 20px 50px;

}

/* .group-jp {
  font-size: 36px;
  margin-bottom: 20px;
  font-weight: 600;  
}
 */

@media (max-width: 768px) {
  .section {
    padding: 72px 5%;
  }

  .header-inner {
    padding: 16px 5%;
  }

  .hero-text {
    font-size: 16px;
  }

  .info-row {
    flex-direction: column;
    gap: 6px;
  }

  .label {
    width: 100%;
  }
}
.main-title {
  margin: 0 0 8px;
  font-size: clamp(48px, 6vw, 72px); /* 主标题更大 */
  font-weight: 800;
  color: #171c61;
  letter-spacing: 0.05em;
}

.sub-title {
  margin: 0;
  font-size: 18px; /* 副标题更小 */
  color: var(--subtext);
}.sub-title {
  margin: 0;
  font-size: 23px;
  color: var(--accent); /* ← 改这里 */
}
.mission-icon {
  display: none;
}    