@charset "UTF-8";
/* font family */
/* fon weight */
/*--------------------------
旅客営業規則
---------------------------*/
/* トップ */
.ryokaku-list li > a,
.ryokaku-lv3 > a,
.ryokaku-lv2 > a {
	display: inline-block;
	padding-left: 1.4em;
	font-weight: var(--fw-sb);
	font-size: 2rem;
	line-height: 1.2;
	text-decoration: none;
	background: url(/assets/img/icon/chev-cir-right.svg) no-repeat left 0.15em/1em;
}
.ryokaku-list li > a[href$=".pdf"],
.ryokaku-lv3 > a[href$=".pdf"],
.ryokaku-lv2 > a[href$=".pdf"] {
	background-image: url("/assets/img/icon/pdf.svg");
}
@media (hover: hover) {
	.ryokaku-list li > a,
	.ryokaku-lv3 > a,
	.ryokaku-lv2 > a {
		cursor: pointer;
		transition: color 0.2s;
	}
	.ryokaku-list li > a:hover,
	.ryokaku-lv3 > a:hover,
	.ryokaku-lv2 > a:hover {
		color: var(--color-text-green);
	}
}

.ryokaku-lv2 {
	margin-top: 40px;
	margin-bottom: 20px;
}
@media (min-width: 751px) {
	.ryokaku-lv2 {
		margin-top: 50px;
		margin-bottom: 30px;
	}
}

.ryokaku-lv3 {
	margin-top: 20px;
	margin-bottom: 10px;
	margin-left: 20px;
}
.ryokaku-lv3 > a {
	font-size: 1.8rem;
}
@media (min-width: 751px) {
	.ryokaku-lv3 {
		margin-top: 30px;
		margin-bottom: 10px;
	}
}

.ryokaku-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px 30px;
	margin-top: 10px;
	margin-left: 40px;
}
.ryokaku-list li > a {
	padding-left: 1.2em;
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: var(--fw-reg);
	background: url("/assets/img/icon/chev-right.svg") no-repeat left 0.35em/0.8em;
}
.ryokaku-list--sub {
	margin-left: 50px;
	margin-bottom: 15px;
}
.ryokaku-list--sub li > a {
	background: none;
	position: relative;
}
.ryokaku-list--sub li > a::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	top: calc(0.6em - 2px);
	left: 0.3em;
	background-color: var(--color-text-green);
}
@media (min-width: 751px) {
	.ryokaku-list {
		grid-template-columns: repeat(3, 1fr);
	}
	.ryokaku-list li > a {
		font-size: 1.6rem;
	}
	.ryokaku-list--nocol {
		grid-template-columns: 1fr;
	}
}

.ryokaku-beppyou {
	margin-top: 60px;
}
.ryokaku-beppyou > li {
	margin-top: 15px;
	margin-bottom: 0;
}
.ryokaku-beppyou > li > a {
	font-weight: var(--fw-reg);
	line-height: 1.4;
}

/* heading */
h2.usually {
	margin-bottom: 40px;
	font-weight: var(--fw-sb);
	font-size: 2.6rem;
	line-height: 1.3;
	color: var(--color-text);
	padding-left: 1em;
	text-indent: -1em;
}
@media (min-width: 751px) {
	h2.usually {
		font-size: 3.6rem;
		margin-bottom: 50px;
	}
}

.usually_l3 {
	margin-top: 60px;
	margin-bottom: 30px;
	font-weight: var(--fw-sb);
	font-size: 2rem;
	line-height: 1.6;
	color: var(--color-txt);
	padding-left: 0;
}
.usually_l3::before {
	display: none;
}
@media (min-width: 751px) {
	.usually_l3 {
		margin-top: 80px;
		margin-bottom: 40px;
		font-size: 2.6rem;
	}
}

h4.usually,
.usually_l4,
h3.usually {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-left: calc(0.5em + 5px);
	position: relative;
	font-weight: var(--fw-sb);
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--color-text-green);
}
h4.usually::before,
.usually_l4::before,
h3.usually::before {
	content: "";
	display: block;
	width: 5px;
	height: 100%;
	border-radius: 10px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-theme-main);
}
@media (min-width: 751px) {
	h4.usually,
	.usually_l4,
	h3.usually {
		margin-top: 50px;
		margin-bottom: 30px;
		font-size: 2rem;
	}
}

