html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(280 / 1500 * 100vw);
}

*,
::before,
::after {
	box-sizing: border-box;
}

img {
	vertical-align: bottom;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

p,
figure,
ul,
ol,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

:root {
	--color-primary: #156A9A;
	--color-accent: #2E94CC;
	--color-primary-dark: #13618E;
	--color-text: #4E4E4E;
	--color-gray: #B5B5B5;
	--color-light-gray: #DCDCDC;
	--color-bg: #F7F7F7;
	--color-white: #FFFFFF;
	--color-link: #558FC9;
}

.-align-item-end {
	align-items: end;
}
.-margin-top-5 {
	margin-top: 5px;
}

.mv-title {
	padding: calc(18 / 1500 * 100vw);
	line-height: 1.57;
	background-color: rgba(0, 0, 0, 0.4);
}

.mv-title .smaller {
	font-size: calc(32 * 100vw / 1500);
}

.max1280 {
	max-width: 1280px;
	margin-inline: auto;
}

.bottom-sales {
	margin-top: min(calc(200 * 100vw / 1500), 200px);
}

/* タイトル用
**************/
.section_heading {
  font-size: min(calc(calc(20 / 1500 * 100vw)), 20px);
  color: var(--color-primary);
  line-height: 1.45;
  font-weight: bold;
  display: flex;
  align-items: center;
  letter-spacing: 0.15em;
}
.section_heading--icon {
	font-size: min(calc(36 * 100vw / 1500), 36px);
	color: var(--color-primary);
	line-height: 1.57;
	letter-spacing: 0.15em;
	font-weight: bold;
	display: flex;
	align-items: baseline;
}

.section_heading--icon::before {
	content: "";
	width: min(calc(28 * 100vw / 1500), 28px);
	height: min(calc(28 * 100vw / 1500), 28px);
	background-color: var(--color-primary);
	margin-right: min(calc(17 * 100vw / 1500), 17px);
}

.section_heading--icon + .txt {
	margin-top: min(calc(32 * 100vw / 1500), 32px);
}

.section_heading--arrow {
	font-size: min(calc(20 * 100vw / 1500), 20px);
	color: var(--color-primary);
	line-height: 1.45;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.section_heading--arrow::before {
	content: "";
	width: min(calc(16 * 100vw / 1500), 16px);
	height: min(calc(18 * 100vw / 1500), 18px);
	background-color: var(--color-primary);
	-webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	margin-right: min(calc(8 * 100vw / 1500), 8px);
}

.section_heading--arrow + .txt--tight {
	margin-top: min(calc(11 * 100vw / 1500), 11px);
}

.section_heading--arrow + .info-block {
	margin-top: min(calc(12 * 100vw / 1500), 12px);
}

.section_heading--arrow + .tbl_base {
	margin-top: min(calc(16 * 100vw / 1500), 16px);
}

/* アイコン＋1行タイトル */
.info_title {
	display: flex;
	align-items: center;
}

.info_title + .info_title__subtext {
	margin-top: min(calc(3.4 * 100vw / 1500), 3.4px);
}

.info_title::before {
	content: "";
	background-image: url("data:image/webp;base64,UklGRsYCAABXRUJQVlA4WAoAAAAQAAAALwAAPAAAQUxQSCgBAAABgFXbdtzmEuhaD4IgiIEFwQxqBjGDiEHDQGYQM6gZyAwSBhaD++Hhya9zvyJiAgC4tNBkfsVmu9BsWrmFhiOAGy0vACZdh315qhiqyAFMNu7X/TfaOPcrebYOJ4ZRVxxOHlUTzg6q+O8jNWdfVGZ/eM8W7qaaA9xQzQHAqCgCAFOlCeugGLHuzLWVFrcaFIus7pWYHXClNjvgylrkgzUXHlYZtOeB3tQTgBRLLQD4YmfAphuKjbnFQRd2hqDe6T20OxHqnQB12ertDBvF6aaN4nTSxxijh176GGP0+AR90zSVXNM0UqEj2VWSmcyi6kh2qC0zmUVxIYtHfZnJLIcSycf7mZlklgOJNrPsJFrNspHI4nG+zGQWAIksHhZlJrMgkcXD6EDmF1ZQOCAiAQAA0AgAnQEqMAA9AD61UqBKJyUjIbAVWVjgFolsALElQX6rzJUkpejmrUvqV2wHmA/gH9z/XT3qPRtvD28qf5zzMwGuwJZfrGuSQSJ3CUAcwAD+6tGhm/dJuDdAuSOsPA5eoP0VvOjp2PPWl2N2XeDdl5d0W5ZRg4WCApuhnFiyby1K7UFL8fqQYsIDxH/bnHplCNaPt6AeGKcMebCPFQ0nwaKtmc2L7fRpGPuSmtAG33pC0Qo7+7JVyNxuP6/1msYrS9exof2SDE7NIzKJkBdz56VAUvNcGrDpS2sXacQi7wqYMwNnss4SJZ8LEyDt8vZBNxweOuzQ4YPSmYtE8dR/gZRNbguJi573VqFsA7E9HMydc6cyvFzxlhYF0i7req+AAABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgA8AAAAAA==");
	background-size: contain;
	width: min(calc(23.71 * 100vw / 1500), 23.71px);
	height: min(calc(30.71 * 100vw / 1500), 30.71px);
	transform: translateY(min(calc(5 * 100vw / 1500), 5px));
}

.info_title__text {
	font-size: min(calc(36 * 100vw / 1500), 36px);
	color: var(--color-primary);
	line-height: calc(52 / 36);
	font-weight: bold;
	margin-left: min(calc(8 * 100vw / 1500), 8px);
}

.info_title__subtext {
	font-size: min(calc(22 * 100vw / 1500), 22px);
	color: var(--color-primary);
	line-height: 1.7715625;
	font-weight: bold;
	letter-spacing: 0.15em;
}

/* 列車タイトル（列車名など） */
.train-title {
  margin-top: min(calc(calc(12 / 1500 * 100vw)), 12px);
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.5;
  color: var(--color-primary);
}
.train-title strong {
  display: block;
  margin-bottom: min(calc(calc(10 / 1500 * 100vw)), 10px);
  font-weight: bold;
}
.train-title--inline strong {
  display: inline;
  margin-bottom: 0;
}

/* 発着情報のタイトル */
.transit-info-title {
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.5;
  font-weight: bold;
  color: var(--color-txt);
}

/* text
**************/
.txt {
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: 2;
	color: var(--color-txt);
}

.txt--tight {
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: 1.625;
}

.txt--tight + .txt--tight {
	margin-top: min(calc(11 * 100vw / 1500), 11px);
}

.txt--red {
	color: #FF0000 !important;
}

.txt--blue {
	color: var(--color-primary) !important;
}

.txt--base {
	color: var(--color-text) !important;
}

.txt--medium {
	font-weight: 500;
}

.txt--bold {
	font-weight: bold;
}

.txt--ls-wide {
	letter-spacing: 0.15em;
}

.txt--link {
	color: var(--color-primary);
	text-decoration: underline;
	transition: all 0.3s;
}

@media (any-hover: hover) {
	.txt--link:hover {
		text-decoration: none;
	}
}

.txt--note {
	font-size: min(calc(14 * 100vw / 1500), 14px);
	line-height: 2;
	color: var(--color-txt);
}
.txt--center {
  text-align: center;
}
.txt--underline {
  text-decoration: underline;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1em {
	margin-top: 1em !important;
}

.mt-2em {
	margin-top: 2em !important;
}

.pc_item {
	display: block;
}

.sp_item {
	display: none;
}

.ta-center {
	text-align: left !important;
}

/* block
**************/
.container {
	margin-top: min(calc(76.5 * 100vw / 1500), 76.5px);
}

.container + .container {
	margin-top: min(calc(110 * 100vw / 1500), 110px);
}

.section_item + .section_item {
	margin-top: min(calc(80 * 100vw / 1500), 80px);
}

.content_block {
	margin-top: min(calc(33 * 100vw / 1500), 33px);
}

/* layout
**************/
/* アンカーリンク */
.anchor_link {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	padding-top: min(calc(60 * 100vw / 1500), 60px);
	position: sticky;
	z-index: 1;
	top: max(calc(50 * 100vw / 1500), 50px);
	background-color: #fff;
}

.anchor_link--item {
	border-right: 3px solid var(--color-primary);
	border-left: 3px solid var(--color-primary);
}

.anchor_link--item:not(:first-child) {
	border-left: none;
}

.anchor_link--item > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: min(calc(11 * 100vw / 1500), 11px) min(calc(35 * 100vw / 1500), 35px) min(calc(13 * 100vw / 1500), 13px) min(calc(35 * 100vw / 1500), 35px);
	text-align: center;
	text-decoration: none;
	font-size: min(calc(18 * 100vw / 1500), 18px);
	font-weight: bold;
	line-height: 1.5555555556;
	letter-spacing: 0.15em;
	color: var(--color-primary);
	transition: all 0.3s;
}

.anchor_link--item > a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: min(calc(20 * 100vw / 1500), 20px);
	translate: 0 -50%;
	width: min(calc(17.23 * 100vw / 1500), 17.23px);
	height: min(calc(15.59 * 100vw / 1500), 15.59px);
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: var(--color-primary);
}

.anchor_link--item > a.-no-triangle::after {
	content: none;
}

@media (any-hover: hover) {
	.anchor_link--item > a:hover {
		background-color: var(--color-primary);
		color: #fff;
	}

	.anchor_link--item > a:hover::after {
		background-color: #fff;
	}
}

.fig2_wrap {
	display: flex;
	gap: min(calc(62 * 100vw / 1500), 62px);
	margin-top: min(calc(55 * 100vw / 1500), 55px);
}

.fig2_wrap figure {
	width: min(calc(609 * 100vw / 1500), 609px);
	height: min(calc(378 * 100vw / 1500), 378px);
	aspect-ratio: 609/378;
	vertical-align: bottom;
	margin: auto;
}

.fig2_wrap figure img {
	width: 100%;
}

.fig3_wrap {
  display: flex;
  gap: min(calc(calc(15 / 1500 * 100vw)), 15px);
  margin-top: min(calc(calc(60 / 1500 * 100vw)), 60px);
}
.fig3_wrap figure {
  width: min(calc(calc(417 / 1500 * 100vw)), 417px);
  height: min(calc(calc(280 / 1500 * 100vw)), 280px);
  aspect-ratio: 417/280;
  vertical-align: bottom;
  margin: auto;
}
.fig3_wrap figure img {
  width: 100%;
}


[class^=layout-] {
  display: flex;
  margin-top: min(calc(calc(40 / 1500 * 100vw)), 40px);
}

[class^=layout-] .grid-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(calc(calc(20 / 1500 * 100vw)), 20px);
  width: 100%;
}

