* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Lucida Grande", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
        "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
    word-break: break-word;
    word-wrap: break-word;
    overflow-wrap: break-word;
    position: relative;
    color: #333;
}

a {
    color: #1f5466;
    text-decoration: none;
}

a:hover {
    color: #ec9700;
    text-decoration: underline;
}
a[data-broken] {
    cursor: not-allowed;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin: 0;
    white-space: normal;
}

th,
td {
    padding: 4px 6px;
    vertical-align: middle;
}

th,
thead td {
    vertical-align: middle;
    text-align: center;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

em,
i {
    font-family: "Lucida Grande", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
        Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    clear: both;
    background: transparent;
    margin: 0;
}

h1 {
    font-size: 1.4em;
}

h2 {
    font-size: 1.2em;
}

h3 {
    font-size: 1.1em;
}

h4,
h5,
h6 {
    font-size: 1em;
}

small {
    font-size: 0.68em;
}

p {
    margin: 0 0 0.8em;
}

sub {
    font-size: 0.78em;
    line-height: 1em;
    vertical-align: sub;
}

sup {
    font-size: 0.78em;
    line-height: 1em;
    vertical-align: super;
}

button {
    color: inherit;
}

img {
    height: auto;
    max-height: 100%;
    max-width: 100%;
    vertical-align: middle;
    image-rendering: -webkit-optimize-contrast;
}

@keyframes loading {
    to {
    }

    from {
        transform: rotate(360deg);
        transform-origin: 50% 50%;
    }
}

.loading {
    position: relative;
    opacity: 0.4;
}

.loading:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 28px;
    height: 28px;
    border: 5px solid rgba(44, 103, 142, 0.8);
    border-right: 5px solid transparent;
    border-radius: 50%;
    animation: loading 1s linear infinite;
    z-index: 1000;
}

.locked {
    position: relative;
}

.locked:before {
    content: "";
    display: block;
    background: transparent;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
    left: 0;
    top: 0;
}

.icon {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
}
.block:empty {
  display: none;
}
.block-messages {
    display: none;
    position: fixed;
    top: 36px;
    right: 12px;
    min-width: 320px;
    background: #393938e6;
    padding: 12px;
    border-radius: 4px;
    z-index: 10;
    opacity: 0;
    transition: opacity 500ms ease-out;
}

.block-messages:empty {
    display: none;
}

.block-messages.show {
    display: block;
    opacity: 1;
}

.block-messages .component-message {
    margin: 0;
}

.block-messages .component-message + .component-message {
    margin-top: 12px;
}
body:has(:modal) {
    overflow: hidden;
}
html {
    font-size: 100%;
}
body {
    background: rgb(244, 249, 255);
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
}

a:link,
a:visited {
    color: #2557ba;
    text-decoration: underline;
}
a:visited {
    color: #2b6991;
    text-decoration: none;
}
a:hover {
    color: #567dca;
    text-decoration: none;
}

.page .layout-header {
    display: contents;
}

.page .layout-wrap {
    display: flex;
}

.page .layout-side {
    display: none;
    flex-direction: column;
    padding: 12px;
    order: 1;
    background: #fff;
    box-shadow: 1px 1px 5px #ddd;
    flex: 1 1 auto;
}

.page .layout-main {
    display: flex;
    flex-direction: column;
    padding: 12px;
    flex: 1 1 50%;
    order: 2;
    background: #fff;
    box-shadow: 1px 1px 5px #ddd;
}

.page .component-drawer {
    display: none;
}

@media (max-width: 750px) {
    .page .block-site-title {
        position: sticky;
        top: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #daedff 0%, #91b7e5 100%);
        box-shadow: 0 1px 5px #ddd;
    }

    .page .component-drawer {
        display: flex;
    }

    .page .block-site-navi {
        display: none;
    }

    .menu-open .page .layout-side,
    .menu-open .page .block-site-navi {
        display: flex;
    }

    .menu-open .page .layout-main,
    .menu-open .page .layout-footer,
    .menu-open .page .block-menu-main > .component-title {
        display: none;
    }
}
.block-page-body {
    padding-bottom: 36px;
}.block-password {
  display: flex;
  flex-direction: column;
  /* flex-wrap: wrap; */
  gap: 10px;
}

.block-password .component-message {
  flex: 1 0 auto;
}
.block-handle {
	position: fixed;
	left: 12px;
	bottom: 12px;
	z-index: 100;
}
.block-banner-bottom {
    padding: 12px;
}
.block-site-author {
    display: flex;
    flex-direction: column;
}

.block-site-author .component-link-scroller {
    background: #536ad6;
    border-radius: 5px 5px 0 0;
    box-shadow: 0 -3px 3px #ddd;
    color: #fff;
    padding: 0.5em;
    text-align: center;
    text-decoration: none;
    width: 10em;
    align-self: flex-end;
}

.block-site-author .wrapper {
    background: linear-gradient(to bottom, #536ad6 0%, #263c8d 100%);
    color: #fff;
}
.block-site-navi {
    display: flex;
    flex-direction: column;
    padding-top: 18px;
}

.block-site-navi .component-menu-navi {
    order: 2;
}

.block-site-navi .component-site-search {
    order: 1;
    display: flex;
    justify-content: center;
}
.block-site-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1 1 auto;
    padding: 0 12px;
}

.block-site-title .component-title-site {
    display: flex;
}

.block-site-title .component-image-logo {
    width: 60px;
}
.block-banner-main {
    margin: 12px 0;
}
.block-menu-main .component-title-block {
    margin: 0;
    font-size: 1.25em;
}
.page-content .layout-main {
    padding: 12px;
}
.block-page-children {
    border: 1px solid #b1d8ef;
}

.block-page-children .component-title-section-page-children {
    background: #eff7fc;
    border-bottom: 1px solid #b1d8ef;
    color: #6a6a6a;
    font-size: 1.2em;
    margin: 0;
    padding: 0.2em 0.5em;
}
.block-latest {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    margin-top: 20px;
    margin-bottom: 0;
}

.block-latest > .component-message {
    margin-top: 12px;
}
.block-radiation {
    background: #f8f8f8;
    margin-bottom: 20px;
}

.block-radiation img {
    max-width: 100%;
}

.block-radiation p:last-child {
    margin: 0;
}
.block-word-content {
    margin-top: 24px;
}

.block-word-content dt {
    font-weight: bold;
    font-size: 1.3em;
    border-bottom: dotted 1px #ddd;
    margin: 0 0 0.5em 0;
}
.block-word-index {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.block-word-index a {
    text-decoration: none;
}

.block-word-index .word-index-head {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 10px 5px;
    margin: 0;
}

.block-word-index .word-index-head-item {
    margin: 10px 0 0 0;
}

.block-word-index .word-index-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1em 0;
}

.block-word-index .word-index-series {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0.2em;
}

.block-word-index .word-index-body-item {
    display: block;
    margin: 0;
    padding: 0.2em;
}

.block-word-index .word-index-body-item a {
    display: block;
}
.component-form-submit .message-flash {
	margin: 0 0 12px 0;
}

.component-form-submit .message-flash:empty {
	display: none;
}
.component-field .field-title {
  font-weight: bold;
}

.component-field .fields {
  display: flex;
}

.component-field .description {
  font-size: 0.82em;
  padding: 0.5em 0.2em;
  letter-spacing: 0.01em;
  line-height: 1.3;
}

.component-field .field-required {
  font-size: 0.8em;
  font-weight: normal;
  color: #d51d39;
  line-height: 1;
}

.component-field .fields .component-input-text:only-child {
  flex: 1 1 1em;
}

.component-field.field-hidden {
  display: none !important;
}
.component-field-button .component-button {
  flex: 1 1 auto;
}
.component-button {
    appearance: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 6em;
    min-height: 2em;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    backface-visibility: hidden;

    font: inherit;
    line-height: 1.3;
    padding: 0.2em 0.4em;
    border: solid 1px #d9d9d9;
    background: transparent;
    transition: box-shadow 0.45s, border-color 0.45s, opacity 0.2s ease-in-out;
}

.component-button:focus,
.component-button:active,
.component-button:hover {
    color: inherit;
    text-decoration: none;
    outline: none;
    border-color: #999999;
    box-shadow: 0 0 5px #999999;
    opacity: 0.7;
}

.component-button.active {
    opacity: 0.6;
    cursor: default;
}

.component-button[disabled],
.component-button.disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.component-button .icon-head {
    margin-right: 6px;
}

.component-button .icon-tail {
    margin-left: 6px;
}
.component-button-default {
    background: #fcfcfc;
    border-color: #ccc;
    color: #666;
}

.component-button-default:focus,
.component-button-default:active,
.component-button-default:hover {
    color: #666;
}
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    height: 2em;
    margin: 0;
    padding: 0.4em;
    font: inherit;
    line-height: 1.3;
    border: solid 1px #d9d9d9;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    background: transparent;
    transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
    outline: none;
    color: inherit;
}

input[type="file"] {
    font: inherit;
}