h4.list_h4 {
	margin-top: 20px;
	font-weight: var(--fw-sb);
}

/* list */
dl.rule dt {
	text-align: left;
	font-weight: var(--fw-sb);
}
dl.rule dt.right {
	margin-left: 1em;
}
dl.rule dt.normal {
	font-weight: var(--fw-reg);
}
dl.rule dd {
	margin-top: 8px;
	margin-bottom: 16px;
}
@media (min-width: 751px) {
	dl.rule dl.note dd {
		margin-left: 3.5em;
	}
	dl.rule dt {
		width: 3em;
	}
	dl.rule dt.right {
		margin-left: -1em;
		text-align: right;
	}
	dl.rule dd {
		margin: -1.6em 0 20px calc(3em + 24px);
	}
	dl.rule.add dt {
		width: 3.5em;
	}
	dl.rule.add dd {
		margin-left: calc(3.5em + 24px);
	}
	dl.rule.add2 dt {
		width: 4.5em;
	}
	dl.rule.add2 dd {
		margin-left: calc(4.5em + 24px);
	}
	dl.rule.add3 dt {
		width: 5.5em;
	}
	dl.rule.add3 dd {
		margin-left: calc(5.5em + 24px);
	}
	dl.rule.add4 dt {
		width: 4.5em;
	}
	dl.rule.add4 dd {
		margin-left: calc(4.5em + 24px);
	}
	dl.rule.add5 dt {
		width: 6.2em;
	}
	dl.rule.add5 dd {
		margin-left: calc(6.2em + 24px);
	}
	dl.rule.add6 dt {
		width: 11em;
	}
	dl.rule.add6 dd {
		margin-left: calc(11em + 24px);
	}
	dl.rule.add7 dt {
		width: 13em;
	}
	dl.rule.add7 dd {
		margin-left: calc(13em + 24px);
	}
}

dl.rule dd img {
	margin-top: 10px;
	vertical-align: top;
}

dl.rule dd img + img {
	margin-left: 8px;
}
@media (min-width: 751px) {
	dl.rule dd img + img {
		margin-left: 15px;
	}
}

dl.rule dd img.no_space {
	margin-top: 0px;
	margin-bottom: 10px;
}

dl.rule dd img.no_space2 {
	margin-right: 5px;
	margin-top: 0px;
	margin-bottom: 0px;
	vertical-align: -2px;
}

dl.rule dd img.img_posi {
	margin-right: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
	vertical-align: middle;
}

dl.rule dd img.img_posi2 {
	margin-right: 0px;
	margin-top: -7px;
	margin-bottom: 0px;
	vertical-align: middle;
}

dl.rule dd img.img_posi3 {
	margin-right: 0px;
	margin-top: -3px;
	margin-bottom: 0px;
	vertical-align: middle;
}

dl.rule dl.note {
	margin-left: 0px;
	margin-top: 5px;
	font-size: 95%;
}

dl.rule dl.note dt {
	text-align: left;
	width: 3em;
	font-weight: bold;
}

dl.rule dl.note dd {
	margin-bottom: 15px;
}

dl.rule dl.note dd li {
	margin-bottom: 0px;
}

dl.rule .hidden {
	visibility: hidden;
}

dl.rule .none {
	display: none;
}

/* リスト内リスト */
dl.rule ol li {
	padding-left: 2.5em;
	text-indent: -2.5em;
	margin-bottom: 4px;
}

dl.rule ol li.space {
	padding-left: 1em;
	text-indent: -1.5em;
	margin-bottom: 4px;
	position: relative;
}

dl.rule ol li.space_top {
	margin-top: 20px;
}

dl.rule ol li span {
	position: absolute;
	top: 0px;
	left: 18em;
	display: block;
}

dl.rule ol li span.posi {
	position: absolute;
	top: 0px;
	left: 22em;
	display: block;
}

