﻿@charset "UTF-8";
/* =======================================================
BODY
======================================================= */
* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

    html * {
        outline: none;
        /* クリック時に表示されるラインの削除 */
        font-feature-settings: "palt";
        /* 文字詰めカーリング機能 */
        tap-highlight-color: rgba(0, 0, 0, 0);
        /* タップ時のハイライトの削除 */
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        /* タップ時のハイライトの削除 */
        -moz-tap-highlight-color: rgba(0, 0, 0, 0);
        /* タップ時のハイライトの削除 */
    }

.votename {
    font-size: 13px;
}

body {
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    font-family: Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-weight: 500;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.06em;
}

html,
body {
    height: 100%;
}

/* =======================================================
CONTENTS
======================================================= */
section {
    padding: 0;
}


.container {
    width: 100%;
    min-height: 100%;
    padding: 0 32px;
    margin-top: 144px;
}

.container2 {
    width: 100%;
    min-height: 100%;
    padding: 0 32px;
    margin-top: 50px;
}

/* グリッドレイアウト */
.row {
    margin-left: -1em;
    margin-right: -1em;
    margin-bottom: 0;
    display: -webkit-box;
    /* Androidブラウザ用 */
    display: -ms-flexbox;
    /* IE10 */
    display: -webkit-flex;
    /* safari（PC）用 */
    display: flex;
    -webkit-box-align: stretch;
    /* Androidブラウザ用 */
    -ms-flex-align: stretch;
    /* IE10 */
    -webkit-align-items: stretch;
    /* afari（PC）用 */
    align-items: stretch;
}

.col {
    position: relative;
    min-height: 1px;
    padding-left: 1em;
    padding-right: 1em;
}

/* =======================================================
HEADER
======================================================= */
/* header. */
.header {
    width: calc(100% - 32px);
    position: fixed;
    left: 16px;
    top: 16px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
}

/* header nav. */
.nav-head {
    width: auto;
    height: auto;
    position: fixed;
    right: 30px;
    top: 17px;
    z-index: 11;
}

    .nav-head ul {
        list-style: none;
    }

/* languag. */
.li-language {
    margin-bottom: -6px;
    margin-top: 4px;
}

select.select-language {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: 13px;
    /*color: inherit;*/
    font-weight: bold;
    box-sizing: content-box;
}

    select.select-language::-ms-expand {
        display: none;
    }

label.custom-select {
    position: relative;
}

    label.custom-select:after {
        display: inline-block;
        font: normal normal normal 14px/1 FontAwesome;
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\f107";
        position: absolute;
        top: 50%;
        right: 5px;
        width: 20px;
        height: 20px;
        margin-top: -10px;
        pointer-events: none;
        font-size: 20px;
    }

.nav-head select.select-language {
    border-radius: 4px;
    border: none;
    line-height: 2em;
    padding: 0 2em 0 1em;
    height: 2em;
    margin-bottom: 0.25em;
    width: 55px;
}

.nav-head table,
.nav-head thead,
.nav-head tr,
.nav-head td {
    display: block
}

.container2 .header {
    min-height: 0;
    border-bottom:none;
}

/* branding. */
.title-head {
    font-size: 32px;
    line-height: 1.2;
    padding: 0;
    height: auto;
    width: auto;
    /*min-width: 200px;
    max-width: 600px;*/
    position: relative;
    overflow: hidden;
    text-align: left;
    padding: 0;
    margin: 0;
    height: 75px;
    display: flex;
    align-items: center;
    font-weight: normal;
}

    .title-head picture {
        width: 600px;
        height: 100%;
        display: block;
    }

    .title-head p {
        /* branding name. */
        padding: 0 200px 0 40px;
        margin: 0;
    }

    .title-head.title-head--exc {
        min-width: 1px;
        max-width: 100%;
    }
/* branding image */
.img-head {
    display: block;
    z-index: 1;
    height: 75px;
    width: 600px;
}
/*gnav*/
.nav ul {
    padding-right: 150px;
}
/* =======================================================
HEADING
======================================================= */
.heading {
}

    .heading h2 {
        margin-bottom: 0.33333em;
    }

/* =======================================================
FOOTER
======================================================= */
footer {
    width: 100%;
}

/* footer text. */
.footer-copy {
    height: auto;
    text-align: center;
    padding: 0.5em 0;
    width: auto;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
}