input[type="text"]:focus:not(:read-only),
input[type="text"]:hover:not(:read-only),
input[type="search"]:focus:not(:read-only),
input[type="search"]:hover:not(:read-only),
input[type="tel"]:focus:not(:read-only),
input[type="tel"]:hover:not(:read-only),
input[type="url"]:focus:not(:read-only),
input[type="url"]:hover:not(:read-only),
input[type="email"]:focus:not(:read-only),
input[type="email"]:hover:not(:read-only),
input[type="password"]:focus:not(:read-only),
input[type="password"]:hover:not(:read-only),
input[type="datetime"]:focus:not(:read-only),
input[type="datetime"]:hover:not(:read-only),
input[type="date"]:focus:not(:read-only),
input[type="date"]:hover:not(:read-only),
input[type="month"]:focus:not(:read-only),
input[type="month"]:hover:not(:read-only),
input[type="week"]:focus:not(:read-only),
input[type="week"]:hover:not(:read-only),
input[type="time"]:focus:not(:read-only),
input[type="time"]:hover:not(:read-only),
input[type="datetime-local"]:focus:not(:read-only),
input[type="datetime-local"]:hover:not(:read-only),
input[type="number"]:focus:not(:read-only),
input[type="number"]:hover:not(:read-only) {
    border-color: #999999;
    box-shadow: 0 0 5px #999999;
}

input[disabled] {
    background-color: #dddddd;
}

input {
    letter-spacing: 0.08em;
}

input[type="radio"],
input[type="checkbox"] {
    vertical-align: middle;
    width: auto;
    margin-right: 4px;
}

input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
}

fieldset {
    border-radius: 5px;
    border: 1px solid #d9d9d9;
    padding: 0.6em 0.8em 1.2em 0.8em;
}

legend {
    margin: 0;
    padding: 0 0.5em;
}

.error-field {
    background: #fee;
}
.component-button-forward {
    background: #2b6991;
    color: #fff;
    cursor: pointer;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2), -1px 1px 0 rgba(0, 0, 0, 0.2);
    border-color: #c4c4c4;
    box-shadow: inset -1px -1px 3px rgba(0, 41, 54, 0.4);
}

.component-button-forward:focus,
.component-button-forward:active,
.component-button-forward:hover {
    color: #fff;
}
ul,
ol {
	margin-left: 1.1em;
	list-style-position: outside;
	padding: 0;
}

ul {
	list-style: disc;
}
ul li {
	margin-left: 1.4em;
}
ol {
	list-style: decimal;
}
ol li {
	margin-left: 2.32em;
	text-indent: -0.34em;
}
.component-banners {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 280px));
    column-gap: 12px;
    row-gap: 12px;
    align-content: center;
    justify-content: center;
    margin: 0;
}

.component-banners .banner-item {
    display: block;
    margin: 0;
}

.component-banners .component-link {
    display: block;
}

.component-banners .component-image {
    display: block;
}
.component-link-page.unlink {
    color: inherit;
}

.component-link-page.unlink:hover {
    text-decoration: none;
}
.component-banners-bottom {
    padding: 0;
    margin: 20px 0 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 140px));
    column-gap: 8px;
    row-gap: 8px;
    justify-content: center;
}

.component-banners-bottom img {
    height: 40px;
    width: 140px;
    max-height: 40px;
    max-width: 140px;
}
.component-banners-main {
    grid-template-columns: repeat(auto-fit, minmax(80px, 140px));
    column-gap: 8px;
    row-gap: 8px;
}

.component-banners-main img {
    width: 100%;
    max-width: 140px;
    aspect-ratio: 16 / 4.5;
}
.component-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 100%;
    overflow: hidden;
    font-size: 0.9em;
    background: #fcfcfc;
    border: solid 1px #dfdfdf;
    padding: 6px;
}

.component-breadcrumb .breadcrumb-item {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.component-breadcrumb .breadcrumb-item + .breadcrumb-item:before {
    content: ">";
    margin: 0 12px;
}

.component-breadcrumb .breadcrumb-item-self {
    text-overflow: ellipsis;
    overflow: hidden;
    flex: 1 1 auto;
    display: inline;
}
.component-breadcrumb {
    background: white;
    border: none;
    padding: 0;
}
.component-button-danger {
    background: #993737;
    color: #fff;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2), -1px 1px 0 rgba(0, 0, 0, 0.2);
}

.component-button-danger:focus,
.component-button-danger:active,
.component-button-danger:hover {
    color: #fff;
}
.component-card-teaser {
    display: flex;
    padding: 12px;
}

.component-card-teaser .teaser-body {
    margin-left: 12px;
}
.component-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}
.component-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    column-gap: 12px;
    row-gap: 12px;
}

.component-cards > .component-link {
    display: contents;
    text-decoration: none;
}

.component-cards > .component-link:hover {
    opacity: 0.7;
}
.component-carousel {
	overflow: hidden;
	display: flex;
}

.component-carousel .slide-prev,
.component-carousel .slide-next {
	position: absolute;
	top: 0;
	font-size: 2em;
	padding: 12px;
	display: flex;
	align-items: center;
	height: 100%;
	z-index: 10;
	cursor: pointer;
}

.component-carousel .slide-prev {
	left: 0;
}
.component-carousel .slide-next {
	right: 0;
}

