@charset "UTF-8";

/* HEADING
/*+---------------------------------*/
/* --- heading-level2 --- */
.heading-level2 {
    -o-border-image: linear-gradient(0deg,#c2e0f4 1px,transparent 0) 0 fill;
    border-image: linear-gradient(0deg,#c2e0f4 1px,transparent 0) 0 fill;
    border-image-outset: 0 100vw 0 100vw;
    font-weight: 700;
    color: #0d0d0d;
    font-family: "Noto Sans JP",sans-serif
}

@media screen and (min-width: 768px),print {
    .heading-level2 {
        position:relative;
        left: 50%;
        margin-left: clamp(-683px,-45.533vw,-537.293px);
        margin-bottom: 64px;
        padding: 0 64px 32px;
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .1em
    }
}

@media screen and (max-width: 767px) {
    .heading-level2 {
        margin-bottom:40px;
        font-size: 2.6rem;
        padding-bottom: 24px;
        line-height: 1.384
    }
}

/* --- heading-level3 --- */
.heading-level3 {
    border-bottom: 5px solid #a5e6eb
}

@media screen and (min-width: 768px),print {
    .heading-level3 {
        margin-bottom:25px;
        font-size: 2.2rem
    }
}

@media screen and (max-width: 767px) {
    .heading-level3 {
        margin-bottom:20px;
        padding: 0 0 6px 10px;
        font-size: 1.8rem;
        line-height: 1.4
    }
}

/* --- heading-level4 --- */
.heading-level4 {
    border-bottom: 1px solid #ccc;
    color: #007c91;
    margin-bottom: 20px;
    padding: 0 0 5px 10px
}

@media screen and (min-width: 768px),print {
    .heading-level4 {
        font-size:1.8rem
    }
}

@media screen and (max-width: 767px) {
    .heading-level4 {
        font-size:1.6rem;
        line-height: 1.4
    }
}

/* --- heading-level5 --- */
.heading-level5 {
    margin-bottom: 10px;
    font-weight: 700
}

@media screen and (min-width: 768px),print {
    .heading-level5 {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .heading-level5 {
        font-size:1.5rem;
        line-height: 1.5
    }
}

.heading-level5 .heading-level5__sub-text {
    font-weight: 400
}

@media screen and (min-width: 768px),print {
    .heading-level5 .heading-level5__sub-text {
        font-size:1.4rem
    }
}

@media screen and (max-width: 767px) {
    .heading-level5 .heading-level5__sub-text {
        font-size:1.4rem
    }
}

/* BOX
/*+---------------------------------*/
/* --- content-wrap --- */
.content-wrap {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto
}

@media screen and (min-width: 768px),print {
    .content-wrap {
        padding:0 10px;
        max-width: 1044px
    }
}

.content-wrap.top {
    font-family: "Noto Sans JP",sans-serif
}

@media screen and (min-width: 768px),print {
    .content-wrap.top {
        padding:0;
        margin-left: -24px;
        margin-right: -24px;
        max-width: none
    }
}

/* --- content-box --- */
@media screen and (min-width: 768px),print {
    .content-box {
        margin-bottom:50px
    }
}

@media screen and (max-width: 767px) {
    .content-box {
        margin-bottom:35px
    }
}

.content-box:last-child {
    margin-bottom: 0
}

.content-box p+.attention-list {
    margin-bottom: 5px
}

/* --- content-box-2 --- */
.content-box-2 {
    margin-top: 30px;
    margin-bottom: 30px
}

.content-inner {
    margin: 0 10px
}

.content-inner .section,.content-inner section {
    margin: 25px 0
}

.content-inner p+p {
    margin-top: 10px
}

@media screen and (min-width: 768px),print {
    .section-add-rwd-page-link-section {
        margin-top:-105px!important;
        padding-top: 105px!important
    }
}

@media screen and (max-width: 767px) {
    .section-add-rwd-page-link-section {
        margin-top:-60px!important;
        padding-top: 60px!important
    }
}

.section-add-rwd-page-link-section .gray-box {
    margin-top: 0
}

/* --- text-box --- */
.text-box {
    margin-bottom: 20px
}

.text-box p {
    margin-bottom: 5px
}

/* --- information-date-text--- */
.information-date-text {
    line-height: 1.5
}

@media screen and (min-width: 768px),print {
    .information-date-text {
        margin-bottom:30px;
        font-size: clamp(1.2586666667rem,1.0666666667vw,1.6rem)
    }
}

@media screen and (max-width: 767px) {
    .information-date-text {
        margin-bottom:30px;
        font-size: 1.6rem
    }
}

/* --- gray-box --- */
.gray-box {
    background-color: #f6f6f6
}

@media screen and (min-width: 768px),print {
    .gray-box {
        margin-top:50px;
        padding: 30px
    }
}

@media screen and (max-width: 767px) {
    .gray-box {
        margin-top:40px;
        padding: 15px
    }
}

.gray-box .gray-box__heading {
    margin-bottom: 10px
}

@media screen and (min-width: 768px),print {
    .gray-box .gray-box__heading {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .gray-box .gray-box__heading {
        font-size:1.6rem
    }
}

.gray-box .gray-box__heading span {
    display: block
}

.gray-box a {
    text-decoration: underline
}

.gray-box a:hover {
    text-decoration: none
}

@media screen and (min-width: 768px),print {
    .gray-box+* {
        margin-top:50px
    }
}

@media screen and (max-width: 767px) {
    .gray-box+* {
        margin-top:40px
    }
}

/* --- image-box --- */
.image-box {
    margin: 10px 0
}

.image-box img {
    max-width: 100%;
    height: auto
}

/* --- two-column --- */
@media screen and (min-width: 768px),print {
    .two-column {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: -30px
    }
}

@media screen and (max-width: 767px) {
    .two-column {
        display:block
    }
}

.two-column>li {
    margin-bottom: 30px
}

@media screen and (min-width: 768px),print {
    .two-column>li {
        margin-right:40px;
        width: calc(50% - 20px)
    }
}

@media screen and (max-width: 767px) {
    .two-column>li {
        width:100%
    }
}

.two-column>li:nth-child(2n) {
    margin-right: 0
}

.two-column.is-button-list>li {
    margin-bottom: 15px
}

.two-column.is-stipulation {
    margin-bottom: 0
}

.two-column.is-stipulation>li {
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .two-column.is-change-m {
        display:block;
        margin-bottom: 0
    }

    .two-column.is-change-m>li {
        margin-right: 0;
        width: 100%
    }
}

.two-column+.attention-list,.two-column+.list {
    margin-top: 20px
}

.two-column+.two-column {
    margin-top: 20px
}

/* NAVIGATION
/*+---------------------------------*/
/* --- mokuji-navigation --- */
@media screen and (min-width: 768px),print {
    .mokuji-navigation {
        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;
        margin: 50px 0
    }
}

@media screen and (max-width: 767px) {
    .mokuji-navigation {
        display:block;
        margin: 30px 0
    }
}

@media screen and (min-width: 768px),print {
    .mokuji-navigation+.gray-box {
        margin-top:-50px
    }
}

@media screen and (max-width: 767px) {
    .mokuji-navigation+.gray-box {
        margin-top:0
    }
}

@media screen and (min-width: 768px),print {
    .mokuji-navigation>li {
        margin-bottom:25px;
        width: 47.85%
    }
}

@media screen and (max-width: 767px) {
    .mokuji-navigation>li {
        margin-bottom:15px;
        width: 100%
    }
}

.mokuji-navigation a {
    text-decoration: underline
}

.mokuji-navigation a:hover {
    text-decoration: none
}

.mokuji-navigation .section-add-rwd-page-link-section {
    position: relative
}

.mokuji-navigation li:nth-child(1) .section-add-rwd-page-link-section {
    z-index: 20
}

.mokuji-navigation li:nth-child(2) .section-add-rwd-page-link-section {
    z-index: 19
}

.mokuji-navigation li:nth-child(3) .section-add-rwd-page-link-section {
    z-index: 18
}

.mokuji-navigation li:nth-child(4) .section-add-rwd-page-link-section {
    z-index: 17
}

.mokuji-navigation li:nth-child(5) .section-add-rwd-page-link-section {
    z-index: 16
}

.mokuji-navigation li:nth-child(6) .section-add-rwd-page-link-section {
    z-index: 15
}

.mokuji-navigation li:nth-child(7) .section-add-rwd-page-link-section {
    z-index: 14
}

.mokuji-navigation li:nth-child(8) .section-add-rwd-page-link-section {
    z-index: 13
}

.mokuji-heading {
    background-color: #d2f2f5;
    border-top: 2px solid #007c91;
    padding: 8px 16px
}

@media screen and (min-width: 768px),print {
    .mokuji-heading {
        margin-bottom:10px;
        font-size: 1.8rem
    }
}

@media screen and (max-width: 767px) {
    .mokuji-heading {
        font-size:1.8rem
    }
}

.mokuji-heading[aria-expanded=false] {
    border-top: none;
    border-bottom: 2px solid #007c91
}

.mokuji-heading[aria-expanded=true] {
    border-bottom: none;
    border-top: 2px solid #007c91
}

.mokuji-list>li {
    border-bottom: 1px solid #ccc;
    font-weight: 700;
    padding: 8px 5px
}

@media screen and (max-width: 767px) {
    .mokuji-list>li a {
        display:block;
        padding: 8px 0
    }
}

.mokuji-list>li:last-child {
    border-bottom: none
}

.mokuji-sub-list {
    margin-top: 5px;
    margin-left: 10px
}

.mokuji-sub-list>li {
    font-weight: 400;
    margin-bottom: 5px
}

@media screen and (min-width: 768px),print {
    .mokuji-sub-list>li {
        font-size:1.3rem
    }
}

@media screen and (max-width: 767px) {
    .mokuji-sub-list>li {
        font-size:1.3rem
    }
}

.mokuji-sub-list>li a {
    padding: 0
}

/* --- page-navigation --- */
.page-navigation {
    overflow: hidden;
    text-align: center
}

@media screen and (min-width: 768px),print {
    .page-navigation {
        width:80%;
        margin: -10px auto 45px
    }
}

@media screen and (max-width: 767px) {
    .page-navigation {
        margin:-10px auto 30px;
        width: 100%
    }
}

@media screen and (min-width: 768px),print {
    .page-navigation li {
        float:left;
        margin-top: 10px;
        width: 49%
    }
}

@media screen and (max-width: 767px) {
    .page-navigation li {
        width:100%
    }
}

@media screen and (min-width: 768px),print {
    .page-navigation li:nth-child(2n) {
        float:right
    }
}

@media screen and (max-width: 767px) {
    .page-navigation li:last-child {
        margin-bottom:0
    }
}

.page-navigation li a {
    display: block;
    background-color: #007c91;
    background: linear-gradient(140deg,#00a23f 0,#008d37 100%);
    text-align: center;
    color: #fff;
    padding: 15px 0
}

@media screen and (min-width: 768px),print {
    .page-navigation li a {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .page-navigation li a {
        font-size:1.4rem
    }
}

.page-navigation li a::before {
    display: inline-block;
    content: '';
    margin-right: 10px;
    background-image: url(/railroad/ticket/guide/assets/img/arrow_orange_bottom.png);
    background-repeat: no-repeat
}

@media screen and (min-width: 768px),print {
    .page-navigation li a::before {
        width:18px;
        height: 10px
    }
}

@media screen and (max-width: 767px) {
    .page-navigation li a::before {
        width:15px;
        height: 7px;
        background-size: 100% auto
    }
}

.page-navigation li a:hover::before {
    background-image: url(/railroad/ticket/guide/assets/img/arrow_white_bottom.png)
}

/* TABLE
/*+---------------------------------*/
/* --- basic-table --- */
.basic-table {
    border-collapse: collapse;
    border: 1px solid #ccc
}

.basic-table caption {
    font-weight: 700;
    text-align: left;
    margin-top: 15px;
    margin-bottom: 10px
}

@media screen and (min-width: 768px),print {
    .basic-table caption {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .basic-table caption {
        font-size:1.5rem;
        line-height: 1.5
    }
}

.basic-table caption img {
    vertical-align: middle;
    margin-right: 5px
}

.basic-table th {
    border: 1px solid #ccc;
    background-color: #ebebeb;
    vertical-align: middle;
    text-align: center;
    line-height: 1.4
}

@media screen and (min-width: 768px),print {
    .basic-table th {
        padding:10px
    }
}

@media screen and (max-width: 767px) {
    .basic-table th {
        padding:8px 5px
    }
}

.basic-table td {
    border: 1px solid #ccc
}

@media screen and (min-width: 768px),print {
    .basic-table td {
        padding:8px 10px
    }
}

@media screen and (max-width: 767px) {
    .basic-table td {
        padding:5px
    }
}

@media screen and (min-width: 768px),print {
    .basic-table.has-thead1 {
        width:360px
    }
}

@media screen and (max-width: 767px) {
    .basic-table.has-thead1 {
        width:290px
    }
}

.basic-table.has-thead1 td {
    text-align: center
}

@media screen and (min-width: 768px),print {
    .basic-table.has-thead2 {
        width:600px
    }
}

@media screen and (max-width: 767px) {
    .basic-table.has-thead2 {
        width:90%
    }
}

.basic-table.has-thead2 td {
    text-align: center
}

@media screen and (min-width: 768px),print {
    .basic-table.has-thead3 {
        width:760px
    }
}

@media screen and (max-width: 767px) {
    .basic-table.has-thead3 {
        width:100%
    }
}

.basic-table.has-thead3 td {
    text-align: center
}

@media screen and (min-width: 768px),print {
    .basic-table.has-tbody-th1 {
        width:760px
    }
}

@media screen and (max-width: 767px) {
    .basic-table.has-tbody-th1 {
        width:100%
    }
}

@media screen and (min-width: 768px),print {
    .basic-table.has-tbody-th1 th {
        width:180px
    }
}

@media screen and (max-width: 767px) {
    .basic-table.has-tbody-th1 th {
        width:30%
    }
}

.basic-table+.basic-table {
    margin-top: 15px
}

.basic-table+.attention-list,.basic-table+.list,.basic-table+p {
    margin-top: 10px
}

.basic-table+p+.list {
    margin-top: 10px
}

/* --- calendar-table --- */
.calendar-table {
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    width: 100%
}

.calendar-table caption {
    margin-bottom: 10px;
    font-weight: 700;
    text-align: left
}

@media screen and (min-width: 768px),print {
    .calendar-table caption {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .calendar-table caption {
        font-size:1.6rem
    }
}

.calendar-table th {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 14.2857%;
    border: 1px solid #ccc;
    background-color: #ebebeb;
    vertical-align: middle;
    text-align: center;
    padding: 3px 2px
}

@media screen and (min-width: 768px),print {
    .calendar-table th {
        font-size:1.4rem
    }
}

@media screen and (max-width: 767px) {
    .calendar-table th {
        font-size:1.4rem
    }
}

.calendar-table td {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    text-align: center;
    vertical-align: top;
    color: #666
}

@media screen and (min-width: 768px),print {
    .calendar-table td {
        padding:8px 2px;
        height: 50px;
        font-size: 1.2rem
    }
}

@media screen and (max-width: 767px) {
    .calendar-table td {
        padding:5px 1px 6px;
        height: 40px;
        font-size: 1.2rem
    }
}

.calendar-table td span {
    display: block
}

@media screen and (min-width: 768px),print {
    .calendar-table td span {
        font-size:1.4rem;
        line-height: 1.2
    }
}

@media screen and (max-width: 767px) {
    .calendar-table td span {
        font-size:1.2rem;
        line-height: 1.1
    }
}

.calendar-table td.season1 {
    background-color: #e6f8fa
}

.calendar-table td.season1 span {
    color: #133780
}

.calendar-table td.season2 {
    background-color: #fce7e3
}

.calendar-table td.season2 span {
    color: #992008
}

.calendar-table td.season3 {
    background-color: #faa4a0;
    color: #4b4b4b
}

.calendar-table td.season3 span {
    color: #822f35
}

/* BUTTON
/*+---------------------------------*/
/* --- 標準ボタン --- */
.basic-button {
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    border: 2px solid #0f6099;
    border-radius: 5px;
    border-bottom: 2px solid #062840;
    background-color: #0f6099;
    color: #fff;
    font-weight: 700;
    text-align: center
}

@media screen and (min-width: 768px),print {
    .basic-button {
        padding:18px 10px 18px 40px;
        font-size: 1.7rem
    }
}

@media screen and (max-width: 767px) {
    .basic-button {
        padding:12px 10px 12px 30px;
        font-size: 1.4rem
    }
}

.basic-button::before {
    content: '';
    display: block;
    top: 0;
    position: absolute;
    height: 100%;
    background-image: url(../img/arrow_right_white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    margin-right: 5px
}

@media screen and (min-width: 768px),print {
    .basic-button::before {
        left:18px;
        width: 8px
    }
}

@media screen and (max-width: 767px) {
    .basic-button::before {
        left:15px;
        width: 6px;
        background-size: 6px 10px
    }
}

.basic-button .option-text {
    color: #fff;
    position: relative;
    font-weight: 400
}

@media screen and (min-width: 768px),print {
    .basic-button .option-text {
        font-size:1.2rem
    }
}

@media screen and (max-width: 767px) {
    .basic-button .option-text {
        font-size:1.2rem
    }
}

.basic-button.is-current,.basic-button:hover {
    background-color: #fff;
    border-bottom: 2px solid #0f6099;
    color: #0f6099
}

.basic-button.is-current::before,.basic-button:hover::before {
    background-image: url(../img/arrow_right_blue.svg)
}

.basic-button.is-current .is-blank-icon,.basic-button:hover .is-blank-icon {
    background-image: url(/common/rwd/img/icon_blank.svg)
}

.basic-button.is-current .option-text,.basic-button:hover .option-text {
    color: #0f6099
}

.basic-button.is-current:visited,.basic-button:hover:visited {
    color: #0f6099
}

.basic-button.is-current:visited .option-text,.basic-button:hover:visited .option-text {
    color: #0f6099
}

.basic-button:visited {
    color: #fff
}

.basic-button.is-pdf {
    position: relative;
    line-height: 1.4
}

@media screen and (min-width: 768px),print {
    .basic-button.is-pdf {
        padding-top:12px;
        padding-right: 30px;
        padding-bottom: 12px;
        font-size: 1.8rem
    }
}

@media screen and (max-width: 767px) {
    .basic-button.is-pdf {
        padding:10px 30px 10px 0;
        font-size: 1.4rem
    }
}

.basic-button.is-pdf::after {
    content: '';
    display: inline-block;
    position: absolute;
    background-image: url(/common/rwd/img/icon_pdf.svg);
    background-repeat: no-repeat;
    bottom: 8px;
    right: 8px
}

@media screen and (min-width: 768px),print {
    .basic-button.is-pdf::after {
        width:25px;
        height: 28px
    }
}

@media screen and (max-width: 767px) {
    .basic-button.is-pdf::after {
        width:21px;
        height: 22px;
        background-size: 100% auto
    }
}

.basic-button .is-blank-icon {
    display: inline-block;
    position: relative;
    background-image: url(/common/rwd/img/icon_blank_white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    text-indent: -9999px;
    width: 13px;
    height: 12px
}

@media screen and (min-width: 768px),print {
    .basic-button .is-blank-icon {
        top:7px
    }
}

@media screen and (max-width: 767px) {
    .basic-button .is-blank-icon {
        top:4px
    }
}

/* LIST
/*+---------------------------------*/
/* --- list --- */
.list {
    margin-bottom: 10px
}

.list:last-child {
    margin-bottom: 0
}

.list>li {
    margin-bottom: 5px;
    padding-left: 11px;
    text-indent: -11px
}

.list>li::before {
    display: inline-block;
    position: relative;
    content: '';
    border-radius: 2px;
    background-color: #000;
    top: -3px;
    margin-right: 7px;
    width: 4px;
    height: 4px
}

.list>li .image-box {
    text-indent: 0
}

.list>li ul {
    margin-top: 5px
}

.list>li ul>li::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #333;
    top: -3px
}

.list>li>ul>li>.attention-list li:before {
    display: none
}

.list>li>ul>li>ul>li:before {
    display: inline-block;
    content: '';
    font-weight: 700;
    border: none;
    background-color: #000;
    width: 5px;
    height: 2px
}

.list>li:last-child {
    margin-bottom: 0
}

.list+.attention-list {
    margin-top: -5px
}

/* --- attention-list --- */
.attention-list {
    margin-bottom: 10px
}

.attention-list:last-child {
    margin-bottom: 0
}

.attention-list>li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 5px
}

.attention-list>li:last-child {
    margin-bottom: 0
}

.attention-list+section {
    margin-top: 20px
}

.attention-list+.list {
    margin-top: -5px
}

.attention-list ul {
    margin-top: 5px
}

.attention-list+.image-box {
    margin-top: 30px
}

/* --- link-list --- */
.link-list {
    margin: 30px 0
}

.link-list:last-child {
    margin-bottom: 0
}

.link-list>li {
    margin-bottom: 5px
}

.link-list>li a {
    text-decoration: underline
}

.link-list>li a:hover {
    text-decoration: none
}

.link-list>li:last-child {
    margin-bottom: 0
}

.link-list>li>.link-list {
    margin-top: 0;
    margin-left: 20px;
    margin-bottom: 10px
}

/* --- text-set-list --- */
dl.text-set-list {
    text-indent: 0;
    margin: 5px 0
}

dl.text-set-list dt {
    font-weight: 700;
    margin-bottom: 3px
}

dl.text-set-list dd {
    margin-bottom: 5px
}

/* --- group-list --- */
.group-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin: 20px 0
}

@media screen and (min-width: 768px),print {
    .group-list {
        padding:30px 10px
    }
}

@media screen and (max-width: 767px) {
    .group-list {
        display:block;
        padding: 15px 10px
    }
}

@media screen and (min-width: 768px),print {
    .group-list>li {
        margin-right:40px
    }
}

@media screen and (max-width: 767px) {
    .group-list>li {
        margin-right:0;
        margin-bottom: 0;
        width: 100%
    }
}

.group-list>li:last-child {
    margin-right: 0
}

.group-list .group-list__list>li {
    display: block
}

/* --- image-list --- */
.image-list {
    margin-bottom: 5px
}

@media screen and (min-width: 768px),print {
    .image-list {
        display:table
    }
}

@media screen and (max-width: 767px) {
    .image-list {
        display:block;
        overflow: hidden
    }
}

.image-list>li {
    max-width: 163px;
    padding-right: 30px;
    padding-bottom: 10px
}

@media screen and (min-width: 768px),print {
    .image-list>li {
        display:table-cell
    }
}

@media screen and (max-width: 767px) {
    .image-list>li {
        display:block
    }
}

.image-list>li.width270 {
    max-width: 270px
}

.image-list>li.width589 {
    max-width: 589px
}

.image-list>li.width326 {
    max-width: 326px
}

.image-list>li p {
    margin-top: 5px
}

@media screen and (min-width: 768px),print {
    .image-list>li p {
        font-size:1.2rem
    }
}

@media screen and (max-width: 767px) {
    .image-list>li p {
        font-size:1.2rem
    }
}

.image-list>li img {
    max-width: 100%;
    width: 100%;
    height: auto
}

/* OTHER
/*+---------------------------------*/
/* --- info-icon-image --- */
.info-icon-image {
    position: relative;
    vertical-align: middle;
    margin: 0 2px;
    top: -2px
}

/* --- text-link --- */
.text-link {
    text-decoration: underline
}

.text-link:hover {
    text-decoration: none
}

/* --- red-text --- */
.red-text {
    color: #e00
}

/* --- option-text --- */
.option-text {
    color: #666
}

@media screen and (min-width: 768px),print {
    .option-text {
        font-size:1.2rem
    }
}

@media screen and (max-width: 767px) {
    .option-text {
        font-size:1.2rem
    }
}

/* JS
/*+---------------------------------*/
/* --- accordion --- */
.js-accordion-button {
    position: relative
}

.js-accordion-button::after {
    display: block;
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    top: 15px;
    right: 15px;
    width: 16px;
    height: 16px
}

.js-accordion-button[aria-expanded=false] {
    cursor: pointer
}

.js-accordion-button[aria-expanded=false]:after {
    background-image: url(/railroad/ticket/guide/assets/img/icon_plus.svg)
}

.js-accordion-button[aria-expanded=true] {
    cursor: pointer
}

.js-accordion-button[aria-expanded=true]:after {
    background-image: url(/railroad/ticket/guide/assets/img/icon_minus.svg)
}

.js-accordion-panel[aria-hidden=true] {
    display: none
}

.main {
    color: #1a1a1b;
    line-height: 1.8;
    font-family: 'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif
}

@media screen and (min-width: 768px),print {
    .main {
        font-size:1.4rem
    }
}

@media screen and (max-width: 767px) {
    .main {
        font-size:1.4rem
    }
}

.rwd-topic-path {
    font-family: 'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Yu Gothic Medium','游ゴシック Medium',YuGothic,'游ゴシック体','Meiryo UI','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
    line-height: 1.6
}

.rwd-emergencyArea-wrap {
    font-family: 'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Yu Gothic Medium','游ゴシック Medium',YuGothic,'游ゴシック体','Meiryo UI','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
    line-height: 1.6
}

@media screen and (min-width: 768px),print {
    .rwd-emergencyArea-wrap {
        font-size:1.6rem
    }
}

@media screen and (max-width: 767px) {
    .rwd-emergencyArea-wrap {
        font-size:1.4rem
    }
}

/* 20240902運送約款アコーディオン */
.stipulation-accordion__button {
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 0;
    font-family: 'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
    line-height: 1.8;
}
.stipulation-accordion__button .heading-level4 {
    padding-inline-end: 48px;
    transition: .3s;
    position: relative;
}

.stipulation-accordion__button .heading-level4::before,
.stipulation-accordion__button .heading-level4::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 2px;
    background-color: #007c91;
    position: absolute;
    top: 44%;
    right: 20px;
    transition: 0.3s;
}

.stipulation-accordion__button .heading-level4::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.stipulation-accordion__button .heading-level4:hover {
    opacity: 0.75;
}

.stipulation-accordion__button.-active .heading-level4::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.stipulation-accordion__box {
    display: none;
}

.stipulation-accordion__box.-active {
    display: block;
}

.stipulation-accordion__box.-active >section {
    margin-top: 0;
}

@media screen and (max-width: 767px) {
    .stipulation-accordion__button .heading-level4::before,
    .stipulation-accordion__button .heading-level4::after {
        top: 30%;
    }
}


/* 2024.12改修 */
/* きっぷのルール　トップ */

@media screen and (min-width: 768px),print {
    .section.-ticketGuide {
        padding: 0;
        width: 648px;
    }
}

@media screen and (max-width: 767px) {

}

.ticketGuide__index {
    display: block;
}

.ticketGuide__index + * {
    margin-top: 64px;
}

.ticketGuide__index .localNavi__listItem_rn {
    width: 100%;
}

@media screen and (min-width: 768px),print {
    .ticketGuide__index .localNavi__listButton_rn {
        font-size: clamp(2.0453333333rem,1.7333333333vw,2.6rem);
    }
}

.ticketGuide__index .accordion__panel {
    padding-top: 25px;
}


/* きっぷのルール・種類（電子ブック） */

.ticketGuide__ebook {
    text-align: center;
}

.ticketGuide__ebook__button {
    margin-top: 40px;
}

/* 2面の場合 */

.ticketGuide__ebook__note {
    border: 1px solid #e02200;
    color: #e02200;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}

.ticketGuide__ebook__note.-bg {
    border: 1px solid #e02200;
    background-color: #FEF2EF;
}

.ticketGuide__ebookWrap:has(> :nth-child(2)) {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (min-width: 768px),print {
    .ticketGuide__ebookWrap:has(> :nth-child(2)) {
        gap: 48px;
    }

    .ticketGuide__ebookWrap:has(> :nth-child(2)) .ticketGuide__ebook {
        width: calc(50% - (48px * 1 / 2));
    }
}

@media screen and (max-width: 767px) {
    .ticketGuide__ebookWrap:has(> :nth-child(2)) {
        gap: 24px;
    }

    .ticketGuide__ebookWrap:has(> :nth-child(2)) .ticketGuide__ebook {
        width: calc(50% - (24px * 1 / 2));
    }

    .ticketGuide__ebookWrap:has(> :nth-child(2)) .buttonA {
        width: 100%;
        font-size: 1.2rem;
        padding: 1.8rem 1rem 1.7rem;
        min-height: auto;
    }

    .ticketGuide__ebookWrap:has(> :nth-child(2)) .ticketGuide__ebook__button {
        margin-top: 20px;
    }

    .ticketGuide__ebook__note {
        font-size: 1.4rem;
    }

}

/* ここまで */

/* 定期券 */


@media screen and (min-width: 768px),print {
    .ticketGuide__lead {
        font-size: clamp(1.416rem,1.2vw,1.8rem);
    }
}

@media screen and (max-width: 767px) {
    .ticketGuide__lead {
        font-size: 1.6rem;
    }
}

/* 2面用レイアウト */