dl.rule ol li span.posi2 {
	position: absolute;
	top: 0px;
	left: 12em;
	display: block;
}

dl.rule ol li span.posi3 {
	position: absolute;
	top: 0px;
	left: 23em;
	display: block;
}

dl.rule ol li span.no_style {
	position: static;
	display: inline;
}

dl.rule ol li.notes,
dl.rule ul li.notes { /* （注） */
	padding-left: 3em;
	text-indent: -3em;
}

dl.rule ol li.add { /* （1）の2～ */
	padding-left: 5em;
	text-indent: -5em;
}

dl.rule ol li.over10 { /* （10） */
	padding-left: 3em;
	text-indent: -3em;
}

dl.rule ol.alpha li { /* アルファベット */
	padding-left: 1.6em;
	text-indent: -1.6em;
}

dl.rule ol.alpha2 li { /* （アルファベット） */
	padding-left: 1.5em;
	text-indent: -1.5em;
}

dl.rule img.floatimg {
	display: block;
	max-width: 200px;
	margin: 0 auto;
}
@media (min-width: 751px) {
	dl.rule img.floatimg {
		float: right;
		margin-left: 20px;
		margin-bottom: 8px;
	}
}

dl.rule .clear {
	clear: both;
}

dl.rule .clear2 {
	clear: both;
	margin-top: -20px;
}

/* table */
table.usually_tbl {
	border: 1px solid #dddddd;
	border-collapse: collapse;
	margin-bottom: 10px;
	width: 100%;
	margin-top: 10px;
}
@media (min-width: 751px) {
	table.usually_tbl {
		min-width: 400px;
	}
}

table.width {
	width: 500px;
}

table.width2 {
	width: 573px;
}

table.width3 {
	width: 650px;
}

table.position_right {
	margin-left: 1.5em;
}

table.position_right2 {
	margin-left: 1.1em;
}

table.position_left {
	margin-left: -2em;
}

table.position_left2 {
	margin-left: -1.5em;
}

table.usually_tbl caption {
	margin: 0px;
	padding: 0px;
	text-indent: 0px;
	text-align: left;
}

table.center th, table.center td {
	vertical-align: middle !important;
}

table th.center, table td.center {
	vertical-align: middle !important;
	text-align: center !important;
}

table th.center_bold {
	vertical-align: middle !important;
	font-weight: bold !important;
	text-align: center !important;
}

table.auto {
	width: auto;
}

table.usually_tbl th {
	padding-left: 0em;
	text-indent: 0em;
	text-align: left;
	border: 1px solid #dddddd;
	font-weight: normal;
	padding: 5px;
	vertical-align: top;
}

table.usually_tbl td {
	padding-left: 0em;
	text-indent: 0em;
	text-align: left;
	border: 1px solid #dddddd;
	border-collapse: collapse;
	padding: 5px;
	vertical-align: top;
}

table.usually_tbl th.vata_middle,
table.usually_tbl td.vata_middle {
	vertical-align: middle;
	text-align: center;
}

.table_swipe {
	display: none;
}

@media (max-width: 750px) {
	table.width,
	table.width2,
	table.width3 {
		width: auto;
	}
	.table_scroll {
		overflow-x: auto;
		overflow-y: hidden;
		padding: 8px 15px 8px 0;
		margin-right: -15px;
	}
	.table_scroll table {
		min-width: max-content;
		width: 250% !important;
	}
	.table_swipe {
		padding-left: 4em;
		margin-bottom: 8px;
		background: url(/assets/img/table-swipe.svg) no-repeat left center/contain;
		position: sticky;
		top: 0;
		left: 0;
		white-space: nowrap;
		font-size: 1rem;
		text-indent: 0;
		display: block;
	}
}
/*--------------------------
reg_hc1 reg_hc2
---------------------------*/
h2.discount {
	color: #008900;
	margin-top: 20px;
}

/* 附則 */
.rider {
	margin-left: 100px;
	margin-top: 30px;
}

.rider p {
	margin-top: 5px;
}

