@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap");

@layer base {

    *,
    ::backdrop,
    :after,
    :before {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    :host,
    html {
        -webkit-text-size-adjust: 100%;
        -moz-tab-size: 4;
        -o-tab-size: 4;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    body {
        line-height: inherit
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    pre,
    samp {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    menu,
    ol,
    ul {
        list-style: none
    }

    audio,
    canvas,
    embed,
    iframe,
    img,
    object,
    svg,
    video {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    ::file-selector-button,
    button,
    input,
    optgroup,
    select,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: transparent;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::-moz-placeholder {
        opacity: 1;
        color: currentColor
    }

    ::placeholder {
        opacity: 1;
        color: currentColor
    }

    @supports (color:color-mix(in lab, red, red)) {
        ::-moz-placeholder {
            color: color-mix(in oklab, currentColor 50%, transparent)
        }

        ::placeholder {
            color: color-mix(in oklab, currentColor 50%, transparent)
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit,
    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field,
    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field,
    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field,
    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    ::file-selector-button,
    button,
    input:where([type=button], [type=reset], [type=submit]) {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button
    }

    ::-webkit-inner-spin-button,
    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }

    * {
        border-color: var(--border);
        outline-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        * {
            outline-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    body {
        background-color: var(--background);
        color: var(--foreground);
        font-family: var(--font-base)
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) h1 {
        font-size: var(--text-2xl);
        font-weight: var(--font-weight-medium);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) h2 {
        font-size: var(--text-xl);
        font-weight: var(--font-weight-medium);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) h3 {
        font-size: var(--text-lg);
        font-weight: var(--font-weight-medium);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) h4 {
        font-size: var(--text-base);
        font-weight: var(--font-weight-medium);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) p {
        font-size: var(--text-base);
        font-weight: var(--font-weight-normal);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) button,
    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) label {
        font-size: var(--text-base);
        font-weight: var(--font-weight-medium);
        line-height: 1.5
    }

    :where(:not(:has([class*=" text-"]), :not(:has([class^=text-])))) input {
        font-size: var(--text-base);
        font-weight: var(--font-weight-normal);
        line-height: 1.5
    }
}

@layer theme {

    :host,
    :root {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-gray-100: oklch(.967 .003 264.542);
        --color-white: #fff;
        --spacing: .25rem;
        --text-base: 1rem;
        --text-lg: 1.125rem;
        --text-xl: 1.25rem;
        --text-2xl: 1.5rem;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1)
    }
}

:root {
    --font-size: 16px;
    --font-base: YakuHanJP, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    --font-heading: "Outfit", sans-serif
}

html {
    font-size: 16px
}

body {
    background-color: #fff;
    color: #111827;
    font-family: var(--font-base);
    font-size: 1rem;
    line-height: 1.5
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 .5em
}

h1 {
    font-size: 1.5rem
}

h2 {
    font-size: 1.25rem
}

h3 {
    font-size: 1.125rem
}

h4 {
    font-size: 1rem
}

p {
    margin: 0 0 1em
}

a {
    color: inherit;
    text-decoration: none
}

img,
video {
    max-width: 100%;
    height: auto;
    display: block
}

.container-main {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem
}

.container-narrow {
    padding: 0 1.5rem
}

.container-narrow,
.container-narrow-no-padding {
    max-width: 64rem;
    margin: 0 auto
}

.bg-gray-100 {
    background-color: var(--color-gray-100)
}

.text-center {
    text-align: center
}

.text-white {
    color: var(--color-white)
}

.heading-primary {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1
}

.heading-primary,
.mb-2 {
    margin-bottom: 2rem
}

.w-20 {
    width: calc(var(--spacing)*20)
}

.w-full {
    width: 100%
}

.align-middle {
    vertical-align: middle
}

.items-center {
    align-items: center
}

.flex {
    display: flex
}

.inline-block {
    display: inline-block
}

.justify-center {
    justify-content: center
}

.relative {
    position: relative
}

.h-20 {
    height: calc(var(--spacing)*20)
}

.h-full {
    height: 100%
}

.card-shadow {
    box-shadow: 0 10px 40px rgba(0, 0, 0, .15)
}

.opacity-90 {
    opacity: .9
}

.transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
}

.dark {
    --background: oklch(.145 0 0);
    --foreground: oklch(.985 0 0);
    --card: oklch(.145 0 0);
    --card-foreground: oklch(.985 0 0);
    --popover: oklch(.145 0 0);
    --popover-foreground: oklch(.985 0 0);
    --primary: oklch(.985 0 0);
    --primary-foreground: oklch(.205 0 0);
    --secondary: oklch(.269 0 0);
    --secondary-foreground: oklch(.985 0 0);
    --muted: oklch(.269 0 0);
    --muted-foreground: oklch(.708 0 0);
    --accent: oklch(.269 0 0);
    --accent-foreground: oklch(.985 0 0);
    --destructive: oklch(.569 .266 27.33);
    --destructive-foreground: oklch(.985 0 0);
    --border: oklch(.269 0 0);
    --ring: oklch(.708 0 0);
    --sidebar: oklch(.145 0 0);
    --sidebar-foreground: oklch(.985 0 0);
    --sidebar-primary: oklch(.985 0 0);
    --sidebar-primary-foreground: oklch(.205 0 0);
    --sidebar-accent: oklch(.269 0 0);
    --sidebar-accent-foreground: oklch(.985 0 0);
    --sidebar-border: oklch(.269 0 0);
    --sidebar-ring: oklch(.708 0 0)
}

.mb-1 {
    margin-bottom: 1rem
}

.mb-2em {
    margin-bottom: 2em
}

.mb-4 {
    margin-bottom: 4rem
}

.mb-4em {
    margin-bottom: 4em
}

.mt-2 {
    margin-top: 2rem
}

.flex-col {
    display: flex;
    flex-direction: column
}

.flex-row-reverse {
    display: flex;
    flex-direction: row-reverse
}

.gap-1 {
    gap: 1rem
}

.bg-white {
    background: #fff
}

.bg-cadetblue {
    background-color: #5f9ea0
}

.min-h-screen {
    min-height: 100vh
}

.logo-svg {
    height: auto;
    width: 200px
}

.img-cover,
.img-cover-offset {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.img-cover-offset {
    -o-object-position: 75% 25%;
    object-position: 75% 25%
}

.shadow-card {
    box-shadow: 0 10px 40px rgba(0, 0, 0, .15)
}

.heading-custom {
    font-family: var(--font-heading);
    font-weight: 600;
    margin-bottom: 2rem;
    line-height: 1
}

.text-gray-900 {
    color: #111827
}

.nav-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, .0588235294);
    position: relative;
    z-index: 50
}

.nav-header .nav-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: .5rem 1rem
}

.nav-header .nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem
}

.nav-header .nav-logo-area {
    display: flex;
    align-items: center;
    gap: 1rem
}

.nav-header .nav-logo-area img {
    width: 160px;
    height: auto;
    display: block
}

.nav-header .nav-toggle {
    display: block;
    padding: .5rem;
    margin-left: auto;
    border: none;
    background: transparent;
    cursor: pointer
}

.nav-header .nav-toggle__line {
    display: block;
    width: 22px;
    height: 2px;
    margin: 4px 0;
    background: #111827;
    transition: transform .2s, opacity .2s
}

.nav-header .nav-toggle.is-open .nav-toggle__line:first-child {
    transform: translateY(6px) rotate(45deg)
}

.nav-header .nav-toggle.is-open .nav-toggle__line:nth-child(2) {
    opacity: 0
}

.nav-header .nav-toggle.is-open .nav-toggle__line:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg)
}