.layout-col600-col600 {
  gap: min(calc(calc(80 / 1500 * 100vw)), 80px);
}
.layout-col600-col600 .col-left, .layout-col600-col600 .col-right {
  width: min(calc(calc(600 / 1500 * 100vw)), 600px);
}

.layout-col640-col609 {
  gap: min(calc(calc(31 / 1500 * 100vw)), 31px);
}
.layout-col640-col609 .col-left {
  width: min(calc(calc(640 / 1500 * 100vw)), 640px);
}
.layout-col640-col609 .col-right {
  width: min(calc(calc(609 / 1500 * 100vw)), 609px);
}


.layout-col640-col609 {
  gap: min(calc(calc(31 / 1500 * 100vw)), 31px);
}
.layout-col640-col609 .col-left {
  width: min(calc(calc(640 / 1500 * 100vw)), 640px);
}
.layout-col640-col609 .col-right {
  width: min(calc(calc(609 / 1500 * 100vw)), 609px);
}

.layout-col600-col609 {
  gap: min(calc(calc(81 / 1500 * 100vw)), 81px);
  margin-top: min(calc(calc(60 / 1500 * 100vw)), 60px);
}
.layout-col600-col609 .col-left {
  width: min(calc(calc(600 / 1500 * 100vw)), 600px);
}
.layout-col600-col609 .col-left img {
  width: 100%;
}
.layout-col600-col609 .col-right {
  width: min(calc(calc(609 / 1500 * 100vw)), 609px);
}
.layout-col600-col609 .col-title {
  margin-top: min(calc(calc(12 / 1500 * 100vw)), 12px);
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.5;
  color: var(--color-primary);
}
.layout-col600-col609 .col-title strong {
  display: block;
  font-weight: bold;
}
.layout-col600-col609 .col-wrap {
  margin-top: min(calc(calc(25 / 1500 * 100vw)), 25px);
}
.layout-col600-col609 .col-wrap:has(.fig-wrap) {
  display: flex;
  gap: min(calc(calc(10 / 1500 * 100vw)), 10px);
}
.layout-col600-col609 .col-txt {
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  line-height: 1.5;
  color: var(--color-txt);
}
.layout-col600-col609 .fig-wrap figure {
  width: min(calc(calc(220 / 1500 * 100vw)), 220px);
}
.layout-col600-col609 .fig-wrap figure + figure {
  margin-top: min(calc(calc(20 / 1500 * 100vw)), 20px);
}
.layout-col600-col609 .fig-wrap figcaption {
  margin-top: min(calc(calc(3 / 1500 * 100vw)), 3px);
  font-size: min(calc(calc(14 / 1500 * 100vw)), 14px);
  line-height: 1.4285714286;
  color: var(--color-txt);
}


