.sub-page { padding-top: 180px; }
.facility-nav { flex-wrap: wrap; height: auto; padding: 1rem 2rem; }
.facility-nav button { margin-top: 3px; margin-bottom: 3px; }
.ad-list__process { flex-wrap: wrap; justify-content: center; }

@media all and (max-width: 1024px) {
 .sub-page { padding-top: 8rem; }
 .page-tit { font-size: 3rem; }

 .intro-lnb { margin-top: 2rem; margin-bottom: 2rem; }
 .intro-top > h2 { font-size: 2.5rem; }
 .intro-top .intro-top__txt h3 { font-size: 2rem; }
 .intro-top .intro-top__txt p { font-size: 1.25rem; }
 .intro-top .intro-top__boss span { font-size: 1.75rem; }

 .location-map iframe { height: 350px; }
 .location-info > h2 { font-size: 2.5rem; }

 .facility-imgs__thumb .item { margin: 0 0.25rem; }
 .facility-nav button span { font-size: 1rem; }
 .facility-nav button:not(:last-child) { margin-right: 50px; }

 .program-list { grid-template-columns: repeat(2, 1fr); }

 .board-list > a { flex-direction: column; align-items: flex-start; padding-right: 100px; padding-left: 120px; position: relative; }
 .board-list .board-list__tit { width: 100%; line-height: 1.4em; height: 2.8em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: break-all; white-space: normal; }
 .board-list .board-list__date { text-align: left; width: 100%; margin-top: 1rem; }
 .board-list .board-list__num { position: absolute; height: 100%; left: 0; top: 0px; display: flex; align-items: center; justify-content: center; }

 .ad-list > li { padding: 3rem 0; }
 .ad-list > li > h2 { font-size: 2.5rem; }
 .ad-list__target { grid-gap: 0 1rem; }
 .ad-list__target p { margin-top: 0.75rem; font-size: 1.2rem; line-height: 1.4em; }
 .ad-list__target p span { font-size: 0.9em; }
 .ad-list__document > div { font-size: 1.25rem; }
 .ad-list__process > div { margin-bottom: 2rem; }
 .ad-list__process > div span > h4 { font-size: 1.25rem; }
 .ad-list__process > div span > p { font-size: 1rem; margin-top: 0.5rem; }
 }

@media all and (max-width: 768px) {
 .facility-imgs__info { height: 120px; }
 .facility-imgs__info h6 { font-size: 0.8rem; padding-bottom: 0.5rem; }
 .facility-imgs__info h3 { margin-top: 0; font-size: 1.75rem; }

 .board-list > a { padding: 20px 80px 20px 100px; background-position: calc(100% - 20px); }
 .board-list .board-list__tit { font-size: 1.25rem; }
 .board-list .board-list__date { margin-top: 0.8rem; }

 .ad-list__target { grid-template-columns: 1fr; }
 .ad-list__target > div { display: flex; align-items: center; }
 .ad-list__target > div:not(:last-child) { margin-bottom: 1.5rem; }
 .ad-list__target img { width: 45%; }
 .ad-list__target p { flex: 1; font-size: 1.5rem; }
 .ad-list__document { grid-gap: 1rem 1rem; }
 .ad-list__document > div span { display: block; margin-left: 0; }
 .ad-list__process > div span > h4 { font-size: 1.25rem; }
 .ad-list__process > div span > p { font-size: 1rem; }
 }

