/* Site Theme CSS | Version 6.0.0 | Copyright (C) sdolphin.jp | License AGPL */

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

/* Environments */
:root {
  /* Theme Colors */
  --theme-color: #3b939b;
  --border-color: #cccccc;
  --bg-color-b: #2b2b2b;
  --fg-color-b: #2b2b2b;
  --bg-color-g: #fafafa;
  --fg-color-g: #535353;
  --bg-color-w: #fefefe;
  --fg-color-w: #fefefe;

  /* Font */
  --font-default: "M PLUS Rounded 1c", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

@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(--bg-color-w);
  color: var(--fg-color-b);
  font-family: var(--font-default);
  line-break: strict;
  overflow-wrap: anywhere;
  text-align: left;
  text-autospace: normal;
}

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

.site-header {
  background: var(--theme-color);
  color: var(--fg-color-w);
}
.site-header-text {
  color: inherit;
  font-size: 2.00em;
  font-weight: bold;
  text-decoration: none;
}
.site-header-nav-items {
  list-style: none;
  text-align: left;
}
.site-header-nav-item {
  font-size: 0.9em;
}

/******************************************************************************
* Site Contents
******************************************************************************/

.site-contents {
  line-height: 2.00;
}
.contents-title {
  font-size: 1.25em;
  font-weight: bold;
}
.contents-title.add-border {
  border-bottom: 4px var(--theme-color) solid;
  border-left: 16px var(--theme-color) solid;
}

/******************************************************************************
* Site Contents (Error Page)
******************************************************************************/

.contents.http-error {
  font-size: 2.0em;
  font-weight: bold;
  text-align: center;
}

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

.site-footer {
  background: var(--bg-color-b);
  color: var(--fg-color-w);
  text-align: center;
}
.site-footer-text {
  font-size: 0.75em;
  font-weight: bold;
}
.site-footer-nav-items {
  list-style: none;
  text-align: left;
}
.site-footer-nav-item {
  font-size: 0.9em;
}
.site-footer-nav-item-title {
  border-bottom: var(--fg-color-w) 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; }

/******************************************************************************
* Notice Area
******************************************************************************/

.notice-area {
  background: var(--bg-color-g);
  border: 1px solid var(--border-color);
  padding: 8px;
}

/******************************************************************************
* Box
******************************************************************************/

.two-part-box {
  align-content: flex-start;
  align-items: stretch;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin-bottom: 32px;
}
.two-part-box-item {
  background: var(--bg-color-g);
  border: 1px solid var(--border-color);
  box-sizing: border-box;
  flex: 0 0 auto;
  margin: 0px 16px 32px 16px;
  padding: 16px;
  width: calc(50% - 32px);
}
.two-part-box-item-title {
  font-size: 1.25em;
  font-weight: bold;
  margin: 0px;
  margin-bottom: 8px;
  padding: 0px;
}
