/* main */

.main_pic {
  position: relative;
  height: 60vw;
  max-height: 420px;
  min-height: 250px;
  overflow: hidden;
}

.main_pic>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.main_pic::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.main_pic_school .main_copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* 縦中央 */
  text-align: center;
  color: #fff;
}

.main_pic_school h1 {
  font-family: "Montserrat", sans-serif;
  position: static;
  left: auto;
  top: auto;
  transform: none;
  margin: 0 0 8px;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.1;
}

.main_pic_school .main_sub {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}


.access_page {
  background: #fff;
  color: #001F62;
}

/* 見出し */
.access_head {
  padding: 28px 0 0;
}


.section_title,



.access_head .section_title {
  margin: 0;
  padding: 0 30px;
  line-height: 1.1;
  color: #001F62;
}

.access_head .section_sub {
  margin: 6px 0 0;
  padding: 0 30px;
  color: #001F62;
  opacity: .9;
}

/* 住所 */


.access_label {
  margin: 30px;
  font-size: 18px;
  font-weight: 700;
  color: #001F62;
}

.access_post {
  margin-left: 30px;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 700;
  color: #001F62;
  line-height: 1.3;
}



/* 地図 */
.map_wrap {
  margin-top: 14px;
  padding: 0 30px;
  box-sizing: border-box;
}

.map_wrap iframe {
  width: 100%;
  height: 260px;
  border: 0;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: #f3f3f3;
}

/* 注意 */
.access_map {
  margin-top: 20px;
}

.access_map img {
  width: 100%;
  padding: 0 30px;
  display: block;
}

.warning_title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 30px 30px 24px;
  font-size: 20px;
  font-weight: 700;
  color: #001F62;
}

.warning_title img {
  width: 28px;
}

.warning_list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0 30px;
}

.warning_item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.warning_number {
  width: 34px;
  flex-shrink: 0;
}

.warning_text p {
  margin: 0;
  line-height: 1.8;
  font-size: 14px;
  color: #001F62;
  font-weight: 700;
}

.warning_text span {
  color: #e53935;
}

.route_info {
  display: flex;
  justify-content: space-between;
  margin: 30px 25px;
  gap: 5px;
}

.route_item {
  display: flex;
  gap: 4px;
  width: 50%;

}

.route_item img {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.route_title {
  font-weight: 700;
  color: #001F62;
  margin-bottom: 6px;
}

.route_item p {

  font-size: 12px;
  line-height: 1.6;
}

.parking_note {
  padding: 40px 30px 80px;
}

.parking_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  margin: -38px auto 20px;
  width: max-content;
padding: 0 10px;
  background: #fff;

  font-size: 18px;
  font-weight: 700;
  color: #001F62;
}

.parking_title span {
  flex: 1;
  height: 3px;
  background: #000;
  
}

.parking_title img {

  width: 30px;

  height: auto;
}

.parking_box {

  border: 4px solid #000;

  padding: 0 13px 24px;

  position: relative;

  margin-top: 80px;
}

.parking_lead {
  margin-bottom: 26px;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 700;
  color: #001F62;
}

.parking_list {
  margin-top: 20px;
}

.parking_item {

  display: flex;

  align-items: flex-start;

  gap: 5px;

  margin-bottom: 14px;

}

.parking_list li {
  margin-bottom: 18px;
  color: #001F62;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 700;
}

.parking_item:last-child {
  margin-bottom: 0;
}

.parking_no {
  width: 24px;
  flex-shrink: 0;
padding-top: 5px;
  font-size: 14px;
  font-weight: 700;
  color: #001F62;
}

.parking_text {
  flex: 1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: #001F62;
  text-align: left;
}

.parking_text br {
  display: block;
}

/* PC（960px〜）*/


@media screen and (min-width: 960px) {
  .access_page {

    max-width: 1200px;

    margin: 0 auto;

  }

  /*-------------------
 Access
-------------------*/

  .access_head {

    padding: 50px;

  }

  .access_head .section_title,
  .access_head .section_sub {

    padding: 0;

  }

  .access_head {

    display: grid;

    grid-template-columns: 260px 1fr;

    column-gap: 50px;

    row-gap: 25px;

  }

  .access_head .section_title,
  .access_head .section_sub {

    grid-column: 1/-1;

  }

  .access_address {

    align-self: start;

  }

  .access_label {

    margin: 0 0 20px;

  }

  .access_post {

    margin: 0;

    line-height: 2;

  }

  .map_wrap {

    margin: 0;

    padding: 0;

  }

  .map_wrap iframe {

    height: 420px;

  }


  /*-------------------
 Access注意
-------------------*/
.access_content{
    grid-column:1;
    grid-row:2;
}

.access_map{
    grid-column:2;
    grid-row:2;
}
.access_note{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:50px;

    background:#f5f5f5;

    padding:50px;

    margin-top:80px;

    align-items:start;
}

.access_note > .access_label{
    grid-column:1 / -1;
    margin:0;
}

/* 左側 */

.access_content{
    display:flex;
    flex-direction:column;
}

.warning_title{
    display:flex;
    align-items:center;
    gap:8px;

    margin:0 0 25px;
}

.warning_title img{
    width:28px;
}

.warning_list{
    margin:0;
}

.warning_item{
    margin-bottom:20px;
}

.route_info{
    margin:30px 0 0;

    flex-direction:column;

    gap:20px;
}

.route_item{
    width:100%;
}

/* 右側 */

.access_map{
    margin:0;
}

.access_map img{
    width:100%;
    padding:0;
    display:block;
}

  /*-------------------
 parking
-------------------*/


.parking_box{

    max-width:820px;

    margin:70px auto 0;

    padding:30px 40px;

}

.parking_title{

    font-size:22px;

    margin:-48px auto 30px;

}

.parking_lead{

    text-align:left;
    font-size: 20px;

    line-height:2;

    margin-bottom:25px;

}

.parking_item{

    display:flex;

    align-items:flex-start;

    gap:10px;

    margin-bottom:2px;

}

.parking_no{

    width:25px;
    flex-shrink:0;
    padding-top: 10px;
    font-size: 20px;

}

.parking_text{
  font-size: 18px;

    line-height:1.5;
    text-align: left;

}


.parking_lead br{
  display: none;
}

.parking_text br{

    display:none;

}

}