#mainv {
  position: relative;
  /* min-width: 1000px; */
  width: 100%;
  background-size: cover !important;
  /* background-attachment: fixed !important; */
  /* ← これがパララックスの基本 */
}

#mainv .inner {
  margin: 0 auto;
  display: table;
  height: 230px;
}

#mainv .title {
  position: relative;
  z-index: 2;
  display: table-cell;
  vertical-align: middle;
  text-align: center
}

#mainv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(115deg, #0a1a2e, #386b94) !important;
  opacity: 0.6;
  z-index: 2;
  pointer-events: none;
}

#sub-dirconents {
  justify-content: center;
  display: flex;
  gap: 2%;
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 80px;
  padding: 60px 20px 80px;
  max-width: 1200px;
  zoom: 1
}

#sub-dirconents #main-content {
  width:100%;
}
#sub-dirconents .message-main-content {
  width: 80% !important; 
}
#sub-dirconents .message-main-content .top-pic img {
 width: 100%;
 border-radius: 15px;
 height: 300px;
 object-fit: cover;
}

#sub-dirconents #main-content2 {}

#sub-dirconents .leading-Box {
  margin-bottom: 50px;
}

#sub-dirconents .leading-Box .leading-text {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 20px;
}

#sub-dirconents #sidebar {
  max-width: 250px;
  width: 100%;
  border-radius: 10px;
  background-color: #f5f5f5;
  position: -webkit-sticky;
  /* Safari対応 */
  position: sticky;
  top: 90px;
  /* 0だと画面にピッタリすぎて窮屈なので、少し余裕を持たせるのが今風 */
  align-self: flex-start;
}

#sub-dirconents #sidebar .sidebar-list {
  padding: 20px;
}

#sub-dirconents #sidebar .sidebar-list-heading .en {
  font-weight: bold;
  color: #1569a8;
  display: block
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list li:first-child a {
  border-top: 1px solid #e2e2e2
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list a {
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  display: block;
  border-bottom: 1px solid #e2e2e2;
  color: #333;
  font-size: 1.3rem;
  padding: 14px 0;
  position: relative;
  padding-left: 5px
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list a.active,
#sub-dirconents #sidebar .sidebar-list-contents .nav-list a:hover {
  color: #1569a8;
  text-decoration: none
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list a.active:before,
#sub-dirconents #sidebar .sidebar-list-contents .nav-list a:hover:before {
  border-color: #1569a8
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list a.active {
  font-weight: bold
}

#sub-dirconents #sidebar .sidebar-list-contents .nav-list a:before {
  transition: all .3s ease;
  position: absolute;
  content: "";
  display: inline-block;
  right: 5px;
  bottom: 20px;
  margin-left: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #e2e2e2;
  border-right: 1px solid #e2e2e2;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

#sub-dirconents #sidebar .side-banner {
  margin-top: 40px
}

#sub-dirconents #sidebar .side-banner span {
  display: block;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 5px
}

#sub-dirconents #sidebar .side-banner .banner-pat1 {
  display: block;
  color: #333
}

#sub-dirconents #sidebar .side-banner .banner-pat1:hover {
  opacity: 0.7
}

#sub-dirconents #sidebar .side-banner .banner-pat1 .img {
  box-sizing: border-box;
  border: 1px solid #e2e2e2;
  padding: 16px 0;
  background: #fff;
  text-align: center
}

#sub-dirconents #sidebar .side-banner .banner-pat1 img {
  vertical-align: bottom
}

@media screen and (max-width: 890px) {
  #mainv {
    min-width: auto;
    padding-top: 35.67708%;
    background-size: auto;
    width: 100%;
    background-size: cover;
    box-sizing: border-box;
    position: relative
  }

  #mainv .inner {
    width: 90%;
    display: block;
    min-height: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 2;
    height: auto;
  }

  #mainv .title {
    display: block
  }

  #sub-dirconents {
    width: auto;
    flex-direction: column;
    gap: 40px;
  }
#sub-dirconents .message-main-content {
  width: 100% !important; 
}
  #sub-dirconents #main-content {
    width: 100%;
  }

  #sub-dirconents #main-content2 {
    width: auto;
    flex-direction: column;
    gap: 30px;
  }

  #sub-dirconents .leading-Box .leading-text {
    font-size: 2rem
  }

  #sub-dirconents #sidebar {
    width: 100%;
    font-weight: bold;
    max-width: 500px;
    margin: 0 auto;
    border: 2px solid #e2e2e2
  }

  #sub-dirconents #sidebar .sidebar-list-contents .nav-list a {
    padding-left: 15px
  }

  #sub-dirconents #sidebar .sidebar-list-contents .nav-list a:before {
    right: 15px
  }

  #sub-dirconents #sidebar .sidebar-list-contents .nav-list li:last-child a {
    border-bottom: none
  }

  #sub-dirconents #sidebar .side-banner {
    display: none
  }
}