.rider em {
	font-style: normal;
	font-weight: bold;
}

/* table */
table.discount_tbl {
	border: 1px solid #dddddd;
	border-collapse: collapse;
	margin-bottom: 10px;
	width: 100%;
	margin-top: 20px;
}

table.discount_tbl th {
	background: #f0f0f0;
	text-align: left;
	font-weight: normal;
	padding: 5px;
}

table.discount_tbl td {
	border: 1px solid #dddddd;
	border-collapse: collapse;
	padding: 5px;
	vertical-align: middle;
}

/* list */
ol.notes {
	margin-bottom: 40px;
}

ol.notes li {
	padding-left: 3.5em;
	text-indent: -3.5em;
}

/*--------------------------
別表
---------------------------*/
dl.chart {
	margin-left: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

dl.chart dt {
	clear: left;
	float: left;
	text-align: left;
	width: 8em;
	font-weight: normal;
}

dl.chart dd {
	margin-left: 8.5em;
	margin-bottom: 15px;
}

/*--------------------------
02_hen/03_syo/01_setsu/02.html
---------------------------*/
dl.rule table.border_tbl {
	width: auto;
	border: none;
	margin-top: 5px;
	margin-bottom: 15px;
}
dl.rule table.border_tbl td {
	padding: 0px;
	margin: 0px;
	border: none;
	text-align: left;
	text-indent: 0;
}
dl.rule table.border_tbl td img {
	display: block;
	line-height: 1;
	width: 7px;
	height: 6px;
}
dl.rule table.border_tbl td.img_right img {
	margin-left: auto;
	margin-right: 0;
}

dl.rule table.border_tbl td.line {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #000000;
}

dl.rule table.border_tbl td.line ul {
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #000000;
	margin-right: 0.5em;
	padding-left: 0.5em;
}

dl.rule table.border_tbl td.line ul li {
	margin-bottom: 0em;
	padding-left: 0em;
	text-indent: 0em;
}

dl.rule table.border_tbl td.line ul li.indent {
	padding-left: 1em;
}

dl.rule table.border_tbl img {
	margin: 0px;
	vertical-align: top;
}

/*--------------------------
02_hen/03_syo/02_setsu/11.html
---------------------------*/
dl.rule ol li dl.textwidth24 dt {
	width: 24em;
	font-weight: normal;
	padding-left: 1.5em;
}

dl.rule ol li dl.textwidth24 dd {
	margin-left: 25.5em;
	margin-bottom: 0;
}

/*--------------------------
02_hen/04_syo/02_setsu/12.html
---------------------------*/
dl.rule ol li.sectionMap,
dl.rule ul li.sectionMap {
	display: flex;
	align-items: flex-start;
	gap: 4%;
	margin-bottom: 3em;
}

dl.rule ol li.sectionMap .sectionMapText,
dl.rule ul li.sectionMap .sectionMapText {
	width: 48%;
}

dl.rule ol li.sectionMap .sectionMapImage,
dl.rule ul li.sectionMap .sectionMapImage {
	width: 48%;
	display: block;
	margin: 0 auto;
}

/*--------------------------
beppyou/kikenhin.html
beppyou/daiichigo.html
---------------------------*/
.kikenhin .listinlist,
.kikenhin .listinlist02,
.kikenhin .list {
	padding-left: 3em;
	text-indent: -1.5em;
	margin-bottom: 0.5em;
}

.kikenhin .list,
.kikenhin .listinlist02 {
	padding-left: 1.5em;
}

.kikenhin .txt,
.kikenhin .listintxt {
	text-indent: 1em;
}

.kikenhin .listintxt {
	padding-left: 1.5em;
}

.daiichigo h3,
.daiichigo dl {
	width: 650px;
	margin-left: 1.5em;
	font-weight: normal;
}

.kikenhin .note dt,
.daiichigo .attention dt {
	float: left;
	clear: left;
}

.kikenhin .note dd,
.daiichigo .attention dd {
	margin-left: 2em;
	text-indent: 1em;
}
/*# sourceMappingURL=ryokaku.css.map */