.nav-header #global-nav {
    position: absolute;
    inset-inline: 0;
    top: 100%;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    transition: transform .2s ease, opacity .15s;
    z-index: 52
}

.nav-header .nav-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    padding: .25rem 1.25rem .75rem;
    list-style: none
}

.nav-header .nav-menu li {
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, .0784313725)
}

.nav-header .nav-menu li:first-child {
    border-top: none
}

.nav-header .nav-cta,
.nav-header .nav-link {
    display: block;
    width: 100%;
    padding: .75rem 0;
    white-space: nowrap
}

.nav-header .nav-link {
    position: relative;
    font-size: .9rem;
    color: #111827;
    text-decoration: none;
    transition: background-color .15s, color .15s
}

.nav-header .nav-link:active {
    background-color: #f3f4f6
}

.nav-header .nav-link:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #c03;
    transform-origin: 0;
    transform: scaleX(0);
    transition: transform .2s;
    pointer-events: none;
    display: none
}

.nav-header .nav-cta {
    font-size: .9rem;
    color: #fff;
    background-color: #c03;
    border-radius: 9999px;
    text-align: center;
    text-decoration: none;
    margin-top: .5rem;
    padding: .75rem 1.5rem;
    transition: box-shadow .3s, background-color .2s
}

.nav-header .nav-cta:active {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1019607843);
    background-color: rgb(178.5, 0, 44.625)
}