.component-carousel .icon-chevron_circle_left,
.component-carousel .icon-chevron_circle_right {
	-webkit-filter: drop-shadow(1px 1px 3px #333);
	filter: drop-shadow(1px 1px 3px #333);
	stroke: #333;
	stroke-width: 10px;
	stroke-opacity: 0.6;
}

.component-carousel .icon-chevron_circle_left path,
.component-carousel .icon-chevron_circle_right path {
	fill: #fff;
	fill-opacity: 0.9;
}

.component-carousel .slide-main {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex: 1 1 auto;
}
em,
i {
	font-family: "Lucida Grande", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

del {
	text-decoration: line-through;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

p {
	margin: 0 0 0.8em;
}

sub {
	font-size: 0.78em;
	line-height: 1em;
	vertical-align: sub;
}

sup {
	font-size: 0.78em;
	line-height: 1em;
	vertical-align: super;
}
.component-content-siblings {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.component-content-siblings .page-prev,
.component-content-siblings .page-next {
  flex: 1 1 50%;
  max-width: 50%;
}
.component-content-siblings .page-list {
  flex: 0 0 auto;
  padding: 0 12px;
}

.component-content-siblings .component-link {
  display: flex;
  align-items: center;
}

.component-content-siblings .navi-icon {
  font-size: 1.5em;
  flex: 0 0 auto;
}

.component-content-siblings .navi-title {
  padding: 0 6px;
  flex: 1 1 auto;
  overflow: hidden;
  width: 1em;
}

.component-content-siblings .page-list .navi-title {
  width: auto;
}

.component-content-siblings .page-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.component-content-siblings .page-label {
  font-size: 0.8em;
}

.component-content-siblings .page-next .component-link {
  flex-direction: row-reverse;
}

.component-content-siblings .page-next .navi-title {
  text-align: right;
}
.component-content-teaser .teaser-catch {
    height: 180px;
}

.component-content-teaser .teaser-catch:empty {
    display: none;
}
.component-deflist {
  display: block;
  padding: 6px;
}

.component-deflist dt {
  font-weight: bold;
  border-bottom: dotted 1px #999;
}

.component-deflist dd {
  margin: 0 0 6px 0;
}
.component-drawer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 6px;
}

.component-drawer .drawer-icon {
    font-size: 2em;
    flex: 0 0 auto;
}

.component-drawer .drawer-icon-close {
    display: none;
}

.component-drawer .drawer-label {
    white-space: nowrap;
}

.menu-open .component-drawer .drawer-icon-close {
    display: block;
}

.menu-open .component-drawer .drawer-icon-open {
    display: none;
}
.component-drawer {
    border: solid 1px;
    padding: 2px 6px;
    color: #1f306e;
    background: rgba(255, 255, 255, 0.57);
    text-transform: uppercase;
}
.component-editor {
    width: 100%;
    position: relative;
}
.component-editor-content {
    position: relative;
    width: 100%;
}

.component-editor-content:after {
    content: "";
    clear: both;
    display: block;
    visibility: hidden;
    font-size: 1px;
}

.component-editor-content:empty {
    display: none;
}

.component-editor-content p {
    margin-bottom: 0.8em;
}

.component-editor-content figure {
    display: block;
    margin: 0 0 0.8em 0;
    padding: 0;
    border: solid 1px #e9e9e9;
    max-width: 100%;
    min-width: 120px;
}

.component-editor-content figcaption {
    text-align: center;
    padding: 5px;
}

.component-editor-content figure p {
    margin: 0;
}

.component-editor-content figure br {
    display: none;
}

.component-editor-content figure img,
.component-editor-content figure a {
    display: block;
}

.component-editor-content .caption-title,
.component-editor-content .caption-body {
    display: block;
}

.component-editor-content .caption-body {
    font-size: 0.9em;
    line-height: 1.3;
}

.component-editor-content img,
.component-editor-content iframe,
.component-editor-content table {
    max-width: 100%;
}
.component-editor-content img {
    height: auto !important;
}

.component-editor-content h2,
.component-editor-content h3,
.component-editor-content h4 {
    clear: both;
}

.component-editor-content h2 {
    border-left: solid 6px #ddd;
    padding-left: 6px;
    clear: both;
}

.component-editor-content h3 {
    border-bottom: solid 1px #ddd;
    clear: both;
}

.component-editor-content h4 {
    border-bottom: dotted 1px #ddd;
    clear: both;
}

.component-editor-content ul,
.component-editor-content ol {
    margin: 0;
}

.component-editor-content > ul,
.component-editor-content > ol {
    margin: 0 0 0.8em 0;
}

.component-editor-content li {
    margin-left: 1.6em;
    text-indent: 0;
}
.component-editor-content li + li,
.component-editor-content ul ul li:first-child, 
.component-editor-content ol ol li:first-child {
    margin-top: 0.3em;
}

.component-editor-content li > p {
    margin-bottom: 0;
}

.component-editor-content table {
    border-collapse: collapse;
    border: solid 1px #ddd;
    margin-bottom: 0.8em;
}

.component-editor-content td,
.component-editor-content th {
    border: solid 1px #ddd;
}

.component-editor-content iframe {
    width: 480px;
    aspect-ratio: 16/9;
}

.component-editor-content hr {
    clear: both;
    margin: 1em auto;
    border: none;
    border-top: 1px solid #aaa;
}

.component-editor-content p:empty {
    pointer-events: none;
    height: 1.5em;
}

.component-editor-content [data-indent="1"] {
    margin-left: 1.5em;
}

.component-editor-content [data-indent="2"] {
    margin-left: 3em;
}

.component-editor-content [data-indent="3"] {
    margin-left: 4.5em;
}

.component-editor-content [data-fontsize="-2"] {
    font-size: 0.75em;
}

.component-editor-content [data-fontsize="-1"] {
    font-size: 0.9em;
}

.component-editor-content [data-fontsize="1"] {
    font-size: 1.1em;
}

.component-editor-content [data-fontsize="2"] {
    font-size: 1.3em;
}

.component-editor-content [data-fontsize="3"] {
    font-size: 1.6em;
}

.component-editor-content [data-float="center"],
.component-editor-content .float-c-pc {
    display: block;
    margin: 0 auto 0.8em auto;
}

.component-editor-content .text-center {
    text-align: center;
}

.component-editor-content .text-right {
    text-align: right;
}

.component-editor-content .text-justify {
    text-align: justify;
}

.component-editor-content .imgbox::before,
.component-editor-content .imgbox::after {
    display: block;
    content: "";
    clear: both;
}

.component-editor-content .imgbox-item {
    float: left;
    text-align: center;
    margin-bottom: 5px;
}

.component-editor-content .imgbox-item {
    margin-right: 5px;
}

.component-editor-content .imgbox-item_img {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.component-editor-content .imgbox-item_img img {
    flex: 0 1 auto;
    margin: 5px 3px;
}

.component-editor-content .imgbox-item_img::after {
    display: block;
    content: "";
    clear: both;
}

.component-editor-content .imgbox-item_caption {
    line-height: 1.2;
    margin-bottom: 5px;
    padding: 0 3px;
    font-size: 0.88em;
}

.component-editor-content .imgbox-center {
    display: flex;
    justify-content: center;
}

.component-editor-content .bordered {
    border: solid 1px #ddd;
    background: #e9e9e9;
    padding: 12px;
}

.component-editor-content .alert {
    color: #dc4338;
}
.editor-content {
    padding: 10px;
}
.editor-content h2 {
    background: #eaf3fc; /* Old browsers */
    background: linear-gradient(
        to bottom,
        #eaf3fc 0%,
        #c7def9 52%,
        #b6d2f5 100%
    ); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eaf3fc', endColorstr='#b6d2f5',GradientType=0 ); /* IE6-9 */
    border: 1px solid #ccc;
    border-radius: 2px;
    color: #454f6c;
    font-size: 1.6em;
    line-height: 1.3;
    margin: 40px -10px 20px;
    padding: 0.5em 0.5em 0.35em;
    position: relative;
}
.editor-content h2:first-child {
    margin-top: 0;
}
.editor-content h3 {
    background: #f1f1f1;
    border: 1px solid #ccc;
    box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
    color: #444;
    font-size: 1.3em;
    line-height: 1.3;
    margin: 0.8em -10px;
    padding: 0.4em 0.8em 0.4em 32px;
    position: relative;
}
.editor-content h3:before {
    border-left: 10px double #7783b7;
    content: "";
    display: block;
    height: 84%;
    left: 10px;
    position: absolute;
    top: 8%;
}
.editor-content h4 {
    border-bottom: 3px solid #c1d2ee;
    box-shadow: 0 1px 0 #7b8eb0;
    font-size: 1.2em;
    margin: 0.8em -10px;
    padding: 0.2em;
}
.editor-content h5 {
    border-bottom: 1px dotted #aaa;
    font-size: 1.05em;
    margin: 0.8em -10px;
    padding: 0.1em 0.5em;
}
.editor-content h5:before {
    background: #7588dc;
    content: "";
    display: inline-block;
    height: 0.7em;
    left: -0.5em;
    position: relative;
    top: 0;
    width: 0.7em;
}

.editor-content ol li {
    margin-left: 2.1em;
}

.editor-content hr {
    border-top: 2px dotted #ebebeb;
    clear: both;
    margin: 2em auto;
    width: 60%;
}
.editor-content table {
    border: 1px solid #ddd;
    margin: 0.8em 0;
}
.editor-content td,
.editor-content th {
    border: 1px solid #a7bbcd;
    padding: 0.4em 0.6em;
}
.editor-content thead td,
.editor-content th {
    background: #b2d8f8;
    color: #444;
    font-weight: bold;
    text-align: center;
}
.editor-content table tr.even,
.editor-content table tbody tr:nth-child(even) {
    background: #f9f9f9;
}
.editor-content h2:first-child,
.editor-content h3:first-child,
.editor-content h4:first-child,
.editor-content h5:first-child,
.editor-content h6:first-child,
.editor-content table:first-child {
    margin-top: 0;
}
.editor-content table td > ul,
.editor-content table td > ol {
    margin: 0.5em 0 0.5em 1.1em;
}
.editor-content ul,
.editor-content ol {
    margin: 0 0 0.8em 1.1em;
}
.editor-content ol li {
    margin: 0 0 0 2.15em;
    text-indent: -0.3em;
}
.editor-content ul li {
    list-style: none;
    margin-left: 1.8em;
    padding: 0;
    position: relative;
    margin-top: 0.4em;
}

.editor-content ul li:before {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMEU2M0E3OTM4MjA2ODExOEIxNUY4MUNGNDYzNzg3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRTFDM0QyREJDRjcxMUU0QUExMURFRDFDN0IwNDQzRiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRTFDM0QyQ0JDRjcxMUU0QUExMURFRDFDN0IwNDQzRiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAyODAxMTc0MDcyMDY4MTE4MEQ3RURENkQ1QkJCNDUzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwRTYzQTc5MzgyMDY4MTE4QjE1RjgxQ0Y0NjM3ODczIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PlI3eAAAAZBJREFUeNpi/P//PwMImBdfYaAGYELmuIu/WGgr/v401Qz8zcAiefiloIk4H8NfT/Hnkyg2EAZefmJg2v5SMldV5M93f7GH/hQbCAO337BwbH2rsMFU/OvjYNF7ShQbCAJ//v5nOP2SW2bnZ+W7juJv91FsIAx8+fGfYf9LYUcpAYa/3mJPmyg2EAaefWBg2vpKulZT9PeXQJF7ThQbCAPXX7Nyb/2ovNdC/POdEOHbUhQbCAK/fv9nOPGSV3n3d7WnzuKvN1FsIAx8/Paf4dxXMR8fscflLJQaxsbKyGAk9OmuzJ8XdmteqT6jyEAt0V9f1P8/8V//UgmYnHjBYmQZCEw6/wzZnrYCY7vuGgNqeifJQB4ORgYT/jeHDrwUtn/GII1VDVEGMjMBw0n0yxO5fy/t175UuodPLUEDgQXEDy2mp+kbX8ovOs1AODvjNFCEl+G/CdfzmTteSmbeZpAnOlgwDORkB4aTwLszEn/e2K1+qfqd1AhDMZD3/9clXrwfK9e+VD7LwCBIVlICCDAAkuSKY/ORnFsAAAAASUVORK5CYII=")
        left center no-repeat;
    background-size: 10px;
    content: "";
    display: inline-block;
    height: 10px;
    left: -1.3em;
    margin: 0 5px 0 0;
    position: absolute;
    top: 0.4em;
    width: 10px;
}

.editor-content img[style*="height"],
.editor-content img[height] {
    height: auto !important;
}

.editor-content dl,
.editor-content dl dd {
    margin: 0;
}

@media screen and (max-width: 750px) {
    img[style*="float"] {
        float: none !important;
    }
    *[nowrap],
    nobr {
        white-space: normal;
    }
    table[style*="width"],
    tbody[style*="width"],
    thead[style*="width"],
    tr[style*="width"],
    th[style*="width"],
    td[style*="width"],
    table[width],
    tbody[width],
    thead[width],
    tr[width],
    th[width],
    td[width] {
        width: auto !important;
    }
}
.component-editor-edit .component-editor-content {
    border: solid 1px #ddd;
    min-height: 6em;
    padding: 12px;
}

.component-editor-edit .reserved {
    outline: 3px solid #1f78d8;
    box-shadow: 0 0 12px #1f78d8;
}

.redactor-toolbar {
    display: flex;
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    border: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    line-height: 1;
    transition: all 100ms;
}
.toolbar-fixed-box {
    z-index: 5;
}

.redactor-toolbar:after {
    content: "";
    display: table;
    clear: both;
}
.redactor-toolbar-button {
    position: relative;
}
.redactor-toolbar-button .re-button {
    padding: 6px;
    display: flex;
}

.redactor-dropdown {
    z-index: 10;
}

.redactor-placeholder:after {
    position: absolute;
    top: 20px;
    left: 20px;
    content: attr(placeholder);
    display: block;
    color: rgba(0, 0, 0, 0.3);
    font-weight: 400 !important;
}

.redactor-relative {
    position: relative;
}
.redactor-in {
    cursor: text;
}
.redactor-in:focus {
    outline: 0;
}
.redactor-in *:empty:after {
    content: ".";
    visibility: hidden;
}
.redactor-in table {
    empty-cells: show;
}

.re-button-tooltip {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    white-space: nowrap;
    z-index: 10;
    background: rgba(0, 0, 0, 0.9);
    border-radius: 2px;
    padding: 3px 8px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
}

.redactor-toolbar-button:hover .re-button-tooltip {
    display: block;
}

.redactor-toolbar .re-button {
    color: rgba(0, 0, 0, 0.8);
    box-sizing: border-box;
    display: block;
    text-align: center;
    padding: 12px 14px;
    cursor: pointer;
    outline: 0;
    border: none;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.redactor-toolbar .re-button:hover {
    outline: 0;
    background-color: #3d79f2;
    color: #fff;
}
.redactor-toolbar .re-button.redactor-act,
.redactor-toolbar .re-button:active {
    outline: 0;
    background-color: #eee;
    color: #444;
}
.redactor-toolbar .re-button.disabled {
    opacity: 0.3;
}
.redactor-toolbar .re-button.disabled:hover {
    color: #333;
    outline: 0;
    background-color: transparent !important;
    cursor: default;
}

.redactor-tooltip {
    position: fixed;
    border-radius: 3px;
    padding: 12px;
    line-height: 1;
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.95);
    color: #555 !important;
    z-index: 10;
    font-size: 0.9em;
}
.redactor-tooltip a {
    color: #ccc;
    margin: 0 8px;
    text-decoration: none;
}
.redactor-tooltip a:hover {
    color: #fff;
}

#redactor-image-box {
    position: fixed;
    left: 0;
    top: 0;
    display: block;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.4);
    z-index: 3;
    overscroll-behavior: auto;
}
#redactor-image-editter {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    margin: auto;
    background-color: rgba(0, 0, 0, 0.9);
    border-radius: 3px;
    color: #fff;
    padding: 12px;
    cursor: pointer;
    font-size: 0.9em;
    white-space: nowrap;
    overscroll-behavior: auto;
}
#redactor-image-editter a {
    display: inline-block;
}
#redactor-image-resizer {
    box-sizing: border-box;
    position: absolute;
    z-index: 4;
    cursor: nw-resize;
    bottom: -5px;
    right: -6px;
    border: 2px solid #000;
    background-color: rgba(255, 255, 255, 0.9);
    width: 10px;
    height: 10px;
    overscroll-behavior: auto;
}

