@media screen and (max-width: 768px) { .container { padding-top: 155px; } }

/* map */
/* =================================== */
#map .map01 { width: 96%; max-width: 1000px; margin-right: auto; margin-left: auto; margin-top: 0; }
#map .map_ttl { max-width: 800px; margin: 0 auto; padding: 1.5rem; font-size: 1.6rem; line-height: 1; text-align: center; /*background: $bg04;*/ background: #49bcbd; color: #fff; }
#map .map_img { margin: 0 auto; max-width: 800px; }
#map .map_txt { max-width: 800px; margin: 0 auto; padding: 2rem 1rem; text-align: center; font-size: 2.4rem; line-height: 1.6; background: #ecf6f6; }
#map .map_txt .ttl { display: inline-block; padding: 0.5rem 1rem; text-align: center; font-size: 1.4rem; border: 1px solid #5A4F4A; }
#map .map_txt .add { position: relative; margin: 1rem auto; padding-bottom: 1rem; }
#map .map_txt .add::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); display: inline-block; width: 90%; height: 1px; background-color: #5A4F4A; }
#map .map_txt .border { display: inline-block; padding: 0.5rem 1.5rem; font-size: 2.6rem; /*line-height: 1;*/ line-height: 1.4; color: #7f1c29; border: 1px solid #7f1c29; background: #fff; }
#map .map_txt .note { margin-top: 1rem; }
#map .g_btn { margin: 4rem auto 0 auto; }
#map .g_btn a { display: block; width: 90%; max-width: 480px; text-align: center; margin: auto; padding: 1.5rem 2rem; background: #5A4F4A; color: #fff; letter-spacing: .1em; font-size: 1.6rem; line-height: 1; transition: .3s; }
#map .g_btn a:hover { filter: brightness(120%); }
#map .map02 { width: 96%; max-width: 1000px; margin-right: auto; margin-left: auto; max-width: 800px; display: flex; justify-content: space-between; margin: 4rem auto; }
#map .map02 .box { display: flex; flex-direction: column; align-items: stretch; }
#map .map02 .box .map_ttl { display: flex; justify-content: center; align-content: center; flex-wrap: wrap; flex: 1; margin: 0; line-height: 1.2; }
#map .map02 .mg { width: 52.25%; }
#map .map02 .parking { width: 46.5%; }
@media screen and (max-width: 768px) { #map .map_ttl { font-size: 1.4rem; padding: 1rem; }
  #map .g_btn a { padding: 1rem 2rem; font-size: 1.4rem; } }
@media screen and (max-width: 480px) { #map .map02 { flex-direction: column; }
  #map .map02 .mg { width: 100%; margin-bottom: 1rem; }
  #map .map02 .parking { width: 100%; } }
#map .route_box { margin-top: 4rem; margin-bottom: 3rem; }
#map .route_box .route_txt { max-width: 800px; width: 96%; margin: 0 auto 3rem; text-align: center; }
#map .route_box .route_txt .txt { color: #888; position: relative; }
#map .route_box .route_txt .txt p { padding-bottom: .5rem; font-size: 1.6rem; line-height: 1.6; }
#map .route_box .route_txt .txt p::after { content: ""; position: absolute; right: 0; bottom: -1rem; left: 0; width: 0px; height: 0px; margin: auto; border-style: solid; border-color: #fff transparent transparent transparent; border-width: 1rem 1rem 0 1rem; }
#map .route_box .route_btn { text-align: center; }
#map .route_box .route_btn .txt { font-family: 'Noto Sans JP', sans-serif; font-size: 1.6rem; line-height: 1.2; background: rgba(0, 0, 0, 0.5); padding: .5rem; color: #fff; display: block; width: 100%; position: absolute; top: 0; left: 0; z-index: 3; }
#map .route_box .route_btn a { display: block; transition: .3s; position: relative; }
#map .route_box .route_btn a:hover { filter: brightness(120%); }
#map .route_box .route_btn a .img { display: block; }
@media screen and (max-width: 768px) { #map .route_box .route_txt { margin-top: 4rem; }
  #map .route_box .route_txt p { font-size: 1.4rem; }
  #map .route_box .route_txt .route_btn a .txt { font-size: 1.4rem; } }

/* outline */
/* =================================== */
#outline .ol_cm { border: solid 1px #5A4F4A; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#outline .ol_cm * { min-height: 0%; }
#outline .ol_cm .cm_ttl { width: 15%; font-size: 1.6rem; letter-spacing: .1em; line-height: 1; border-right: solid 1px #5A4F4A; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
#outline .ol_cm .cm_ttl * { min-height: 0%; }
#outline .ol_cm .txt { width: 85%; padding: 2rem 1.5rem; font-size: 1.4rem; line-height: 1.6; }
#outline .ol_container { margin-top: 6rem; }
#outline .outline_ttl { font-size: 1.6rem; line-height: 1; text-align: center; }
#outline table { width: 100%; margin-top: 4rem; border-collapse: collapse; }
#outline table tr th, #outline table tr td { border: solid 1px #5A4F4A; padding: 1rem 2rem; font-size: 1.4rem; line-height: 1.6; }
#outline table tr th { width: 35%; }
#outline table tr td { width: 65%; }
#outline .ol_data { margin-top: 4rem; display: block; text-align: right; font-size: 1.4rem; line-height: 1.6; }
#outline .ol_data .note { text-align: left; font-size: 1.1rem; padding-bottom: 1rem; }
@media screen and (max-width: 768px) { #outline .ol_cm .cm_ttl { width: 100%; font-size: 1.5rem; border-right: none; border-bottom: solid 1px #5A4F4A; padding: 1rem; }
  #outline .ol_cm .txt { width: 100%; font-size: 1.3rem; }
  #outline table tr th, #outline table tr td { font-size: 1.1rem; padding: .5rem 1rem; }
  #outline .ol_data { font-size: 1.2rem; } }
