




/*ここからブロック*/
.block1-w{
width:100%;
padding: 90px 0 90px;
}
.block1{
width:1000px;
max-width:90%;
padding:30px 0;
margin:0 auto;
}
.block1-i{

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

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

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

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

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


.sub-title{
height:230px;
background-image:url(../image/sub1.jpg);
background-size:cover;
margin-top:116px;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.ap1{
width:1000px;
margin:0 auto;
max-width:90%;
}

/* H1：ページタイトル（p → h1 に変更） */
.ap2{
margin: 0 0 30px;
color:#fff;
font-size:2rem;
letter-spacing:5px;
font-weight:400;
padding-bottom:30px;
border-bottom:solid 5px #004ab7;
}

.ap3{
font-size:1.5rem;
letter-spacing:3px;
font-weight:600;
color:#0049a7;
text-align:center;
margin-bottom:60px;
}

/* H2：セクション見出し（p → h2 に変更） */
.ap3a{
margin: 0 0 30px;
font-size:1.5rem;
letter-spacing:3px;
font-weight:600;
color:#0049a7;
text-align:center;
}

.ap4{
text-align:center;
line-height:1.7;
font-weight:500;
}


 /* ========== サイトマップ ========== */
  .sitemap {
    width: 1000px;
    max-width: 90%;
    margin: 0 auto;
    padding: 100px 0;
  }

  /* ---- トップページ：青い横長カード ---- */
  .sm-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    padding: 34px 44px;
    border-radius: 16px;
    background: #0a4bb4;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    transition: background 0.25s;
  }
  .sm-top:hover { background: #083d94; }

  /* 背景の大きな円（装飾） */
  .sm-top::before {
    content: "";
    position: absolute;
    right: -60px;
    top: -120px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
  }

  .sm-top .sm-en {
    color: #aac4f0;
  }
  .sm-top .sm-name {
    font-size: 24px;
  }

  /* ---- 下層ページ：3列のカード（flex） ---- */
  .sm-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .sm-list li {
    width: calc((100% - 60px) / 3);
  }

  .sm-card {
    position: relative;
    display: block;
    height: 100%;
    padding: 30px 30px 34px;
    border: 1px solid #d5dcf0;
    border-radius: 16px;
    background: #fff;
    color: #222;
    text-decoration: none;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
  }
  .sm-card:hover {
    border-color: #0a4bb4;
    box-shadow: 0 10px 24px rgba(10, 75, 180, 0.12);
    transform: translateY(-3px);
  }

  /* 英語の小見出し */
  .sm-en {
    display: block;
    margin-bottom: 6px;
    color: #0a4bb4;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.15em;
  }

  /* ページ名 */
  .sm-name {
    display: block;
    font-size: 19px;
    font-weight: bold;
    letter-spacing: 0.08em;
  }

  /* ページ内容の説明 */
  .sm-desc {
    display: block;
    margin-top: 16px;
    padding-top: 16px;
    padding-right: 40px;
    border-top: 1px solid #e5e9f5;
    color: #666;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }

  /* 右下の丸い矢印 */
  .sm-arrow {
    position: absolute;
    right: 24px;
    bottom: 26px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dae0ff;
    transition: background 0.25s;
  }
  .sm-arrow::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 12px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #0a4bb4;
    border-right: 2px solid #0a4bb4;
    transform: rotate(45deg);
    transition: border-color 0.25s;
  }
  .sm-card:hover .sm-arrow { background: #0a4bb4; }
  .sm-card:hover .sm-arrow::after { border-color: #fff; }

  /* トップページの矢印は白地に青 */
  .sm-top .sm-arrow {
    position: relative;
    right: auto;
    bottom: auto;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: #fff;
  }
  .sm-top .sm-arrow::after {
    left: 16px;
    top: 17px;
    width: 9px;
    height: 9px;
  }


/* 画面幅1024以下 PC*/
@media screen and (max-width: 1024px) {
.sm-list li { width: calc((100% - 30px) / 2); }
}


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

    .sitemap { padding: 60px 0; }

    .sm-top {
      margin-bottom: 16px;
      padding: 24px 22px;
    }
    .sm-top .sm-name { font-size: 20px; }

    .sm-list { gap: 16px; }
    .sm-list li { width: 100%; }

    .sm-card { padding: 22px 22px 24px; }
    .sm-name { font-size: 17px; }
    .sm-desc { font-size: 12px; }
    .sm-arrow {
      right: 18px;
      bottom: 20px;
    }

}

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



}
