

/*ここからブロック*/
.block1-w{
width:100%;
padding: 116px 0 0;
}
.block1{
width:1000px;
max-width:98%;
padding:30px 0;
margin:0 auto;
}
.block1-i{
min-height:300px;
background-color:#fff;
}
/*ここまでブロック*/

/*ここからブロック*/
.block2-w{
width:100%;
padding:30px 0;
}
.block2{
width:1000px;
max-width:98%;
padding:30px 0;
margin:0 auto;
}
.block2-i{
min-height:300px;
background-color:#fff;
}
/*ここまでブロック*/

/*ここからブロック*/
.block3-w{
width:100%;
background-color:#e1e1e1;
padding:30px 0;
}
.block3{
width:1000px;
max-width:98%;
padding:30px 0;
margin:0 auto;
}
.block3-i{

}
/*ここまでブロック*/

/*ここからブロック*/
.block4-w{
width:100%;
background-color:#dae1ff;
padding:80px 0 30px;
}
.block4{
width:1000px;
max-width:90%;
padding:30px 0;
margin:0 auto;
}
.block4-i{
min-height:300px;
background-color:#fff;
border-radius:10px;
padding:30px 100px;
}
/*ここまでブロック*/

/*ここからブロック*/
.block5-w{
width:100%;
background-color:#f7e8ff;
padding:30px 0;
}
.block5{
width:1000px;
max-width:98%;
padding:30px 0;
margin:0 auto;
}
.block5-i{
min-height:300px;
background-color:#fff;
}
/*ここまでブロック*/

.fbox0{
display:none;
}



/*ここからメインスライド*/

    :root {
    --red: #cc0000;
    --fade: 1.5s;
    --blue: #0a4bb8;
    --text: #222;
  }

  /* ========== メインビジュアル ========== */
  .mv {
    position: relative;
    width: 100%;
    aspect-ratio: 1200 / 492;
    overflow: hidden;
    background: #1e7fd8;
  }

  /* ---- スライド（3枚を重ねてフェードで切り替え） ---- */
  .mv-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity var(--fade) ease;
  }
  .mv-slide.is-active { opacity: 1; }

  /* ---- 固定表示：H1 メインコピー ---- */
  .mv-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(500px, 86%);
    margin: 0;
    z-index: 2;
    color: #fff;
    text-align: center;
    font-size: clamp(22px, 3.6vw, 44px);
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: 0.12em;
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
  }
  .mv-copy span { display: inline-block; }

  /* ---- 固定表示：右下の赤枠 ---- */
  .mv-note {
    position: absolute;
    right: 9%;
    bottom: 6%;
    z-index: 2;
    margin: 0;
    padding: 22px 26px;
    background: var(--red);
    color: #fff;
    font-size: clamp(11px, 1.2vw, 14px);
    font-weight: bold;
    line-height: 2.2;
    letter-spacing: 0.1em;
    text-align: right;
  }
/*ここまでメインスライド*/



/*ここからblock2-wコンテンツ*/

/* ========== セクション全体 ========== */
  .service {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px 60px;
    text-align: center;
  }

  .service-lead {
    margin: 0 0 70px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.04em;
  }

  /* H2：事業セクション見出し */
  .service-title {
    margin: 0 0 80px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  
  /* H2：NEWSセクション見出し */
  .service-title2 {
    margin: 0 0 30px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align:center;
  }

  /* ========== 横4列（flex） ========== */
  .service-list {
    display: flex;
    justify-content: space-between;
    margin: 0 0 80px;
    padding: 0;
    list-style: none;
    flex-wrap: wrap; 
  }

  .service-item {
    width: 185px;
  }

  /* 丸型の画像 */
  .service-img {
    display: block;
    width: 185px;
    height: 185px;
    margin: 0 auto;
    border-radius: 50%;
    object-fit: cover;
    background: #e5e5e5;
  }

  /* H3：各サービス名（p → h3 に変更。高さ固定で行数違いを吸収） */
  .service-name {
    height: calc(1.5em * 3);
    margin: 22px 0 28px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  /* もっとくわしくボタン */
  .service-btn {
    display: block;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    background: var(--blue);
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.15em;
    text-decoration: none;
    transition: opacity 0.2s;
  }
  .service-btn:hover { opacity: 0.8; }

  /* 事業内容ボタン（白地・青枠） */
  .service-more {
    display: inline-block;
    width: 248px;
    height: 40px;
    line-height: 37px;
    border-radius: 20px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
background: var(--blue);
  }
  .service-more:hover {
    background:#5a89d8;

  }
/*ここまでblock2-wコンテンツ*/


/* ========== block3：会社紹介・採用情報 ========== */

.ibox1{
display: flex;
justify-content:space-between;
flex-wrap: wrap; 
margin:0 auto;
padding:40px 20px;
}

.ibox1-1, .ibox1-2{
width:47%;
}

/* ▼ H2：block3 内セクション見出し（新規追加） */
.ibox-title {
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #2a8be0;
  color: #333;
}

.ip1{
padding-top:30px;
line-height:1.7;
}


/* ========== block4：NEWS ========== */

.topics-wrap {
max-width: 100%;
margin: 0 auto;
}

.topics-heading {
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--accent);
margin: 0 0 20px;
font-size:1rem;
text-align:center;
}

.topics-list {
background: #fff;
border-radius: 8px;
overflow: hidden;
}

.topics-item {
display: flex;
align-items: baseline;
gap: 16px;
padding: 8px 24px;
text-decoration: none;
color: inherit;
}

.topics-item:last-child {
border-bottom: none;
}

.topics-item:hover {
background: #f5f5f3;
}

.topics-date {
flex: 0 0 110px;
font-size: 1rem;
font-variant-numeric: tabular-nums;
color: #7a7870;
white-space: nowrap;
}

.topics-title {
flex: 1;
font-size: 1rem;
line-height: 1.5;
min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topics-item:hover .topics-title {
color: #5a89d8;
}

.mv-copy span {
  filter: drop-shadow(2px 2px 5px rgba(19, 19, 19, 0.45));
}

.topics-heading a {
  display: block;
  padding: 8px;
  background-color: var(--blue);
  color: #fff;
border-radius: 30px;
}

.topics-heading a:hover {
background-color: #5a89d8;
}







/* 画面幅1024以下 PC*/
@media screen and (max-width: 1024px) {

}


/* 画面幅768px以下 タブレット*/
@media screen and (max-width: 768px) {

    .mv { aspect-ratio: auto; height: 420px; }
    .mv-copy { top: 50%; }
    .mv-note {
      right: 12px;
      bottom: 12px;
      padding: 12px 14px;
      line-height: 1.9;
    }

.block1-w {
padding: 55px 0 0;
}

.service-item {
  width: 48%;
  margin-bottom:50px;
}

.service-img {
  width: 100%;
  height: auto;
}

.ibox1{
flex-direction:column;
}

.ibox1-1, .ibox1-2 {
  width: 100%;
}

.ibox1-1{
margin-bottom:50px;
}

.block4-i {
  padding: 30px 5%;
}

/* ▼ SP時：ibox-title の余白調整 */
.ibox-title {
  font-size: 1rem;
}

}

/* 画面幅375px以下　モバイル*/
@media screen and (max-width: 375px) {

}
