/*
* Site Core CSS Version 5.0.0
* Copyright (C) sdolphin.jp
*/

/******************************************************************************
* Customize.
******************************************************************************/

/* Defines */
:root {

    /* Theme Colors */
    --color-theme-light: #3b939b;
    --color-theme-dark: #4b4b4b;

    /* Foreground Color */
    --color-text-light: #f1f1f1;
    --color-text-dark: #2b2b2b;

    /* Background Color */
    --color-back-light: #f1f1f1;
    --color-back-gray: #e1e1e1;
    --color-back-dark: #cccccc;

    /* Font */
    --font-default: "M PLUS Rounded 1c", sans-serif;

    /* Options */
    --option-header-nav: none;  /* block (show) or none (hidden) */
    --option-footer-nav: none;  /* flex  (show) or none (hidden) */
}

/*
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 100;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Thin.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 300;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Light.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 400;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Regular.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 500;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Medium.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 700;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Bold.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 800;
    src: url("/portal/assets/fonts/MPLUSRounded1c-ExtraBold.ttf") format('truetype');
}
@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-weight: 900;
    src: url("/portal/assets/fonts/MPLUSRounded1c-Black.ttf") format('truetype');
}
*/


/******************************************************************************
* Site Base
******************************************************************************/

html,body {
  background: var(--color-back-light);
  height: 100%;
  margin: 0px;
  padding: 0px;
  position: relative;
  width: 100%;
}
body {
  color: var(--color-text-dark);
  display: flex;
  flex-flow: column nowrap;
  font-family: var(--font-default);
  font-size: 1.0em;
  font-weight: normal;
  line-height: 1.5;
  min-width: 400px;
  overflow: visible;
  text-align: left;
  word-break: break-all;
}


/******************************************************************************
* Site Header
******************************************************************************/

.site-header {
  -webkit-user-select: none;
  align-items: center;
  background: var(--color-theme-light);
  color: var(--color-text-light);
  display: flex;
  flex: 0 0 auto;
  height: 3.0em;
  margin: 0px;
  overflow: hidden;
  padding: 4px 16px;
  text-align: left;
  user-select: none;
}
.site-header-text {
  display: block;
  font-size: 2.0em;
  font-weight: bold;
}
.site-header-nav {
  display: var(--option-header-nav);
  margin-left: auto;
}
.site-header-nav-items {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  overflow: hidden;
  height: 100%;
  list-style: none;
  margin: 0px;
  padding: 0px;
  text-align: left;
}
.site-header-nav-item {
  font-size: 0.9em;
  margin: 0px;
  margin-left: 16px;
}


/******************************************************************************
* Page Contents
******************************************************************************/

.site-contents {
  flex: 1 0 auto;
  margin: 24px;
  line-height: 2.0em;
  padding: 0px;
  text-align: left;
}
.contents {
  padding: 0px;
  margin: 0px;
  margin-bottom: 3.0em;
}
.contents-title {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0px;
  margin-bottom: 1.0em;
  padding: 0px;
}
.contents-title-add-bar {
  padding-bottom: 8px;
  padding-left: 16px;
  border-bottom: 4px var(--color-theme-light) solid;
  border-left: 16px var(--color-theme-light) solid;
}


/******************************************************************************
* Error Contens
******************************************************************************/

.contents-httperror {
  align-items: center;
  display: flex;
  font-size: 2.0em;
  font-weight: bold;
  height: 100%;
  justify-content: center;
  margin: auto;
  text-align: center;
  width: 90%;
}
.contents-httperror-text {
  flex-grow: 1;
  width: 100%;
}


/******************************************************************************
* Site Footer
******************************************************************************/

.site-footer {
  -webkit-user-select: none;
  background: var(--color-theme-dark);
  color: var(--color-text-light);
  flex: 0 0 auto;
  margin: 0px;
  overflow: hidden;
  padding: 4px;
  text-align: center;
  user-select: none;
}
.site-footer-text {
  display: block;
  font-size: 0.75em;
  font-weight: bold;
}
.site-footer-nav {
  display: var(--option-footer-nav);
  flex-flow: row nowrap;
  justify-content: space-around;
  margin: 0px;
  margin-bottom: 16px;
}
.site-footer-nav-items {
  display: flex;
  flex-flow: column nowrap;
  margin: 8px;
  overflow: hidden;
  padding: 0px;
  list-style: none;
  text-align: left;
}
.site-footer-nav-item {
  font-size: 0.9em;
  margin: 0px;
  margin-bottom: 4px;
}
.site-footer-nav-item-title {
  border-bottom: var(--color-text-light) 2px solid;
  font-size: 1.0em;
  font-weight: bold;
}


/******************************************************************************
* Utility
******************************************************************************/

a.no-decoration-link {
  color: inherit;
  text-decoration: none;
}
ul.simple-list {
  margin: 0px;
  margin-left: 16px;
  overflow: hidden;
  text-align: left;
}
ul.no-decoration-list {
  list-style: none;
  padding-left: 0px;
}
li.simple-list-item {
  margin: 0px;
  margin-bottom: 8px;
}
