/* http://meyerweb.com/eric/tools/css/reset/
   v5.0.1 | 20191019
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}
/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
    display: none;
}
body {
	line-height: 1;
}
menu, ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


html {
    scroll-behavior: smooth;
}

.wrapper {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
    /* padding-bottom: 73px; */
}

.wrapper img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
}

.detail_btn {
    all: unset;
    cursor: pointer;
    display: block;
    width: 100%;
}

.detail_body {
    display: none;
}

.detail.is-open .detail_heading {
    display: none;
}

.detail.is-open .detail_body {
    display: block;
}

body.fix_cta-visible {
    padding-bottom: calc(73px + env(safe-area-inset-bottom));
}

.fix_cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    /* background: #fff; */
    /* box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.12); */
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateY(100%);
    transition: transform 0.35s ease-out;
    pointer-events: none;
}

.fix_cta.is-visible {
    transform: translateY(0);
    pointer-events: auto;
}

.fix_cta_inner {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
}

.fix_cta_list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fix_cta_list li {
    flex: 1;
}

.fix_cta_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0.5em 0.5em;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.fix_cta_list li:last-child .fix_cta_btn {
    border-right: none;
}

.fix_cta_btn--reservation {
    background-color: #E8705F;
}

.fix_cta_btn--request {
    background-color: #5BA3D0;
}

.fix_cta_btn--detail {
    background-color: #6FB8A4;
}

p.note {
    font-size: 12px;
    line-height: 1.6em;
    font-weight: normal;
    padding: 0;
    margin-top: 1em;
    text-align: left;
    letter-spacing: 0em;
}
@media (max-width: 767px) {
    p.note {
        padding: 0 calc(40/750*100vw);
    }
}

/* ボタンのスタイルリセット */
.detail_close {
    all: unset;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    margin-top: 1.5em;
    display: block;
    margin-left: auto;
    text-decoration: underline;
}
@media (max-width: 767px) {
    .detail_close {
        padding: 0 calc(40/750*100vw);
    }
}

figure {
    display: block;
    line-height: 0;
}

.header {
    display: flex;
}

.detail_body {
    max-width: 879px;
    margin: 0 auto;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (hover: hover) {
    .detail_btn,
    .detail_close {
        transition: opacity 0.3s;
    }

    .detail_btn:hover,
    .detail_close:hover {
        opacity: 0.7;
    }

    .fix_cta_btn {
        transition: background-color 0.3s;
    }

    .fix_cta_btn--reservation:hover {
        background-color: color-mix(in srgb, #E8705F 85%, white);
    }

    .fix_cta_btn--request:hover {
        background-color: color-mix(in srgb, #5BA3D0 85%, white);
    }

    .fix_cta_btn--detail:hover {
        background-color: color-mix(in srgb, #6FB8A4 85%, white);
    }
}