.redactor-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    max-height: 254px;
    color: #000;
    margin: 0;
    padding: 0;
    font-size: 14px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    overflow: auto;
    list-style: none;
    display: none;
}
.dropact ~ .redactor-dropdown {
    display: block;
}
.redactor-dropdown .redactor-dropdown-link-inactive {
    background: 0 0;
}
.redactor-dropdown .redactor-dropdown-link-inactive a,
.redactor-dropdown .redactor-dropdown-link-inactive a:hover {
    background: 0 0;
    cursor: default;
    color: #000 !important;
    opacity: 0.4;
    background: 0 0;
}
.redactor-dropdown a {
    display: block;
    padding: 12px 10px;
    color: #000;
    text-decoration: none;
}
.redactor-dropdown a span {
    padding: 2px 4px 1px 4px;
    display: inline-block;
    border-radius: 3px;
    line-height: 1;
}
.redactor-dropdown a:focus {
    outline: 0;
}
.redactor-dropdown a.selected {
    background-color: #000;
    color: #fff;
}
.redactor-dropdown a.redactor-dropdown-link-selected {
    color: #fff;
    background: #000;
}
.redactor-dropdown-box-inline .redactor-dropdown-marked span {
    background-color: #ffd61e;
    color: #000;
    text-decoration: none;
}
.redactor-dropdown-box-inline .redactor-dropdown-code span {
    background: rgba(0, 0, 0, 0.05);
}
.redactor-dropdown-box-inline .redactor-dropdown-sample span {
    background: #46a9fc;
    color: rgba(255, 255, 255, 0.9);
}
.redactor-dropdown-box-inline .redactor-dropdown-variable span {
    color: rgba(0, 0, 0, 0.5);
}
.redactor-dropdown-box-inline .redactor-dropdown-shortcut span {
    background: #000;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}
.redactor-dropdown-box-inline .redactor-dropdown-cite span {
    color: rgba(0, 0, 0, 0.5);
    font-style: italic;
}
.redactor-dropdown-box-inline .redactor-dropdown-sub span,
.redactor-dropdown-box-inline .redactor-dropdown-sup span {
    font-size: 12px;
}

.component-editor-edit .image-editable img,
.component-editor-edit .image-editable figure {
    cursor: pointer;
}

.component-editor-edit .source {
    width: 100%;
    margin: 0;
    background: #1d1d1d;
    color: #ccc;
    font-size: 15px;
    outline: none;
    padding: 20px;
    line-height: 24px;
    font-family: Consolas, Menlo, Monaco, "Courier New", monospace;
}
.component-input-textarea {
    -webkit-appearance: none;
    display: inline-block;
    width: 100%;

    font: inherit;
    line-height: 1.3;
    padding: 0.2em 0.4em;
    border: solid 1px #d9d9d9;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    background: transparent;
    transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
}

.component-input-textarea:focus,
.component-input-textarea:hover {
    border-color: #999999;
    box-shadow: 0 0 5px #999999;
    outline: none;
}

.component-input-textarea[disabled] {
    background-color: #dddddd;
}
.component-editor-field {
    display: none;
}
.component-popup {
    display: none;
    min-width: 40%;
    background: #fff;
    padding: 0;
    border: none;
}

.component-popup::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

.component-popup[open] {
    display: flex;
    flex-direction: column;
}

.component-popup .popup-title {
    margin: 0.2em;
    flex: 1 1 auto;
    font-size: 1.2em;
    font-weight: bold;
}

.component-popup .popup-content {
    position: relative;
    padding: 8px;
    overflow: auto;
    flex: 1 1 auto;
    overscroll-behavior: none;
}

.component-popup iframe {
    border: none;
    height: 100%;
    width: 100%;
    padding: 8px;
    overscroll-behavior: none;
}

.component-popup .popup-header,
.component-popup .popup-footer {
    flex: 0 0 auto;
}

.component-popup .popup-header {
    display: flex;
    align-items: center;
    background: #263238;
    color: #fff;
    padding: 0.2em 0.6em;
}

.component-popup .popup-footer {
    display: flex;
    justify-content: center;
    align-items: stretch;
    border-top: dotted 1px #999;
    padding: 0.8em 0.4em;
}

.component-popup .popup-footer .component-button {
    margin: 0 6px;
    width: auto;
}

.component-popup .popup-footer:empty {
    display: none;
}

.component-popup .popup-close {
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    color: #fff;
    font-size: 1.4em;
    line-height: 1;
}
.component-popup-colors .popup-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.component-popup-colors .color-unit {
    display: flex;
}
.component-popup-colors .color-item {
    width: 1.8em;
    height: 1.8em;
    margin: 1px;
    border: solid 1px #fff;
    cursor: pointer;
}

.component-popup-colors .color-util {
    display: flex;
    justify-content: space-between;
    padding-top: 6px;
}

.component-popup-colors .color-item-none {
    border: solid 1px #ddd;
    width: auto;
    padding: 0 6px;
    text-align: center;
    flex: 1 1 auto;
}

.component-popup-colors .color-solid {
    display: flex;
}

.component-popup-colors .color-code {
    display: flex;
    align-items: center;
    padding-left: 24px;
}

.component-popup-colors .color-code-prefix {
    padding: 0 6px;
}

.component-popup-colors .color-code [name="color"] {
    width: 6em;
}

.component-popup-colors .color-item.selected {
    border-color: #273238;
}
.component-editor-popup-link-external {
    width: 580px;
}
.component-fieldset {
    padding: 0;
}

.component-fieldset .set-title {
    margin-bottom: 12px;
    padding: 0 6px;
}

.component-fieldset .fields > .component-input:only-child {
    flex: 0 1 auto;
}
.component-fieldset .fields > .component-input-text:only-child {
    flex-grow: 1;
}
.component-fieldset-stacked > .set-fields > .component-field {
  display: block;
  flex: 1 0 100%;
  padding: 0;
}

.component-fieldset-stacked > .set-fields > .component-field > .field-title {
  margin: 0 0 6px 0;
  padding: 0;
  border: none;
  text-align: left;
}

.component-fieldset-stacked > .set-fields > .component-field > .field-input {
  padding: 0;
}

.component-fieldset-stacked .component-field + .component-field {
  margin-top: 12px;
}

.component-fieldset-stacked > .set-fields > .component-field .component-input-text:only-child {
  flex: 1 1 1em;
  max-width: 100%;
}
.component-input-editor-video {
    min-height: 12em;
}.component-input-select {
    width: auto;
    height: 2em;
    max-width: 100%;
    vertical-align: middle;
    font: inherit;
    line-height: 1.2;
    padding: 0.2em 0.2em 0.2em 0.4em;
    border: solid 1px #d9d9d9;
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 10%);
    background: transparent;
    transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
}