.inner-footer {
    padding: 0;
    margin: 0 auto;
    height: auto;
    width: auto;
    position: relative;
    overflow: hidden;
    text-align: left;
}

    /* footer image. */
    .inner-footer picture {
        display: block;
    }

img.img-footer {
    display: block;
    height: 75px;
    width: 600px;
    margin: 0 auto;
}

/* =======================================================
HR
======================================================= */
hr {
    border: solid 1px;
    border-color: #e6e6e6 transparent;
    margin: 0 0 1em 0;
}

/* =======================================================
TYPOGRAPHY
======================================================= */
h1 {
    /* title-headで使用 */
}

h2 {
    margin-top: 0;
}

    h2 > span {
        width: auto;
        display: block;
        margin: 0 auto;
    }

    h2 > span,
    h4 > span {
        vertical-align: middle;
    }

/* =======================================================
SCROLL TOP
======================================================= */
.scroll {
    position: fixed;
    bottom: 50px;
    right: 50px;
    display: none;
    z-index: 2;
}

    .scroll i:before {
        content: "\f077";
        font-size: 25px;
    }

.btn-scroll-top {
    text-align: center;
    display: block;
}

.scroll a {
    width: 50px;
    height: auto;
    padding-bottom: 0.75em;
    padding-top: 0.75em;
    border-radius: 50%;
}

/* =======================================================
FORM
======================================================= */
/*error.*/
.danger {
    color: #f44336;
}
/* form area. */
fieldset {
    padding: 0;
    margin: 0 0 1em 0;
    border: none;
}

legend {
    margin-bottom: 1em;
}

input[type="text"],
input[type="password"],
textarea,
select {
    font-size: 100%;
}

select {
    line-height: 1;
    padding-top: 0.4em;
    padding-bottom: 0.4666666667em;
}

input[type="button"],
input[type="submit"] {
    color: #ddd;
    border: solid 1px;
    border-color: #ddd #ddd #ddd #ddd;
    background-color: #eee;
    border-radius: 5px 5px 5px 5px;
    box-shadow: 1px 1px 1px 2px rgba(255, 255, 255, 0.05) inset;
}

    input[type="button"]:hover,
    input[type="submit"]:hover {
        background-color: #ddd;
    }

form {
    padding: 0;
    margin: 0;
    width: auto;
    height: 100%;
    display: block;
}

input::placeholder {
    color: #333;
}

/* IE */
input:-ms-input-placeholder {
    color: #333;
}

/* Edge */
input::-ms-input-placeholder {
    color: #333;
}

/* btn. */
button,
input,
select,
textarea {
    letter-spacing: 0.1em;
    border-radius: 5px;
}

    input[type="text"],
    input[type="password"],
    input[type="search"],
    input[type="date"],
    input[type="email"] {
        line-height: 1;
    }

    input[type="text"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="url"],
    input[type="email"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="date"],
    input[type="month"],
    input[type="week"],
    input[type="time"],
    input[type="number"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        max-width: 100%;
    }

    input[type="text"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="url"],
    input[type="email"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="date"],
    input[type="month"],
    input[type="week"],
    input[type="time"],
    input[type="number"] {
        background-color: #fff;
        border: 1px solid;
        border-color: #ccc;
        box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
        -webkit-box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
        outline: none;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1;
        padding-top: 0.4666666667em;
        padding-bottom: 0.4em;
    }

