/**$txt:#333;
$txt2: #3e5059;**/
.conts-wrap .inner {
  padding: 0 0 64px; }
.conts-wrap .lead {
  font-size: clamp(13px, 1.2vw, 1rem); }
  .conts-wrap .lead + .note {
    margin-top: 0.875rem; }

.fig .img .cap.out {
  position: inherit;
  display: block;
  bottom: inherit;
  right: inherit;
  width: 100%; }

.image .note.right {
  text-align: right;
  margin-top: 1rem; }

.conts-head {
  padding: 104px 0 0 !important;
  color: #12475d;
  text-align: left;
  line-height: 1.28; }
  .conts-head img {
    width: 100%;
    height: auto;
    line-height: 1; }
  .conts-head .en {
    width: 64%;
    max-width: 560px;
    margin-bottom: 1.25rem; }
  .conts-head .copy {
    font-size: clamp(18px, 2vw, 2.4rem);
    letter-spacing: 0.15em; }
  @media screen and (max-width: 600px) {
    .conts-head {
      padding: 64px 0 0 !important; }
      .conts-head .en {
        width: 100%; } }

.copy-body {
  font-size: 10px;
  padding-bottom: 9em;
  padding-top: 1em;
  position: relative; }
  .copy-body:before {
    width: 2px;
    content: "";
    background: linear-gradient(to bottom, #cfc1a6, #fff, #cfc1a6);
    position: absolute;
    top: 0;
    bottom: 0; }
  .copy-body .copy-l {
    position: absolute;
    top: 0;
    font-size: 4.2em;
    line-height: 1;
    color: #12475d;
    writing-mode: vertical-rl;
    font-feature-settings: normal; }
    .copy-body .copy-l .tatechuyoko {
      text-combine-upright: all; }
  .copy-body .copy-m {
    font-size: 2.8em;
    color: #000;
    margin-top: 0.5em; }
  .copy-body .lead {
    font-size: 1.8em;
    margin-top: 1em;
    color: #000; }
  .copy-body .copy-under-en {
    position: absolute;
    width: 48%;
    max-width: 300px;
    border-bottom: 2px solid #cfc1a6;
    font-family: "minion-pro", "times-new-roman", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    font-feature-settings: 'palt';
    color: #94acb6;
    bottom: 3em;
    display: flex;
    padding-bottom: 1em;
    box-sizing: border-box;
    font-size: 1.4em; }
  .copy-body .note {
    margin-top: 12px; }
  .copy-body.right-copy {
    padding-right: 14em; }
    .copy-body.right-copy .copy-l {
      right: 0; }
    .copy-body.right-copy .copy-m,
    .copy-body.right-copy .lead,
    .copy-body.right-copy .note {
      text-align: right; }
    .copy-body.right-copy .copy-under-en {
      right: 0;
      padding-right: 4.5em;
      writing-mode: vertical-rl; }
    .copy-body.right-copy:before {
      right: 5.5em; }
  .copy-body.left-copy {
    padding-left: 14em; }
    .copy-body.left-copy .copy-l {
      left: 0; }
    .copy-body.left-copy .copy-under-en {
      left: 0;
      padding-left: 4.5em;
      writing-mode: vertical-lr; }
    .copy-body.left-copy:before {
      left: 5.5em; }
  @media screen and (max-width: 600px) {
    .copy-body {
      font-size: 8px; }
      .copy-body .copy-m {
        font-size: 2.4em; }
      .copy-body .lead {
        font-size: 1.7em; }
      .copy-body.right-copy {
        padding-right: 10em; }
      .copy-body.left-copy {
        padding-left: 10em; } }

.cont-container {
  margin-top: 5rem; }
  .cont-container .cont-head-obi {
    background: linear-gradient(to right, #12475d, #000);
    text-align: center;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem; }
    .cont-container .cont-head-obi p {
      color: #fff;
      font-size: clamp(18px, 1.3vw, 1.5rem);
      line-height: 1.28;
      text-align: center;
      letter-spacing: 0.1em; }
  .cont-container .lead + .note {
    margin-top: 0.875rem; }
  .cont-container:has(.copy-body) {
    display: grid;
    grid-template-columns: 56% 40%;
    gap: 0 4%;
    align-items: center; }
    .cont-container:has(.copy-body) .cont-head-obi {
      grid-column: span 2; }
    .cont-container:has(.copy-body) .image.imgph {
      margin-left: 0;
      margin-right: auto; }
    .cont-container:has(.copy-body).solo-clm {
      grid-template-columns: 1fr; }
  .cont-container:has(.right-copy):not(.solo-clm) {
    grid-template-columns: 40% 56%; }
    .cont-container:has(.right-copy):not(.solo-clm) .copy-body {
      order: 2; }
    .cont-container:has(.right-copy):not(.solo-clm) .image {
      order: 1; }
      .cont-container:has(.right-copy):not(.solo-clm) .image.imgph {
        margin-left: auto;
        margin-right: 0; }
  @media screen and (max-width: 600px) {
    .cont-container .cont-head-obi {
      padding: 12px 16px; }
    .cont-container .image {
      margin-top: 24px; }
      .cont-container .image.imgph {
        margin-left: auto !important;
        margin-right: auto !important; }
    .cont-container:has(.copy-body) {
      grid-template-columns: 1fr !important; }
      .cont-container:has(.copy-body) .cont-head-obi {
        grid-column: span 1; }
    .cont-container:has(.right-copy):not(.solo-clm) {
      grid-template-columns: 1fr !important; }
      .cont-container:has(.right-copy):not(.solo-clm) .copy-body {
        order: 1; }
      .cont-container:has(.right-copy):not(.solo-clm) .image {
        order: 2; } }

.fig {
  margin: 0 auto; }
  .fig figure + .note {
    margin-top: 4px; }
  .fig figcaption {
    padding-left: 20px;
    font-size: clamp(14px, 1vw, 0.9375rem);
    text-align: left;
    line-height: 1.28;
    margin-bottom: 12px;
    position: relative; }
    .fig figcaption::before {
      content: "";
      width: 13px;
      aspect-ratio: 1/1;
      background-color: #4f7a7e;
      position: absolute;
      top: 0.15em;
      left: 0; }
  @media screen and (max-width: 600px) {
    .fig {
      max-width: 512px; } }

.lead.center {
  text-align: center; }

@media screen and (max-width: 600px) {
  .js-scrollable {
    overflow-x: auto; }
    .js-scrollable > figure, .js-scrollable > .image {
      padding: 0 0 12px;
      width: 200vw; }
      .js-scrollable > figure img, .js-scrollable > .image img {
        width: 100%;
        height: 100%;
        object-fit: contain; } }

.scroll-hint-icon {
  background-color: #ffffff00;
  left: auto;
  right: 6px;
  padding: 0; }
  .scroll-hint-icon::after {
    content: none; }
  .scroll-hint-icon .scroll-hint-text {
    display: none !important; }

.scroll-hint-custom-icon {
  width: 56px;
  height: 56px;
  border-radius: 50vh;
  filter: drop-shadow(1px 2px 3px #000); }
  .scroll-hint-custom-icon::before {
    width: 100%;
    height: 100%;
    background-position: right center;
    background-image: url("../images/access/scrollable_arrow.png"); }

.maincopy {
  font-size: clamp(20px, 2vw, 1.75rem);
  line-height: 1.44;
  text-align: center;
  padding-top: 2.5rem;
  margin-bottom: 2.5rem; }

.image.imgph .img {
  width: 88%;
  max-width: 320px;
  margin: auto; }

.sec-mv-image {
  margin-bottom: 1rem; }

.main-master .page-name {
  color: #fff;
  text-shadow: 0 0 15px black, 0 0 15px black, 0 0 15px black; }

.terminal-image {
  max-width: 960px;
  margin: 4rem auto; }

.train-routemap {
  width: 100%;
  max-width: 920px; }

.station-list {
  padding: 2.5rem 0 0; }
  .station-list > ul {
    max-width: 800px;
    margin: auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: flex-start;
    gap: 8px 1%; }
    .station-list > ul > li {
      width: calc(98%/3); }
      .station-list > ul > li.note {
        width: 100% !important;
        text-align: right; }
    .station-list > ul.nogap {
      gap: 0; }
      .station-list > ul.nogap > li {
        width: calc(100%/2); }
  @media screen and (max-width: 600px) {
    .station-list > ul > li {
      width: calc(98%/2); } }

.railway-conts .railway-head {
  max-width: 600px;
  padding: 12px;
  margin: 4rem auto 0; }
  .railway-conts .railway-head p {
    color: #fff;
    font-size: clamp(26px, 1.3vw, 1.75rem);
    line-height: 1.28;
    text-align: center;
    letter-spacing: 0.1em; }
  .railway-conts .railway-head + .maincopy {
    padding-top: 1.5rem; }
.railway-conts .train-routemap {
  margin-top: 2.5rem; }
.railway-conts .cont-container:has(.image .station-list) {
  align-items: flex-start; }
.railway-conts .cont-container .image .station-list {
  padding-top: 1rem; }

#DoubleAccess .fig {
  max-width: 560px;
  margin-bottom: 1.5rem; }
@media screen and (max-width: 600px) {
  #DoubleAccess {
    margin-top: 40px; }
    #DoubleAccess .fig {
      width: 96%; }
      #DoubleAccess .fig .img .cap {
        position: static;
        padding: 0;
        width: 100%;
        text-align: right;
        margin-top: 4px; } }

#Simulation .simulation-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start; }
  #Simulation .simulation-list li {
    width: 48%;
    margin-bottom: 1.5rem; }