.nav-header.is-open #global-nav {
    transform: scaleY(1);
    opacity: 1
}

@media only screen and (min-width:1024px) {
    .nav-header .nav-container {
        padding: .5rem 1.5rem
    }

    .nav-header .nav-inner {
        gap: 2rem
    }

    .nav-header .nav-logo-area img {
        width: 200px
    }

    .nav-header .nav-toggle {
        display: none
    }

    .nav-header #global-nav {
        position: static;
        box-shadow: none;
        transform: none;
        opacity: 1
    }

    .nav-header .nav-menu {
        flex-direction: row;
        align-items: center;
        gap: 2rem;
        padding: 0
    }

    .nav-header .nav-menu li {
        width: auto;
        border: none
    }

    .nav-header .nav-cta,
    .nav-header .nav-link {
        display: inline-block;
        width: auto;
        padding: .5rem 0
    }

    .nav-header .nav-cta {
        padding: .5rem 1.5rem
    }

    .nav-header .nav-link:after {
        display: block
    }

    .nav-header .nav-link:hover:after {
        transform: scaleX(1)
    }
}

.nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .12);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s;
    z-index: 40
}

.nav-header.is-open+.nav-overlay {
    opacity: 1;
    pointer-events: auto
}

.btn-fixed {
    z-index: 45
}

.hero-container {
    font-size: clamp(.625rem, .443rem + .91vw, 1.125rem);
    background: linear-gradient(180deg, #f1ebdf 0, #f2ede3 11%, #f4f0e7 44%, #f8f5ef 88%, #fff);
    min-height: 70vh
}

.hero-container .hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.hero-container .hero-bg__layer {
    position: absolute;
    background-repeat: no-repeat;
    background-position: 50%;
    will-change: transform
}

.hero-container .hero-bg__layer--back {
    width: 100vw;
    max-width: 640px;
    aspect-ratio: 1440/1505;
    background-image: url(../../assets/img/mv-01.png);
    background-size: contain;
    z-index: 1;
    top: 5%;
    left: clamp(70%, 75vw, 75%);
    transform: translate(-50%, -50%)
}

.hero-container .hero-bg__layer--front {
    width: 100vw;
    aspect-ratio: 1920/908;
    background-image: url(../../assets/img/mv-02.png);
    background-size: 110% auto;
    bottom: -5%;
    left: 0;
    z-index: 2
}

.hero-container .hero-content {
    max-width: 80rem;
    margin: 0 auto;
    padding: 5rem 1.5rem 3rem;
    position: relative;
    z-index: 3
}

.hero-container .hero-content .hero-inner {
    margin: 0 auto;
    text-align: center
}

.hero-container .hero-content .hero-inner .hero-title {
    color: #111827;
    letter-spacing: -.025em;
    font-size: 337.5%;
    margin-bottom: .5em
}

.hero-container .hero-content .hero-inner .hero-tagline {
    color: #c03;
    font-size: 225%;
    font-weight: 700;
    letter-spacing: .025em;
    margin-bottom: .5em
}

.hero-container .hero-content .hero-inner .hero-datetime {
    font-size: 115%;
    font-weight: 600;
    margin: 0 2rem .25em;
    letter-spacing: .03em;
    text-align: right
}

.hero-container .hero-content .hero-inner .hero-datetime span {
    font-size: 150%;
    line-height: 1;
    padding: 0 .05em
}

.hero-container .hero-content .hero-inner .hero-reception {
    font-size: 115%;
    font-weight: 500;
    margin: 0 2rem .25em;
    text-align: right
}

.hero-container .hero-content .hero-inner .hero-venue {
    font-weight: 500;
    margin: 0 2rem 2.5em;
    text-align: right
}

.hero-container .hero-content .hero-inner .hero-cta-wrap {
    display: flex;
    justify-content: center
}

.hero-container .hero-content .hero-inner .hero-cta-wrap .btn-cta {
    font-size: 1rem
}

.hero-container .message {
    font-size: clamp(1rem, .955rem + .23vw, 1.125rem);
    max-width: 960px;
    background-color: #fff;
    text-align: center;
    margin: 0 auto 3em;
    border-radius: 1em;
    position: relative;
    z-index: 3
}

.hero-container .message .message__link .btn-text {
    font-size: 90%
}

@media only screen and (max-width:639px) {
    .hero-container .message {
        padding: 3em 1.5em
    }
}

@media only screen and (min-width:640px) {
    .hero-container .message {
        padding: 3em
    }
}

.section {
    /*padding: 5rem 0*/
}

.section-white {
    background-color: #fff
}

.section-beige {
    background-color: #f3efe8
}

.section-gray {
    background-color: #e6e6e6
}

.section-red {
    background-color: #c03
}

.section-title {
    margin-bottom: 1rem;
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 1.955rem + 2.73vw, 4rem);
    font-weight: 600;
    line-height: 1;
    color: #c03
}

