@charset 'utf-8';

:root {
    --color-white: #fff;
    --color-black: #333;
    --color-gray: #75787b;
    --color-gray-light: #ddd;
    --color-gray-disabled: #e8e8e8;
    --color-selected: #40bfc1;
    --color-link: #e510e5;
    --color-dengerous: #ff6f5e;
    --color-third: #ff1493;
    --color-border: #e7ecee;
    --color-border-1: #333;
    --color-border-2: #aaa;
    --color-header: #f2f2f2;
    --color-ok: #27a1b5;
    --color-error: #ee5c5c;
}

/*layout
---------------------------------*/
html {
    overflow-x: hidden;
}
body {
    font-family: "Lato-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
        Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana,
        sans-serif;
    overflow-x: hidden;
    line-height: 1em;
    background-color: #fcfcfc;
    color: #333;
}

a {
    -webkit-transition: color 0.1s ease;
    transition: color 0.1s ease;
    text-decoration: none;
    color: var(--color-link);
}
a:hover,
button:hover {
    opacity: 0.8;
}
a img {
    -webkit-transition: opacity 0.1s ease;
    transition: opacity 0.1s ease;
}

a:hover img {
    opacity: 0.8;
}
.link {
    color: var(--color-selected);
    cursor: pointer;
}
.link.stop {
    color: var(--color-dengerous);
}
.text-link {
    color: var(--color-selected);
    cursor: pointer;
    text-align: center;
    width: 100%;
    text-decoration: underline;
    margin: 10px auto;
    font-size: 0.8em;
}
.text-link:hover {
    opacity: 0.8;
}
.delete {
    cursor: pointer;
    color: var(--color-dengerous);
}
.sml {
    font-size: 0.8em;
}
.center {
    text-align: center;
}
.right {
    text-align: right;
}
.left {
    text-align: left;
}
.row {
    display: flex;
    flex-direction: row;
}

h2 {
    font-size: 0.8em;
    padding: 5px;
}
div.w30 {
    flex: 0 0 30px;
}

div.w50 {
    flex: 0 0 50px;
}
div.w100 {
    flex: 0 0 100px;
}
div.w130 {
    flex: 0 0 130px;
}
div.w150 {
    flex: 0 0 150px;
}
div.w250 {
    flex: 0 0 250px;
}
div.w220 {
    flex: 0 0 220px;
}
div.w300 {
    flex: 0 0 300px;
}
div.free {
    flex: 1 1 auto;
}
div.w100p {
    width: 100%;
}

div.margin-top-30 {
    margin-top: 30px !important;
}

div.margin-top-5 {
    margin-top: 5px !important;
}
/*************************************************
	全体レスポンシブ
**************************************************/
/*PC*/
@media screen and (min-width: 770px) {
    .is-mob {
        display: none !important;
    }
}
/*スマホ*/
@media screen and (max-width: 770px) {
    .is-pc {
        display: none !important;
    }
}

@media screen and (max-width: 639px) {
    form {
        width: 100%;
    }
}

/*************************************************
	items
**************************************************/
.message {
    color: var(--color-dengerous);
    font-size: 0.8em;
    margin: 10px auto;
}
.loading {
    margin-top: 10px;
    font-size: 1.2em;
    color: var(--color-dengerous);
    text-align: center;
    width: 100%;
}
.inline-link {
    color: var(--color-link);
    cursor: pointer;
}
.line-list {
    margin-right: 1em;
}
.line-list::after {
    content: ",";
}
div span.line-list:last-child::after {
    content: "";
}
div.to-from {
    margin: 0 1.5em;
}
div.button-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
}

div.button-create {
    background-color: var(--color-selected);
    width: 125px;
    height: 26px;
    padding: 5px;
    margin: 0 5px;
    border-radius: 3px;
    color: #fff;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    vertical-align: bottom;
    flex-wrap: nowrap;
}
div.button-create-line {
    color: var(--color-selected);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    float: right;
    margin-left: 10px;
}

div.button-create-left {
    width: 100%;
    color: var(--color-selected);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    float: right;
    margin: 5px 0;
}

div.button-create i,
div.button-create-line i {
    font-size: 0.8em;
    margin-right: 2px;
}

div.button-simple {
    margin: 0 5px;
    font-size: 0.9em;
    color: var(--color-selected);
}

div.button-close {
    font-size: 1.2em;
    color: #aaa;
    cursor: pointer;
}
div.button-create div {
    font-size: 0.75em;
}
.overlay-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1001;
}
.overlay {
    background-color: #000;
    position: fixed;

    width: 100vw;
    height: 100vh;
    opacity: 0.77;
}

div.btn-box div.cancell {
    padding: 7px 20px;
    border: 1px solid #aaa;
    border-radius: 3px;
    margin-right: 20px;
    cursor: pointer;
}

div.btn-box div.ok {
    padding: 7px 20px;
    color: #fff;
    background-color: var(--color-link);
    border-radius: 3px;
    margin-right: 20px;
    cursor: pointer;
}
div.btn-box div.cancell:hover,
div.btn-box div.ok:hover {
    opacity: 0.8;
}

.red {
    color: #ff1493;
}

/** SIZE **/
.ml-1 {
    margin-left: 1em;
}
.w-4 {
    width: 4em;
}
.w-6 {
    width: 6em;
}
.w-8 {
    width: 8em;
}
.w-80 {
    width: 80px;
}

.bg-gray-light {
    background-color: var(--color-header);
}

.p-10 {
    padding: 4px;
}
.font-size-12 {
    font-size: 0.8em;
}
.font-size-14 {
    font-size: 1em;
}
.font-size-16 {
    font-size: 1.2em;
}

.border-collapse {
    border-collapse: collapse;
}
.border {
    border: 1px solid var(--color-border);
}
.border-gray-light {
    border: 1px solid var(--color-border);
}
.border-gray {
    border: 1px solid var(--color-gray);
}

.font-weight-bold {
    font-weight: bold;
}
.font-weight-normal {
    font-weight: normal;
}