textarea {
    min-height: 120px;
    height: auto;
    max-width: 100%;
    text-align: left;
    line-height: 1.25em;
    padding: 0.666666em;
    background-color: #fff;
    border: 1px solid;
    border-color: #ccc;
    box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
    -webkit-box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
}

    /* control disabled style. */
    input[type="text"]:disabled,
    input[type="password"]:disabled,
    textarea:disabled,
    input[type="date"]:disabled,
    input[type="email"]:disabled,
    select:disabled {
        background-color: #eee;
        border: 1px solid;
        border-color: #eee #eee #eee #eee;
    }

    input[type="text"][readonly],
    input[type="password"][readonly],
    textarea[readonly],
    input[type="date"][readonly],
    input[type="email"][readonly],
    input[type="text"][readonly]:hover,
    input[type="password"][readonly]:hover,
    textarea[readonly]:hover,
    input[type="date"][readonly]:hover,
    input[type="email"][readonly]:hover,
    input[type="text"][readonly]:focus,
    input[type="password"][readonly]:focus,
    textarea[readonly]:focus,
    input[type="date"][readonly]:focus,
    input[type="email"][readonly]:focus {
        background-color: #fff;
        border: 1px solid;
        border-color: #fff #fff #fff #fff;
        box-shadow: none;
    }

    input[type="text"]:hover,
    input[type="password"]:hover,
    textarea:hover,
    input[type="search"]:hover,
    input[type="date"]:hover,
    input[type="email"]:hover {
        box-shadow: 0 0 0 3px rgba(88, 201, 243, 0.1);
        -webkit-box-shadow: 0 0 0 3px rgba(88, 201, 243, 0.1);
        border-color: #58c9f3;
    }

    input[type="text"]:focus,
    input[type="password"]:focus,
    textarea:focus,
    input[type="search"]:focus,
    input[type="date"]:focus,
    input[type="email"]:focus {
        box-shadow: 0 0 0 3px rgba(88, 201, 243, 0.3);
        -webkit-box-shadow: 0 0 0 3px rgba(88, 201, 243, 0.3);
        border-color: #58c9f3;
        background-color: #fff;
    }

    input[type="text"]:hover:disabled,
    input[type="password"]:hover:disabled,
    textarea:hover:disabled,
    input[type="date"]:hover:disabled,
    input[type="email"]:hover:disabled,
    select:hover:disabled {
        box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
        -webkit-box-shadow: 0 0 0 3px rgba(88, 201, 243, 0);
        /*border-color: #17B978*/
        border-color: #eee #eee #eee #eee;
    }

/* btn-base. */
input[type="button"],
input[type="submit"],
input[type="reset"],
button {
    cursor: pointer;
    line-height: 1;
    -webkit-appearance: none;
    /*ios*/
    border-radius: 0;
    /*ios*/
    font-size: 100%;
}

    input[type="button"][disabled],
    input[type="button"][readonly],
    input[type="submit"][disabled],
    input[type="submit"][readonly],
    input[type="reset"][disabled],
    input[type="reset"][readonly],
    button[disabled],
    button[readonly],
    button[disabled]:hover,
    button[readonly]:hover,
    fieldset:disabled button,
    fieldset:disabled input[type="button"],
    fieldset:disabled input[type="submit"],
    fieldset:disabled input[type="reset"] {
        color: #ababab !important;
        cursor: default !important;
        background-color: #ddd !important;
        border-color: #ddd #ddd #ddd #ddd !important;
        box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important;
    }

select {
    background-color: #fff;
    border: 1px solid;
    border-color: #ddd #ddd #ddd #ddd;
    box-shadow: 0 0 0 3px rgb(88 201 243 / 0%);
    -webkit-box-shadow: 0 0 0 3px rgb(88 201 243 / 0%);
}
/* default textbox. */
.form-input {
    margin-bottom: 0.666666em;
}

.textbox-icon-infront,
.textbox-icon-behind {
    position: relative;
}

    .textbox-icon-infront > input {
        width: 100%;
        padding-left: 3em;
    }

    .textbox-icon-behind > input {
        width: 100%;
        padding-right: 3em;
    }

