﻿@charset "UTF-8";

:root {
    --padding1: 16px;
    --padding2: 32px;
    --fontbase: 16px;
    --fontbutton: 24px;
    --fonthead: 20px;
    --radio_size: 48px;
    --form_height: 48px;
}

@media only screen and (min-width: 750px) {
    :root {
        --padding1: 32px;
        --padding2: 64px;
        --fontbase: 18px;
        --fontbutton: 22px;
        --fonthead: 22px;
        --radio_size: 28px;
        --form_height: 48px;
    }
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    color: #333333;
    background-color: #f1f1f1;
    font-family: "游ゴシック","Yu Gothic","游ゴシック体", YuGothic,"Hiragino Sans","Helvetica Neue", Arial, sans-serif;
    font-size: var(--fontbase);
    -webkit-text-size-adjust: 100%;
}

/*------------------------------------------------------------------------
	reset
------------------------------------------------------------------------*/
h1, h2, h3, p, dl, dt, dd, em, strong, b, i, address {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
}

input, select, textarea, button {
    font-family: inherit;
    font-size: inherit;
    box-sizing: border-box;
}

a:not(.button):link,
a:not(.button):visited,
a:not(.button):hover,
a:not(.button):active {
    color: inherit;
    text-decoration: underline;
}

::placeholder {
    color: #797979;
}

strong {
    color: #e50012;
    font-weight: 700;
}

ul {
    margin: 0;
    padding: 0 0 0 40px;
}

    ul li {
        margin: 0 10px 0 -10px;
    }

    ul.asterisk {
        padding-left: 10px;
    }

    ul.asterisk li {
        list-style-type: none;
        /*text-indent: -1em;*/
    }

        ul.asterisk li:before {
            display: inline;
            content: "※";
        }

figure {
    display: flex;
    flex-direction: column;
    margin: 0;
}

    figure figcaption {
        order: 0;
        text-align: center;
        font-weight: bold;
    }

    figure div {
        align-self: center;
        margin: var(--padding2) 0;
        order: 1;
        speak: none;
    }

em {
    font-weight: 700;
    font-size: 20px;
}

address {
    margin: var(--padding1) 0;
}

    address p > em {
        font-size: inherit;
    }

hr {
    margin: var(--padding1) 0;
    border: 0 none;
    border-top: 1px solid #c4b994;
}

.phone_hide {
    display: none;
}

.alert {
    color: #e50012;
}

ol {
    counter-reset: item;
    list-style: none;
    margin: 0;
    padding: 0;
}

    ol > li {
        counter-increment: item;
        position: relative;
        padding-left: 2.4em;
    }

        ol > li::before {
            content: "(" counter(item) ")";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 2em;
        }

    ol[start] {
        counter-reset: item 1;
    }

        ol[start] > li {
            padding-left: 1.4em;
        }

            ol[start] > li::before {
                content: counter(item);
                align-items: flex-start;
            }

.right-align {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--padding1);
}

/*------------------------------------------------------------------------
	layout
------------------------------------------------------------------------*/
body section {
    margin: var(--padding1) 0 0 0;
}

    body section:first-child {
        margin-top: 0;
    }

    body section > header {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 0 var(--padding1) 0;
        min-height: 40px;
        padding: 10px 20px;
        background-color: #dccfa6;
        font-size: var(--fonthead);
        font-weight: 700;
        box-sizing: border-box;
    }

        body section > header > h1 {
            flex-grow: 1;
            line-height: 1.2;
        }

            body section > header > h1 > i {
                display: block;
            }

    body section > footer {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin: var(--padding1) 0;
        padding: 0;
    }

    body section > i:first-child + section {
        margin-top: 0;
    }

