.page .layout-header {
    display: flex;
    flex-direction: column;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    background: linear-gradient(to bottom, #daedff 0%, #91b7e5 100%);
    box-shadow: 0 1px 5px #ddd;
}

.page .layout-wrap {
    padding: 12px;
}

.page .layout-side {
    display: block;
    flex: 0 0 200px;
}

.page .layout-main {
    margin-left: 12px;
    padding: 12px;
}
.block-site-navi {
    padding: 12px;
}

.block-site-navi .component-menu-navi {
    order: 1;
}

.block-site-navi .component-site-search {
    order: 2;
    justify-content: flex-end;
    margin-top: 6px;
}
.block-site-title {
    padding: 0;
    flex: 0 0 auto;
}
.block-latest .component-list-article {
    max-height: 18em;
}
.block-radiation {
    padding: 12px;
}
.component-field .field-title {
    flex: 0 0 10em;
}

.component-field .field-input {
    flex: 1 1 auto;
}
.component-field-button .component-button {
  flex: 0 0 auto;
}
.component-content-teaser {
	display: flex;
}

.component-content-teaser .teaser-catch {
	flex: 0 0 12em;
	height: auto;
}

.component-content-teaser .teaser-content {
	flex: 1 1 auto;
}
.component-deflist {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}

.component-deflist dt {
    flex: 0 0 8em;
    text-align: right;
    font-weight: bold;
    border-bottom: none;
    padding-right: 12px;
}

.component-deflist dd {
    flex: 1 1 auto;
    flex-basis: calc(100% - 8em - 10px);
    margin: 0;
}
.component-editor-content [data-float="left"],
.component-editor-content .float-l-pc {
    float: left;
    margin: 0 0.8em 0.8em 0;
}

.component-editor-content [data-float="right"],
.component-editor-content .float-r-pc {
    float: right;
    margin: 0 0 0.8em 0.8em;
}
.component-fieldset-horizontal > .set-fields {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}

.component-fieldset-horizontal > .set-fields > .component-field + .component-field {
  margin-left: 6px;
}
.component-fieldset-vertical > .set-fields > .component-field {
    display: flex;
    width: 100%;
    margin-bottom: 8px;
}

.component-fieldset-vertical > .set-fields > .component-field > .field-title {
    display: block;
    text-align: right;
    flex: 0 0 10em;
    border-right: solid 2px #65a6cf;
    padding-right: 12px;
}

.component-fieldset-vertical > .set-fields > .component-field > .field-title:empty {
    border-right-color: transparent;
}

.component-fieldset-vertical
    > .set-fields
    > .component-field
    > .field-title
    > .field-title-label:only-child {
    padding: 5px 0;
}

.component-fieldset-vertical > .set-fields > .component-field > .field-input {
    padding-left: 12px;
    padding-right: 0;
    flex: 1 1 1em;
}

.component-fieldset-vertical > .set-fields > .component-field > .field-title > .field-required {
    margin-left: 0;
}
.component-grid {
    display: table;
}

.component-grid .grid-head {
    display: table-header-group;
    font-weight: bold;
}

.component-grid .grid-body {
    display: table-row-group;
    flex: 1 1 auto;
}

.component-grid .grid-row {
    display: table-row;
}

.component-grid .grid-row + .grid-row {
    margin-top: 0;
}

.component-grid .grid-cell {
    display: table-cell;
}

.component-grid .grid-cell-label {
    display: none;
}
.component-list-article .list-item {
    flex-wrap: nowrap;
}
.component-menu-main .expander {
    color: #c0d0dd;
    border: solid 1px transparent;
    padding: 0.1em;
}
.component-menu-navi {
    /* flex-wrap: nowrap; */
    padding: 0;
}

.component-menu-navi .menu-item {
    flex: 0 0 auto;
    padding: 0;
}

.component-menu-navi .menu-item + .menu-item {
    margin-left: 8px;
}
.component-pager .pager-current,
.component-pager .pager-page {
	display: block;
}
.component-site-author br {
    display: none;
}
.component-site-search .component-form {
  display: flex;
}
.component-title-site {
    padding: 1em 0 0.95em 0;
}
.component-title-site .title-ja {
    display: block;
}
.component-title-site .title-ja-sub {
    font-size: 1em;
}
.component-title-site .title-ja-main {
    font-size: 1em;
}

.component-title-site .title-en {
    display: block;
    font-family: Palatino, Georgia, Times New Roman, serif;
    font-size: 0.9em;
    line-height: 1.1em;
}
.component-title-site .title-en-line + .title-en-line {
    display: block;
    line-height: 1.1em;
    text-indent: 5em;
}