.component-input-select:focus,
.component-input-select:hover {
    border-color: #999999;
    box-shadow: 0 0 5px #999999;
    outline: none;
}

.component-input-select option {
    font: inherit;
    line-height: 1.2;
}
.component-editor-field-embed-preview-image .preview-image {
	padding: 6px;
	background: #e9e9e9;
	width: 100%;
}

.component-editor-field-embed-preview-image .preview-image-object {
	display: none;
	max-width: 58%;
	max-height: 240px;
}

.component-editor-field-embed-preview-image .preview-image-empty {
	display: block;
	text-align: center;
	padding: 36px 0;
}

.component-editor-field-embed-preview-image.selected .preview-image-object {
	display: block;
}

.component-editor-field-embed-preview-image.selected .preview-image-empty {
	display: none;
}
.component-editor-field-embed-preview-image-embed .preview-image-text {
    display: none;
}

.component-editor-field-embed-preview-image-embed.selected .preview-image-text {
    display: block;
}

.component-editor-field-embed-preview-image-embed .preview-image-object[data-float="left"] {
    float: left;
    margin-right: 6px;
}
.component-editor-field-embed-preview-image-embed .preview-image-object[data-float="right"] {
    float: right;
    margin-left: 6px;
}
.component-editor-field-embed-preview-image-embed .preview-image-object[data-float="center"] {
    margin: 0 auto 6px auto;
    text-align: center;
    clear: both;
}
.component-editor-popup-picker-insert {
    width: 100%;
    height: 100%;
}

.component-editor-popup-picker-insert .popup-content {
    display: flex;
}

.component-editor-popup-picker-insert .picker-side {
    flex: 0 0 200px;
    border-right: dotted 1px #777;
    padding-right: 8px;
}

.component-editor-popup-picker-insert .picker-side:empty {
    display: none;
}

.component-editor-popup-picker-insert .picker-side .component-input-textarea {
    min-height: 5em;
}

.component-editor-popup-picker-insert .picker-main {
    position: relative;
    flex: 1 1 auto;
    padding-left: 8px;
}

.component-editor-popup-picker-insert iframe {
    padding: 0 0 0 8px;
}
.component-picker-frame {
	width: 100%;
	height: 100%;
	border: none;
}
.component-editor-popup-picker-insert-embed .component-editor-field-embed-floating,
.component-editor-popup-picker-insert-embed .component-editor-field-embed-alt {
  display: none;
}

.component-editor-popup-picker-insert-embed .selected .component-editor-field-embed-floating,
.component-editor-popup-picker-insert-embed .selected .component-editor-field-embed-alt {
  display: block;
}
.component-field-multiple .fields {
    display: flex;
    flex-direction: column;
}

.component-field-multiple .field-template {
    display: none;
}

.component-field-multiple .unit-add {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2a6991;
    font-weight: bold;
    border: solid 1px #65a6cf;
    padding: 4px 12px;
    cursor: pointer;
    align-self: flex-start;
    margin-top: 12px;
}

.component-field-multiple .icon-field-add {
    margin-right: 4px;
}
.component-field-multiple-unit {
    position: relative;
    border: solid 1px #65a6cf;
    padding: 0;
    margin: 0;
}

.component-field-multiple-unit + .component-field-multiple-unit {
    margin-top: 12px;
}

.component-field-multiple-unit .set-title {
    background: #65a6cf;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    width: 100%;
    margin: 0;
}

.component-field-multiple-unit .set-fields {
    padding: 12px;
}

.component-field-multiple-unit .unit-title-no {
    padding: 0 4px;
}

.component-field-multiple-unit .unit-remove {
    color: #993736;
    display: flex;
    align-items: center;
    background: #fff;
    padding: 2px 6px;
    font-size: 0.8em;
    cursor: pointer;
}

.component-field-multiple-unit .icon-field-del {
    margin-right: 4px;
}

.component-field-multiple-unit .field-title {
    border-bottom: none !important;
}
.component-fieldset-actions > .set-fields {
  text-align: center;
  padding: 12px 0 0 0;
}

.component-fieldset-actions .component-button + .component-button {
  margin-left: 24px;
}
.component-fieldset-vertical > .set-fields > .component-field > .field-title {
  display: flex;
  align-items: center;
}

.component-fieldset-vertical > .set-fields > .component-field > .field-title > .field-required {
  margin-left: 6px;
}

.component-fieldset-vertical .component-field + .component-field {
  margin-top: 12px;
}
.component-font {
    display: flex;
}

.component-font .fontsize-label {
    display: flex;
    align-items: center;
}

.component-font .sizes {
    display: flex;
    align-items: center;
}

.component-font li {
    cursor: pointer;
}

.component-font [data-size="s"] {
    font-size: 11px;
}

.component-font [data-size="m"] {
    font-size: 14px;
}

.component-font [data-size="l"] {
    font-size: 17px;
}
.component-form-search .component-field-submit-search .field-title {
  margin: 0;
}
.component-form-search .component-field-submit-search .field-title:before {
  display: none;
}
.component-grid {
    display: flex;
    flex-direction: column;
}

.component-grid .grid-head {
    display: none;
}

.component-grid .grid-body {
    display: flex;
    flex-direction: column;
}

.component-grid .grid-row {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.component-grid .grid-row + .grid-row {
    margin-top: 12px;
}

.component-grid .grid-cell {
    display: flex;
    align-items: center;
    flex: 1 1 10%;
    padding: 0.2em;
}

.component-grid .grid-head .grid-cell {
    justify-content: center;
    text-align: center;
}

.component-grid .grid-cell-label {
    font-weight: bold;
    border-bottom: dotted 1px #ddd;
    text-align: left;
}

.component-grid .grid-cell-label br {
    display: none;
}

.component-grid .grid-cell-value {
    flex: 1 1 1em;
}
.component-important {
    border: 2px solid #f74811;
    background: #ffc;
    padding: 0.6em 0.8em;
    font-size: 1.2em;
}

.component-important .icon-important {
    width: 1em;
    height: 1em;
    font-size: 1.4em;
    margin-right: 0.4em;
}

.component-important .important-header {
    display: flex;
    align-items: center;
    color: #f74812;
    margin: 0 0 0.6em;
}

.component-important .important-body {
    color: #c13104;
}
.component-input-checkbox {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.component-input-checkbox .check-input {
	order: -1;
}
.component-input-color {
  display: flex;
  align-items: center;
}

.component-input-color .component-input-color-preview {
  margin-right: 1em;
}
.component-input-color-preview {
    width: 3em;
    height: 1.6em;
    border: solid 1px #ddd;
}
div#component-datepicker-div {
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  padding: 15px 15px 0;
  display: none;
}
#component-datepicker-div {
  z-index: 10000 !important;
}
#component-datepicker-div:before {
  border: 6px solid rgba(0, 0, 0, 0);
  border-bottom-color: #fff;
  content: "";
  height: 1px;
  position: absolute;
  top: -12px;
  width: 1px;
}
#component-datepicker-div:after {
  border: 7px solid rgba(0, 0, 0, 0);
  border-bottom-color: #dadada;
  content: "";
  height: 1px;
  left: 14px;
  position: absolute;
  top: -15px;
  width: 1px;
  z-index: -1;
}
.component-datepicker-header {
  background: rgba(0, 0, 0, 0);
  height: 1.5em;
  position: relative;
  z-index: 0;
}
table.component-datepicker-calendar td {
  text-align: center;
}
table.component-datepicker-calendar td.component-datepicker-current-day {
  background: #ffff77;
}
.component-datepicker-header .component-datepicker-title {
  position: relative;
  text-align: center;
  top: -1.4em;
  z-index: -1;
}
.component-datepicker-header a.component-corner-all {
  color: #2b6991;
  cursor: pointer;
  font-size: 0.9em;
  vertical-align: bottom;
  display: inline-block;
}
.component-datepicker-header a.component-corner-all:hover {
  color: #ec9700;
}
a.component-datepicker-next {
  position: absolute;
  right: 0;
  top: 2px;
}
.component-input-radio .component-label {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.component-input-select-multiple {
	min-height: 10em;
}
.component-label {
	display: flex;
	align-items: center;
	margin: 0;
}
.component-latest .latest-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 6px;
    border-bottom: solid 4px #3672d3;
}