.layout-col600-col600 .col-title {
  margin-top: min(calc(calc(12 / 1500 * 100vw)), 12px);
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.5;
  color: var(--color-primary);
}
.layout-col600-col600 .col-title strong {
  display: block;
  font-weight: bold;
}
.layout-col600-col600 .col-txt {
	margin-top: min(calc(calc(10 / 1500 * 100vw)), 10px);
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  line-height: 1.5;
  color: var(--color-txt);
}


.layout-col600-col640 {
  gap: min(calc(calc(40 / 1500 * 100vw)), 40px);
}
.layout-col600-col640 .col-left {
  width: min(calc(calc(600 / 1500 * 100vw)), 600px);
}
.layout-col600-col640 .col-right {
  width: min(calc(calc(640 / 1500 * 100vw)), 640px);
}
.layout-col600-col640 .col-right > .train-title {
  margin-top: 0;
}


.grid_train {
  display: grid;
  margin-top: min(calc(calc(40 / 1500 * 100vw)), 40px);
}
.grid_train.-grid-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: min(calc(calc(40 / 1500 * 100vw)), 40px) min(calc(calc(15 / 1500 * 100vw)), 15px);
}
.grid_train.-grid-3 .grid_item {
  width: min(calc(calc(417 / 1500 * 100vw)), 417px);
  height: min(calc(calc(280 / 1500 * 100vw)), 280px);
  aspect-ratio: 417/280;
  vertical-align: bottom;
}
.grid_train.-grid-3 .item-title {
  color: var(--color-primary);
}
.grid_train.-grid-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: min(calc(calc(13.3333333333 / 1500 * 100vw)), 13.3333333333px);
}
.grid_train.-grid-4 .grid_item {
  width: min(calc(calc(310 / 1500 * 100vw)), 310px);
  height: min(calc(calc(250 / 1500 * 100vw)), 250px);
  aspect-ratio: 310/250;
  vertical-align: bottom;
}
.grid_train.-grid-4 .item-title {
  color: var(--color-primary);
}
.grid_train .item-title {
  margin-top: min(calc(calc(12 / 1500 * 100vw)), 12px);
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: -0.01em;
}
.grid_train .item-txt {
  margin-top: min(calc(calc(16 / 1500 * 100vw)), 16px);
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  line-height: 1.5;
  color: var(--color-txt);
}
.grid_train_item img {
  width: 100%;
}


.grid_container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: min(calc(20 * 100vw / 1500), 20px);
	gap: min(calc(15 * 100vw / 1500), 15px);
	margin-top: min(calc(43 * 100vw / 1500), 43px);
}

.grid_container .grid_item1 {
	grid-area: 1/1/3/2;
	width: min(calc(780 * 100vw / 1500), 780px);
	height: min(calc(635 * 100vw / 1500), 635px);
	aspect-ratio: 780/635;
	vertical-align: bottom;
}

.grid_container .grid_item2 {
	grid-area: 1/2/2/3;
	width: min(calc(480 * 100vw / 1500), 480px);
	height: min(calc(310 * 100vw / 1500), 310px);
	aspect-ratio: 480/310;
	vertical-align: bottom;
}
.grid_container .grid_item23 {
	grid-area: 1/2/3/3;
}

.grid_container .grid_item3 {
	grid-area: 2/2/3/3;
	width: min(calc(480 * 100vw / 1500), 480px);
	height: min(calc(310 * 100vw / 1500), 310px);
	aspect-ratio: 480/310;
	vertical-align: bottom;
}
.grid_container img {
	width: 100%;
}

.info-block--stacked .info-block__label {
	width: min(calc(200 * 100vw / 1500), 200px);
	font-size: min(calc(18 * 100vw / 1500), 18px);
}

.info-block--stacked .info-block__text--medium {
	line-height: 2.25;
}

.info-block--stacked .info-block__text--regular {
	line-height: 1.625;
}

.info-block--inline {
	display: flex;
	align-items: center;
	gap: min(calc(30 * 100vw / 1500), 30px);
}

.info-block--inline .info-block__label {
	width: min(calc(65 * 100vw / 1500), 65px);
	font-size: min(calc(16 * 100vw / 1500), 16px);
}

.info-block--inline .info-block__label + .info-block__text {
	margin-top: 0;
}

.info-block--inline .info-block__text--medium {
	line-height: 1.5;
}