@media screen and (max-width: 600px) {
  #Simulation {
    margin-top: 40px; }
    #Simulation .simulation-list li {
      width: 100%; }
      #Simulation .simulation-list li .fig {
        width: 100%;
        max-width: none; } }

#JR-Chuo {
  background-color: #f0eae3;
  padding-top: 1rem; }
  #JR-Chuo .railway-head {
    background: linear-gradient(to right, #c2853a, #9A6B37); }
  #JR-Chuo .copy-body .copy-l {
    color: #b26b00; }
  #JR-Chuo .copy-body .copy-under-en {
    color: #dcbc8c; }
  #JR-Chuo .fig figcaption::before {
    background-color: #c2853a; }
  #JR-Chuo #Honsu {
    grid-template-columns: 44% 52%;
    align-items: center; }
  #JR-Chuo #Tokkai {
    grid-template-columns: 50% 47%;
    column-gap: 3%;
    align-items: center; }
  #JR-Chuo #Jitan .image > ul {
    display: grid;
    grid-template-columns: 0.56fr 0.56fr 1fr;
    gap: 12px 1%;
    align-items: flex-end; }
    #JR-Chuo #Jitan .image > ul > li:nth-of-type(3) {
      border: thin solid #c2853a;
      border-width: thin 0;
      padding: 8px 0 16px;
      margin-left: 6%; }
      #JR-Chuo #Jitan .image > ul > li:nth-of-type(3) .note {
        margin-top: 1em; }
  @media screen and (max-width: 600px) {
    #JR-Chuo #Jitan .image > ul {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 2%; }
      #JR-Chuo #Jitan .image > ul > li:nth-of-type(3) {
        grid-column: span 2;
        padding: 6px 4px 10px;
        margin-left: 0; } }

