:root {
    --width-layout-side: 30%;
}
.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;
	max-width: 8em;
	text-align: right;
	padding-right: 12px;
	font-weight: bold;
	border-bottom: none;
}

.component-deflist dd {
	flex: 1 1 auto;
	flex-basis: calc(100% - 8em - 10px);
	max-width: calc(100% - 8em - 10px);
	margin: 0;
}
.component-editor-content [data-float="left"] {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}
.component-editor-content [data-float="right"] {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}
.component-editor-content [data-float="center"] {
    display: block;
    margin: 0.5em auto;
}
.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-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-list-pickup .list-item {
    margin: 0;
}
.component-menu-children {
    flex-direction: row;
    flex-wrap: wrap;
  }
  
  .component-menu-children .menu-item {
    flex: 0 0 48%;
  }

  .component-menu-children .menu-item + .menu-item{ 
    border-top: none;
  }.component-menu-info {
    flex-direction: row;
}

.component-menu-info .menu-item {
    width: auto;
    padding: 0;
    margin: 0 0 0 12px;
    border: none;
}

.component-menu-info:first-child .menu-item:first-child {
    margin: 0;
}
.component-menu-navi {
    flex-wrap: nowrap;
}

.component-menu-navi .menu-item {
    flex: 0 0 auto;
    padding: 0 12px;
    text-align: left;
}

.component-menu-navi .component-link {
    padding: 0;
}
.component-pager .pager-current,
.component-pager .pager-page {
	display: block;
}
.component-title-block {
    justify-content: flex-start;
}.component-title-block-pickup {
    justify-content: center;
}.component-title-block-relation {
    justify-content: center;
}.component-title-page {
    padding: 30px var(--padding-window-size) 30px 40px;
}
.component-title-site {
    font-size: 1em;
}

.component-title-site .component-image {
    margin-right: 10px;
    width: 70px;
}.block-site-author {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
}

.block-site-author .author-content .component-address-site {
  margin-top: 20px;
}

.block-site-author .author-map {
  margin: 0 0 20px 80px;
}
.block-site-info {
    display: flex;
    justify-content: flex-end;
}

.block-site-info .component-menu + .component-menu {
    display: none;
}
.block-site-navi {
    align-items: flex-end;
    width: auto;
}

.block-site-navi .navi-bottom {
    display: flex;
    padding: 0;
    margin: 0;
}

.block-site-navi .navi-top {
    display: flex;
    align-items: center;
    order: 0;
}

.block-site-navi .navi-bottom {
    display: flex;
    flex-direction: row;
    margin-top: 10px;
}

.block-site-navi .component-menu-navi {
    display: flex;
    margin-left: 18px;
    flex: 1 1 auto;
}

.block-site-navi .component-tool-search {
    margin: 0;
}

.block-site-navi .component-tool-fontsize {
    margin-right: 20px;
}
.block-site-title {
    flex: 0 0 300px;
    padding: 0;
}

.block-site-title .component-drawer {
    display: none;
}
.block-page-body {
    padding: 0;
}.block-page-children {
    padding: 0;
}.block-menu-side {
    padding: 0;
}.block-front-important {
    padding: 0;
}.block-front-topic {
    padding: 20px;
}.block-front-slideshow {
    height: 300px;
}
.page .layout-header {
    padding: 10px;
    flex-direction: row;
}

.page .layout-wrap {
    display: flex;
    padding: 12px;
}

.page .layout-wrap .layout-side {
    flex: 0 0 var(--width-layout-side);
    max-width: var(--width-layout-side-max);
    order: 1;
    margin-top: -100px;
}

.page .layout-wrap .layout-main {
    flex: 1 1 auto;
    order: 2;
    margin-left: 12px;
}
.page-default .layout-main_before {
    min-height: 200px;
}

.page-default .block-page-title {
    padding-left: calc(
        min(var(--width-layout-side), var(--width-layout-side-max)) +
            (12px + 12px)
    );
}
