@charset "utf-8";

@page {
    margin: 0;
    size: A4 landscape;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    display: block;
    margin: 0;
    vertical-align: middle;
}

html {
    position: relative;
    margin: 0;
    padding: 0;
}

@media screen {
    body {
        margin: 0;
        padding: 0;
        display: none;
    }
}

@media print {
    body {
        margin: 0;
        padding: 0;
        font-family: 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
    }

    .one-page {
        width: 297mm;
        height: 210mm;
        margin: 0;
        padding: 10mm;
        break-inside: avoid-page;
    }

    .for-print {
        display: block;
        background: #f0f0f0;
    }

    .for-print > .print-header {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 10.0mm;
    }
    .for-print > .print-header h2 {
        margin: 0;
        padding: 0 2.0mm;
        width: 100%;
        height: 100%;
        color: #fff;
        font-size: 4.0mm;
        line-height: 1.0;
        background: #000;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0mm;
    }
    .for-print > .print-header h2::before {
        content: "";
        width: 2.0mm;
        height: 8.0mm;
        background: #ec9300;
    }

    .for-print > .print-contents {
        margin: 0;
        padding: 3.0mm 0;
        width: 100%;
        height: calc( 100% - 12.0mm - 30.0mm );
        background: #ffc;
        background: transparent;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }

    .for-print > .print-contents .print-contents-l {
        padding: 0 3.0mm 0 0;
        width: 65%;
        height: 100%;
    }
    .for-print > .print-contents .print-contents-l .print-images {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 3.0mm 3.0mm;
    }
    .for-print > .print-contents .print-contents-l .print-images figure {
        position: relative;
        margin: 0;
        padding: 0;
        width: calc( ( 100% - 6.0mm ) / 3 );
        height: auto;
        aspect-ratio: 290 / 207;
    }
    .for-print > .print-contents .print-contents-l .print-images figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .for-print > .print-contents .print-contents-l .print-images figure figcaption {
        position: absolute;
        bottom: 2mm;
        right: 2mm;
        color: #fff;
        font-size: 3mm;
        text-shadow:
            0 0 0.5mm #000,
            0 0 0.5mm #000,
            0 0 0.5mm #000,
            0 0 0.5mm #000;
    }
    .for-print > .print-contents h2 {
        margin: 3.0mm 0 0;
        padding: 0 2.0mm;
        width: 100%;
        height: 10.0mm;
        color: #fff;
        font-size: 4.0mm;
        line-height: 1.0;
        background: #000;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0mm;
    }
    .for-print > .print-contents h2::before {
        content: "";
        width: 2.0mm;
        height: 8.0mm;
        background: #ec9300;
    }
    .for-print > .print-contents .print-details {
        margin: 0;
        padding: 2.0mm 2.0mm;
        width: 100%;
        height: calc( 100% - 10.0mm - 90.0mm );
        overflow: hidden;
        color: var(--fg-color);
        font-size: 2.2mm;
        line-height: 1.8;
        background: #000;
        background: #fcc;
        background: transparent;
    }
    .for-print > .print-contents .print-details > div {
        display: inline;
        margin: 0;
        padding: 0;
        white-space: normal;
    }
    .for-print > .print-contents .print-details > div > span {
        display: inline;
        white-space: normal;
    }
    .for-print > .print-contents .print-details > div > span + span {
        padding-left: 1.0em;
    }
    .for-print > .print-contents .print-details > div + div {
    }
    .for-print > .print-contents .print-details > div + div::before {
        content: "  |  ";
    }

    .for-print > .print-contents .print-contents-r {
        padding: 4.0mm;
        width: 35%;
        height: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .for-print > .print-contents .print-contents-r .print-contents-r-info {
        width: 100%;
        height: 50%;
    }
    .for-print > .print-contents .print-contents-r .railway-name {
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 3.5mm;
        font-weight: 500;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .railway-station {
        display: inline;
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 5.5mm;
        font-weight: 700;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .railway-walk {
        display: inline;
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 4.5mm;
        font-weight: 700;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .railway-walk .red {
        color: #bf2228;
    }
    .for-print > .print-contents .print-contents-r .busstop-info {
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 3.5mm;
        font-weight: 500;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .price-info {
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 3.5mm;
        font-weight: 500;
        line-height: 1.5;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 2.0mm;
    }
    .for-print > .print-contents .print-contents-r .price-info > span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 1.0mm 1.0mm;
        color: #fff;
        background: #bf2228;
        font-size: 3.5mm;
        font-weight: 500;
        text-align: center;
        line-height: 1.2;
    }
    .for-print > .print-contents .print-contents-r .price-info > span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #bf2228;
        font-size: 15.0mm;
        font-weight: 700;
        line-height: 1.5;
        translate: 0 -5%;
    }
    .for-print > .print-contents .print-contents-r .price-info > span:nth-of-type(3) {
        margin: 0;
        padding: 0;
        color: #bf2228;
        font-size: 3.5mm;
        font-weight: 700;
        text-align: center;
        line-height: 1.2;
    }
    .for-print > .print-contents .print-contents-r .build-info {
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 8.0mm;
        font-weight: 500;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .address-info {
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--fg-color);
        font-size: 4.5mm;
        font-weight: 500;
        line-height: 1.5;
    }
    .for-print > .print-contents .print-contents-r .print-contents-r-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 50%;
    }
    .for-print > .print-contents .print-contents-r .print-contents-r-pic figure {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .for-print > .print-contents .print-contents-r .print-contents-r-pic figure img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .for-print > .print-footer {
        margin: 0;
        padding: 0 4.0mm;
        width: 100%;
        height: 30.0mm;
        background: #ccc;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .for-print > .print-footer > div:nth-child(1) {
        margin: 0;
        padding: 0;
        width: 90.0mm;
        font-size: 3.5mm;
        line-height: 1.0;
    }
    .for-print > .print-footer > div:nth-child(1) .print-footer-logo {
        margin: 1.0mm 0;
        padding: 0;
        width: 80.0mm;
        height: auto;
    }
    .for-print > .print-footer > div:nth-child(1) .print-footer-logo img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    .for-print > .print-footer > div:nth-child(2) {
        margin: 0;
        padding: 0;
        width: 120.0mm;
        font-size: 3.5mm;
        line-height: 1.0;
    }
    .for-print > .print-footer > div:nth-child(2) .print-footer-tel {
        margin: 1.0mm 0;
        padding: 0;
        display: flex;
        align-items: center;
        justfiy-content: flex-start;
        gap: 0 2.0mm;
    }
    .for-print > .print-footer > div:nth-child(2) .print-footer-tel span:nth-child(1) {
        margin: 0;
        padding: 1.0mm 2.0mm;
        color: #fff;
        font-size: 6.0mm;
        font-weight: 700;
        background: #bf2228;
    }
    .for-print > .print-footer > div:nth-child(2) .print-footer-tel span:nth-child(2) {
        margin: 0;
        padding: 0;
        color: #bf2228;
        font-size: 14.0mm;
        font-weight: 700;
        translate: 0 -5%;
    }
    .for-print > .print-footer > div:nth-child(3) {
        margin: 0 2.0mm 0 0;
        padding: 2.0mm;
        width: 40.0mm;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: #333;
    }
    .for-print > .print-footer > div:nth-child(3) span:nth-child(1) {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        color: #fff;
        font-size: 3.5mm;
        text-align: center;
    }
    .for-print > .print-footer > div:nth-child(3) span:nth-child(2) {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        color: #fff;
        font-size: 6.0mm;
        text-align: center;
    }

}