.section-title-white {
    color: #fff
}

.section-subtitle {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    font-size: 1.25rem;
    color: #333;
    margin-bottom: 3em;
    position: relative
}

.section-subtitle:before {
    content: "";
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background-color: #c03
}

.section-subtitle p {
    margin: 0
}

.section-subtitle-white {
    color: #fff
}

.section-subtitle-white:before {
    background-color: #fff
}

.btn-cta {
    display: inline-block;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(90deg, #dc2626, #b91c1c);
    border: none;
    border-radius: 9999px;
    padding: 1rem 4rem;
    transition: all .2s;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1019607843)
}

.btn-cta:hover {
    background: linear-gradient(90deg, #b91c1c, #991b1b);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1019607843)
}

.btn-fixed {
    position: fixed;
    top: 40%;
    right: -1em;
    transform: translateY(-50%);
    z-index: 50;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #c03;
    border-radius: 12px 0 0 12px;
    font-size: clamp(.75rem, .614rem + .68vw, 1.125rem);
    font-weight: 600;
    letter-spacing: .1em;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1019607843);
    transition: transform .25s ease, opacity .2s
}

.btn-fixed.is-hidden-by-nav {
    transform: translateX(80px);
    opacity: 0;
    pointer-events: none
}

.btn-fixed__label {
    white-space: nowrap;
    writing-mode: vertical-rl;
    padding: 1.5em 1em 1em
}

.btn-fixed:after {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #fff;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='none' stroke='%23202020' stroke-miterlimit='10' stroke-width='4' d='M26 20.006L40 32 26 44.006' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='none' stroke='%23202020' stroke-miterlimit='10' stroke-width='4' d='M26 20.006L40 32 26 44.006' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn-fixed:hover {
    right: 0;
    text-decoration: none
}

.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: .5em;
    padding: 0;
    color: #fff;
    background-color: #000;
    border: none;
    border-radius: .5em;
    cursor: pointer;
    overflow: hidden;
    transition: all .3s
}

.btn:after {
    content: "→";
    display: inline-block;
    padding: .5em .75em;
    line-height: 1;
    transition: transform .3s
}

.btn:hover {
    background-color: #c03
}

.btn:hover:after {
    transform: translateX(.2em)
}

.btn-text {
    padding: .5em 1.25em;
    font-size: .875rem;
    white-space: nowrap;
    border-right: 1px solid #fff
}

.btn-divider {
    width: 1px;
    height: 1.25rem;
    background-color: hsla(0, 0%, 100%, .3019607843)
}

.btn-free-badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .5rem 1.5rem;
    font-size: .875rem;
    border-radius: 9999px;
    border: 2px solid #1f2937
}

.section-message {
    padding-top: 2.5rem
}

.section-message .inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1.5rem
}

.section-message__lead {
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.25rem
}

.section-message__link {
    text-align: left
}

.btn-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .9rem;
    text-decoration: none;
    border-bottom: 1px solid
}

.event-overview {
    font-size: clamp(1rem, .955rem + .23vw, 1.125rem);
    position: relative
}

.event-overview:before {
    content: "";
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 80px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0 40q300-30 600 0t600 0v40H0z' fill='%23f3efe8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1)
}

.event-overview:after {
    content: "";
    display: block;
    width: 100%;
    height: 80px
}

.event-description-grid {
    display: grid;
    gap: 4rem;
    align-items: flex-start;
    grid-template-columns: 1fr
}

@media only screen and (min-width:768px) {
    .event-description-grid {
        grid-template-columns: auto 1fr
    }
}

.event-description-title {
    font-size: 3rem;
    line-height: 1.25;
    color: #111827
}

.event-description-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    color: #374151
}

.overview-card {
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .0509803922)
}

@media only screen and (max-width:767px) {
    .overview-card {
        padding: 3em 1.5em
    }
}

@media only screen and (min-width:768px) {
    .overview-card {
        padding: 3em
    }
}

.overview-row {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e5e7eb
}

@media only screen and (min-width:768px) {
    .overview-row {
        grid-template-columns: 200px 1fr
    }
}