#Keio {
  padding-top: 1rem;
  background-color: #f9f5f6; }
  #Keio .railway-head {
    background: linear-gradient(to right, #833051, #61253C); }
  #Keio .copy-body .copy-l {
    color: #833051; }
  #Keio .copy-body .copy-under-en {
    color: #833051; }
  #Keio .fig figcaption::before {
    background-color: #833051; }

#JR-YokoHachi {
  padding-top: 1rem;
  background-color: #f5f9ef; }
  #JR-YokoHachi .railway-head {
    background-image: linear-gradient(125deg, #9ac35d 0%, #7c9c53 50%, #969696 50%, #787878 100%); }
  #JR-YokoHachi .copy-body .copy-l {
    color: #657e58; }
  #JR-YokoHachi .copy-body .copy-under-en {
    color: #bac5b4; }
  #JR-YokoHachi .train-routemap {
    width: 56%;
    max-width: 318px;
    margin-left: auto;
    margin-right: auto; }
  #JR-YokoHachi #Variety .shop-list {
    margin-top: 1.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start; }
    #JR-YokoHachi #Variety .shop-list .shop-i-ttl {
      color: #6ca419;
      font-size: 20px;
      margin-bottom: 0.5em;
      line-height: 1; }
    #JR-YokoHachi #Variety .shop-list > li {
      width: 50%;
      padding: 0 4%;
      border-right: 2px solid #9ac35d;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: flex-start;
      align-content: flex-start; }
      #JR-YokoHachi #Variety .shop-list > li:last-of-type {
        border-right: none; }
      #JR-YokoHachi #Variety .shop-list > li .text {
        padding-left: 4%;
        flex-shrink: 1; }
        #JR-YokoHachi #Variety .shop-list > li .text > ul li {
          font-size: clamp(12px, 125vw, 0.875rem);
          line-height: 1.28;
          text-align: left; }
          #JR-YokoHachi #Variety .shop-list > li .text > ul li::before {
            content: "";
            display: inline-block;
            width: 15px;
            aspect-ratio: 1/1;
            border-radius: 50vh;
            background-color: #9ac35d;
            margin-right: 4px;
            vertical-align: text-bottom; }
          #JR-YokoHachi #Variety .shop-list > li .text > ul li + li {
            margin-top: 6px; }
          #JR-YokoHachi #Variety .shop-list > li .text > ul li:first-of-type {
            font-size: clamp(11px, 0.925vw, 0.8125rem);
            margin-bottom: 2px; }
            #JR-YokoHachi #Variety .shop-list > li .text > ul li:first-of-type::before {
              content: none; }
      #JR-YokoHachi #Variety .shop-list > li:nth-of-type(1) .shop-image {
        width: calc((354 /620)*100%); }
      #JR-YokoHachi #Variety .shop-list > li:nth-of-type(2) .shop-image {
        width: calc((382 /620)*100%); }
  @media screen and (max-width: 600px) {
    #JR-YokoHachi #Variety .shop-list {
      margin-top: 0; }
      #JR-YokoHachi #Variety .shop-list > li {
        width: 100%;
        border-right: none;
        border-bottom: 2px solid #9ac35d;
        padding: 12px 0; }
        #JR-YokoHachi #Variety .shop-list > li:first-of-type {
          padding-top: 0; }
        #JR-YokoHachi #Variety .shop-list > li:last-of-type {
          border-bottom: none; }
        #JR-YokoHachi #Variety .shop-list > li .text {
          padding-left: 1%; }
          #JR-YokoHachi #Variety .shop-list > li .text > ul > li::before {
            width: 11px; }
        #JR-YokoHachi #Variety .shop-list > li:nth-of-type(2n) {
          flex-direction: row-reverse; }
          #JR-YokoHachi #Variety .shop-list > li:nth-of-type(2n) .text {
            padding-left: 0;
            padding-right: 4%; } }