.component-latest .latest-title {
    display: flex;
    align-items: center;
    font-size: 1.2em;
    margin: 0;
    flex: 1 1 auto;
}

.component-latest .latest-title .icon-latest {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    margin-right: 0.4em;
    font-size: 1.2em;
    color: #1f5ab9;
}

.component-latest .icon-latest-archive {
    height: 10px;
    left: -3px;
    width: 10px;
}

.component-latest .component-link-archive,
.component-latest .component-link-archive:link,
.component-latest .component-link-archive:hover,
.component-latest .component-link-archive:visited {
    font-size: 0.9em;
    position: relative;
    display: block;
    background: #3672d3;
    color: #fff;
    padding: 6px 12px;
    text-decoration: none;
}
.component-link-archive .icon-latest-archive {
    margin-right: 5px;
}
.component-list-article {
    overflow-y: auto;
    padding: 10px 0;
    margin: 0;
}

.component-list-article .list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0px;
    margin: 0 0 5px 0;
}

.component-list-article .topic-date {
    margin: 0;
    flex: 0 0 9em;
    font-size: 0.9em;
}

.component-list-article .topic-category {
    font-weight: bold;
    background: #ffffff;
    border-radius: 3px;
    font-size: 0.85em;
    margin: -1px 10px 0 0;
    padding: 0.15em 0.25em;
    text-align: center;
    flex: 0 0 11em;
}

.component-list-article .article-new {
    display: inline-block;
    font-size: 0.8em;
    color: #fff;
    background: #cc355b;
    padding: 2px 4px;
    line-height: 1;
    margin-left: 6px;
    text-transform: uppercase;
    margin-top: 2px;
}

.component-list-article .component-link {
    margin-top: 0.2em;
}
.component-link-mode-admin {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3em;
	height: 3em;
	color: #fff !important;
	text-decoration: none !important;
	background: #000;
	border: solid 1px #777;
	border-radius: 50%;
	box-shadow: 2px 2px 2px #222;
	opacity: 0.7;
}

.component-link-mode-admin:hover {
	color: #fff !important;
	text-decoration: none !important;
	opacity: 1;
}

.component-link-mode-admin .icon-admin {
	transition: transform 300ms ease-in;
}

.component-link-mode-admin:hover .icon-admin {
	transform: scale(1.5);
}
a.component-link-front {
    text-decoration: none;
}
.component-link-front:hover {
    color: inherit;
}
.component-link-none {
	color: inherit !important;
	text-decoration: none !important;
	cursor: text !important;
}
.component-link-none:hover {
	color: inherit !important;
	text-decoration: none !important;
	cursor: text !important;
}
.component-link-page-year-nendo {
    background: #efefef;
    border: 1px solid #d3d3d3;
    border-radius: 3px;
    display: block;
    padding: 0.2em 0.45em 0.2em 0.8em;
    text-align: center;
    text-decoration: none;
}

.component-link-page-year-nendo.active {
    background: #b2d8f8;
    color: white;
}
.component-scroller {
    transition: all 0.6s;
    opacity: 0;
    cursor: default;
}

.component-scroller.visible {
    opacity: 1;
    cursor: pointer;
}
.component-link-scroller {
    display: flex;
    align-items: center;
    justify-content: center;
}

.component-link-scroller .icon {
    font-weight: bold;
    margin-right: 5px;
}
.component-link-word {
    text-decoration: none;
    background: #d9d9d9;
    padding: 0.5em 0.7em;
    border-radius: 5px;
}
.component-list-page-children {
    list-style: none;
    margin: 0;
    padding: 12px;
}

.component-list-page-children .list-item {
    margin: 0;
    padding: 3px 0;
    display: flex;
    align-items: center;
}

.component-list-page-children .icon-page-children {
    margin-right: 3px;
    color: #2557ba;
}
.component-list-topics {
    border-bottom: 1px solid #dfdfdf;
    box-shadow: 0 1px 0 #f8f8f8;
    padding: 10px;
}
.component-list-years .component-link {
    text-decoration: none;
}
.component-menu {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.component-menu li {
    display: block;
    padding: 0;
    margin: 0;
}

.component-menu .menu-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 1.2em;
    height: 1.2em;
    padding: 0.2em;
    font-size: 0.8em;
    border-radius: 100%;
    background-color: #b31c31;
    color: white;
    margin-left: 0.5em;
}
.component-menu,
.component-menu .menu-item {
	margin: 0;
	padding: 0;
	list-style: none;
}
.component-menu-horizontal {
    display: flex;
    width: 100%;
}

.component-menu-horizontal li {
    flex: 1 1 1%;
}
.component-menu-main {
    position: relative;
    margin: 0;
}

.component-menu-main .menu-item {
    position: relative;
}