.overview-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none
}

.overview-label {
    color: #111827;
    font-weight: 500
}

.overview-content p {
    margin-bottom: 0
}

.overview-content p+p {
    margin-top: 1em
}

.overview-content-spacing {
    display: block
}

.overview-content-spacing.overview-content--with-qr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.5em
}

.overview-content-spacing.overview-content--with-qr .overview-content-main {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: column;
    gap: .5rem;
    min-width: 0
}

.overview-content-spacing.overview-content--with-qr .overview-content-qr {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.overview-content-spacing.overview-content--with-qr .overview-content-qr img {
    display: block;
    width: auto;
    max-width: 120px;
    height: auto
}

@media only screen and (max-width:1023px) {
    .overview-content-spacing.overview-content--with-qr {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 1rem
    }

    .overview-content-spacing.overview-content--with-qr .overview-content-qr {
        flex: 0 0 auto;
        margin-top: .5rem
    }
}

.information {
    font-size: clamp(1rem, .955rem + .23vw, 1.125rem);
    position: relative
}

.information:before {
    content: "";
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 80px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0 40q300-30 600 0t600 0v40H0z' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%
}

.information:after {
    content: "";
    display: block;
    width: 100%;
    height: 80px
}

.information-list {
    margin: 0
}

.information-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75em;
    padding: 1.25em 1.5em;
    border-top: 1px solid #e5e7eb
}

.information-item:last-child {
    border-bottom: 1px solid #e5e7eb
}

@media only screen and (min-width:768px) {
    .information-item {
        grid-template-columns: 160px 1fr;
        align-items: center
    }
}

.information-date {
    font-family: var(--font-heading);
    font-weight: 600;
    margin: 0;
    letter-spacing: .08em;
    color: #c03
}

.information-content {
    margin: 0;
    line-height: 1.7;
    color: #111827
}

.greeting {
    font-size: clamp(1rem, .955rem + .23vw, 1.125rem);
    position: relative
}

.greeting:before {
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 3;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0 40q300-30 600 0t600 0v40H0z' fill='%23e6e6e6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1)
}

.greeting:after,
.greeting:before {
    content: "";
    width: 100%;
    height: 80px
}

.greeting:after {
    display: block
}

.greeting-wrapper {
    display: flex;
    flex-direction: column;
    border-radius: .5em;
    overflow: hidden
}

@media only screen and (min-width:1024px) {
    .greeting-wrapper {
        flex-direction: row;
        align-items: stretch
    }
}

.greeting-card {
    background-color: #f3efe8;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    flex: 1 1 auto
}

@media only screen and (max-width:639px) {
    .greeting-card {
        padding: 3em 1.5em
    }
}

@media only screen and (min-width:640px) {
    .greeting-card {
        padding: 3em
    }
}

@media only screen and (min-width:1024px) {
    .greeting-card {
        flex: 0 0 61.8%
    }
}

.section-gray .greeting-card {
    background-color: #fff
}

.greeting-grid {
    display: grid;
    gap: 3rem;
    align-items: flex-start;
    grid-template-columns: 1fr
}

@media only screen and (min-width:1024px) {
    .greeting-grid {
        grid-template-columns: 280px 1fr
    }
}

.greeting-image-container {
    display: flex;
    justify-content: center
}

@media only screen and (min-width:1024px) {
    .greeting-image-container {
        justify-content: flex-start
    }
}

.greeting-image-frame {
    padding: .75rem;
    background: #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1019607843)
}

.greeting-image-wrapper {
    flex: 1 1 auto;
    width: 100%;
    padding-top: 1em
}

@media only screen and (max-width:1023px) {
    .greeting-image-wrapper {
        height: 320px
    }
}

.greeting-image {
    width: 100%;
    height: 100%
}

@media only screen and (max-width:1023px) {
    .greeting-image {
        -o-object-fit: scale-down;
        object-fit: scale-down;
        -o-object-position: 45% 50%;
        object-position: 45% 50%
    }
}

@media only screen and (min-width:1024px) {
    .greeting-image {
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: 100% 50%;
        object-position: 100% 50%
    }
}

.greeting-content {
    gap: 1.5rem
}

.greeting-content,
.greeting-text {
    display: flex;
    flex-direction: column
}

.greeting-text {
    line-height: 1.625;
    color: #374151
}

.greeting-signature {
    padding-top: 1.5rem;
    text-align: right
}

.greeting-signature-text {
    color: #111827
}

.greeting-signature-name {
    margin-top: .25rem;
    color: #111827
}