.textbox-icon {
    position: absolute;
    top: 0;
    display: block;
    height: 100%;
    width: 3em;
    text-align: center;
    z-index: 1;
}

    .textbox-icon > i {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

.textbox-icon-infront > .textbox-icon {
    left: 0;
}

.textbox-icon-behind > .textbox-icon {
    right: 0;
}

.title-userplus {
    display: none;
}

.control-group {
    display: flex;
    flex-direction: column;
}

    .control-group .checkbox {
        padding: 0.3333333em 0;
    }

.form-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

.form-col {
    padding: 5px 10px 0 0;
}

.form-center {
    justify-content: space-around;
}

    .form-center .form-input {
        text-align: center;
    }

.form-input-row {
    display: flex;
    margin-bottom: 5px;
}

.form-label {
    display: inline-block;
    padding-right: 2em;
}

.form-label--10 {
    width: 10em;
}

.form-container {
    padding: 20px;
}

.form-container--tt select {
    min-width: 209px;
}

/* =======================================================
BUTTON
======================================================= */
.btn {
    margin: 0 auto;
    position: relative;
    outline: none;
}

.btn,
input.btn,
button.btn {
    display: inline-block;
    padding-left: 2em;
    padding-right: 2em;
    cursor: pointer;
    vertical-align: middle;
    border-radius: 5px;
    white-space: nowrap;
    outline: none;
    line-height: 1.3333333333;
    padding-top: 0.3333333333em;
    padding-bottom: 0.3333333333em;
    font-weight: normal;
}

    .btn:hover,
    input.btn:hover,
    button.btn:hover,
    .btn:active,
    input.btn:active,
    button.btn:active,
    .btn:focus,
    input.btn:focus,
    button.btn:focus {
    }

    .btn.x-small,
    input.btn.x-small,
    button.btn.x-small {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.1538461538;
        padding-top: 0.3076923077em;
        padding-bottom: 0.3076923077em;
    }

    .btn.small,
    input.btn.small,
    button.btn.small {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1;
        padding-top: 0.4em;
        padding-bottom: 0.4em;
    }

    .btn.x-large,
    input.btn.x-large,
    button.btn.x-large {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.1111111111;
        padding-top: 0.5555555556em;
        padding-bottom: 0.5555555556em;
    }

    .btn.large,
    input.btn.large,
    button.btn.large {
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.1904761905;
        padding-top: 0.6666666667em;
        padding-bottom: 0.6666666667em;
    }

    .btn.disabled,
    .btn.disabled:hover {
        opacity: 0.8;
        cursor: auto;
    }

        .btn.disabled,
        .btn.disabled:hover {
            opacity: 0.8 !important;
            background-color: #ddd !important;
            border-color: #ddd #ddd #ddd #ddd !important;
            color: #ababab !important;
        }

.btn-round,
input.btn-round {
    border-radius: 1.5em;
}

.btn-cv:active {
    top: 1px;
    box-shadow: 0 1 0 #000;
}

/* =======================================================
TOOLTIP
======================================================= */

/*視聴完了ボタン用*/
.tooltip1 {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

    .tooltip1 p {
        margin: 0;
        padding: 0;
    }

.description1 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #0000ff;
    border-radius: 5px;
    background: #ffffe6;
    /*    width: 350px;*/
    text-align: left;
}

    .description1:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 60%;
        border: 15px solid transparent;
        border-top: 15px solid #ffffe6;
        margin-left: -15px;
    }

.tooltip1:hover .description1 {
    display: inline-block;
    top: -100px;
    left: -50px;
}

/*マイリスト用*/
.tooltip2 {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

    .tooltip2 p {
        margin: 0;
        padding: 0;
    }

.description2 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #0000ff;
    border-radius: 5px;
    background: #ffffe6;
    /*    width: 350px;*/
    text-align: left;
}

    .description2:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 60%;
        border: 15px solid transparent;
        border-top: 15px solid #ffffe6;
        margin-left: -15px;
    }

.tooltip2:hover .description2 {
    display: inline-block;
    top: -75px;
    left: -110px;
}

/*視聴履歴用*/
.tooltip3 {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

    .tooltip3 p {
        margin: 0;
        padding: 0;
    }

.description3 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #0000ff;
    border-radius: 5px;
    background: #ffffe6;
    /*    width: 350px;*/
    text-align: left;
}

    .description3:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 60%;
        border: 15px solid transparent;
        border-top: 15px solid #ffffe6;
        margin-left: -15px;
    }

.tooltip3:hover .description3 {
    display: inline-block;
    top: -75px;
    left: -110px;
}

/*設定(1) 会場～設定(3) プログラム　視聴ボタン用*/
.tooltip4 {
    position: relative;
    cursor: pointer;
}

    .tooltip4 p {
        margin: 0;
        padding: 0;
    }

.description4 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #0000ff;
    border-radius: 5px;
    background: #ffffe6;
    width: auto;
    text-align: left;
    min-width: 188px;
}

    .description4:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 80%;
        border: 15px solid transparent;
        border-top: 15px solid #ffffe6;
        margin-left: -15px;
    }

.tooltip4:hover .description4 {
    display: inline-block;
    top: -73px;
    right: 25px;
    z-index: 1;
}

/* マイページ */
.mypage-comment {
    color: #f44336;
    font-size: 120%;
}

/* =======================================================
LIST
======================================================= */
ul {
    margin-left: 1em;
}

    ul > li {
        margin-bottom: 0.5em;
    }

/* =======================================================
TABLE
======================================================= */
.table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
}

    .table th {
        line-height: 1.5;
        padding-top: 6px;
        padding-bottom: 6px;
        padding-left: 24px;
        padding-right: 24px;
        text-align: left;
        font-weight: normal;
    }

    .table td {
        padding: 8px 24px;
        text-align: left;
    }

        .table td.text-r {
            text-align: right;
        }