#AirporBus .figs {
  max-width: 880px;
  margin: 2.5rem auto 0; }
  #AirporBus .figs .figs-frame {
    padding: 1.5rem 0;
    border: thin solid #aeadac;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: flex-start; }
  #AirporBus .figs .fig {
    width: 50%;
    padding: 0 2rem; }
    #AirporBus .figs .fig:nth-of-type(2n) {
      border-left: thin solid #12475d; }
  #AirporBus .figs .note {
    width: 100%;
    margin-top: 4px; }
@media screen and (max-width: 600px) {
  #AirporBus .sec-mv-image + .inner {
    padding-bottom: 0; }
  #AirporBus .figs .figs-frame {
    padding: 0 1.5rem; }
  #AirporBus .figs .fig {
    width: 100%;
    padding: 1.5rem 0;
    border-bottom: thin solid #12475d; }
    #AirporBus .figs .fig:last-of-type {
      border: none; }
    #AirporBus .figs .fig:nth-of-type(2n) {
      border-left: none; } }

#Car .conts-head {
  padding-top: 3em !important; }
#Car .bg01 {
  background-color: #f3e7ea;
  padding-top: 2.5rem; }
#Car .ic-list {
  max-width: 800px;
  margin: 2.5rem auto 2.5rem; }
#Car .spot-list > ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  align-items: flex-start; }
  #Car .spot-list > ul > li {
    width: calc(96% / 4);
    margin-top: 1rem; }
    #Car .spot-list > ul > li.note {
      width: 100%;
      margin-top: 8px;
      text-align: right; }