.business-sessions {
    position: relative
}

.business-sessions:before {
    content: "";
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 80px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23f3efe8' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1)
}

.business-sessions:after {
    content: "";
    display: block;
    width: 100%;
    height: 80px
}

.timeline-container {
    position: relative
}

.timeline-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #c03;
    z-index: 10
}

.timeline-line-mobile {
    left: 1rem
}

@media only screen and (min-width:768px) {
    .timeline-line-mobile {
        display: none
    }
}

.timeline-line-desktop {
    display: none;
    left: 10rem
}

@media only screen and (min-width:768px) {
    .timeline-line-desktop {
        display: block
    }
}

.session-list {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

.session-item {
    position: relative
}

@media only screen and (min-width:768px) {
    .session-item {
        display: grid;
        grid-template-columns: 8rem 1fr;
        gap: 4rem
    }
}

.session-time {
    margin-bottom: .5rem;
    margin-left: 3rem;
    font-family: Outfit, var(--font-base);
    font-size: 2.4em;
    font-weight: 600;
    line-height: 1.1;
    color: #c03
}

@media only screen and (min-width:768px) {
    .session-time {
        margin-top: .6em;
        margin-left: 0;
        text-align: right
    }
}

.session-dot {
    position: absolute;
    top: .85rem;
    left: calc(1rem - 7px);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #c03;
    z-index: 20
}

@media only screen and (min-width:768px) {
    .session-dot {
        top: 2.4em;
        left: calc(10rem + .05em);
        width: 1em;
        height: 1em;
        transform: translateX(-50%)
    }
}

.session-card {
    margin-left: 3rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .1019607843)
}

@media only screen and (min-width:768px) {
    .session-card {
        margin-left: 0;
        padding: 2rem
    }
}

.section-white .session-card,
.session-card-mini {
    background-color: #f3efe8
}

.session-title {
    padding-bottom: 1em;
    margin-bottom: 0;
    line-height: 1.5;
    white-space: pre-line;
    color: #000;
    border-bottom: 1px solid #e5e7eb;
    font-size:24px;
}

.session-coffee-badge {
    margin-top: .75rem;
    padding: .25rem .75rem;
    font-size: .75rem;
    display: inline-block;
    color: #fff;
    background-color: #8b4513;
    border-radius: .25rem
}

.session-speaker-container {
    font-size: clamp(1rem, .955rem + .23vw, 1.125rem);
    display: flex;
    gap: 1em;
    padding-top: 1em
}

.session-speaker-avatar {
    flex-shrink: 0;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-color: #d0d0d0;
    overflow: hidden
}

.session-speaker-avatar img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%
}

.session-speaker-info {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.session-speaker-company {
    margin-bottom: 0
}

.session-speaker-position {
    font-size: .875em;
    color: #374151;
    margin-bottom: 0
}

.session-speaker-name {
    margin-top: .25rem;
    color: #000;
    margin-bottom: 0
}

.coming-soon {
    font-family: var(--font-heading);
    font-size: 2rem;
    margin-bottom: 0;
    color: #d0d0d0
}

.mini-sessions {
    margin-top: 80px;
    position: relative
}

.mini-sessions:before {
    content: "";
    z-index: 1;
    width: 100%;
    height: 80px;
    position: absolute;
    top: -80px;
    left: 0;
    background-color: #f3efe8;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%
}

.exhibition {
    position: relative
}

.exhibition:before {
    content: "";
    z-index: 1;
    width: 100%;
    height: 80px;
    position: absolute;
    top: -80px;
    left: 0;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23e6e6e6' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%
}

.exhibition:after {
    content: "";
    display: block;
    width: 100%;
    height: 80px
}

.exhibition-tabs {
    position: relative;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: .5rem;
    padding: .5rem .75rem;
    margin-bottom: 3rem;
    background-color: #fff;
    border-radius: 9999px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .06)
}

.exhibition-tab {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    padding: .9rem 1.75rem;
    border-radius: 9999px;
    border: 1px solid #d3c7b5;
    background-color: transparent;
    color: #40352a;
    font-size: .9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: color .25s ease, border-color .25s ease, transform .25s ease
}

.exhibition-tab span {
    position: relative;
    z-index: 3
}

.exhibition-tab.exhibition-tab-active {
    color: #fff;
    border-color: transparent
}

.exhibition-tab.exhibition-tab-inactive {
    color: #40352a
}