@media all and (max-width: 640px) {
 .sub-page { padding-bottom: 5rem; }
 .page-tit { font-size: 2.5rem; }
 .intro-top { margin-bottom: 3rem; }
 .intro-lnb > a { font-size: 1.25rem; height: 50px; }
 .intro-top > h2 { font-size: 2.25rem; }
 .intro-top .intro-top__txt h3 { font-size: 1.75rem; }
 .intro-top .intro-top__txt p { margin-top: 1.25rem; }
 .intro-img img { height: 55vw; object-fit: cover; width: 100%; }

 .location-info { margin-top: 2rem; }
 .location-info > h2 { font-size: 2rem; }
 .location-info .location-info__list { margin-top: 1rem; }
 .location-info .location-info__list > li { flex-direction: column; padding: 1rem 0; }
 .location-info .location-info__header { width: 100%; margin-bottom: 0.5rem; font-size: 1.25rem; }
 .location-info .location-info__data { font-size: 1.25rem; }
 .location-info img { width: 18px; }

 .location-map iframe { height: 250px; }

 .facility-nav { margin-top: 2.5rem; margin-bottom: 2rem; }
 .facility-nav button { display: flex; flex-direction: column; text-align: center; }
 .facility-nav button span { margin-left: 0; margin-top: 0.25rem; }
 .facility-nav button:not(:last-child) { margin-right: 40px; }
 .facility-nav button:not(:last-child)::before { right: -20px; }
 .facility-imgs__main { margin-bottom: 1.5rem; }
 .facility-imgs__main .item:not(:last-child) { margin-bottom: 1rem; }
 .facility-imgs__thumb .item { border-radius: 0.25rem; }
 .facility-imgs__thumb .item.slick-current::before { border-width: 2px; width: calc(100% - 4px); height: calc(100% - 4px); border-radius: 0.25rem; }
 .facility-imgs__info { padding-top: 2rem; height: 100px; }
 .facility-imgs__info h6 { font-size: 0.9rem; }
 .facility-imgs__info h3 { font-size: 1.5rem; }
 .facility-imgs__main .slick-prev,
 .facility-imgs__main .slick-next { width: 35px; height: 35px; background-size: 12px; }

 .program-list { grid-template-columns: 1fr; grid-gap: 3rem 0; margin-top: 2rem; }
 .program-list > li > img { width: 100%; }
 .program-list > li > h2 { font-size: 2rem; margin-top: 1.25rem; margin-bottom: 1rem; }
 .program-list > li p { font-size: 1.25rem; padding-left: 10px; }
 .program-list > li p::before { top: 7px; }

 .board-list > a { padding: 1rem 4rem 1rem 1rem; background-size: 20px; background-position: calc(100% - 1rem); }
 .board-list .board-list__num { position: static; text-align: left; display: block; margin-bottom: 0.5rem; font-size: 1.2rem; }
 .board-list .board-list__num img { margin-left: 0; width: 20px; }
 .board-pager { margin-top: 2.5rem; }

 .board-lnb { margin-top: 2rem; margin-bottom: 2rem; }
 .board-lnb > a { font-size: 1.5rem; }
 .board-lnb > a:not(:last-child) { margin-right: 1rem; }
 .board-top { flex-direction: column; margin-bottom: 2.5rem; }
 .board-search { width: 100%; }
 .board-search input { width: 250px; height: 3.5rem; font-size: 1.25rem; }

 .board-pager > a { width: 35px; height: 35px; font-size: 1.25rem; }

 .ad-list > li > h2 { font-size: 2rem; }
 .ad-list__target > div { flex-direction: column; }
 .ad-list__target img { width: 100%; }
 .ad-list__target p { width: 100%; }
 .ad-list__target > div:not(:last-child) { margin-bottom: 2rem; }
 .ad-list__document { grid-template-columns: 1fr; }
 .ad-list__document > div { font-size: 1.35rem; padding: 1.25rem; }
 .ad-list__document > div span { font-size: 0.8em; margin-top: 0.25rem; }
 .ad-list__process > div { margin-bottom: 0; display: flex; align-items: start; }
 .ad-list__process > div:not(:last-child) { margin-right: 0; margin-bottom: 80px; }
 .ad-list__process { flex-direction: column; }
 .ad-list__process > div:not(:last-child)::before { position: absolute; top: auto; bottom: -54px; left: 50%; transform: translateX(-50%) rotate(90deg); }
 .ad-list__process > div > img { margin-left: 0; width: 80px; margin-top: 0.5rem; }
 .ad-list__process > div > span { flex: 1; text-align: left; padding-left: 2rem; }
 .ad-list__process > div span > h4 { font-size: 1.5rem; }
 .ad-list__process > div span > p { font-size: 1.25rem; }
 }