.component-menu-main .menu-item-self {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.component-menu-main .component-link {
    display: flex;
    flex: 1 1 auto;
    text-decoration: none;
}

.component-menu-main .icon-menu-title {
    color: #e75075;
    margin-right: 0.3em;
    font-size: 1.2em;
    overflow: visible;
}

.component-menu-main .icon-menu-can-open {
    color: #c0d0dd;
    font-size: 1.2em;
    flex: 0 0 auto;
}

.component-menu-main .menu-children {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 300ms;
    margin: 0;
}

.component-menu-main .menu-item-depth-1 {
    border-bottom: 1px dashed #aaa;
    cursor: pointer;
    padding: 1em 5px 0.68em;
    position: relative;
}
.component-menu-main .menu-item-depth-1 > .menu-item-self > a {
    color: #333;
    font-size: 1.1em;
    font-weight: bold;
    vertical-align: top;
}

.component-menu-main.menu-item-depth-1 > ul {
    z-index: 10;
}

.component-menu-main .open > .menu-children,
.component-menu-main > .has-children > .active-item + ul,
.component-menu-main > .has-children > .active-trail-item + ul,
.component-menu-main > .has-children > .menu-active-trail + .menu-children {
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-top: 1em;
}

.component-menu-main .menu-item-depth-2 {
    background: #eff7fc;
    border: 1px solid #b1d8ef;
    border-top: none;
    position: relative;
}
.component-menu-main .menu-item-depth-2:first-child {
    border-top: 1px solid #b1d8ef;
}
.component-menu-main .menu-item-depth-2 > .menu-item-self > a {
    display: block;
    padding: 8px 12px;
    text-align: left;
    width: 100%;
}

.component-menu-main .menu-item-depth-2.open > ul {
    background: #f8f8f8;
    border: 1px solid #ddd;
    z-index: 100;
    margin: 6px;
}

.component-menu-main .open-right .menu-item-depth-2 > ul {
    left: 100%;
}
.component-menu-main .open-left .menu-item-depth-2 > ul {
    right: 100%;
}

.component-menu-main .menu-item-depth-3 {
    display: block;
    list-style: none;
    margin: 0;
    position: relative;
    padding: 6px 0 6px 6px;
}

.component-menu-main .menu-item-depth-3 + .menu-item-depth-3 {
    border-top: dotted 1px;
}

.component-menu-main .menu-item-depth-3 > ul {
    margin: 6px 0 0 12px;
}

.component-menu-main .menu-item-depth-3 .menu-item {
    padding: 6px;
    border-top: dotted 1px #aaa;
}

.component-menu-main .menu-item-depth-3 a:before {
    content: "▲";
    display: block;
    transform: rotate(90deg) scale(0.8, 0.7);
    margin-right: 0.1em;
    margin-top: 0.2em;
    width: 1em;
    height: 1em;
}

.component-menu-main .expander {
    display: none;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 1em;
    cursor: pointer;
}
.component-menu-main .menu-item-depth-2 .expander {
    margin-right: 0.6em;
}
.component-menu-main .has-children > .menu-item-self > .expander {
    display: flex;
}
.component-menu-main .has-children > .menu-item-self.open > .expander > .icon {
    transform: rotate(90deg);
}
.component-menu-navi {
    display: flex;
    flex-wrap: wrap;
    padding: 8px 10px 4px;
}

.component-menu-navi .menu-item {
    flex: 1 1 50%;
    margin: 0;
    padding: 6px;
}

.component-menu-navi .component-link {
    color: #333;
    font-size: 0.85em;
    font-weight: bold;
    text-decoration: none;
}

.component-menu-navi .icon {
    margin-right: 0.3em;
    font-size: 0.6em;
    color: #1f5ab9;
}
.component-message {
	padding: 0.6em;
	border: 1px solid #ddd;
	background-color: #f8f8f8;
	border-radius: 3px;
	color: #666;
	padding: 0.5em 1em;
	margin-bottom: 0;
}
.component-message-error {
  border-color: #a81e4c;
  background-color: #faeef2;
  color: #aa1345;
}
.component-message-info {
  border: 1px solid #7d966d;
  background-color: #f4ffed;
  color: #2a5d29;
}
.component-message-status {
  border-color: #a6cad6;
  background-color: #f3f7f9;
  color: #248aad;
}
.component-message-warning {
  border-color: #f2cd7b;
  background-color: #fff3da;
  color: #d29000;
}
.component-pager {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px 0;
}

.component-pager .pager {
  display: flex;
  justify-content: center;
  text-align: center;
  margin: 0;
  padding: 0;
  width: 100%;
}

.component-pager .pager-item {
  display: block;
  list-style-type: none;
  margin: 0;
  flex: 0 0 auto;
  min-width: 2em;
}

.component-pager .pager-first,
.component-pager .pager-prev,
.component-pager .pager-next,
.component-pager .pager-last {
  min-width: 5em;
}

.component-pager .pager-item + .pager-item {
  margin-left: 6px;
}

.component-pager .component-link {
  display: block;
  text-decoration: none;
  padding: 4px 6px;
}

.component-pager .pager-current {
  font-weight: bold;
}

.component-pager .pager-current,
.component-pager .pager-page {
  display: none;
}
.component-site-author {
    margin: 10px 0;
    text-align: center;
}

.component-site-author .author-title {
    font-size: 1.35em;
    letter-spacing: 0.08em;
    margin: 0;
    padding: 0.5em 0 0.1em;
    font-weight: bold;
}

.component-site-author .author-addr {
    font-weight: bold;
    margin: 0 0 .8em;
}.component-site-copyright {
    border-top: 1px solid #3f4ec2;
    box-shadow: 0 -1px 0 #232f97;
    font-size: 0.8em;
    padding: 10px 0;
    text-align: center;
}

.component-site-copyright p {
    margin: 0;
}
.component-form-search {
    display: flex;
}
.component-button-default-sitesearch {
    background: #dedede;
    cursor: pointer;
    line-height: 1.1;
    border: solid 1px #d9d9d9;
    display: inline-block;
    font-size: 0.95em;
    height: 2.1em;
    margin: 0;
    padding: 0.5em;
    color: black;
    min-width: auto;
}
input.component-input-search-keyword {
    background: white;
}
.component-sitemap {
    padding: 2em 0 0 2em;
}

.component-sitemap .icon-menu-sitemap {
    font-size: 1.2em;
    color: #2557ba;
    margin-right: 5px;
}

.component-sitemap .menu-item {
    padding: 5px 0;
}

.component-sitemap .menu-item-self {
    display: flex;
    align-items: center;
}

.component-sitemap .menu-children {
    margin-left: 40px;
}
.component-slider-rotate {
    width: 100%;
    text-align: left;
    position: relative;
}

.component-slider-rotate ul,
.component-slider-rotate ul li {
    float: left;
    display: inline;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.component-slider-rotate li img {
    width: 100%;
    height: 100%;
    display: block;
}

.component-slider-rotate .slider-view {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.component-slider-rotate .slider-base {
    top: 0;
    position: absolute;
}
.component-slider-rotate .slider-wrap {
    top: 0;
    position: absolute;
    overflow: hidden;
}
.component-slider-rotate .slider-prev,
.component-slider-rotate .slider-next {
    top: 0;
    position: absolute;
    z-index: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.4);
}
.component-slider-rotate .slider-prev {
    justify-content: flex-end;
}
.component-slider-rotate .slider-next {
    justify-content: flex-start;
}

.component-slider-rotate .slider-prev .icon,
.component-slider-rotate .slider-next .icon {
    color: #222;
}

.component-slider-rotate .slider-prev .icon {
    margin-right: -0.5em;
}

.component-slider-rotate .slider-next .icon {
    margin-left: -0.5em;
}

.component-slider-rotate .slider-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 12px;
}

.component-slider-rotate .slider-pager a {
    margin: 0 5px;
    width: 12px;
    height: 12px;
    display: block;
    overflow: hidden;
    background: #333;
    border-radius: 50%;
    opacity: 0.5;
    transition: opacity 600ms;
}

.component-slider-rotate .slider-pager a:hover,
.component-slider-rotate .slider-pager a.active {
    opacity: 1;
}
.component-switch {
    display: inline-flex;
    align-items: center;
}

.component-switch .switch-flag {
    display: inline-flex;
    align-items: center;
    border: solid 1px #ddd;
    border-radius: 1em;
    padding: 4px;
    line-height: 1;
    cursor: pointer;
    text-transform: capitalize;
    font-size: .9em;
    margin-right: .2em;
}

.component-switch[data-disabled="on"] {
    opacity: .5;
    cursor: not-allowed;
}

.component-switch[data-disabled="on"] .switch-flag {
    cursor: not-allowed;
}


.component-switch .switch-flag[data-flag="on"] {
    background: #29668d;
    color: #fff;
    padding-left: 6px;
}

.component-switch .switch-flag[data-flag="off"] {
    background: #ededed;
    padding-right: 6px;
}

.component-switch .switch-flag[data-flag="on"]:after {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    background: #fff;
    border-radius: 50%;
    margin-left: 6px;
}

.component-switch .switch-flag[data-flag="off"]:before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    background: #ddd;
    border-radius: 50%;
    margin-right: 6px;
}

.component-switch .switch-label {
    font-size: .9em;
}
.component-table {
    border-collapse: collapse;
}

.component-table .table-cel-nodata {
    padding: 12px;
}
.component-table-contract {
    border: 1px solid #ddd;
    margin: 0.8em 0;
}

.component-table-contract th {
    background: #b2d8f8;
    color: #444;
    font-weight: bold;
}

.component-table-contract td,
.component-table-contract th {
    border: 1px solid #a7bbcd;
    padding: 0.4em 0.6em;
}

.component-table-contract tbody tr:nth-child(even) {
    background: #f9f9f9;
}
.component-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    column-gap: 12px;
    row-gap: 12px;
    list-style: none;
    margin: 0;
}
.component-tabs .list-item {
    margin: 0;
    padding: 0;
}
.component-tabs-years .component-link {
    text-decoration: none;
}

.component-tabs-years .component-link.active {
    font-weight: bold;
}
.component-tabs-years-nendo {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(60px, 90px));
    column-gap: 8px;
    row-gap: 8px;
    margin-bottom: 24px;
}