/*------------------------------------------------------------------------
	layout
------------------------------------------------------------------------*/
body {
    display: flex;
    flex-direction: column;
    word-break: break-all;
}

    body > section {
        flex-grow: 1;
        padding: 0 16px;
    }
        body > section:nth-child(2) {
            flex-grow: 0;
        }

        body > section > header {
            background-color: transparent;
        }

            body > section > header > h1 {
                flex-grow: 0;
                display: flex;
                justify-content: center;
                align-items: center;
                text-align: center;
                padding: 0;
                background-color: transparent;
                font-size: 1.5rem;
            }

            body > section > header > i {
                display: block;
                width: 62px;
                height: 24px;
                margin: 0 14px;
                color: #ffffff;
                background-color: #c70010;
                border-radius: 8px;
                font-size: 16px;
                text-align: center;
            }

        body > section > footer {
            margin-bottom: var(--padding2);
            padding: 0;
        }

    body > header {
        position: sticky;
        top: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 32px;
        padding: 0 16px;
        background-color: #ffffff;
        z-index: 2;
    }

        body > header > h1 {
            flex-grow: 1;
            font-size: 12px;
            font-weight: 500;
            text-align: center;
        }

        body > header > a {
            display: block;
            width: 28px;
            height: 21px;
            background: url("img/moble_header_logo.png") no-repeat left top transparent;
            background-size: cover;
            overflow: hidden;
            text-indent: 30px;
            white-space: nowrap;
        }

        /*body > header::after {
            content: "";
            display: block;
            width: 28px;
            speak: none;
        }*/

    body > footer {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 36px;
        background-color: #e0ded7;
        font-size: 0.75rem;
    }

/**印刷時設定*/
@media print {
    body > header {
        position: initial;
    }
}

/*------------------------------------------------------------------------
	ブレークポイント
	スマホ(最小)版を基本とし、PC(拡大)版はブレークポイント内に記載する。
	必要があれば各パーツごとに記述。
------------------------------------------------------------------------*/
@media only screen and (min-width: 750px) {
    html,
    body {
        font-size: 22px;
    }

    em {
        font-size: 24px;
    }

    body > header {
        padding: 0 100px;
        height: 88px;
    }

        body > header > h1 {
            line-height: 1;
            font-size: 26px;
            font-weight: bold;
            max-height: 88px;
            overflow: hidden;
            padding-left: calc(44vw - 548px);
            text-align: left;
        }

        body > header > a {
            min-width: 348px;
            height: 70px;
            background: url("img/header_logo.png") no-repeat left top transparent;
            text-indent: 350px;
        }

        body > header::after {
            width: 348px;
        }

    .phone_hide {
        display: block;
    }

    body section > header > h1 {
        font-size: 26px;
    }

        body section > header > h1 > i {
            display: inline-block;
            margin-right: 1em;
        }

    body section > footer {
        flex-direction: row;
        justify-content: center;
    }

        body section > footer button {
            margin: 0;
        }

            body section > footer button + button {
                margin-left: var(--padding1);
            }

    body > section {
        padding: 0 100px;
    }

        body > section > header > h1 {
            height: 56px;
            font-weight: bold;
        }

        body > section > footer .back {
            order: -1;
            margin-left: 0;
            margin-right: var(--padding1);
        }

    .pc_left_align {
        justify-content: flex-start;
    }

    address p > em {
        font-size: inherit;
    }
}
/*------------------------------------------------------------------------
	icon
------------------------------------------------------------------------*/
.onicon.plus::before {
    background-image: url("img/icon_plus.svg");
}

.onicon.minus::before {
    background-image: url("img/icon_minus.svg");
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0.6em;
}

    .icon::before {
        speak: none;
    }

    .icon.arrow {
        margin: 0 4px;
    }

        .icon.arrow::before {
            content: "▲";
            display: inline-flex;
            align-items: flex-start;
            width: 1em;
            height: 1em;
            transform-otigin: center center;
            transform: rotate(90deg);
            color: #736a4f;
            font-family: inherit;
        }

/*------------------------------------------------------------------------
	forms
------------------------------------------------------------------------*/
button,
.button {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: var(--form_height);
    margin: 0 0 var(--padding1) 0;
    padding: 0 10px;
    color: #ffffff;
    border: 0 none;
    border-radius: 10px;
    background-color: #e50012;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.4);
    font-weight: 500;
    font-size: var(--fontbutton);
    text-decoration: none;
    line-height: 1;
    box-sizing: border-box;
    cursor:pointer;
}

    button:last-child,
    .button:last-child {
        margin-bottom: 0;
    }

    button.back,
    .button.back {
        color: #e50012;
        background-color: #ffffff;
        border: 2px solid #e50012;
        font-weight:bold;
    }

    button.reserve,
    .button.reserve {
        background-color: #4f6780;
    }

        button.reserve.back,
        .button.reserve.back {
            color: #4f6780;
            background-color: #ffffff;
            border: 2px solid #4f6780;
        }

    button.tel,
    .button.tel {
        background-color: #4b8261;
    }

    button.copy,
    .button.copy {
        background-color: #807658;
    }

    button.disabled, button:disabled,
    .button.disabled,
    .button:disabled {
        opacity: 0.3;
        pointer-events: none;
    }

    button.onicon,
    .button.onicon {
        flex-grow: 0;
        background-color: #807658;
    }

        button.onicon::before,
        .button.onicon::before {
            content: "";
            display: inline-flex;
            width: var(--fontbase);
            height: var(--fontbase);
            margin-right: 8px;
            background: none no-repeat center center transparent;
            background-size: cover;
            speak: none;
        }

