/**
    CSS 構造: FLOCSS 
*/

/*
 * ==========================================================================
 * Foundation
 *     プロジェクトのデフォルトのスタイル定義
 * ==========================================================================
*/
/*
 * Reset
 *     Author: Richard Clark - http://richclarkdesign.com
 * --------------------------------------------------------------------------
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/*
* Base
* --------------------------------------------------------------------------
*/
* {
  box-sizing: border-box;
  line-height: 1.5;
}
body {
  background-color: #fff;
  color: rgba(0, 0, 0, .80);
}

/*
 * ==========================================================================
 * Layout
 *     プロジェクト共通のコンテナーブロックのスタイル定義
 * ==========================================================================
*/
/*
 * Header
 * --------------------------------------------------------------------------
*/
.l-header {
    background-color: #fff;
    padding-top: 8px;
    padding-bottom: 8px;
    box-shadow: 0px 1px 5px 0px #00000055;
    margin-bottom: 12px;
}
.l-header__brand {
  background-image: url(../../static/img/Medicatec_MinilogoEng.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 36px;
  width: 200px;
}
@media screen and (max-width: 1024px) {
  .l-header__brand {
    background-image: url(../../static/img/Medicatec_Minilogoonly.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 36px;
    width: 26px;
  }
}

.l-header__menu__item {
    color: #222;
    cursor: pointer;
}
.l-header__menu:hover > .l-header__menu__item {
    color: #222;
    transition: all 0.4s ease 0s;
}
.l-header__menu__icon {
    width: 24px;
    height: 24px;
}
.l-header__menu:hover .l-header__menu__icon {
    transform:         rotate(0.25turn);
    -webkit-transform: rotate(0.25turn);
    -moz-transform:    rotate(0.25turn);
    -ms-transform:     rotate(0.25turn);
    animation: u-rortate-90 0.2s ease 0s 1 normal;
}

/*
 * Header - Popup
 * --------------------------------------------------------------------------
*/
.l-header__menu__popup {
    display: none;
    overflow: hidden;
    width: 400px;
}
.l-header__menu:hover > .l-header__menu__popup {
    display: block;
    animation: l-header__popup__fade-in 0.2s ease 0s 1 normal;
}
.l-header__menu__popup__item {
    display: block;
    color: #000;
    line-height: 35px;
}
.l-header__menu__popup__item:hover {
    color: #000;
    background-color: rgba(99, 99, 99, 0.2);
    transition: all 0.4s ease 0s;
}
@keyframes l-header__popup__fade-in {
    0% { 
        opacity: 0; 
        transform:         scale(0.8) translate(0, -15%);
        -webkit-transform: scale(0.8) translate(0, -15%);
        -moz-transform:    scale(0.8) translate(0, -15%);
        -ms-transform:     scale(0.8) translate(0, -15%);
    }
    100% {
        opacity: 1;
        transform:         scale(1);
        -webkit-transform: scale(1);
        -moz-transform:    scale(1);
        -ms-transform:     scale(1);
     }
}
.l-header__menu__popup__grouping {
    font-size: 85%;
    color: #777;
}
.l-header__menu__popup__separator {
    border-top: 1px solid #ccc;
    margin-top: 5px;
    margin-bottom: 5px;
}

/*
 * Header - Account
 * --------------------------------------------------------------------------
*/
.l-header__menu__account-icon {
    width: 24px;
    height: 24px;
}

/*
 * Header - Logout
 * --------------------------------------------------------------------------
*/
.l-header__logout {
    border: #222 1px solid;
    color: #222;
    border-radius: 3px;
    cursor: pointer;
    font-size: 85%;
}
.l-header__logout:hover {
    border: red 1px solid;
    color: red;
    border-radius: 3px;
    transition: all 0.4s ease 0s;
}

/*
 * Footer
 * --------------------------------------------------------------------------
*/
.l-footer {
  position: fixed;
  font-size: 0.7rem;
  bottom: 0;
  width: 100%;
  padding: 1px 10px;
}
.l-footer__version {
  float: right;
}

/*
 * Container
 *     描画領域
 * --------------------------------------------------------------------------
*/
.container {
    max-width: 1012px;
    margin-left: auto;
    margin-right: auto;
}
.container__header {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1000;

    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ccc;
}
.container__header__title {
    font-size: 20px;
    font-weight: bold;
}

/*
 * StickySideBySide
 *     片方固定の横並びパネル
 * --------------------------------------------------------------------------
*/
.sticky-side-by-side {
    display: flex;
}
.sticky-side-by-side__sticky-content {
    position: sticky;
}

/*
 * DataGrid
 *     表
 * --------------------------------------------------------------------------
*/
.datagrid {
    background-color: white;
    border: #ccc 1px solid;
    overflow: hidden;
}
.datagrid__row__selected {
    background-color: #dde3ff !important;
}
.datagrid__row__selected:hover {
    background-color: #c9cde0 !important;
}
.datagrid__row__changed {
    background-color: #feffd6 !important;
}
.datagrid__row__changed:hover {
    background-color: #e0e0bd !important;
}
.datagrid__row__selected-changed {
    background-color: #e5f0d4 !important;
}
.datagrid__row__selected-changed:hover {
    background-color: #c9d3bd !important;
}

/*
 * InputForm
 *     入力フォームの定義
 * --------------------------------------------------------------------------
*/
.inputform {
    display: block;
    margin-bottom: 48px;
}
.inputform__title {
    background: #666;
    color: white;
    padding: 10px;
    margin: 0px 0px 12px 0px;
}
.inputform__item {
    display: block;
    margin: 0px 0px 24px 0px;
}
.inputform__item__label {
    margin-bottom: 4px;
}
.inputform__item__label::before {
    content: "";
    border-left: #3f51b5 5px solid;
    margin-right: 8px;
}
.inputform__item__label-text {
    font-weight: bold;
}
.inputform__item__label-require {
    color: #fff;
    font-size: 80%;
    background-color: #f50057;
    border-radius: 5px;
    padding: 0px 5px;
}
.inputform__item__label-subtext {
    font-size: 80%;
}

/*
 * ==========================================================================
 * Object
 *     プロジェクトにおける繰り返されるビジュアルパターン
 * ==========================================================================
*/
/*
 * ==========================================================================
 * Object - Component
 *     再利用できる小さな単位のモジュール
 * ==========================================================================
*/
.c-dropdownmenu {
    position: absolute;
    border-radius: 5px;
    background: white;
    box-shadow: 0px 0px 5px 0px #999;
    z-index: 10000;
}

.c-input__text {
	width: 100%;
}
.c-input__text input {
  font-size: 120%;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	border: 1px solid #1b2538;
	border-radius: 4px;
}
.c-input__text__focus input:focus {
	border: 1px solid #da3c41;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}

/*
 * ==========================================================================
 * Object - Project
 *     再利用できる小さな単位のモジュール
 * ==========================================================================
*/
.p-login__background {
    background: #83a4d4;  /* fallback for old browsers */
    background: -webkit-linear-gradient(135deg, #b6fbff, #83a4d4);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(135deg, #b6fbff, #83a4d4); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    opacity: 0.5;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.p-login__area {
    background: white;
    padding: 40px;
    border-radius: 2px;
    box-shadow: 0px 3px 10px 0px #0007;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 480px;
    animation: p-login__fade-in 0.8s ease 0s 1 normal;

    transform:         translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform:    translate(-50%, -50%);
    -ms-transform:     translate(-50%, -50%);
}
.p-login__brand-name {
    display: block;
    width: 250px;
    margin-bottom: 40px;
}
.p-login__area__message__error {
    color: #f00;
}
.p-login__area__inputform__button {
    position: relative;
    background-color: #0a478c;
    border: white 0px;
    border-radius: 5px;
    font-size: 120%;
    color: white;
    width: 150px;
    height: 40px;
    cursor: pointer;
    float: right;
}
.p-login__area__inputform__button:hover::after {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    width: 150px;
    height: 40px;
    bottom: 0;
    left: 50%;
    transform:         translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -moz-transform:    translate(-50%, 0);
    -ms-transform:     translate(-50%, 0);
}
.p-login__area__error_detail {
    clear: both;
    font-size: 80%;
}
@keyframes p-login__fade-in {
    0% { 
        opacity: 0; 
        transform:         translate(-50%, -30%);
        -webkit-transform: translate(-50%, -30%);
        -moz-transform:    translate(-50%, -30%);
        -ms-transform:     translate(-50%, -30%);
    }
    100% {
        opacity: 1;
    }
}

/*
 * ==========================================================================
 * Object - Utility
 *     わずかなスタイルの調整のための便利クラスなどを定義
 * ==========================================================================
*/

/*
 * Display
 * --------------------------------------------------------------------------
*/
.u-flex { display: flex; }
.u-inline-block { display: inline-block; }
.u-block { display: block; }
.u-disabled { opacity: 0.38; }
@media print {
    .no-print { display: none !important; }
    .print__no-margin { margin: 0 !important; }
    .print__no-shadow { box-shadow: none !important; }
}

/*
 * Style
 * --------------------------------------------------------------------------
*/
.u-list-style-none { list-style: none; }
.u-text-decoration-none { text-decoration: none; }
.u-text-center { text-align: center; }

/*
 * Margin
 * --------------------------------------------------------------------------
*/
.u-mx-center { margin-left: auto; margin-right: auto; }
.u-my-center { margin-top: auto; margin-bottom: auto; }
.u-m-1 { margin:  4px; }
.u-m-2 { margin:  8px; }
.u-m-3 { margin: 16px; }
.u-m-4 { margin: 32px; }
.u-ml-1 { margin-left:  4px; }
.u-ml-2 { margin-left:  8px; }
.u-ml-3 { margin-left: 16px; }
.u-ml-4 { margin-left: 32px; }
.u-mr-1 { margin-right:  4px; }
.u-mr-2 { margin-right:  8px; }
.u-mr-3 { margin-right: 16px; }
.u-mr-4 { margin-right: 32px; }
.u-mt-1 { margin-top:  4px; }
.u-mt-2 { margin-top:  8px; }
.u-mt-3 { margin-top: 16px; }
.u-mt-4 { margin-top: 32px; }
.u-mb-1 { margin-bottom:  4px; }
.u-mb-2 { margin-bottom:  8px; }
.u-mb-3 { margin-bottom: 16px; }
.u-mb-4 { margin-bottom: 32px; }

/*
 * Padding
 * --------------------------------------------------------------------------
*/
.u-p-1 { padding:  4px; }
.u-p-2 { padding:  8px; }
.u-p-3 { padding: 16px; }
.u-py-1 { padding-top:  4px; padding-bottom:  4px; }
.u-py-2 { padding-top:  8px; padding-bottom:  8px; }
.u-py-3 { padding-top: 16px; padding-bottom: 16px; }
.u-px-1 { padding-left:  4px; padding-right:  4px; }
.u-px-2 { padding-left:  8px; padding-right:  8px; }
.u-px-3 { padding-left: 16px; padding-right: 16px; }

/*
 * Flex
 * --------------------------------------------------------------------------
*/
.u-flex-grow-1 { flex-grow: 1; }
.u-flex-grow-2 { flex-grow: 2; }
.u-flex-grow-3 { flex-grow: 3; }

/*
 * Animation
 * --------------------------------------------------------------------------
*/
@keyframes u-fade-in {
    0% { 
        opacity: 0;
    }
    100% {
        opacity: 1;
     }
}
@keyframes u-rortate-90 {
    0% { 
        transform:         rotate(0);
        -webkit-transform: rotate(0);
        -moz-transform:    rotate(0);
        -ms-transform:     rotate(0);
    }
    100% {
        transform:         rotate(0.25turn);
        -webkit-transform: rotate(0.25turn);
        -moz-transform:    rotate(0.25turn);
        -ms-transform:     rotate(0.25turn);
     }
}

/*
 * ==========================================================================
 * Mobile
 *     モバイル用 (ToDo)
 * ==========================================================================
*/
.mobile-login__area {
  padding: 36px;
  max-width: 360px;
}
.mobile-login__area__brand-name {
  display: block;
  width: 200px;
  margin-bottom: 40px;
}
.mobile-login__area__description {
  font-size: 12px;
}
.mobile-login__area__submit {
  width: 100%;
  font-size: 14px;
  line-height: 36px;
  border: white 0;
  background: #0a478c;
  color: white;
}
.mobile-input__text {
	width: 100%;
}
.mobile-input__text input {
  font-size: 12px;
	box-sizing: border-box;
	width: 100%;
	padding: 0.6em;
	transition: 0.3s;
	letter-spacing: 1px;
  border: 1px solid #ccc;
  background: white;
}
.mobile-input__text__focus input:focus {
	border: 1px solid #0a478c;
	outline: none;
}