.component-tabs-years-nendo .component-link.active {
    font-weight: normal;
}
.component-title-block {
    color: #666;
    font-size: 1.6em;
    height: 2.9em;
    margin: 0;
    padding: 0.5em;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAAeCAYAAADNaQN7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEE5NzEwMDlCRTQ1MTFFNDlEM0FEQjJBRjExMTBBQkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEE5NzEwMEFCRTQ1MTFFNDlEM0FEQjJBRjExMTBBQkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0QTk3MTAwN0JFNDUxMUU0OUQzQURCMkFGMTExMEFCRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0QTk3MTAwOEJFNDUxMUU0OUQzQURCMkFGMTExMEFCRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpEOlHYAAAWfSURBVHja7N29byNFGMDhuRNSJHrXFBQWFd2JChoq0qa/f42elpKGjoYCIXFCOiQUCQQCIR0QHH+t8RKP/e5k1rHvSOI4zyNtPOt3Eztuf5r1k08/+3zxwUcfp+yHF9+kd997f33+1ZdfJHNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Pzg56fDwcn7zxNAAAAAAAAABwFARgAAAAAAADgSAjAAAAAAAAAAEdCAAYAAAAAAAA4EgIwAAAAAAAAwJF4y0cAAAAAAAAA8L/5ZXn8tMf1o+Xx3Z6v8e3ymBTP/d3+EIABAAAAAACA21ILlducL4/f9rj+1fJ4ued7+nrP618OByev8snw7LQzHA6edc/veS4AAwAAAAAAwO27k1C5ep1dtaH1fIfrFsujSVc7Vb+/rQ9oODi5ejzwwHroBGAAAAAAAADu2i6hsg2O0+UxTle31P0xXe0kna0ep+GYhMfx6vh59dx89TuzYt2Uzw8HJ+1zBx8gj33OmxGAAQAAAAAANtoA2MbDNgpertaT1foyrC9W11yE60ar87wera6/KM7/CX/rIvyt9vembYQUCAVIeF0CMAAAAAAA3L82OrY7EPPuxbzrcZK68TFHyRwSc1SchfUodQNknuVIWYbMy/B64/w+np+dNvENCoQCJPAwCMAAAAAAAI9bG/5mqXvr1DYA5kAYA2QOiTk8xug4TZvAmI8cFkdhXYbMSepGz3w+fX52Oo9vVCAUIAG4mQAMAAAAANyHNuzF725sz/Nux/zdjpfFeQ6OMSzG73qM63hee6yFzRwg8/q/74TM3wfZEggFSAA4dAIwAAAAAI9JG/LyTsd8q9UcIHNknFTWo7Aeh9+L67iDcVR5Pp5f9rzeOLy//B7b74Jc74IUCO93DgBw6ARgAAAAgNuXo+M8deNevOVqk/rjY74mxsQcIuN6tmU2qaxrrxej6HqHpgB5OHMAANhGAAYAAIDj1QbFedpEvBgf8zrHvxgAY4jMMXAcrothsQyT0+KaJl3f1TjZ8nqz1A2j8XF9G1aBUIAEAADqBGAAAABuQwyOMTo2aRPzYnSM6xwDYyiMOyRr389YxsdajJxV1pOe9To4pk0E7dyGVSAUIAEAAA6RAAwAAByTeeoGx/iY42OMfLXoGONfXJe3RY2Rcdfny/hYe+34ujGWdoJquwtSIBQgAQAAoCQAAwDAm2uDXLzNai0+xtC3bT3eYz1O3R2KfbdM7fv9WggtjxhOY4hsA+RcIBQgAQAAgMMiAAMAPFwxOC7S9VgXw2M+asGxtuNwUvydbWFxuuWx9rfGO7yPOJtX3kv7/7YBcioQCpAAAAAAbAjAAMDrqO1ybNL13Y4xOJbrMkrWgmI5K8NiLTrOUz1M1kJk33spw2T5fy3S5jaszScfPpvHD0cgFCABAAAA4L4IwAA8JLVbrNYCXV9w7FtPi+difJynenDcJT7WQmT5+zdF0VnP/xdD5Pq7IPMHJRAKkAAAAADA4yQAA9ys7xarMcKV613jYxkCy12TZVSshcfadTcFy30DabnzsTwXIA9sDgAAAADA4yQAw+HKQTHHtRjemnQ9RJa7Bpt0c9wrA2LTcz5N12/POq9cu2tw3PXWsOX/0Bdd188PByfr27AKhAIkAAAAAAA8NgIwpRwWY1RrUj285QBZhrom9Qe88lat7fHH8vg9dXcSliEzvv7l8vi1mC3CY1O898XqNfJ8Uczyefz/x6vXT+GaVHl8O3wO13ZBCoQCJAAAAAAAwF06pAAcg2O5s7EMgLXIWAuNtWtqOxH7zms7HHfZ+di3E7IWP8v3/lfq7myMQTYHyU5sDEcK1y+Gg5OFQHjr8z+3zQEAAAAAAOAuPVksFj4FAAAAAAAAgCPw1EcAAAAAAAAAcBwEYAAAAAAAAIAj8a8AAwD4p9a9A7XOfQAAAABJRU5ErkJggg==")
        left bottom no-repeat;
    background-size: 100% 12px;
}
.component-title-page {
    color: #666;
    font-size: 2em;
    margin: 0.5em 0;
    padding: 0.5em;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAAeCAYAAADNaQN7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEE5NzEwMDlCRTQ1MTFFNDlEM0FEQjJBRjExMTBBQkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEE5NzEwMEFCRTQ1MTFFNDlEM0FEQjJBRjExMTBBQkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0QTk3MTAwN0JFNDUxMUU0OUQzQURCMkFGMTExMEFCRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0QTk3MTAwOEJFNDUxMUU0OUQzQURCMkFGMTExMEFCRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpEOlHYAAAWfSURBVHja7N29byNFGMDhuRNSJHrXFBQWFd2JChoq0qa/f42elpKGjoYCIXFCOiQUCQQCIR0QHH+t8RKP/e5k1rHvSOI4zyNtPOt3Eztuf5r1k08/+3zxwUcfp+yHF9+kd997f33+1ZdfJHNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Pzg56fDwcn7zxNAAAAAAAAABwFARgAAAAAAADgSAjAAAAAAAAAAEdCAAYAAAAAAAA4EgIwAAAAAAAAwJF4y0cAAAAAAAAA8L/5ZXn8tMf1o+Xx3Z6v8e3ymBTP/d3+EIABAAAAAACA21ILlducL4/f9rj+1fJ4ued7+nrP618OByev8snw7LQzHA6edc/veS4AAwAAAAAAwO27k1C5ep1dtaH1fIfrFsujSVc7Vb+/rQ9oODi5ejzwwHroBGAAAAAAAADu2i6hsg2O0+UxTle31P0xXe0kna0ep+GYhMfx6vh59dx89TuzYt2Uzw8HJ+1zBx8gj33OmxGAAQAAAAAANtoA2MbDNgpertaT1foyrC9W11yE60ar87wera6/KM7/CX/rIvyt9vembYQUCAVIeF0CMAAAAAAA3L82OrY7EPPuxbzrcZK68TFHyRwSc1SchfUodQNknuVIWYbMy/B64/w+np+dNvENCoQCJPAwCMAAAAAAAI9bG/5mqXvr1DYA5kAYA2QOiTk8xug4TZvAmI8cFkdhXYbMSepGz3w+fX52Oo9vVCAUIAG4mQAMAAAAANyHNuzF725sz/Nux/zdjpfFeQ6OMSzG73qM63hee6yFzRwg8/q/74TM3wfZEggFSAA4dAIwAAAAAI9JG/LyTsd8q9UcIHNknFTWo7Aeh9+L67iDcVR5Pp5f9rzeOLy//B7b74Jc74IUCO93DgBw6ARgAAAAgNuXo+M8deNevOVqk/rjY74mxsQcIuN6tmU2qaxrrxej6HqHpgB5OHMAANhGAAYAAIDj1QbFedpEvBgf8zrHvxgAY4jMMXAcrothsQyT0+KaJl3f1TjZ8nqz1A2j8XF9G1aBUIAEAADqBGAAAABuQwyOMTo2aRPzYnSM6xwDYyiMOyRr389YxsdajJxV1pOe9To4pk0E7dyGVSAUIAEAAA6RAAwAAByTeeoGx/iY42OMfLXoGONfXJe3RY2Rcdfny/hYe+34ujGWdoJquwtSIBQgAQAAoCQAAwDAm2uDXLzNai0+xtC3bT3eYz1O3R2KfbdM7fv9WggtjxhOY4hsA+RcIBQgAQAAgMMiAAMAPFwxOC7S9VgXw2M+asGxtuNwUvydbWFxuuWx9rfGO7yPOJtX3kv7/7YBcioQCpAAAAAAbAjAAMDrqO1ybNL13Y4xOJbrMkrWgmI5K8NiLTrOUz1M1kJk33spw2T5fy3S5jaszScfPpvHD0cgFCABAAAA4L4IwAA8JLVbrNYCXV9w7FtPi+difJynenDcJT7WQmT5+zdF0VnP/xdD5Pq7IPMHJRAKkAAAAADA4yQAA9ys7xarMcKV613jYxkCy12TZVSshcfadTcFy30DabnzsTwXIA9sDgAAAADA4yQAw+HKQTHHtRjemnQ9RJa7Bpt0c9wrA2LTcz5N12/POq9cu2tw3PXWsOX/0Bdd188PByfr27AKhAIkAAAAAAA8NgIwpRwWY1RrUj285QBZhrom9Qe88lat7fHH8vg9dXcSliEzvv7l8vi1mC3CY1O898XqNfJ8Uczyefz/x6vXT+GaVHl8O3wO13ZBCoQCJAAAAAAAwF06pAAcg2O5s7EMgLXIWAuNtWtqOxH7zms7HHfZ+di3E7IWP8v3/lfq7myMQTYHyU5sDEcK1y+Gg5OFQHjr8z+3zQEAAAAAAOAuPVksFj4FAAAAAAAAgCPw1EcAAAAAAAAAcBwEYAAAAAAAAIAj8a8AAwD4p9a9A7XOfQAAAABJRU5ErkJggg==")
        left bottom no-repeat;
    background-size: 100% 12px;
    line-height: 1.2;
}
.component-title-site {
    color: #1f306e;
    display: flex;
    align-items: center;
    font-size: 1em;
    font-weight: bolder;
    margin: 0;
    text-shadow: 0 0 10px #fff, 1px 1px 5px #fff, -1px -1px 5px #fff,
        2px 2px 3px #fff, -2px -2px 3px #fff;
}
.component-title-site .component-image-logo {
    margin-right: 6px;
}
.component-title-site .title-ja {
    display: flex;
    flex-direction: column;
    font-size: 1.3em;
    letter-spacing: 0.065em;
    line-height: 1.2;
}
.component-title-site .title-ja-sub {
    font-size: 0.9em;
}
.component-title-site .title-ja-main {
    font-size: 1.3em;
}
.component-title-site .title-en {
    display: none;
}
.component-title-sitemap-main {
    background: linear-gradient(
        to bottom,
        #eaf3fc 0%,
        #c7def9 52%,
        #b6d2f5 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eaf3fc', endColorstr='#b6d2f5',GradientType=0 );
    border: 1px solid #ccc;
    border-radius: 2px;
    color: #454f6c;
    font-size: 1.6em;
    line-height: 1.3;
    padding: 0.5em 0.5em 0.35em;
    position: relative;
}