input[type="text"],
input[type="email"],
input[type="tel"],
select {
    height: var(--form_height);
    padding: 0 8px;
    border: 2px solid #999999;
    background: none no-repeat center center #ffffff;
    color: #000000;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 500;
    font-family: inherit;
}

    input[type="text"][readonly],
    input[type="email"][readonly],
    input[type="tel"][readonly],
    select[readonly] {
        height: auto;
        padding: 0;
        border: 0 none;
        background: none transparent;
    }

select {
    -webkit-appearance: none;
    appearance: none;
    height: var(--form_height);
    width: 100%;
    padding: 0 40px 0 8px;
    background-image: url("img/icon_pulldown.svg");
    background-position: right 8px center;
}

input[type="radio"],
input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    margin: 0;
    width: var(--radio_size);
    height: var(--radio_size);
    background: none no-repeat center center #ffffff;
    border: 2px solid #999999;
    border-radius: 50%;
    box-sizing: border-box;
}

    input[type="radio"]:checked,
    input[type="checkbox"]:checked {
        border-color: #e50012;
        background-image: radial-gradient(ellipse at center, #e50012 0%, #e50012 38%, rgba(0, 0, 0, 0) 39%, rgba(0, 0, 0, 0) 100%);
    }

    input[type="radio"] + span,
    input[type="checkbox"] + span {
        margin-left: 8px;
        font-size: 20px;
    }

input[type="checkbox"] {
    border-radius: 10px;
    background-image: url("img/icon_checkmark.svg");
    background-size: cover;
    background-position: 100px 100px;
}

    input[type="checkbox"]:checked {
        border-color: #e50012;
        background-image: url("img/icon_checkmark.svg");
        background-position: center center;
    }

.forms {
    margin: var(--padding1) 0;
    font-weight: 500;
}

    .forms label {
        flex-grow: 1;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding-bottom: var(--padding1);
        box-sizing: border-box;
    }

        .forms label > span:first-child {
            flex-basis: 100%;
            margin-bottom: 8px;
            line-height: 1;
        }

        .forms label input:not([type="radio"]):not([type="checkbox"]) {
            width: 100%;
        }

    .forms.date {
        display: flex;
        flex-wrap: wrap;
    }

        .forms.date label {
            flex-wrap: nowrap;
            flex-direction: column;
            align-items: flex-start;
            padding: 0 24px var(--padding1) 0;
        }

            .forms.date label:nth-child(1) {
                flex-basis: 100%;
                padding-right: 0;
            }

            .forms.date label:nth-child(2) {
                flex-basis: calc(50% - 12px);
            }

            .forms.date label:nth-child(3) {
                flex-basis: calc(50% - 24px);
                padding-right: 0;
            }

            .forms.date label span {
                flex-basis: auto;
            }

    .forms.station {
        position: relative;
    }

        .forms.station label {
            padding: 0 24px var(--padding1) 0;
            display: grid;
            grid-template-columns: 4em 1fr;
            grid-template-rows: 1fr;
            gap: 0px 0px;
            grid-template-areas: "head form";
            padding-right: 0;
        }

            .forms.station label:last-child {
                padding-bottom: 0;
            }

            .forms.station label > span {
                grid-area: head;
                align-self: center;
            }

            .forms.station label > input[type="text"],
            .forms.station label button {
                grid-area: form;
            }

            .forms.station label.addRow, .forms.station label.buttonRow {
                padding-right: 56px;
            }

            .forms.station label.buttonRow {
                pointer-events: none;
            }

            .forms.station label.buttonRow button{
                pointer-events: auto;
            }


                .forms.station label.addRow button, .forms.station label.buttonRow button {
                    font-size: 20px;
                }

        .forms.station > button {
            position: absolute;
            bottom: 40px;
            right: 0;
            display: flex;
            justify-content: flex-start;
            width: 48px;
            height: 48px;
            margin: 0;
            transform: translate(0, -50%);
            background: url("img/icon_change.svg") no-repeat center center white;
            border: 2px solid #7e7558;
            overflow: hidden;
            text-indent: 50px;
            white-space: nowrap;
        }

    .forms.section {
        display: flex;
        flex-wrap: wrap;
    }

        .forms.section p,
        .forms.section label {
            display: none;
            padding: 7px;
            background-color: #ffffff;
            border: 2px solid #999999;
            border-radius: 10px;
            font-size: 20px;
            speak: none;
        }

            .forms.section p + label,
            .forms.section label + label {
                margin-top: 8px;
            }

            .forms.section p.checked,
            .forms.section label.checked {
                border-color: #e50012;
            }

        .forms.section span {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding: 7px;
            background-color: #cccccc;
            font-size: 1rem;
            font-weight: 500;
        }

            .forms.section span b {
                margin: 0 20px 0 8px;
                font-size: 20px;
            }

        .forms.section dl {
            display: flex;
            justify-content: flex-end;
            flex-wrap: wrap;
        }

            .forms.section dl dt {
                flex-basis: 4em;
                font-weight: 500;
            }

                .forms.section dl dt::after {
                    content: "：";
                    speak: none;
                }

            .forms.section dl dd {
                flex-basis: calc(100% - 4em);
                font-weight: 500;
            }

                .forms.section dl dd + dd {
                    flex-basis: 100%;
                    font-size: 1rem;
                    font-weight: normal;
                }

        .forms.section .onicon.minus {
            display: none;
            margin-top: 16px;
            width: 100%;
            speak: none;
        }

        .forms.section .onicon.plus {
            margin-top: 16px;
            width: 100%;
        }

        .forms.section > label {
            display: none;
            speak: none;
        }

        .forms.section p {
            display: flex;
            speak: normal;
        }

        .forms.section .onicon.plus,
        .forms.section .onicon.minus {
            display: none;
            speak: none;
        }

        .forms.section.unSelected > label:first-of-type {
            display: grid;
            speak: normal;
        }

        .forms.section.unSelected p {
            display: none;
            speak: none;
        }

        .forms.section.unSelected .onicon.plus {
            display: flex;
            speak: normal;
        }

        .forms.section.selected > label {
            display: none;
            speak: none;
        }

            .forms.section.selected > label.checked {
                display: grid;
                speak: normal;
            }

        .forms.section.selected p {
            display: none;
            speak: none;
        }

        .forms.section.selected .onicon.plus {
            display: flex;
            speak: normal;
        }

        .forms.section.show > label {
            display: grid;
            speak: normal;
        }

        .forms.section.show .onicon.plus {
            display: none;
            margin-top: 16px;
            width: 100%;
            speak: none;
        }

        .forms.section.show p {
            display: none;
            speak: none;
        }

        .forms.section.checked > label {
            display: none;
            speak: none;
        }

            .forms.section.checked > label.checked {
                display: grid;
            }

        .forms.section.selected.show .onicon.minus {
            display: flex;
            speak: normal;
        }

    .forms.checkboxs {
        font-size: 1rem;
        line-height: 1;
    }

        .forms.checkboxs > label {
            display: flex;
            flex-wrap: nowrap;
        }

            .forms.checkboxs > label input {
                min-width: var(--radio_size);
            }

.addRow {
    position: relative;
}

    .addRow > button {
        position: absolute;
        right: -35px;
        bottom: 0;
        justify-content: flex-start;
        width: calc(var(--form_height)*0.8);
        height: calc(var(--form_height)*0.8);
        margin: 0;
        padding: 0;
        background: url("img/icon_delete.svg") no-repeat center center transparent;
        -webkit-background-size: contain;
        background-size: contain;
        box-shadow: none;
        text-indent: var(--form_height);
        white-space: nowrap;
        overflow: hidden;
    }

    .addRow > input {
        padding-right: 40px;
    }

@media only screen and (min-width: 750px) {
    input[type="checkbox"] {
        border-radius: 0;
    }

    button:only-child,
    .button:only-child {
        max-width: 684px;
    }

    button br,
    .button br {
        display: none;
    }

    button.plus, button.minus,
    .button.plus,
    .button.minus {
        max-width: none;
    }

    button.tel,
    .button.tel {
        display: contents;
        color: inherit;
        pointer-events: none;
        font-weight: bold;
        font-size: 24px;
    }

        button.tel::before,
        .button.tel::before {
            content: "電話番号　";
        }

    .forms label {
        padding-bottom: 16px;
    }

    .forms.date label:nth-child(1), .forms.date label:nth-child(2), .forms.date label:nth-child(3), .forms.date label:nth-child(4), .forms.date label:nth-child(5) {
        flex-grow: 0;
        flex-basis: auto;
        padding: 0 var(--padding1) 0 0;
    }

    .forms.station {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        overflow: auto;
        margin-top: 16px;
    }

        .forms.station > button {
            position: static;
            order: 2;
            flex-basis: var(--form_height);
            min-width: var(--form_height);
            max-width: var(--form_height);
            max-height: var(--form_height);
            min-height: var(--form_height);
            margin: 0;
            transform-origin: center center;
            transform: rotate(-90deg) translateX(-8px) translateY(-16px);
            align-items: center;
            align-self: center;
        }

        .forms.station label {
            display: flex;
            flex-direction: row;
            justify-content: flex-start;
            align-items: center;
            flex-basis: calc(50% - 110px);
            flex-wrap: nowrap;
            padding-top: 16px;
            padding-right: 40px;
            padding-bottom: 0;
            order: 3;
        }

            .forms.station label span {
                white-space: nowrap;
            }

            .forms.station label:first-child {
                order: 1;
            }

            .forms.station label.buttonRow {
                justify-content: center;
                flex-basis: 100%;
                padding-top: var(--padding1);
                padding-right: 0;
                order: 100;
            }

                .forms.station label.buttonRow button {
                    flex-basis: 325px;
                }

                .forms.station label.buttonRow.checked {
                    border-color: #e50012;
                }

            .forms.station label.addRow {
                flex-basis: 100%;
                justify-content: center;
                order: 50;
            }

            .forms.station label span {
                flex-basis: auto;
                margin: 0 16px 0 0;
            }

    .forms.section p {
        width: 100%;
    }

    .forms.section span b {
        font-size: 22px;
        font-weight: bold;
    }

    .forms.section dl {
        font-size: 26px;
    }

        .forms.section dl dt,
        .forms.section dl dd {
            font-weight: bold;
        }

            .forms.section dl dd + dd {
                flex-basis: 100%;
                font-size: 1rem;
                font-weight: normal;
            }

    .forms.address {
        display: table;
        table-layout: fixed;
        border-spacing: 16px;
        width: 100%;
        margin: -16px;
    }

        .forms.address label {
            display: table-row;
        }

            .forms.address label span,
            .forms.address label input {
                display: table-cell;
            }

                .forms.address label span br,
                .forms.address label input br {
                    display: none;
                }

            .forms.address label input {
                min-width: 400px;
                max-width: 400px;
            }

    .addRow {
        position: relative;
    }

        .addRow > button {
            position: static;
            flex-grow: 0;
            flex-basis: var(--form_height);
            max-width: var(--form_height);
        }
}
/*------------------------------------------------------------------------
	confirm
------------------------------------------------------------------------*/
.confirm {
    font-size: 20px;
}

    .confirm > header {
        margin-bottom: 4px;
        padding: 6px 12px;
        font-size: 20px;
    }

        .confirm > header h1 {
            font-weight: normal;
        }

    .confirm dl {
        display: flex;
        flex-wrap: wrap;
    }

        .confirm dl dt, .confirm dl dd {
            padding: 6px 12px;
            box-sizing: border-box;
        }

        .confirm dl dt {
            flex-basis: 152px;
            background-color: #cccccc;
        }

            .confirm dl dt:first-child ~ dt, .confirm dl dt:first-child + dd ~ dd {
                margin-top: 4px;
            }

        .confirm dl dd {
            flex-basis: calc(100% - 152px);
            background-color: #ffffff;
        }

@media only screen and (min-width: 750px) {
    .confirm > header {
        font-size: var(--fonthead);
    }

    .confirm dl dt, .confirm dl dd {
        font-size: var(--fonthead);
    }

    .confirm dl dt, .confirm dl dd {
        flex-basis: 307px;
    }

    .confirm dl dd {
        flex-basis: calc(100% - 307px);
        font-weight: bold;
    }
}
/*------------------------------------------------------------------------
	.step
------------------------------------------------------------------------*/
.step {
    font-size: 0.75rem;
    font-weight: 500;
    margin: 10px 0;
    speak: none;
}

    .step > p {
        width: calc(100% / 4);
        text-align: center;
    }

    .step > div {
        display: flex;
        justify-content: space-between;
    }

        .step > div > p {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-content: center;
            align-items: center;
            flex-grow: 1;
            background: linear-gradient(to right, #dccfa6 0%, #dccfa6 100%) no-repeat left top 0.5rem transparent;
            background-size: auto 2px;
        }

            .step > div > p:first-child {
                background-image: linear-gradient(to right, transparent 0%, transparent 50%, #dccfa6 50%, #dccfa6 100%);
            }

            .step > div > p:last-child {
                background-image: linear-gradient(to left, transparent 0%, transparent 50%, #dccfa6 50%, #dccfa6 100%);
            }

            .step > div > p span {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 1rem;
                height: 1rem;
                border-radius: 50%;
                background-color: #dccfa6;
                line-height: 1;
            }

            .step > div > p.current span {
                color: #ffffff;
                background-color: #333333;
            }

/*------------------------------------------------------------------------
	.terms
------------------------------------------------------------------------*/
.terms > section {
    margin-bottom: 26px;
    font-size: 1rem;
    font-weight: normal;
}

    .terms > section:last-of-type {
        margin-bottom: 0;
    }

    .terms > section header,
    .terms > section header > h1 {
        display: block;
        margin: 0;
        padding: 0;
        min-height: 0;
        background-color: transparent;
        font-size: inherit;
        font-weight: 700;
    }

/*------------------------------------------------------------------------
	information
------------------------------------------------------------------------*/
.information {
    position: relative;
    padding: 12px;
    border: 4px solid #dccfa6;
    border-radius: 10px;
    line-height: 1;
}

    .information::after {
        content: "";
        position: absolute;
        display: block;
        background: none no-repeat center center transparent;
        -webkit-background-size: contain;
        background-size: contain;
        speak: none;
    }

    .information.image01 {
        padding: 13px 96px 13px 13px;
    }

        .information.image01::after {
            right: 0;
            top: 5px;
            bottom: 8px;
            width: 96px;
            background-image: url("img/information01.png");
        }

    .information.out {
        border: 0 none;
        padding-right: 72px;
    }

        .information.out::after {
            right: 0;
            top: 8px;
            bottom: 8px;
            width: 72px;
            background-image: url("img/information02.png");
        }

    .information.thank {
        margin-bottom: var(--padding1);
        padding: 0;
        border: 0 none;
        line-height: normal;
    }

        .information.thank em {
            font-size: inherit;
        }

@media only screen and (min-width: 750px) {
    .information.image01 {
        padding: 56px 26px 56px 104px;
        vertical-align: middle;
    }

        .information.image01::after {
            left: 0;
            top: 8px;
            bottom: 12px;
            width: 104px;
        }

    .information.out {
        padding: 27px 12px 27px 104px;
        line-height: 1.6;
    }

        .information.out::after {
            left: 0;
            top: 8px;
            bottom: 8px;
            width: 103px;
        }

    .information.thank {
        font-size: var(--fonthead);
    }
}
/*------------------------------------------------------------------------
	qr
------------------------------------------------------------------------*/
.qr {
    background-color: #ffffff;
    padding-bottom: var(--padding1);
}

    .qr figure {
        padding: 0 var(--padding1);
    }

        .qr figure img {
            width: 120px;
            height: auto;
        }

    .qr p {
        margin: 0 var(--padding1);
    }

@media only screen and (min-width: 750px) {
    .qr figure img {
        width: auto;
    }
}
/*------------------------------------------------------------------------
	.popup
------------------------------------------------------------------------*/
.popup {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    z-index: -1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    align-content: center;
    background-color: rgba(0, 0, 0, 0.7);
}

    .popup > section {
        margin: 0 var(--padding1);
        padding: var(--padding2) var(--padding1);
        background-color: #ffffff;
    }

        .popup > section header {
            margin: 0;
            padding: 0;
            background-color: transparent;
        }

            .popup > section header h1 {
                font-size: 24px;
                font-weight: 700;
                text-align: center;
            }

        .popup > section footer {
            padding: 0;
            margin-bottom: 0;
        }

    .popup.show {
        opacity: 1;
        z-index: 3;
    }

.dansaHide {
    display: none;
}
/* 画面ロック用 */
.lockDiv {
    z-index: 10000;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    /*background-color:transparent;*/
    background-color: White;
    opacity: 0.5;
}

/*単語で折り返す設定*/
.wordWrap {
    word-break: break-word;
}