:root {
    --color-brand: rgb(37, 42, 58);
    --color-group: rgb(93, 148, 206);
    --color-blue: rgb(45 116 190);
    --color-orange: #ffa310;
    --color-white: white;
    --color-red: red;
    --color-border: #ccc;
    --bgColor-modal: rgba(0, 0, 0, 0.8);
    --space: 1rem;
}



* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/*
 * -- BASE STYLES --
 * Most of these are inherited from Base, but I want to change a few.
 */
body {
    line-height: 1.7em;
    font-size: 14px;
    min-width: 1500px;
}
.dn{
    display: none;
}
.mt10{
    margin-top: 10px;
}
.mt15{
    margin-top: 15px;
}
.mt20{
    margin-top: 20px;
}
.mt30{
    margin-top: 30px;
}

.mb10 {
    margin-bottom: 10px;
}
.mb15 {
    margin-bottom: 15px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}

.ml10 {
    margin-left: 10px;
}
.ml15 {
    margin-left: 15px;
}
.ml20 {
    margin-left: 20px;
}
.ml30 {
    margin-left: 30px;
}



.ta-left {
    text-align: left;
}

.ta-right {
    text-align: right;
}

.ta-center {
    text-align: center;
}

.error {
    color: var(--color-red);
}

.p-message {
    padding: 10px 20px;
    margin-bottom: 10px;
    border-radius: 5px;
    font-weight: bold;
}
.p-message.success {
    background: var(--color-blue);
    color: var(--color-brand);
}
.p-message.error {
    background: var(--color-red);
    color: var(--color-brand);
}


.pure-img-responsive {
    max-width: 100%;
    height: auto;
}

.pure-form-message.error {
    color: var(--color-red);
}
.side-menu {
    position:fixed;
    top: 0;
    bottom: 0;
    width: 20%;
    background: var(--color-brand);
    color: var(--color-white);
    min-width: 300px;
}

.header {
    text-align: center;
    top: auto;
    margin: 3em auto;
}
.header .brand-logo {
    line-height: 1.2em;
    margin: 10px auto;
}

#menu{
    text-align: left;
    margin: 2em 0 2em 2em;
}

#menu .pure-menu-heading {
    font-weight: bold;
    border-bottom: none;
    font-size: 110%;
    color: var(--color-group);
}

#menu .pure-menu-item {
    margin-left: 1em;
}

#menu .pure-menu-selected {
    background: rgb(55, 60, 90);
}

#menu .pure-menu-link:hover,
#menu .pure-menu-link:focus {
    background: rgb(55, 60, 90);
    margin-left: 0;
}
#menu .pure-menu-link {
    color: var(--color-white);
    margin-left: 0.5em;
}

.content {
    margin-left: calc(20% + 3em);
    padding: 2em 0;
    color: #333;
}

.content .pure-g > div {
    box-sizing: border-box;
}

.content h2 {
}
#layout {
    padding: 0;
}
.pure-button.control-button {
    padding: 0.5em 1em;
}

.venue-box {
    margin-left: 1em;
}

.content-separator {
    margin: 0.5em 0;
}

#works-list {
}

/*
 * -- PURE BUTTON STYLES --
 * I want my pure-button elements to look a little different
 */
.pure-button {
    background-color: var(--color-blue);
    color: var(--color-white);
    padding: 0.5em 2em;
    border-radius: 5px;
}

a.pure-button-primary {
    background: var(--color-white);
    color: var(--color-blue);
    border-radius: 5px;
    font-size: 120%;
}

.pure-button-warning {
    background-color: var(--color-red);
    color: var(--color-white);
    padding: 0.5em 2em;
    border-radius: 5px;
}

.pure-button-new {
    background-color: var(--color-orange);
    color: var(--color-white);
    padding: 0.5em 2em;
    border-radius: 5px;
}

/*
 * pager
 */

.pager .pagination {
    text-align: center;
    margin: 60px 0 0;
    padding: 0;
}

.pager .pagination li {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 2px;
    padding: 0;
    text-align: center;
}

.pager .pagination li a {
    position: absolute;
    top: 0;
    left: 0;
    display: table;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    border: 1px solid var(--color-blue);
    text-decoration: none;
}

.pager .pagination li a span {
    display: table-cell;
    vertical-align: middle;
    color: var(--color-blue);
}

.pager .pagination li a:hover,
.pager .pagination li a.active span {
    color: var(--color-white);
    background: var(--color-blue);
}

.pager .pagination li a:hover span {
    color: var(--color-white);
}

.remove-button {
    background: var(--color-red);
}

.display-none {
    display: none;
}

nav{
    margin-bottom:20px;
}
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0 10px;
}

.breadcrumb li:not(:last-of-type)::after {
    content: "›";
    margin: 0 .6em; /* 記号の左右の余白 */
    color: #777; /* 記号の色 */
}

.modal-frame {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* ここで背景色を指定 */
    padding: 20px;
    display: none;
    justify-content: center;
    align-items: center;
}


.info-size {
    font-size: 12px;
}
.chat-tab {
    margin-left: 10px;
}
.chat-tab .pure-menu-item {
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 5px 5px 0 0;
}
.chat-tab .pure-menu-selected {
    background: #eee;
}

.require {
    color: var(--color-red);
}

.pure-form select {
    height: 2.5em !important;
}

.pure-form input {
    height: 2.5em !important;
}

img {
    image-orientation: none;
}

.logo-badge{
    width: 120px; height: 120px;                /* 正方形 */
    border-radius: 24px;                         /* 角丸 or 50%で円 */
    background: radial-gradient(circle at 50% 40%, #ffffffcc, #ffffff00);
    box-shadow: 0 4px 16px rgba(0,0,0,.04);
    border: 1px solid #e9ecef;                   /* or none */
    display: grid; place-items: center;
}
.logo-badge img{
    width: 72%; height: 72%; object-fit: contain;
}

/* Flowlight public site shared tokens (used by index.css) */
:root {
    --fl-bg: #071526;
    --fl-text: #ecf6ff;
    --fl-subtext: rgba(226, 241, 255, 0.84);
    --fl-accent: #ffbc45;
}