.info-block__label {
	display: flex;
	justify-content: center;
	align-items: center;
	height: min(calc(30 * 100vw / 1500), 30px);
	border-radius: min(calc(30 * 100vw / 1500), 30px);
	background-color: var(--color-primary);
	font-size: min(calc(18 * 100vw / 1500), 18px);
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

.info-block__label + .info-block__text {
	margin-top: min(calc(11 * 100vw / 1500), 11px);;
}

.info-block__text {
	font-size: min(calc(16 * 100vw / 1500), 16px);
	color: var(--color-txt);
}

.info-block__text--medium {
	font-weight: 500;
}

.info-block__text--regular {
	font-weight: 400;
}

.info-block + .info-block {
	margin-top: min(calc(23 * 100vw / 1500), 23px);
}

.tbl_base {
	/* テーブル */
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid #DCDCDC;
	border-left: 1px solid #DCDCDC;
	table-layout: fixed;
}

.tbl_base caption {
	margin: min(calc(10 * 100vw / 1500), 10px) 0 min(calc(20 * 100vw / 1500), 20px);
	text-align: left;
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: 1.5;
	color: var(--color-txt);
	font-weight: bold;
	letter-spacing: 0.15em;
}

.tbl_base caption + .tbl_base_unit {
	margin-top: min(calc(-15 * 100vw / 1500), -15px)
}

.tbl_base .tbl_base_unit {
	margin: min(calc(10 * 100vw / 1500), 10px) 0 min(calc(5 * 100vw / 1500), 5px);
	text-align: right;
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: 1.625;
	color: var(--color-txt);
	font-weight: normal;
	letter-spacing: 0;
}

.tbl_base th {
	padding: min(calc(11.5 * 100vw / 1500), 11.5px) min(calc(18 * 100vw / 1500), 18px);
	border-right: 1px solid #DCDCDC;
	border-bottom: 1px solid #DCDCDC;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: min(calc(16 * 100vw / 1500), 16px);
	font-weight: bold;
	line-height: 1.625;
	text-align: center;
}

.tbl_base td {
	padding: min(calc(7.5 * 100vw / 1500), 7.5px) min(calc(18 * 100vw / 1500), 18px);
	border-right: 1px solid #DCDCDC;
	border-bottom: 1px solid #DCDCDC;
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: 1.625;
	color: var(--color-txt);
	text-align: center;
}

.tbl_base tr:nth-of-type(even) {
	background-color: var(--color-bg);
}

.tbl_base + .tbl_base {
	margin-top: min(calc(30 * 100vw / 1500), 30px);
}

.tbl_base.tbl_type2 thead th:first-of-type {
	width: calc(360 / 1280 * 100%);
}

.tbl--note {
	margin-top: 1em;
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: calc(26 / 16);
}

.tbl_base tfoot td {
	background-color: var(--color-bg);
}

.half--size {
  width: 50%;
  table-layout: auto;
  margin-top: 0 !important;
}

.half--size th {}

.half--size td {}

.tbl-scroll + .note {
	margin-top: min(calc(0 * 100vw / 1500), 10px);
  font-size: min(calc(calc(14 / 1500 * 100vw)), 14px);
  line-height: 1.4285714286;
  color: var(--color-txt);
}

.tbl-service {
  /* サービス内容用 */
  width: 100%;
  margin-top: min(calc(calc(7 / 1500 * 100vw)), 7px);
  border-collapse: collapse;
  border-spacing: 0;
}
.tbl-service thead th {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  padding: min(calc(calc(10 / 1500 * 100vw)), 10px) min(calc(calc(1 / 1500 * 100vw)), 1px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
  white-space: nowrap;
}
.tbl-service thead th:last-of-type {
  border-right: none;
}
.tbl-service tbody th {
  background-color: #CFE6FA;
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  line-height: 1.1875;
  color: var(--color-txt);
  height: min(calc(calc(40 / 1500 * 100vw)), 40px);
  padding: min(calc(calc(3 / 1500 * 100vw)), 3px) min(calc(calc(16 / 1500 * 100vw)), 16px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  white-space: nowrap;
}
.tbl-service tbody td {
  background-color: #E3E4E5;
  font-size: min(calc(calc(30 / 1500 * 100vw)), 30px);
  line-height: 1;
  color: var(--color-txt);
  height: min(calc(calc(40 / 1500 * 100vw)), 40px);
  padding: min(calc(calc(3 / 1500 * 100vw)), 3px) min(calc(calc(16 / 1500 * 100vw)), 16px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
  vertical-align: middle;
  text-align: center;
}
.tbl-service tbody td.-disabled {
  background-color: #C3C3C3;
}
.tbl-service tbody td:last-of-type {
  border-right: none;
}
.tbl-service + .note {
  font-size: min(calc(calc(14 / 1500 * 100vw)), 14px);
  line-height: 1.4285714286;
  color: var(--color-txt);
}

.tbl-route {
  /* ルート用 */
  width: 100%;
  margin-top: min(calc(calc(7 / 1500 * 100vw)), 7px);
  border-collapse: collapse;
  border-spacing: 0;
}
.tbl-route.is-table-fixed {
  table-layout: fixed;
}

.tbl-route thead th {
  background-color: var(--color-primary);
  border-bottom: 6px solid var(--color-white);
  color: var(--color-white);
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  padding: min(calc(calc(10 / 1500 * 100vw)), 10px) min(calc(calc(16 / 1500 * 100vw)), 16px);
}
.tbl-route tbody td {
  background-color: #CFE6FA;
  font-size: min(calc(calc(16 / 1500 * 100vw)), 16px);
  font-weight: bold;
  line-height: 1.625;
  color: var(--color-txt);
  height: min(calc(calc(40 / 1500 * 100vw)), 40px);
  padding: min(calc(calc(3 / 1500 * 100vw)), 3px) min(calc(calc(16 / 1500 * 100vw)), 16px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
  vertical-align: middle;
  text-align: center;
}
.tbl-route tbody td:last-of-type {
  border-right: none;
}
.tbl-route tbody td:only-child {
  border-right: 6px solid var(--color-white);
}

.tbl-duration {
  /* 所要時間用 */
  width: 100%;
  margin-top: min(calc(calc(0 / 1500 * 100vw)), 0px);
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}
.tbl-duration thead th {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.4230769231;
  text-align: center;
  font-weight: normal;
  height: min(calc(calc(48 / 1500 * 100vw)), 48px);
  padding: min(calc(calc(8 / 1500 * 100vw)), 8px) min(calc(calc(16 / 1500 * 100vw)), 16px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
}
.tbl-duration thead th:last-of-type {
  border-right: none;
  width: min(calc(calc(208 / 1500 * 100vw)), 208px);
}
.tbl-duration tbody td {
  background-color: #CFE6FA;
  font-size: min(calc(calc(26 / 1500 * 100vw)), 26px);
  line-height: 1.4230769231;
  color: var(--color-txt);
  font-weight: bold;
  height: min(calc(calc(50 / 1500 * 100vw)), 50px);
  padding: min(calc(calc(7 / 1500 * 100vw)), 7px) min(calc(calc(11 / 1500 * 100vw)), 11px) min(calc(calc(6 / 1500 * 100vw)), 6px);
  border-right: 6px solid var(--color-white);
  border-bottom: 6px solid var(--color-white);
  vertical-align: middle;
  text-align: left;
}
.tbl-duration tbody td:last-of-type {
  padding: min(calc(calc(7 / 1500 * 100vw)), 7px) min(calc(calc(35 / 1500 * 100vw)), 35px) min(calc(calc(6 / 1500 * 100vw)), 6px);
  border-right: none;
  background-color: #E3E4E5;
}


.ico--circle {
	position: relative;
	font-size: min(calc(30 * 100vw / 1500), 30px);
	line-height: 1;
}

.ico--triangle {
	font-size: min(calc(25 * 100vw / 1500), 25px);
	line-height: 1;
}

.ico--hyphen {
	font-size: min(calc(30 * 100vw / 1500), 30px);
	line-height: 1;
}

.ico_sup {
	position: absolute;
	top: 0.7em;
	left: 100%;
	font-size: min(calc(16 * 100vw / 1500), 16px);
	line-height: calc(26 / 16);
}

.btn_wrap {
	display: flex;
	justify-content: center;
	gap: min(calc(58 * 100vw / 1500), 58px);
	margin-top: min(calc(113 * 100vw / 1500), 113px);
}

.btn_wrap .btn_item a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(calc(460 * 100vw / 1500), 460px);
	padding: min(calc(23 * 100vw / 1500), 23px) min(calc(24 * 100vw / 1500), 24px);
	text-align: center;
	font-weight: 500;
	font-size: min(calc(20 * 100vw / 1500), 20px);
	line-height: 2;
	text-decoration: none;
	border-radius: 6px;
	transition: all 0.3s;
	position: relative;
}

.btn_wrap .btn_item a::after {
	content: "";
	display: inline-block;
	height: min(calc(25 * 100vw / 1500), 25px);
	width: min(calc(16 * 100vw / 1500), 16px);
	-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.btn_wrap .btn_item--outline a {
	border: 2px solid var(--color-accent);
	background-color: var(--color-white);
	color: var(--color-accent);
}

.btn_wrap .btn_item--outline a::after {
	margin-left: min(calc(50 * 100vw / 1500), 50px);
	background-color: var(--color-accent);
}

@media (any-hover: hover) {
	.btn_wrap .btn_item--outline a:hover {
		background-color: var(--color-accent);
		color: #FFFFFF;
	}

	.btn_wrap .btn_item--outline a:hover::after {
		background-color: var(--color-white);
	}
}

.btn_wrap .btn_item--filled a {
	position: relative;
	border: 2px solid var(--color-primary);
	background-color: var(--color-primary);
	color: var(--color-white);
}

.btn_wrap .btn_item--filled a::after {
	position: absolute;
	top: 50%;
	right: min(calc(20 * 100vw / 1500), 20px);
	transform: translateY(-50%);
	background-color: var(--color-white);
}

@media (any-hover: hover) {
	.btn_wrap .btn_item--filled a:hover {
		opacity: 0.8;
	}
}
.btn_wrap .btn_item--ar-none a {
  position: relative;
  border: 2px solid var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
}
.btn_wrap .btn_item--ar-none a::after {
  content: none;
}
@media (any-hover: hover) {
  .btn_wrap .btn_item--ar-none a:hover {
    opacity: 0.8;
  }
}


.path_link_content {
	margin-top: min(calc(120 * 100vw / 1500), 120px);
}

.path_link_content .txt--lead {
	text-align: center;
	font-size: min(calc(20 * 100vw / 1500), 20px);
	line-height: 1.45;
	color: var(--color-primary);
	font-weight: bold;
}

.path_link_content .path_link_list {
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(32 * 100vw / 1500), 32px) min(calc(30 * 100vw / 1500), 30px);
	width: min(calc(1118 * 100vw / 1500), 1118px);
	margin-top: min(calc(40 * 100vw / 1500), 40px);
	margin-left: min(calc(80 * 100vw / 1500), 80px);
	margin-bottom: min(calc(120 * 100vw / 1500), 120px);
}

.path_link_content .path_link_list__link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: min(calc(40 * 100vw / 1500), 40px);
	padding: 0 calc(25 / 18 * 1em);
	border: 1px solid var(--color-gray);
	white-space: nowrap;
	border-radius: min(calc(20 * 100vw / 1500), 20px);
	color: var(--color-accent);
	font-size: min(calc(18 * 100vw / 1500), 18px);
	line-height: 1;
	letter-spacing: 0.04em;
}

.path_link_content .path_link_list__link.is-active {
	border-color: var(--color-accent);
	background-color: var(--color-accent);
	color: var(--color-white);
}

@media (any-hover: hover) {
	.path_link_content .path_link_list__link:hover {
		border-color: var(--color-accent);
		background-color: var(--color-accent);
		color: var(--color-white);
	}
}

.arrow-link-button {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: min(5.67 * 100vw / 1500, 5.67px);
	text-align: center;
	font-size: min(20 * 100vw / 1500, 20px);
	line-height: 1.559;
	padding: 5px 1em;
	position: relative;
}
.arrow-link-button.-primary {
	background-color: #156a9a;
	color: #ffffff;
}

@media (any-hover: hover) {
	.arrow-link-button.-primary:hover {
		background-color: #10537a;
	}
}

.arrow-link-button-accent {
	color: #ffdf03;
	font-weight: bold;
}

.railway-category-links-ttl {
  margin-top: min(calc(calc(80 / 1500 * 100vw)), 80px);
  font-size: min(calc(calc(32 / 1500 * 100vw)), 32px);
  line-height: 1.21875;
  color: var(--color-primary);
  font-weight: bold;
  text-align: center;
}
.railway-category-links-ttl + .railway-category-links {
  margin-top: min(calc(calc(40 / 1500 * 100vw)), 40px);
}

.railway-category-links {
	display: flex;
	justify-content: space-between;
	width: min(980 * 100vw / 1500, 980px);
	margin: min(80 * 100vw / 1500, 80px) auto;
}
.railway-category-links.-justify-content-center {
	justify-content: center;
}
.railway-category-links .link-item {
	width: 46.9387755102%;
}
.railway-category-links .arrow-link-button {
	min-height: min(131 * 100vw / 1500, 131px);
}
.railway-category-links .item-text {
	font-size: min(14 * 100vw / 1500, 14px);
	line-height: 1.7142857143;
	margin: min(18 * 100vw / 1500, 18px) auto 0;
	width: fit-content;
	letter-spacing: 0.02em;
}
.railway-category-links .icon-square {
	position: relative;
	padding-left: 1em;
}
.railway-category-links .icon-square::before {
	position: absolute;
	top: 0.6em;
	left: 0;
	content: "";
	display: block;
	width: 0.5714285714em;
	height: auto;
	aspect-ratio: 1/1;
	background-color: currentColor;
}

@media (max-width: 768px) {
	html {
		scroll-padding-top: calc(420 / 750 * 100vw);
	}

	.mv-title {
		padding: calc(36 * 100vw / 750);
		font-size: calc(62 * 100vw / 750);
		line-height: calc(99 / 62);
		letter-spacing: 0.15em;
		background-color: rgba(0, 0, 0, 0);
	}

	.mv-title .smaller {
		font-size: calc(50 * 100vw / 750);
	}

	.bottom-sales {
		margin-top: calc(142 * 100vw / 750);
	}

	/* タイトル用
  **************/
	.section_heading {
		font-size: calc(48 / 750 * 100vw);
		line-height: 1.4583333333;
	}
	.section_heading--icon {
		font-size: calc(57 * 100vw / 750);
		line-height: 1.5964912281;
	}

	.section_heading--icon::before {
		flex-shrink: 0;
		width: calc(40 * 100vw / 750);
		height: calc(40 * 100vw / 750);
		margin-right: calc(16 * 100vw / 750);
	}

	.section_heading--icon + .txt {
		margin-top: calc(70 * 100vw / 750);
	}

	.section_heading--arrow {
		font-size: calc(38 * 100vw / 750);
		line-height: 1.45;
	}

	.section_heading--arrow::before {
		flex-shrink: 0;
		width: calc(36 * 100vw / 750);
		height: calc(38 * 100vw / 750);
		margin-right: calc(8 * 100vw / 750);
	}

	.section_heading--arrow + .txt--tight {
		margin-top: calc(16 * 100vw / 750);
	}

	.section_heading--arrow + .info-block {
		margin-top: calc(34 * 100vw / 750);
	}

	.section_heading--arrow + .tbl_base {
		margin-top: calc(32 * 100vw / 750);
	}

	/* アイコン＋1行タイトル */
	.info_title {
		align-items: baseline;
	}

	.info_title::before {
		width: calc(32.23 * 100vw / 750);
		height: calc(41.4 * 100vw / 750);
		transform: translateY(0);
	}

	.info_title__text {
		font-size: calc(57 * 100vw / 750);
		line-height: calc(91 / 57);
		margin-left: calc(13 * 100vw / 750);
	}

	.info_title__subtext {
		margin-top: calc(36 * 100vw / 750);
		font-size: calc(32 * 100vw / 750);
		line-height: calc(56.69 / 32);
	}

	.info_title + .info-block {
		margin-top: calc(24 * 100vw / 750);
	}
	  /* 列車タイトル（列車名など） */
	.train-title {
		margin-top: calc(16 / 750 * 100vw);
		font-size: calc(32 / 750 * 100vw);
		line-height: 1.5;
		color: var(--color-primary);
	}
	.train-title strong {
		font-weight: bold;
		margin-bottom: calc(10 / 750 * 100vw);
	}
  /* 発着情報のタイトル */
  .transit-info-title {
    font-size: calc(40 / 750 * 100vw);
    line-height: 1.45;
    font-weight: bold;
    color: var(--color-txt);
  }
    .transit-info-title + [class^=layout-] {
    margin-top: calc(40 / 750 * 100vw);
  }
  .transit-info-title + [class^=layout-] > * {
    margin-top: calc(0 / 750 * 100vw);
  }

	/* text
  **************/
	.txt {
		font-size: calc(32 * 100vw / 750);
		line-height: 1.59375;
	}

	.txt--tight {
		font-size: calc(32 * 100vw / 750);
		line-height: 1.59375;
	}

	.txt--tight + .txt--tight {
		margin-top: calc(22 * 100vw / 750);
	}

	.txt--note {
		font-size: calc(24 * 100vw / 750);
		line-height: 1.4583333333;
	}

  .sp-mt-0 {
    margin-top: calc(0 / 750 * 100vw) !important;
  }

	.sp-mt-half {
		margin-top: 0.5em !important;
	}

	.sp-mt-20 {
		margin-top: calc(20 / 750 * 100vw) !important;
	}
	.sp-mt-25 {
		margin-top: calc(25 * 100vw / 750) !important;
	}

	.sp-mt-40 {
		margin-top: calc(40 / 750 * 100vw) !important;
	}
	.sp-mt-70 {
		margin-top: calc(70 / 750 * 100vw) !important;
	}

	.pc_item {
		display: none;
	}

	.sp_item {
		display: block;
	}

	/* block
  **************/
	.container {
		margin-top: calc(111 * 100vw / 750);
	}

	.container + .container {
		margin-top: calc(100 * 100vw / 750);
	}

	.section_item + .section_item {
		margin-top: calc(120 * 100vw / 750);
	}

	.content_block {
		margin-top: calc(110 * 100vw / 750);
	}

	/* layout
  **************/
	.anchor_link {
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
		margin-top: calc(53 / 750 * 100vw);
		padding-top: 0;
		border-top: 3px solid var(--color-primary);
		border-left: 3px solid var(--color-primary);
		top: 64px;
	}

	.anchor_link--item {
		border-left: none;
		border-bottom: 3px solid var(--color-primary);
	}

	.anchor_link--item > a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: calc(24 * 100vw / 750);
		padding-bottom: calc(29 * 100vw / 750);
		border-radius: 0;
		box-shadow: none;
		font-size: calc(28 * 100vw / 750);
		line-height: 1.4285714286;
	}

	.anchor_link--item > a::after {
		right: calc(20 * 100vw / 750);
		width: calc(17.23 * 100vw / 750);
		height: calc(15.59 * 100vw / 750);
	}

	.anchor_link--item:nth-of-type(2n) > a {
		border-left: 0;
	}

	.anchor_link--item:nth-of-type(n + 3) > a {
		border-top: 0;
	}

	.fig2_wrap {
		flex-direction: column;
		gap: calc(40 * 100vw / 750);
		margin-top: calc(65 * 100vw / 750);
	}

	.fig2_wrap figure {
		width: 100%;
		height: auto;
	}

	.fig2_wrap figure img {
		width: 100%;
	}

	.fig3_wrap {
		flex-direction: column;
		gap: calc(40 / 750 * 100vw);
		margin-top: calc(60 / 750 * 100vw);
	}
	.fig3_wrap figure {
		width: 100%;
		height: auto;
	}
	.fig3_wrap figure img {
		width: 100%;
	}

  [class^=layout-] {
    display: block;
    margin-top: calc(80 / 750 * 100vw);
  }
  [class^=layout-] > * {
    margin-top: calc(80 / 750 * 100vw);
  }
  [class^=layout-] .grid-layout {
    display: grid;
    gap: calc(12 / 750 * 100vw);
    width: 100%;
    margin-top: calc(20 / 750 * 100vw);
  }
  .layout-col600-col600 .col-left, .layout-col600-col600 .col-right {
    width: 100%;
  }
  .layout-col640-col609 .col-left {
    width: 100%;
  }
  .layout-col640-col609 .col-right {
    width: 100%;
  }
  .layout-col600-col609 .col-left {
    width: 100%;
  }
  .layout-col600-col609 .col-right {
    width: 100%;
  }
  .layout-col600-col609 .col-title {
    margin-top: calc(16 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.5;
    color: var(--color-primary);
  }
  .layout-col600-col609 .col-title strong {
    font-weight: bold;
    margin-bottom: calc(10 / 750 * 100vw);
  }
  .layout-col600-col609 .col-wrap {
    margin-top: calc(20 / 750 * 100vw);
  }
  .layout-col600-col609 .col-wrap:has(.fig-wrap) {
    display: block;
  }
  .layout-col600-col609 .col-txt {
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.21875;
    color: var(--color-txt);
  }
  .layout-col600-col609 .fig-wrap {
    display: flex;
    gap: calc(12 / 750 * 100vw);
    margin-top: calc(20 / 750 * 100vw);
  }
  .layout-col600-col609 .fig-wrap figure {
    width: 100%;
  }
  .layout-col600-col609 .fig-wrap figure + figure {
    margin-top: calc(0 / 750 * 100vw);
  }
  .layout-col600-col609 .fig-wrap figcaption {
    margin-top: calc(3 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.3333333333;
    color: var(--color-txt);
  }
  .layout-col600-col609 + .layout-col600-col609 {
    margin-top: calc(100 / 750 * 100vw);
  }


  .layout-col600-col600 .col-title {
    margin-top: calc(16 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.5;
    color: var(--color-primary);
  }
  .layout-col600-col600 .col-title strong {
    font-weight: bold;
    margin-bottom: calc(10 / 750 * 100vw);
  }
	.layout-col600-col600 .col-txt {
	  margin-top: calc(20 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.21875;
    color: var(--color-txt);
  }


  .layout-col600-col640 .col-left {
    width: 100%;
  }
  .layout-col600-col640 .col-right {
    width: 100%;
  }
  .layout-col600-col640 .col-right > .train-title {
    margin-top: calc(16 / 750 * 100vw);
  }

  .grid_train {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid_train.-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(80 / 750 * 100vw) calc(12 / 750 * 100vw);
    margin-top: calc(80 / 750 * 100vw);
  }
  .grid_train.-grid-3 .grid_item {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .grid_train.-grid-3 .item-title {
    color: var(--color-primary);
  }
  .grid_train.-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(80 / 750 * 100vw) calc(12 / 750 * 100vw);
    margin-top: calc(80 / 750 * 100vw);
  }
  .grid_train.-grid-4 .grid_item {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .grid_train.-grid-4 .item-title {
    color: var(--color-primary);
  }
  .grid_train .item-title {
    margin-top: calc(12 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    color: var(--color-primary);
    line-height: 1.21875;
    font-weight: bold;
  }
  .grid_train .item-txt {
    margin-top: calc(16 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.5;
    color: var(--color-txt);
  }


	.grid_container {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: calc(40 * 100vw / 750);
		margin-top: calc(34 * 100vw / 750);
	}

	.grid_container .grid_item1,
	.grid_container .grid_item2,
	.grid_container .grid_item23,
	.grid_container .grid_item3 {
		grid-area: unset;
		width: 100%;
		height: auto;
		aspect-ratio: auto;
	}

	.info-block--stacked .info-block__label {
		width: calc(274 * 100vw / 750);
		font-size: calc(28 * 100vw / 750);
	}

	.info-block--stacked .info-block__text--medium {
		letter-spacing: 0.15em;
		line-height: 1.59375;
	}

	.info-block--stacked .info-block__text--regular {
		line-height: 1.59375;
	}

	.info-block--inline {
		flex-direction: column;
		align-items: flex-start;
		gap: calc(0 * 100vw / 750);
	}

	.info-block--inline .info-block__label {
		width: calc(112 * 100vw / 750);
		height: calc(50 * 100vw / 750);
		font-size: calc(32 * 100vw / 750);
	}

	.info-block--inline .info-block__label + .info-block__text {
		margin-top: calc(4 * 100vw / 750);
	}

	.info-block--inline .info-block__text--medium {
		line-height: 2;
	}

	.info-block--inline .info-block__text--regular {
		font-size: calc(28 * 100vw / 750);
	}

	.info-block__label {
		height: calc(44 * 100vw / 750);
		border-radius: calc(44 * 100vw / 750);
		font-size: calc(28 * 100vw / 750);
	}

	.info-block__label + .info-block__text {
		margin-top: calc(33 * 100vw / 750);
	}

	.info-block__text {
		font-size: calc(32 * 100vw / 750);
	}

	.info-block__text--medium + .info-block__text--regular {
		margin-top: calc(30 * 100vw / 750);
	}

	.info-block + .info-block {
		margin-top: calc(32 * 100vw / 750);
	}

	.tbl_base {
		/* テーブル */
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		border: none;
	}

	.tbl_base thead {
		display: block;
		float: left;
	}

	.tbl_base thead tr {
		display: block;
		border-top: 1px solid #DCDCDC;
		border-left: 1px solid #DCDCDC;
	}

	.tbl_base thead th {
		display: block;
		min-width: calc(260 * 100vw / 750);
	}

	.tbl_base tbody {
		display: flex;
		flex-wrap: nowrap;
	}

	.tbl_base tbody tr {
		display: flex;
		flex-direction: column;
		border-top: 1px solid #DCDCDC;
	}

	.tbl_base tbody td {
		min-width: calc(260 * 100vw / 750);
		white-space: nowrap;
	}

	.tbl_base tbody.ver-ico td {
		min-width: calc(370 * 100vw / 750);
		height: calc(100 * 100vw / 750);
		padding: calc(10.5 * 100vw / 750) calc(15 * 100vw / 750);
		line-height: calc(37 / 32);
		white-space: normal;
	}

	.tbl_base tbody.ver-ico td.is-sp-wide {
		min-width: calc(400 * 100vw / 750);
	}

	.tbl_base caption {
		width: calc(100vw - 35px);
		margin: calc(40 * 100vw / 750) 0 calc(36 * 100vw / 750);
		white-space: normal;
		font-size: calc(32 * 100vw / 750);
		line-height: 1.7715625;
	}

	.tbl_base caption + .tbl_base_unit {
		margin-top: calc(-26 * 100vw / 750);
	}

	.tbl_base .tbl_base_unit {
		margin: calc(10 * 100vw / 750) 0;
		text-align: right;
		font-size: calc(32 * 100vw / 750);
	}

	.tbl_base th {
		padding: calc(33 * 100vw / 750) calc(18 * 100vw / 750);
		font-size: calc(32 * 100vw / 750);
		line-height: 1;
	}

	.tbl_base td {
		padding: calc(33 * 100vw / 750) calc(28 * 100vw / 750);
		font-size: calc(32 * 100vw / 750);
		line-height: 1;
	}

	.tbl_base tr:nth-of-type(even) {
		background-color: var(--color-bg);
	}

	.tbl_base + .tbl_base {
		margin-top: min(calc(30 * 100vw / 1500), 30px);
	}

	.tbl_base.tbl_type2 thead th:first-of-type {
		width: auto;
	}

	.tbl_base.tbl_type2 td.is-sp-row1 {
		padding: calc(31.5 * 100vw / 750) calc(15 * 100vw / 750);
	}

	.tbl--note {
		margin-top: 0.5em;
		font-size: calc(32 * 100vw / 750);
	}

	.tbl_base th[width] {
		width: auto !important;
	}

	.tbl_base th.th-sp-adjust[colspan^="2"] {
		display: flex;
		align-items: center;
		justify-content: center;
		height: calc(200 / 750 * 100vw);
	}

	.tbl_base tfoot {
		width: calc(103.1vw - 0px);
		display: table;
		margin-left: 1px;
	}

	.tbl_base tfoot th {

	}

	.tbl_base tfoot td {
		width: calc(259 / 750 * 100vw);
	}


  .half--size {
    width: 100%;
    margin: auto;
    table-layout: fixed;
	overflow: inherit;
  }

	.half--size thead {
	width: 50%;
	}

	.half--size tbody {
		width: 50%;
	}

	.half--size tr {
		width: 100%;
	}

  .tbl-scroll {
    /* テーブル */
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    border: none;
    margin-top: calc(40 / 750 * 100vw);
    white-space: nowrap;
  }
  .tbl-scroll + .note {
	margin-top: calc(16 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.1666666667;
    color: var(--color-txt);
  }
  .tbl-service {
    /* サービス内容用 */
    width: 100%;
    margin-top: calc(10 / 750 * 100vw);
    border-collapse: collapse;
    border-spacing: 0;
  }
  .tbl-service thead th {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: calc(32 / 750 * 100vw);
    font-weight: bold;
    line-height: 1.4375;
    text-align: center;
    padding: calc(10 / 750 * 100vw) calc(32 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
  }
  .tbl-service thead th:last-of-type {
    border-right: none;
  }
  .tbl-service tbody tr:nth-of-type(odd) {
    background-color: var(--color-bg);
  }
  .tbl-service tbody th {
    background-color: #CFE6FA;
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.4375;
    color: var(--color-txt);
    padding: calc(10 / 750 * 100vw) calc(32 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
    text-align: left;
    font-weight: bold;
  }
  .tbl-service tbody td {
    background-color: #E3E4E5;
    font-size: calc(60 / 750 * 100vw);
    line-height: 1.4375;
    color: var(--color-txt);
    padding: calc(10 / 750 * 100vw) calc(28 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
    text-align: center;
  }
  .tbl-service tbody td.-disabled {
    background-color: #C3C3C3;
  }
  .tbl-service tbody td:last-of-type {
    border-right: none;
  }
  .tbl-service + .note {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.1666666667;
    color: var(--color-txt);
  }
  .tbl-service + .note {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.1666666667;
    color: var(--color-txt);
  }
  .tbl-route {
    /* ルート用 */
    width: 100%;
    margin-top: calc(10 / 750 * 100vw);
    border-collapse: collapse;
    border-spacing: 0;
  }
  .tbl-route.is-table-fixed {
    table-layout: auto;
  }
  .tbl-route thead th {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: calc(32 / 750 * 100vw);
    font-weight: bold;
    line-height: 1.4375;
    text-align: center;
    padding: calc(10 / 750 * 100vw) calc(32 / 750 * 100vw);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
  }
  .tbl-route tbody td {
    background-color: #CFE6FA;
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.4375;
    font-weight: bold;
    color: var(--color-txt);
    height: calc(40 / 750 * 100vw);
    padding: calc(3 / 750 * 100vw) calc(32 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
    vertical-align: middle;
    text-align: center;
  }
  .tbl-route tbody td:last-of-type {
    border-right: none;
  }
  .tbl-route tbody td:only-child {
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
  }
  .tbl-duration {
    /* 所要時間用 */
    width: 100%;
    margin-top: 0;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
  }
  .tbl-duration thead th {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: calc(36 / 750 * 100vw);
    line-height: 1.4444444444;
    text-align: center;
    font-weight: normal;
    white-space: nowrap;
    height: calc(60 / 750 * 100vw);
    padding: calc(4 / 750 * 100vw) calc(4 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
  }
  .tbl-duration thead th:last-of-type {
    border-right: none;
    width: calc(268 / 750 * 100vw);
  }
  .tbl-duration tbody td {
    background-color: #CFE6FA;
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.4375;
    color: var(--color-txt);
    font-weight: bold;
    white-space: wrap;
    height: calc(60 / 750 * 100vw);
    padding: calc(7 / 750 * 100vw) calc(11 / 750 * 100vw) calc(6 / 750 * 100vw);
    border-right: calc(8 / 750 * 100vw) solid var(--color-white);
    border-bottom: calc(8 / 750 * 100vw) solid var(--color-white);
    vertical-align: middle;
    text-align: center;
  }
  .tbl-duration tbody td:first-of-type {
    text-align: left;
  }
  .tbl-duration tbody td:last-of-type {
    padding: calc(7 / 750 * 100vw) calc(42 / 750 * 100vw) calc(6 / 750 * 100vw);
    border-right: none;
    background-color: #E3E4E5;
  }


	.ico--circle {
		display: inline-block;
		padding-top: 0.1em;
		font-size: calc(60 * 100vw / 750);
	}

	.ico--triangle {
		display: inline-block;
		padding-top: 0.2em;
		font-size: calc(50 * 100vw / 750);
	}

	.ico--hyphen {
		font-size: calc(60 * 100vw / 750);
	}

	.ico_sup {
		top: 0.45em;
		font-size: calc(32 * 100vw / 750);
	}

	.btn_wrap {
		flex-direction: column;
		gap: calc(40 * 100vw / 750);
		max-width: calc(600 * 100vw / 750);
		margin: calc(116 * 100vw / 750) auto 0;
	}

	.btn_wrap .btn_item a {
		width: 100%;
		padding: calc(31 * 100vw / 750) calc(24 * 100vw / 750);
		text-align: center;
		font-weight: 500;
		font-size: calc(28 * 100vw / 750);
		line-height: 1.4642857143;
		position: relative;
	}

	.btn_wrap .btn_item a::after {
		height: calc(25 * 100vw / 750);
		width: calc(16 * 100vw / 750);
	}

	.btn_wrap .btn_item--outline a {
		position: relative;
	}

	.btn_wrap .btn_item--outline a::after {
		position: absolute;
		top: 50%;
		right: min(calc(20 * 100vw / 1500), 20px);
		transform: translateY(-50%);
	}

	.path_link_content {
		margin-top: calc(126 * 100vw / 750);
	}

	.path_link_content .txt--lead {
		margin-top: calc(20 * 100vw / 750);
		padding-left: 0;
		font-size: calc(40 * 100vw / 750);
		line-height: 1.45;
		text-align: left;
	}

	.path_link_content .path_link_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: calc(40.4 * 100vw / 750) calc(33 * 100vw / 750);
		width: calc(653 * 100vw / 750);
		margin-top: calc(65 * 100vw / 750);
		margin-inline: auto;
	}

	.path_link_content .path_link_list__link {
		height: calc(86.48 * 100vw / 750);
		padding: 0 1em;
		white-space: nowrap;
		border-radius: calc(90 * 100vw / 750);
		font-size: calc(30 * 100vw / 750);
		font-weight: 500;
	}
	.arrow-link-button {
		border-radius: calc(5.67 * 100vw / 750);
		font-size: calc(28 * 100vw / 750);
		line-height: 1.4642857143;
		padding: 5px 2.1em;
	}
	.arrow-link-button-arrow {
		font-size: calc(60 * 100vw / 750);
		position: absolute;
		top: 50%;
		translate: 0 -50%;
		right: 0.4em;
	}
	.railway-category-links-ttl {
	    margin-top: calc(80 / 750 * 100vw);
		font-size: calc(40 / 750 * 100vw);
		line-height: 1.3;
		text-align: left;
	}
	.railway-category-links-ttl + .railway-category-links {
		margin-top: calc(60 / 750 * 100vw);
	}
	.railway-category-links {
		display: block;
		width: 100%;
		margin: calc(120 * 100vw / 750) auto;
	}
	.railway-category-links .link-item {
		width: 100%;
	}
	.railway-category-links .link-item + .link-item {
		margin-top: calc(75 * 100vw / 750);
	}
	.railway-category-links .arrow-link-button {
		min-height: calc(152 * 100vw / 750);
		max-width: calc(600 * 100vw / 750);
		margin-inline: auto;
		font-weight: bold;
	}
	.railway-category-links .item-text {
		font-size: calc(28 * 100vw / 750);
		line-height: 1.5714285714;
		margin: 1em auto 0;
	}
	.railway-category-links .icon-square {
		position: relative;
		padding-left: 0.7em;
	}
	.railway-category-links .icon-square::before {
		top: 0.55em;
	}
}