/* 2026-11-01 高校GK35・大学GK30・私立GK31・専門GK31。
   地図はスマホで縦揃え。指定4校は全端末で高さを調整する。 */
@media screen and (max-width: 599px) {
  .school-flow.school-address-list .guide-prow {
    padding-top: 3px;
    padding-bottom: var(--school-row-bottom, 4px);
  }
  .school-flow.school-address-list .guide-prow .gp-ph {
    margin-bottom: 0;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dt {
    padding: 0;
    line-height: 1.4;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child {
    display: inline-block;
    max-width: calc(62% - 10px);
    min-height: 48px;
    padding: 0;
    margin: calc(-1 * var(--school-title-rise, 0px)) 0 var(--school-title-gap, 22px);
    vertical-align: top;
  }
  /* 名称の文字を写真上端に合わせ、48pxの押し領域の余白は上側に置く。 */
  .school-flow.school-address-list .guide-prow[data-school-flow-ready] dl.guide-list dt > a:first-child {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child > .school-name-text {
    display: block;
    min-width: 0;
    max-width: 100%;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child .gl-w {
    display: inline;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child .school-map-label-wide,
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child .highschool-map-title-label {
    display: none;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .gl-part.gl-postal {
    white-space: nowrap;
    margin-right: 0;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .gl-part a.school-map-mobile {
    display: inline;
    float: none;
    position: relative;
    padding: var(--school-map-before, 14px) 0 var(--school-map-after, 14px);
    margin: 0 0 0 8px;
    vertical-align: baseline;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .gl-address,
  .school-flow.school-address-list .guide-prow dl.guide-list dd .gl-address .gl-w,
  .school-flow.school-address-list .guide-prow dl.guide-list .highschool-contact-line {
    display: inline !important;
    white-space: normal !important;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-phone::before,
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic-start::before {
    content: "\A";
    white-space: pre;
  }
  .school-flow.school-address-list .guide-prow[data-school-flow-ready] dl.guide-list dd .school-traffic-start::before {
    content: none;
  }
  /* 電話と公式リンクは写真の下から左揃え。収まらない公式リンクは塊で次行へ。 */
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    row-gap: calc(56.05px - 1.4em);
    clear: both;
    margin: 0;
    padding-top: var(--school-contact-gap, 0px);
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-phone,
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-links {
    display: inline-block !important;
    margin: 0;
    white-space: nowrap;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-phone::before,
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-links::before {
    content: none !important;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-phone a,
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-links a {
    /* GK35/GK30/GK31：押し領域の余白を文字の上へ移し、行の下側を詰める。 */
    display: inline;
    box-sizing: border-box;
    min-height: 48px;
    padding: 27px 0 0;
    margin: 0;
    vertical-align: baseline;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-contact-row .school-links a + a {
    margin-left: 8px;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic-row {
    display: block;
    clear: both;
    margin-top: var(--school-traffic-gap, 4px);
    line-height: var(--school-traffic-line, 1.4);
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic {
    display: inline;
    margin-right: 0;
  }
  /* 交通も48pxの押し領域内で下揃え。次の学校までの見える余白を減らす。 */
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic a {
    box-sizing: border-box;
    padding: calc(48px - 1.4em) 0 0;
  }
  .school-flow.school-address-list .guide-prow[data-school-traffic-compact] dl.guide-list dd .school-traffic a {
    display: inline;
    white-space: nowrap;
    padding: 27px 0 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic-row .school-traffic > a:first-child {
    margin-left: 0;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic br {
    display: none;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-traffic .school-route-cut[data-break="yes"] {
    display: inline;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-links {
    display: inline-block;
    white-space: nowrap;
    margin-right: 0;
    max-width: 100%;
  }
  .school-flow.school-address-list .guide-prow dl.guide-list dd .school-links a {
    white-space: nowrap;
  }

}
@media screen and (max-width: 359px) {
  .school-flow.school-address-list .guide-prow dl.guide-list dt > a:first-child {
    max-width: calc(66% - 8px);
  }
}
/* 指定4校は写真上端から始め、交通の続きに公式リンクを置く。 */
@media screen and (min-width: 600px) {
  .school-flow .school-compact dl.guide-list {
    align-self: start;
    line-height: 1.4;
  }
  .school-flow .school-compact dl.guide-list dt {
    padding: 0;
  }
  .school-flow .school-compact dl.guide-list dt a {
    display: inline-block;
    min-height: 48px;
    padding: 0;
    vertical-align: middle;
  }
  .school-flow .school-compact dl.guide-list dt a + a { margin-left: 8px; }
  .school-flow .school-compact dl.guide-list dd .gl-part a {
    display: inline-block;
    min-height: 48px;
    padding: 0;
    margin-top: 4px;
    margin-bottom: 4px;
    vertical-align: baseline;
  }
  .school-flow .school-compact dl.guide-list dd .school-phone {
    display: block;
    min-height: 0;
  }
  .school-flow .school-compact dl.guide-list dd .school-traffic {
    display: inline;
    min-height: 0;
    margin-right: 0;
  }
  .school-flow .school-compact dl.guide-list dd .school-links {
    display: inline-block;
    margin: 0 0 0 8px;
    white-space: nowrap;
  }
}
/* 狭いタブレットは写真の実高まで横に置き、残りを写真下へ回す。 */
@media screen and (min-width: 600px) and (max-width: 1023px) {
  .school-flow .school-compact { display: block; }
  .school-flow .school-compact::after {
    content: "";
    display: block;
    clear: both;
  }
  .school-flow .school-compact .gp-ph {
    float: left;
    width: 40%;
    margin: 0 16px 0 0;
  }
  .school-flow .school-compact dl.guide-list dt > a:first-child {
    max-width: calc(60% - 16px);
  }
  .school-flow .school-compact dl.guide-list dd .gl-address,
  .school-flow .school-compact dl.guide-list dd .gl-address .gl-w {
    display: inline;
    white-space: normal;
  }
}