/* =======================================================
UTILITIES
======================================================= */
.small {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.3636363636;
}

.x-small {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.1538461538;
}

.large {
    font-size: 30px;
    font-size: 3rem;
    line-height: 0.8333333333;
}

.x-large {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25;
}

.normal {
    font-weight: 500;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.marker--yb {
    background: linear-gradient(transparent 0%, #ff6 0%);
    /* 黄色太線 */
}

.marker--yt {
    background: linear-gradient(transparent 60%, #ff6 60%);
    /* 黄色細線 */
}

.del {
    text-decoration: line-through;
}

.overline {
    text-decoration: overline;
}

.underline {
    text-decoration: underline;
}

/* word */
.txt-nowrap {
    white-space: nowrap;
    /*--改行禁止--*/
}

.txt-break {
    word-break: break-all;
    /*--言語問わず改行--*/
}

.txt-wrap {
    overflow-wrap: break-word;
    /*--改行--*/
}

/* align */
.text-l {
    text-align: left;
}

.text-r {
    text-align: right;
}

.text-c {
    text-align: center;
}

.vrt-m {
    vertical-align: middle;
}

.vrt-t {
    vertical-align: top;
}

.vrt-b {
    vertical-align: bottom;
}

/*TOPで利用するスタイル*/
/* =======================================================
GLOBAL NAV
======================================================= */
.nav ul {
    display: flex;
    list-style: none;
}

    .nav ul li a {
        display: block;
        padding: 1em;
        font-weight: 600;
    }

/* =======================================================
CONTENTS
======================================================= */
#index .container {
    padding: 75px 0 0 0;
}

.index-main {
    text-align: center;
}

.index-section {
    padding: 48px;
    line-height: 1.75;
    width: 1024px;
    margin: 65px auto 0 auto;
    text-align: left;
}

.index-calendar {
    padding: 20px 10px 30px 10px;
}

.index-section.index-free {
}

.index-contact {
    padding: 32px 0;
    width: 100%;
}

/* =======================================================
TYPOGRAPHY
======================================================= */
.title-link,
.title-info,
.index-free .title-free-4 {
    font-size: 25px;
    line-height: 1;
    padding: 15px 32px;
    margin: 0 0 40px 0;
    position: relative;
    font-size: 25px;
    font-weight: normal;
}

    .title-link:before,
    .title-info:before,
    .index-free .title-free-4:before,
    .title-link:after,
    .title-info:after,
    .index-free .title-free-4:after {
        display: block;
        content: "";
        width: 32px;
        height: 32px;        
        background-position: left top;
        background-repeat: no-repeat;
        position: absolute;
        left: -2px;
        top: -2px;
    }

    .title-link:after,
    .title-info:after,
    .index-free .title-free-4:after {
        transform: matrix(-1, 0, 0, -1, 0, 0);
        left: auto;
        top: auto;
        right: -2px;
        bottom: -2px;
    }

.title-contact {
    padding: 28px 20px;
    margin: 0;
}

    .title-contact span {
        font-size: 20px;
        line-height: 1;
        font-weight: normal;
    }
/* =======================================================
MAIN VISUAL
======================================================= */
/* mainvisual */
.mv {
    position: relative;
    padding: 0px;
    width: 1024px;
    margin: 112px auto 0 auto;
}

.mv-foot {
    width: 100%;
    height: auto;
    display: flex;
}

    .mv-foot h3.title-free-4 {
        width: 144px;
        height: auto;
        padding: 10px 24px;
        font-weight: normal;
        margin: 0;
    }

        .mv-foot h3.title-free-4 span {
            line-height: 15px;
            letter-spacing: 0;
            font-size: 16px;
        }

.mv-description {
    margin: 0;
    padding: 10px 0 9px 24px;
    flex: 1;
}
/* hero */
.hero {
    background-image: url("../../img/bg_body_002.jpg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: normal;
    width: 100%;
    height: 560px;
    margin: 0px auto 0 auto;
    position: relative;
    padding-bottom: 40px;
}

/* =======================================================
LOGIN
======================================================= */
.login {
    position: absolute;
    /*top: 480px;*/
    left: 0;
    width: 100%;
    z-index: 1;
    bottom: 0;
}

.login-head {
    display: none;
}

.login-heading {
}

.login-body {
    padding: 24px 0;
    text-align: center;
}

    .login-body fieldset {
        display: inline-flex;
        margin: 0;
        padding: 0;
    }

        .login-body fieldset .form-input {
            margin: 0;
            padding-right: 16px;
        }

.login-txt {
    margin-top: 1em;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.1538461538;
}

.btn.btn-login {
    text-align: center;
    border-radius: 5px;
    height: 32px;
}

    .btn.btn-login i {
        margin-right: 0.5em;
    }

.login-error {
    padding-top: 3px;
}


/* =======================================================
LINK
======================================================= */
.index-link > span {
    display: block;
    margin-bottom: 10px;
}

.li-link_index {
    width: auto;
    margin: 0 -16px -32px -16px;
    list-style: none;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
}

    .li-link_index li {
        width: calc(100% / 3);
        padding: 0 16px;
        margin-bottom: 32px;
    }

        .li-link_index li a {
            display: block;
            font-size: 19px;
            position: relative;
            padding: 24px 32px;
            border-radius: 5px;
            min-height: 112px;
        }

            .li-link_index li a:hover {
            }

            .li-link_index li a:after {
                width: calc(100% - 12px);
                height: calc(100% - 12px);
                content: "";
                display: block;
                position: absolute;
                left: 6px;
                top: 6px;
                border-radius: 3px;
                pointer-events: none;
                animation: 5s linear 1s infinite;
                opacity: 0;
                -webkit-transition-timing-function: ease-in-out;
                transition-timing-function: ease-in-out;
                -webkit-transition-duration: 300ms;
                transition-duration: 300ms;
                -webkit-transition-property: all;
                transition-property: all;
            }

            .li-link_index li a:hover:after {
                opacity: 1;
            }
/* =======================================================
INFO
======================================================= */
.li-info_index {
    width: calc(100% - 32px);
    margin: 0 auto;
    list-style: none;
}

    .li-info_index li {
        margin-bottom: 1em;
    }

        .li-info_index li:last-child {
            border-bottom: none;
        }

        .li-info_index li a {
            padding: 5px 16px;
            display: block;
            position: relative;
            border-radius: 4px;
        }

    .li-info_index dl {
        display: flex;
    }

        .li-info_index dl dt {
            display: flex;
            padding: 0;
        }

        .li-info_index dl dd {
            padding: 0 0 0 24px;
        }

.info-day {
    margin-right: 40px;
}

.info-id {
    font-size: 14px;
    display: inline-block;
    width: 96px;
    height: 20px;
    text-align: center;
    line-height: 20px;
}
/* =======================================================
CONTACT
======================================================= */
.index-contact-inner {
    width: 984px;
    margin: 0 auto;
    display: flex;
}

 .index-contact-box {
    padding: 0 0 0 24px;
    font-size: 15px;
}
/* =======================================================
EVENT-DETAIL
======================================================= */
.event-detail {
    position: absolute;
    top: 0%;
    left: 0px;
    width: 100%;
    height: 560px;
    z-index: 1;
}

.event-detail_inner {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 40px;
}

.event-ttl {
    margin: 0 0 5px 0;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.12;
}

.event-place {
    margin: 0 0 5px 0;
    font-weight: 600;
    font-size: 18px;
    font-size: 1.8rem;
}

.event-date {
    margin: 0 0 5px 0;
    font-weight: 600;
    font-size: 18px;
    font-size: 1.8rem;
}

/* =======================================================
CALENDAR
======================================================= */
.blink {
    font-weight: 700;
    color: #c41429;
    animation: 2s ease-in 0.5s infinite normal forwards running flash;
}

@-webkit-keyframes flash {
    0%, 50%, 100% {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

@keyframes flash {
    0%, 50%, 100% {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}
/* =======================================================
Venue Vote
======================================================= */
.VenueVoteLogo {
    width: 282px;
    height: auto;
    display: block;
}
/* header. */
.VenueHeader {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
/*待機メッセージ*/
.VoteWord {
    font-size: 25px;
    text-align: center;
}

/* =======================================================
Test　Attendance
======================================================= */

.test-container {
    background-color: #fff;
    box-shadow: 0px;
    overflow: hidden;
    margin-bottom: 5px;
    padding-right: 10px;
}

/******************************************************/
/*テスト提出画面で使用　結果非表示　後日公開*/
.test-submission {
    text-align: center;
    margin-top: 30px;
    color: #000000;
}

.test-submission-msg {
    display: inline-block;
    text-align: left;
    font-size: 2.1rem;
}
/********************************************************/

.question-container {
    background-color: #fff;
    margin-bottom: 5px;
    margin-left: auto;
    margin-right: auto;
}

.test-header {
    font-size: 32px;
    font-weight: 600;
    padding: 8px 0px;
    text-align: center;
    width: 100%;
    margin-bottom: 50px;
}

.step {
    display: flex;
    width: 514px;
    height: 35px;
    margin: 0 auto;
    padding: 0;
    color: #9797a1;
    list-style: none;
}

.step-list {
    margin: 0;
    padding: 38px 0 0 0;
    height: 35px;
    background-repeat: no-repeat;
}

    .step-list.is-active {
        color: #111;
    }

    .step-list.step-list--01 {
        width: 130px;
        background-image: url("../../img/step-disabled_01.png");
    }

    .step-list.step-list--02 {
        width: 256px;
        background-image: url("../../img/step-disabled_02.png");
    }

    .step-list.step-list--03 {
        width: 128px;
        background-image: url("../../img/step-disabled_03.png");
    }

    .step-list.step-list--01.is-active {
        width: 130px;
        background-image: url("../../img/step_01.png");
    }

    .step-list.step-list--02.is-active {
        width: 256px;
        background-image: url("../../img/step_02.png");
    }

    .step-list.step-list--03.is-active {
        width: 128px;
        background-image: url("../../img/step_03.png");
    }

    .step-list p {
        margin: 0;
        padding: 0;
        font-size: 15px;
        letter-spacing: 2px;
        font-family: メイリオ;
        font-weight: 600;
    }

    .step-list.step-list--01 p {
        text-align: left;
    }

    .step-list.step-list--02 p {
        text-align: center;
    }

    .step-list.step-list--03 p {
        text-align: right;
    }

.question-caption {
    font-size: 27px;
    font-weight: 600;
    padding: 8px 0px;
}

.testMain {
    margin-top: 10px;
    height: 550px;
    overflow: auto;
    border: solid 1px #aaa1a1;
}

.question-header {
    border-left: solid 10px #0000ff;
    border-right: solid 10px #0000ff;
    font-size: 22px;
    font-weight: 600;
    padding: 8px 10px;
}

.question-list {
    position: relative;
    display: block;
    vertical-align: top;
    padding-top: 10px;
}

.question-table {
    border: solid 1px #aaa1a1;
    width: 100%;
    height: 100%;
    font-size: 13px;
}

.choice-table {
    width: 100%;
    height: 100%;
}

td-100 {
    height: 100%;
    vertical-align: top;
}

.question-cell {
    border: solid 1px #aaa1a1;
    background: #dfdfe5;
}

.question-confirm-cell {
    background: #dfdfe5;
}

    /******************************************************/
    /*解答確認画面で使用　ラジオボタン用*/
    .question-confirm-cell label.question-radio-label {
        cursor: default;
    }

    .question-confirm-cell label.text-break::before {
        opacity: 0.5;
    }

.question-radio:checked:disabled + .question-radio-label::after {
    opacity: 0.5;
}
/********************************************************/

/******************************************************/
/*解答確認画面で使用　チェックボックス用*/
.question-confirm-cell label.question-check-label {
    cursor: default;
}

.question-check:checked:disabled + .question-check-label::after {
    opacity: 0.5;
}
/********************************************************/

.img-question {
    background: #fff;
    vertical-align: top;
}

.question-label {
    padding: 5px 10px 5px 10px;
    vertical-align: top;
    font-size: 13px;
}

.question-radio-label {
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
}

    .question-radio-label::before,
    .question-radio-label::after {
        content: "";
        display: block;
        border-radius: 50%;
        position: absolute;
        transform: translateY(-50%);
        top: 10px;
    }

    .question-radio-label::before {
        background-color: #fff;
        border: 1px solid #555;
        border-radius: 50%;
        width: 18px;
        height: 18px;
        left: 5px;
    }

    .question-radio-label::after {
        background-color: #4373f6;
        border-radius: 50%;
        opacity: 0;
        width: 13px;
        height: 13px;
        left: 8px;
        top: 10px;
    }

.question-radio:checked + .question-radio-label::after {
    opacity: 1;
}

.question-check-label {
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
}

    .question-check-label::before,
    .question-check-label::after {
        content: "";
        display: block;
        position: absolute;
        transform: translateY(-50%);
        top: 10px;
    }

    .question-check-label::before {
        background-color: #fff;
        border-radius: 0%;
        border: 1px solid #555;
        width: 18px;
        height: 18px;
        left: 5px;
    }

    .question-check-label::after {
        border-bottom: 3px solid #4373f6;
        border-left: 3px solid #4373f6;
        opacity: 0;
        height: 8px;
        width: 12px;
        transform: rotate(-45deg);
        left: 8px;
        top: 4px;
    }

.question-check:checked + .question-check-label::after {
    opacity: 1;
}

.visually-hidden {
    position: absolute;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
}

input[type="button"].btn-test-confirm,
input[type="submit"].btn-test-confirm {
    background-color: #ffc000;
    color: #000;
    border: solid 1px #999;
    display: inline-block;
    padding-left: 2em;
    padding-right: 2em;
    cursor: pointer;
    vertical-align: middle;
    border-radius: 5px 5px 5px 5px;
    font-weight: 700;
    white-space: nowrap;
    outline: none;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333;
    padding-top: 0.3333333333em;
    padding-bottom: 0.3333333333em;
}

    input[type="button"].btn-test-confirm:hover,
    input[type="button"].btn-test-confirm:focus,
    input[type="button"].btn-test-confirm:active,
    input[type="submit"].btn-test-confirm:hover,
    input[type="submit"].btn-test-confirm:focus,
    input[type="submit"].btn-test-confirm:active {
        background-color: #fed65c;
        color: #555;
        border: solid 1px #333;
    }

.btn-test-preview-result {
    background-color: #ffc000;
    color: #000;
    border: solid 1px #999;
    display: inline-block;
    padding-left: 2em;
    padding-right: 2em;
    cursor: pointer;
    vertical-align: middle;
    border-radius: 5px 5px 5px 5px;
    font-weight: 700;
    white-space: nowrap;
    outline: none;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333;
    padding-top: 0.3333333333em;
    padding-bottom: 0.3333333333em;
}

    .btn-test-preview-result:hover,
    .btn-test-preview-result:focus,
    .btn-test-preview-result.focus,
    .btn-test-preview-result:active {
        background-color: #fed65c;
        color: #555;
        border: solid 1px #333;
    }

.ans-div {
    font-size: 50px;
    font-weight: 600;
    /*    vertical-align: middle;*/
    height: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.ans-correct {
    color: blue;
    width: 50px;
}

.ans-fail {
    color: red;
    width: 50px;
}

.test-description {
    margin: 30px 10px 10px 10px;
}

.answer-caution {
    font-size: 15px;
    margin: 10px;
}

.confirm-caution {
    font-size: 15px;
    margin: 10px;
}

.div-LimitCaution {
    margin: 0 0 0 10px;
}

.time-left {
    font-size: 27px;
    margin: 10px;
}

/*掲示板機能用*/
.form-control1 {
    display: block;
    width: 100%;
    height: auto;
    padding: 0.4375rem;
    /*font-size: 0.8125rem;*/
    font-weight: 400;
    line-height: 1.2308;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 2px solid #ddd;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    overflow: auto;
    resize: vertical;
}

/* サイドメニューカレンダー */
div.xdsoft_datepicker.active {
    width: 266px !important;
    padding-right: 8px !important;
}

/* カレンダー（縦表示） 予定マウスホバー時、ポインター表示 */
.fc-time-grid-event {
    cursor: pointer;
}

/* カレンダー（横表示） 予定マウスホバー時、ポインター表示 */
.fc-event-main {
    cursor: pointer;
    max-height: 114px;
    overflow: hidden;
}
/* カレンダー（横表示）　ツールチップ　テーブル */
.livecalendar-tooltip-tbl {
    margin-top: 15px;
    margin-bottom: 15px;
    border: solid 5px;
    border-color: #0000a0;
    width: 100%;
    background-color: white;
}
/* カレンダー（横表示）　ツールチップ　テーブルTD */
.livecalendar-tooltip-td {
    padding-left: 10px;
    padding-right: 10px;
    color: blue;
    vertical-align: top;
}


/* パスワード再設定 */
.password-reset-body {
    padding-top: 25px;
    padding-left: 25px;
}

.password-reset-input {
    width: 350px !important;
}


/* パスワード変更 */
.password-change-body {
    padding-top: 25px;
    padding-left: 25px;
}