.exhibition-tab-active-bar {
    position: absolute;
    top: .5rem;
    left: .75rem;
    height: calc(100% - 1rem);
    border-radius: 9999px;
    background-color: #c03;
    z-index: 1;
    transform: translateX(0);
    width: 0;
    transition: transform .35s ease, width .35s ease
}

@media (max-width:767px) {
    .exhibition-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
        width: 100%;
        padding: .75rem .75rem .9rem;
        margin-bottom: 2rem;
        background-color: #fff;
        border-radius: 1em;
        box-shadow: 0 10px 40px rgba(0, 0, 0, .06)
    }

    .exhibition-tab-active-bar {
        display: none
    }

    .exhibition-tab {
        width: 100%;
        flex: 0 0 auto;
        text-align: center;
        padding: .8rem .6rem;
        border-radius: 1.75em;
        border: 1px solid #d3c7b5;
        background-color: #fff;
        color: #40352a;
        font-size: clamp(.625rem, 3.2vw, .875rem);
        line-height: 1.3;
        white-space: normal;
        line-height: 1.4;
        transform: none
    }

    .exhibition-tab.exhibition-tab-active {
        background-color: #c03;
        color: #fff;
        border-color: #c03
    }

    .exhibition-tab.exhibition-tab-inactive {
        background-color: #fff;
        color: #40352a
    }
}

.exhibition-panels {
    position: relative
}

.exhibition-panel {
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    position: absolute;
    inset: 0;
    transition: opacity .5s ease, transform .5s ease
}

.exhibition-panel-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative
}

.exhibition-category-title {
    margin-bottom: 1rem;
    color: #000
}

.exhibition-category-description {
    line-height: 1.8;
    color: #111827
}

.exhibition-grid {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid #e0e0e0;
    border-left: 1px solid #e0e0e0
}

@media only screen and (min-width:1024px) {
    .exhibition-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.exhibition-item {
    display: flex;
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0
}

@media only screen and (max-width:639px) {
    .exhibition-item {
        padding: 1.5em
    }
}

@media only screen and (min-width:640px) {
    .exhibition-item {
        padding: 2em
    }
}

.exhibition-image {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 19%;
    overflow: hidden
}

.exhibition-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media only screen and (max-width:639px) {
    .exhibition-image {
        width: 20vw;
        height: 20vw
    }
}

@media only screen and (min-width:640px) {
    .exhibition-image {
        width: 160px;
        height: 160px
    }
}

.exhibition-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding-left: 1.5em
}

.exhibition-title {
    margin-bottom: .5rem;
    font-size: 1.1rem;
    color: #000
}

.exhibition-description {
    margin-bottom: .75rem;
    font-size: .875rem;
    line-height: 1.6;
    color: #111827
}

.exhibition-panel .exhibition-category-description,
.exhibition-panel .exhibition-category-title,
.exhibition-panel .exhibition-grid {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .6s ease, transform .6s ease
}

.exhibition-panel-active .exhibition-category-title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .1s
}

.exhibition-panel-active .exhibition-category-description {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .25s
}

.exhibition-panel-active .exhibition-grid {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .4s
}

.testimonials {
    position: relative
}

.testimonials:before {
    content: "";
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 80px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23c03' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1)
}

.testimonials:after {
    content: "";
    display: block;
    width: 100%;
    height: 80px
}

.testimonials-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr
}