#Car .topic-wrap {
  padding-top: 1rem; }
  #Car .topic-wrap .topic-head {
    padding: 4px 1rem;
    background-color: #891a4e;
    text-align: center; }
    #Car .topic-wrap .topic-head p {
      font-family: "minion-pro", "times-new-roman", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
      -webkit-font-smoothing: antialiased;
      font-weight: 400;
      font-feature-settings: 'palt';
      font-size: clamp(15px, 1.2vw, 1rem);
      color: #fff;
      line-height: 1.2;
      text-align: center; }
  #Car .topic-wrap .topic-title {
    font-size: clamp(16px, 1.6vw, 1.5rem);
    margin-bottom: 1em; }
    #Car .topic-wrap .topic-title .em {
      color: #0a3e64;
      font-size: 112%;
      margin-right: 2px; }
  #Car .topic-wrap .eaon-images > ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: flex-start; }
    #Car .topic-wrap .eaon-images > ul li {
      width: calc(98% /2);
      margin-bottom: 1rem; }
  #Car .topic-wrap .distance {
    display: block;
    width: 100%;
    vertical-align: middle;
    margin-bottom: 2.5em;
    margin-top: 1.5em;
    text-align: center; }
    #Car .topic-wrap .distance img {
      width: 60%;
      max-width: 400px; }
  #Car .topic-wrap .lead {
    text-align: center; }
    #Car .topic-wrap .lead::after {
      content: '';
      display: block;
      clear: both; }
@media screen and (max-width: 600px) {
  #Car .conts-head {
    padding-top: 5em !important; }
  #Car .bg01 {
    padding-top: 1.5rem; }
  #Car .ic-list {
    margin: 2.5rem auto 1rem; }
  #Car .spot-list > ul > li {
    width: calc(96% / 2);
    margin-top: 1.125rem; }
  #Car .topic-wrap .topic-title {
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: left; }
  #Car .topic-wrap .eaon-images > ul > li {
    width: 100%; }
  #Car .topic-wrap .distance {
    text-align: right;
    width: 100%; }
  #Car .topic-wrap .lead {
    text-align: left; }
    #Car .topic-wrap .lead::after {
      content: none; } }

.ion-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-bottom: 3em; }
  .ion-list li {
    width: 31%;
    margin-right: 3.5%;
    margin-top: 2em; }
    .ion-list li:nth-child(3) {
      margin-right: 0; }
    .ion-list li .ion-ttl {
      color: #12475d;
      font-size: 1.3em;
      line-height: 1.4;
      margin-top: 1em; }
    .ion-list li .lead {
      font-size: 1em;
      margin-top: 0.7em;
      text-align: left !important;
      line-height: 1.8; }
  @media screen and (max-width: 768px) {
    .ion-list {
      display: block; }
      .ion-list li {
        width: 100%;
        display: flex;
        margin-right: 0;
        align-items: flex-start;
        justify-content: space-between; }
        .ion-list li .ion-ttl {
          margin-top: 0; }
        .ion-list li .img {
          order: 2;
          width: 50%; }
        .ion-list li .copy {
          order: 1;
          width: 46%; }
        .ion-list li:nth-child(2) .img {
          order: 1; }
        .ion-list li:nth-child(2) .copy {
          order: 2; } }

.airport-obi {
  background: #dde4e6;
  text-align: center;
  display: block;
  padding: 15px 8%;
  margin-top: 2em;
  margin-bottom: 1.5em; }
  .airport-obi img {
    width: 100%;
    max-width: 720px;
    margin: auto;
    height: auto; }

@media screen and (max-width: 768px) {
  .copy-body .note {
    text-align: left !important; } }
@media screen and (max-width: 768px) {
  .copy-body .lead {
    text-align: left !important; }
    .copy-body .lead .aw {
      display: inline !important; }
    .copy-body .lead br {
      display: none !important; } }
