/*メイン画像
-------------------------------------*/
.mainimg {
  position: relative;
  width: 100%;
}

.mainimg img {
  width: 100%;
  height: auto;
  display: block;
}

.mainimg-text {
  position: absolute;
  top: 50%;
  right: 20%;
  transform: translateY(-50%);
  color: #fff;
  text-align: center;
  z-index: 2;
  width: 80%; 
  max-width: 600px;
}

.mainimg-text h2 {
  font-size: clamp(1.4rem, 3.5vw, 3.2rem);
  margin-bottom: 10px;
  font-weight: bold;
}

.mainimg-text p {
  font-size: clamp(1.2rem, 4vw, 1.8rem);
}

.mainimg-text p.jp {
 font-size: clamp(0.8rem, 2.2vw, 1.6rem);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .mainimg-text {
    right: 50%;
    transform: translate(50%, -50%);
    text-align: center;
    width: 90%;
  }
}

/* タイトル */
.title {
    text-align: center;
}

.title h2 {
    padding-bottom: 1rem;
}

.under {
    border-bottom: 0.4rem solid var(--base-color);
    padding: 0 1rem 1rem 1rem;
}

.center {
    text-align: center;
    margin-bottom: 4rem;
}


/*お知らせ
-------------------------------------*/
.news h2 {
    border-bottom: 3px solid var(--base-color);
	padding-bottom: 0.5rem;
}
.news li {
    list-style-type: none;
	border-bottom: 1px solid var(--border-color);
	padding: 0.5rem 0;
}
/* カテゴリのスタイル */
.news-list .item .category {
    margin: 0;
    min-width: 140px;
    padding: 0 20px 0 0; 
}

/* カテゴリのラベル */
.news-list .item .category span {
    display: inline-block;
  font-size: 12px;
  color: #004c97;
  background: #e6f0fa;
  padding: 2px 6px;
  border-radius: 3px;
  margin-bottom: 4px;
 }

/* 日付のスタイル */
.news-list .item .date {
    font-size: 0.9em;
    color: #808080;
    margin: 0 0 4px;
  }

/* リンクのスタイル */
.news-list .item a {
    display: block; 
    text-decoration: none; 
    margin-top: 5px; 
}

/* リンクのホバー時のスタイル */
.news-list .item a:hover {
    text-decoration: underline; 
    color:  #160a57; 
}

/* バナー */
.banner {
 width: 90%;
 height: auto;
}


/* メンバー紹介 */
.row {
    margin-bottom: 2.0rem;
}

.member-name {
    font-size: 2.0rem;
    color: #160a57;
    font-weight: bold;
    white-space: nowrap;
}

.member-name a:hover{
    text-decoration: underline; 
    color:  #160a57; 
}

.member-link {
    display: inline-block;
    width: 200px;
    margin-bottom: 0.3rem;
}

.member-photo {
    max-width: 180px;
    width: 100%;
    height: auto;
}

.group-photo {
    max-width: 60%;
    width: 100%;
    height: auto;
    display: block;
    margin-left: 100px; 
}

.group-caption {
    text-align: left;
    margin-left: 100px; 
}


/* 業務紹介 */
.service-title{
    font-size: 2.4rem;
    color: #160a57;
    font-weight: bold;
}

.service-title a:hover{
    text-decoration: underline; 
    color:  #160a57; 
}

/* 詳細リンク */
.more-link {
    color: #4d4498
}

.more-link a:hover{
    text-decoration: underline; 
    color:  #4d4498; 
}