figure { margin: 0; }

.ac-sec-title { font-size: min(2.4vw, 2.8rem); padding-bottom: 4rem; position: relative; }
.ac-sec-title::before { content: ""; display: block; width: 1.8rem; aspect-ratio: 1/1; background-image: linear-gradient(to right, #0896d5, #56b879); position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); }
@media screen and (max-width: 600px) { .ac-sec-title { font-size: min(5vw, 24px); } }

.ac-sec-subtitle { font-size: min(2.4vw, 2.8rem); color: #006881; padding-bottom: 12px; position: relative; }
.ac-sec-subtitle::before { content: ""; display: block; width: 100vw; height: 1px; background-color: #006881; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); }
@media screen and (max-width: 600px) { .ac-sec-subtitle { font-size: min(4vw, 20px); } }

.ac-sec-block { padding-top: 8rem; }
@media screen and (max-width: 600px) { .ac-sec-block { padding-top: 5.6rem; } }

.ac-list { font-family: "Helvetica Neue", "Helvetica","Yu Gothic",  'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif; font-weight: normal; letter-spacing: 0.05em; }
.ac-list .ac-list-title { font-size: min(4vw, 1.6rem); font-weight: 500; color: #355497; line-height: 1.44; padding-bottom: 4px; border-bottom: thin solid #000; margin-bottom: 8px; }
.ac-list > ul > li { font-size: min(3vw, 1.4rem); line-height: 1.28; padding: 2px 0 2px min(3.2vw, 1.6rem); position: relative; }
.ac-list > ul > li::before { content: ""; width: min(2vw, 11px); aspect-ratio: 1/1; border-radius: 50vh; background-color: #355497; position: absolute; left: 0; top: calc(2px + 0.25em); }
.ac-list > ul > li.note { font-size: inherit; text-align: right; }
.ac-list > ul > li.note::before { content: none; }
@media screen and (max-width: 600px) { .ac-list > ul > li { font-size: min(3.25vw, 14px); } }

.mascot { position: absolute; }

.js-scrollable img { width: 100%; }
@media screen and (max-width: 600px) { .js-scrollable { padding: 4px 0; }
  .js-scrollable img { width: auto; height: 280px; } }

#AC-Train .st-list { padding-top: 4rem; --gapcolumn: calc(((32/1056) * 100%) * 3); }
#AC-Train .st-list > ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; row-gap: 4rem; }
#AC-Train .st-list > ul div, #AC-Train .st-list > ul li { min-height: 0%; }
#AC-Train .st-list > ul > li { width: calc((100% - var(--gapcolumn)) / 4); }
#AC-Train .st-list > ul > li.cap { width: 100%; margin-top: -3.2rem; }
#AC-Train .train-map { padding-top: 4rem; position: relative; }
#AC-Train .train-map .mas1 { width: min(32vw, 24vw, 180px); position: static; margin-left: auto; margin-right: -4%; margin-top: -3.2rem; }
@media screen and (max-width: 1040px) { #AC-Train .train-map .mas1 { margin-top: -2.4rem; } }
@media screen and (max-width: 600px) { #AC-Train .st-list > ul { --gapcolumn: calc(((32/568) * 100%) * 1); row-gap: 2rem; }
  #AC-Train .st-list > ul > li { width: calc((100% - var(--gapcolumn)) / 2); }
  #AC-Train .st-list > ul > li.cap { margin-top: -1.6rem; }
  #AC-Train .train-map { padding-top: 2rem; }
  #AC-Train .train-map .img .cap.in { position: static; }
  #AC-Train .train-map .mas1 { margin: 8px auto 0; } }

#AC-Train-Chuo .intro { max-width: 880px; margin: auto; display: grid; grid-template-columns: calc((324/1004)*100%) auto; gap: 16px 4%; }
#AC-Train-Chuo .intro .lead { order: 2; }
#AC-Train-Chuo .intro .train-img { order: 1; }
#AC-Train-Chuo .column { margin-bottom: 4rem; }
#AC-Train-Chuo .column::before { background-image: url("../images/access/colimn_sidebar01.png"); }
#AC-Train-Chuo .column .column-inner { display: grid; grid-template-columns: calc((48 / 160) * 100%) calc( (48 / 160) * 100% ) calc((56 / 160) * 100%); gap: 12px calc((4 / 160) * 100%); }
#AC-Train-Chuo .column .column-inner .column-title { order: 1; grid-column: span 2; margin-bottom: 0; }
#AC-Train-Chuo .column .column-inner .image { order: 4; }
#AC-Train-Chuo .column .column-inner .lead { order: 3; }
#AC-Train-Chuo .column .column-inner .ac-list { order: 2; grid-row: span 2; align-self: flex-end; }
#AC-Train-Chuo .column .column-inner .ac-list .fig { width: 100%; margin: 12px 0 8px; }
#AC-Train-Chuo .column .mas2 { width: min(32vw, 24vw, 216px); left: -6%; bottom: -8rem; }
@media screen and (max-width: 1040px) { #AC-Train-Chuo .train-map { margin-top: -2.4rem; }
  #AC-Train-Chuo .column .mas2 { left: -4%; bottom: -12rem; } }
@media screen and (max-width: 600px) { #AC-Train-Chuo .intro { grid-template-columns: 1fr; }
  #AC-Train-Chuo .intro .lead { order: 1; }
  #AC-Train-Chuo .intro .train-img { order: 2; }
  #AC-Train-Chuo .train-map { margin-top: 0; }
  #AC-Train-Chuo .column .column-inner { grid-template-columns: 1fr; }
  #AC-Train-Chuo .column .column-inner .column-title { grid-column: span 1; }
  #AC-Train-Chuo .column .column-inner .image { order: 3; }
  #AC-Train-Chuo .column .column-inner .lead { order: 2; }
  #AC-Train-Chuo .column .column-inner .ac-list { order: 4; }
  #AC-Train-Chuo .column .mas2 { width: min(32vw, 216px); left: -2%; bottom: -7rem; } }

#AC-Train-Haijima .liner-contents { margin-top: 4rem; }
#AC-Train-Haijima .liner-contents .img .cap.in { padding: 4px 6px; background-color: #000; right: 0; bottom: 0; }
#AC-Train-Haijima .liner-contents .subcopy { color: #006881; }
#AC-Train-Haijima .liner-contents .subcopy .size-l { font-size: 128%; }
#AC-Train-Haijima .liner-contents .liner-cont-container { display: grid; grid-template-columns: calc((66 / 172) * 100%) calc((65 / 172) * 100%) calc((30 / 172) * 100%); gap: 12px calc((5.5 / 172) * 100%); align-items: flex-end; }
#AC-Train-Haijima .liner-contents .intro { order: 1; margin-bottom: 0; padding: 0 0 16px; }
#AC-Train-Haijima .liner-contents .intro .lead { font-size: min(3vw, 1.5rem); }
#AC-Train-Haijima .liner-contents .image { order: 4; grid-row: span 2; }
#AC-Train-Haijima .liner-contents .image .img { width: auto; height: 100%; }
#AC-Train-Haijima .liner-contents .image .img img { height: 100%; object-fit: cover; object-position: right top; }
#AC-Train-Haijima .liner-contents .images { order: 2; grid-row: span 3; }
#AC-Train-Haijima .liner-contents .images > ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 2%; }
#AC-Train-Haijima .liner-contents .images > ul li { display: grid; grid-template-rows: subgrid; grid-row: span 2; gap: 0; }
#AC-Train-Haijima .liner-contents .images > ul li .text-box { background-color: #e6ebee; padding: 8px 12px; display: flex; justify-content: center; align-items: center; }
#AC-Train-Haijima .liner-contents .images > ul li .text-box .lead { font-family: "Helvetica Neue", "Helvetica","Yu Gothic",  'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif; font-weight: normal; text-align: center; font-size: clamp(11px, 1vw, 1.3rem); line-height: 1.28; }
#AC-Train-Haijima .liner-contents .liner-spec-list { order: 3; grid-row: span 2; align-self: flex-start; }
#AC-Train-Haijima .liner-contents .liner-spec-list > ul { display: grid; grid-template-columns: 1fr; gap: 12px; }
#AC-Train-Haijima .liner-contents .liner-spec-list > ul li { max-width: 216px; }
#AC-Train-Haijima .liner-contents .note { order: 5; align-self: flex-end; }
#AC-Train-Haijima .column { margin-bottom: 4rem; }
#AC-Train-Haijima .column::before { background-image: url("../images/access/column02_sidebar.png"); }
#AC-Train-Haijima .column .column-inner { display: grid; grid-template-columns: calc((66 / 154) * 100%) calc((80 / 154) * 100%); gap: 12px calc((8 / 154) * 100%); }
#AC-Train-Haijima .column .column-inner .intro { order: 1; margin-bottom: 0; }
#AC-Train-Haijima .column .column-inner .fig { order: 2; grid-row: span 2; align-self: center; }
#AC-Train-Haijima .column .column-inner .fig .fig-title { font-size: clamp(11px, 3vw, 1.5rem); line-height: 1.2; padding: 3px 0 8px min(3.2vw, 14px); position: relative; }
#AC-Train-Haijima .column .column-inner .fig .fig-title::before { content: ""; display: block; width: min(2vw, 12px); aspect-ratio: 1/1; background-color: #000; position: absolute; left: 0; top: calc(3px + 0.125em); }
#AC-Train-Haijima .column .column-inner .fig .img { margin-left: 0; }
#AC-Train-Haijima .column .column-inner .fig .img .cap.in { bottom: 46%; }
#AC-Train-Haijima .column .column-inner .mascot { position: static; order: 3; align-self: flex-end; }
#AC-Train-Haijima .column .mas3 { width: min(20vw, 100%, 184px); }
@media screen and (max-width: 1040px) { #AC-Train-Haijima .column .column-inner .fig .img { width: 100%; } }
@media screen and (max-width: 600px) { #AC-Train-Haijima .liner-contents { margin-top: 4rem; }
  #AC-Train-Haijima .liner-contents .subcopy { font-size: min(3.5vw, 18px); }
  #AC-Train-Haijima .liner-contents .liner-cont-container { grid-template-columns: 1fr; }
  #AC-Train-Haijima .liner-contents .title { font-size: min(4vw, 2.8rem); }
  #AC-Train-Haijima .liner-contents .intro { padding-top: 0; }
  #AC-Train-Haijima .liner-contents .intro .lead { font-size: min(3.25vw, 15px); }
  #AC-Train-Haijima .liner-contents .image { order: 2; }
  #AC-Train-Haijima .liner-contents .liner-spec-list > ul { grid-template-columns: repeat(3, 1fr); grid-column-gap: 2px; }
  #AC-Train-Haijima .liner-contents .note { text-align: right; }
  #AC-Train-Haijima .column .column-inner { grid-template-columns: repeat(4, 1fr); }
  #AC-Train-Haijima .column .column-inner .intro { grid-column: span 4; }
  #AC-Train-Haijima .column .column-inner .fig { order: 3; grid-column: span 3; grid-row: span 1; align-self: flex-end; }
  #AC-Train-Haijima .column .column-inner .fig .fig-title { font-size: min(3.25vw, 13px); }
  #AC-Train-Haijima .column .column-inner .fig .fig-title::before { top: calc(3px + 0.25em); }
  #AC-Train-Haijima .column .column-inner .mascot { order: 2; align-self: flex-end; }
  #AC-Train-Haijima .column .mas3 { width: 144%; margin-left: -28%; } }

#AC-Highway .intro { position: relative; margin-bottom: 6.4rem; }
#AC-Highway .mas4 { width: min(20vw, 32vw, 192px); right: 0; top: 2%; }
#AC-Highway .ic-list { --gapcolumn: calc(((32/1056) * 100%) * 3); }
#AC-Highway .ic-list > ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; row-gap: 4rem; }
#AC-Highway .ic-list > ul div, #AC-Highway .ic-list > ul li { min-height: 0%; }
#AC-Highway .ic-list > ul > li { width: calc((100% - var(--gapcolumn)) / 4); }
#AC-Highway .ic-list > ul > li.label { width: 48%; margin-bottom: 1.6rem; }
#AC-Highway .ic-list > ul > li.cap { width: 100%; margin-top: -3.2rem; }
@media screen and (max-width: 600px) { #AC-Highway .intro { margin-bottom: 4rem; }
  #AC-Highway .mas4 { position: static; margin: 12px auto 0; }
  #AC-Highway .ic-list > ul { row-gap: 2rem; }
  #AC-Highway .ic-list > ul > li { width: calc((100% - var(--gapcolumn)) / 2); }
  #AC-Highway .ic-list > ul > li.label { width: 100%; margin-bottom: 4px; }
  #AC-Highway .ic-list > ul > li.cap { margin-top: -1.6rem; } }

#AC-AirportBus .airport-bus { padding-top: 6.4rem; }
#AC-AirportBus .airport-bus .airport-bus-container { display: grid; grid-template-columns: calc((483 / 1090) * 100%) calc( (383 / 1090) * 100% ) calc((170 / 1090) * 100%); gap: 8px calc((27 / 1090) * 100%); }
#AC-AirportBus .airport-bus .bus-map { order: 1; grid-row: span 2; }
#AC-AirportBus .airport-bus .image { order: 2; }
#AC-AirportBus .airport-bus .mascot { order: 3; position: static; }
#AC-AirportBus .airport-bus .copy { order: 4; grid-column: span 2; align-self: flex-end; }
#AC-AirportBus .airport-bus .mas5 { width: min(100%, 168px); transform: translate(10%, 32px); }
@media screen and (max-width: 600px) { #AC-AirportBus .airport-bus { padding-top: 4rem; }
  #AC-AirportBus .airport-bus .airport-bus-container { grid-template-columns: calc((383 / 568) * 100%) calc((170 / 568) * 100%); column-gap: calc((15 / 568) * 100%); }
  #AC-AirportBus .airport-bus .bus-map { grid-row: span 1; grid-column: span 2; }
  #AC-AirportBus .airport-bus .copy { grid-row: span 1; grid-column: span 2; padding-top: 4px; } }