@media only screen and (min-width:768px) {
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media only screen and (min-width:1024px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.testimonial-wrapper {
    position: relative;
    display: flex
}

.testimonial-bubble {
    flex: 1;
    padding: 2rem;
    background: #fff;
    border-radius: 12px 12px 0;
    position: relative
}

@media only screen and (max-width:639px) {
    .testimonial-bubble {
        padding: 2em 1.5em
    }
}

@media only screen and (min-width:640px) {
    .testimonial-bubble {
        padding: 2em
    }
}

.testimonial-card:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1em;
    width: 1em;
    height: 1em;
    background-color: #fff;
    clip-path: polygon(100% 0, 100% 100%, 0 0)
}

.testimonial-header {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e5e7eb
}

.testimonial-info {
    flex: 1;
    min-width: 0
}

.testimonial-company {
    margin-bottom: .25rem;
    color: #111827
}

.testimonial-role {
    margin-bottom: 0;
    color: #374151
}

.testimonial-meta {
    margin-top: .25rem;
    margin-bottom: 0;
    color: #4b5563
}

.testimonial-avatar-container {
    flex-shrink: 0
}

.testimonial-avatar {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-color: #f3efe8;
    border: 1px solid;
    overflow: hidden
}

.testimonial-comment {
    line-height: 1.625;
    margin-bottom: 0;
    color: #374151
}

.topics {
    position: relative
}

.topics:before {
    z-index: 1;
    position: absolute;
    top: -80px;
    left: 0;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23f3efe8' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1)
}

.topics:after,
.topics:before {
    content: "";
    width: 100%;
    height: 80px
}

.topics:after {
    display: block
}

.topics-grid {
    display: grid;
    grid-template-columns: 1fr;
    border-left: 1px solid #e0e0e0
}

@media only screen and (min-width:1024px) {
    .topics-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.topics-item {
    display: flex;
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0
}

@media only screen and (max-width:639px) {
    .topics-item {
        padding: 1.5em
    }
}

@media only screen and (min-width:640px) {
    .topics-item {
        padding: 2em
    }
}

.topics-item:first-child {
    border-top: 1px solid #e0e0e0
}

@media only screen and (min-width:1024px) {
    .topics-item:nth-child(2) {
        border-top: 1px solid #e0e0e0
    }
}

.topics-image {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 19%;
    overflow: hidden
}

.topics-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media only screen and (max-width:639px) {
    .topics-image {
        width: 20vw;
        height: 20vw
    }
}

@media only screen and (min-width:640px) {
    .topics-image {
        width: 160px;
        height: 160px
    }
}

.topics-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding-left: 1.5em
}

.topics-title {
    margin-bottom: .5rem;
    font-size: 1.1rem;
    color: #000
}

.topics-description {
    margin-bottom: .75rem;
    font-size: .875rem;
    line-height: 1.6;
    color: #111827
}

.coming-soon-card {
    padding: 2em;
    background: #f3efe8;
    border-radius: .5em;
    font-size: 1.45em;
    text-align: center;
    color: #111827
}

.venue {
    position: relative
}

.venue:before {
    z-index: 1;
    position: absolute;
    top: -80px;
    left: 0;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 80L1200 0v80z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%
}

.venue:after,
.venue:before {
    content: "";
    width: 100%;
    height: 80px
}

.venue:after {
    display: block
}

.venue-grid {
    display: grid;
    align-items: flex-start;
    grid-template-columns: 1fr
}

@media only screen and (max-width:767px) {
    .venue-grid+.venue-grid {
        margin-top: 3em
    }
}

@media only screen and (min-width:768px) {
    .venue-grid {
        grid-template-columns: 200px 1fr;
        margin: 0
    }
}

.venue-label {
    display: flex;
    align-items: center;
    gap: .75rem
}

@media only screen and (max-width:767px) {
    .venue-label {
        margin-bottom: 1em
    }
}

@media only screen and (min-width:768px) {
    .venue-label {
        padding: 1.5rem 1.5rem 1.5rem 0
    }
}

.venue-label-text {
    font-size: 1.125rem;
    color: #111827;
    margin-bottom: 0
}

.venue-content {
    background: #fff
}

.venue-content p {
    margin-bottom: 0
}

@media only screen and (min-width:768px) {
    .venue-content {
        padding: 1.5rem 0 1.5rem 1.5rem
    }
}

.venue-title {
    margin-bottom: .5rem;
    font-size: 1.125rem;
    color: #111827
}

.venue-text {
    margin-bottom: .75rem;
    color: #374151
}

.venue-link {
    color: #c03;
    text-decoration: underline;
    transition: opacity .3s
}

.venue-link:hover {
    opacity: .7
}

.venue-map {
    width: 100%;
    height: 450px
}

.venue-map iframe {
    width: 90%;
    height: 100%;
    border: 0;
    display: block
}


.venue-transport {
    color: #374151
}

.venue-notice,
.venue-transport {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.venue-notice {
    font-weight: 700;
    color: #c03
}

.footer {
    background-color: #f3efe8;
    border-top: 1px solid #000;
    padding: 3rem 1.5rem
}

.footer-container {
    max-width: 64rem;
    margin: 0 auto
}

.footer-grid {
    display: grid;
    gap: 2rem;
    align-items: flex-end;
    grid-template-columns: 1fr
}

@media only screen and (min-width:768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}


.footer-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 0;
    list-style: none;
    font-size: .875rem;
    line-height: 1.2;
    color: #374151
}

.footer-list li {
    padding-left: 1.5em
}

.footer-copyright {
    font-size: .875rem;
    color: #4b5563;
    margin:0 0 1em 1.5em
}

@media only screen and (min-width:768px) {
    .footer-copyright {
        text-align: right
    }
}

/*# sourceMappingURL=style.css.map */