﻿@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: .06em;
}

html,
body {
    height: 100%;
}

/* =======================================================
CONTENTS
======================================================= */
section {
    padding: 0;
}

.container {
    width: 100%;
    min-height: 100%;
    padding: 100px 20px 50px 20px;
}

.container2 {
    width: 100%;
    min-height: 100%;
    padding: 50px 20px 50px 20px;
}

/* グリッドレイアウト */
.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: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
}

/* header nav. */
.nav-head {
    width: auto;
    height: auto;
    position: fixed;
    right: 10px;
    top: 10px;
    z-index: 11;
}

    .nav-head ul {
        list-style: none;
    }

/* languag. */
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: 4em;
    margin-bottom: 0.25em;
}

/* branding. */
.title-head {
    font-size: 25px;
    font-size: 2.5rem;
    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;
}

    .title-head picture {
        width: 600px;
        height: 100%;
        display: block
    }

    .title-head p {
        /* branding name. */
        padding: 0 200px 0 20px;
        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: 100px
}
/* =======================================================
HEADING
======================================================= */
.heading {
}

    .heading h2 {
        margin-bottom: .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 {
    font-size: 15px;
    font-size: 1.5rem;
    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;
    font-weight: 700;
}

    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: #ddd;
}

/* IE */
input:-ms-input-placeholder {
    color: #ddd;
}

/* Edge */
input::-ms-input-placeholder {
    color: #ddd;
}

/* btn. */
button,
input,
select,
textarea {
    letter-spacing: 0.1em;
    border-radius: 4px;
}

    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: #ddd #ddd #ddd #ddd;
        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: #ddd #ddd #ddd #ddd;
    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*/
}

    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;
    max-width: calc(100vw - 215px)
}

/* =======================================================
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 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:hover,
    input.btn:hover,
    button.btn:hover,
    .btn:active,
    input.btn:active,
    button.btn:active,
    .btn:focus,
    input.btn:focus,
    button.btn:focus {
        font-weight: 700;
    }

    .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: .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;
}

/*マイリスト用　　注意：第1階層での編集のみ有効*/
.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;
}

/*視聴履歴用　　注意：第1階層での編集のみ有効*/
.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;
}

/*2～4階層視聴ボタン用*/
.tooltip4 {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

    .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: 350px;*/
    text-align: left;
}

    .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;
    left: -145px;
    z-index: 1;
}


/* マイページ　　注意：第1階層での編集のみ有効 */
.mypage-comment {
    color: #f44336;
    font-size: 120%;
}

/* =======================================================
LIST
======================================================= */
ul {
    margin-left: 1em;
}

    ul > li {
        margin-bottom: .5em;
    }

/* =======================================================
TABLE
======================================================= */
.table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
}

    .table th {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.2307692308;
        padding-top: 0.5384615385em;
        padding-bottom: 0.5384615385em;
        padding-left: 3px;
        padding-right: 3px;
        text-align: left;
    }

    .table td {
        border-top: 1px solid #cedade;
        font-size: 16px !important;
        font-size: 1.3rem;
        line-height: 1.42857143;
        padding-top: 0.3846153846em;
        padding-bottom: 0.3846153846em;
        padding-left: 3px;
        padding-right: 3px;
        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;
    }

/* =======================================================
CONTENTS
======================================================= */
#index .container {
    padding: 75px 0 0 0;
}

.index-main {
    text-align: center;
}

    .index-main .index-section {
        padding: 60px 0;
    }

.index-contact {
    padding: 40px 0;
}

.index-calendar {
    padding: 20px 10px 30px 10px;
}

/* =======================================================
TYPOGRAPHY
======================================================= */
.title-link,
.title-info,
.title-free-4 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.1666666667;
}

/* =======================================================
MAIN VISUAL
======================================================= */
/* mainvisual */
.mv {
    position: relative;
    padding: 20px;
}

/* hero */
.hero {
    background-image: url("../../img/bg_body_002.jpg");
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: normal;
    width: 100%;
    height: calc(100vh - 115px);
    margin: 55px auto 0 auto;
    position: relative;
}

/* =======================================================
LOGIN
======================================================= */
.login {
    border-radius: 5px 5px 5px 5px;
    margin-bottom: 1em;
    width: 400px;
    height: auto;
    position: absolute;
    bottom: 20px;
    right: 0;
    z-index: 100;
}

.login-head {
    padding: 2em 2em 0 2em;
    border-radius: 5px 5px 0 0;
}

.login-heading {
    margin-top: 0.142857em;
}

    .login-heading i {
        margin-right: 1em;
    }

.login-body {
    padding: 0 2em 1em;
}

.login-foot {
    width: 100%;
    height: auto;
    padding: 1em;
    border-top: solid 1px;
    border-radius: 0 0 5px 5px;
}

    .login-foot h3.title-free-4 {
        font-size: 80%;
    }

.login-description {
    font-size: .8em;
    margin-bottom: .916666666em;
}

.login-txt {
    margin-top: 1em;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.1538461538;
}

.btn.btn-login {
    font-size: 130%;
    width: 100%;
    text-align: center;
}

    .btn.btn-login i {
        margin-right: .5em;
    }

/* =======================================================
LINK
======================================================= */
.index-link > span {
    display: block;
    margin-bottom: 10px;
}

.li-link_index {
    width: 800px;
    margin: 0 auto;
    list-style: none;
    text-align: left;
}

    .li-link_index li {
        margin-bottom: .666666em;
    }

        .li-link_index li a {
            padding: 10px;
            display: block;
            border: 2px solid;
            border-radius: 5px 5px 5px 5px;
            font-size: 120%;
        }

/* =======================================================
INFO
======================================================= */
.li-info_index {
    width: 400px;
    margin: 0 auto;
    list-style: none;
}

    .li-info_index li {
        margin-bottom: 1em;
    }

        .li-info_index li a {
            padding: 10px 20px;
            border-radius: 5px 5px 5px 5px;
            display: block;
        }

    .li-info_index dl {
        display: flex;
    }

.info-day {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    display: none;
    padding: 0 10px;
    font-weight: 700;
}

.info-id {
    border-right: solid 1px rgba(0, 30, 50, 0.3);
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    display: none;
    padding: 0 10px;
    margin-right: 20px;
    min-width: 6em;
}
/* =======================================================
EVENT-DETAIL
======================================================= */
.event-detail {
    position: absolute;
    top: 0%;
    left: 0px;
    width: 100%;
    height: 100%;
    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 .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　　注意：第1階層での編集のみ有効
======================================================= */
/* ----------------------------- テスト画面上部 ------------------------------------------------ */
/* 時間制限注記 */
.question-caption {
    font-size: 20px;
    font-weight: 600;
    padding: 8px 0px;
}

/* テストステップ表示  ---- s ----*/
.test-header {
    font-size: 32px;
    font-weight: 600;
    padding: 8px 0px;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

.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;
    }
/* テストステップ表示  ---- e ----*/

/* テスト説明文 */
.test-description {
    margin: 30px 10px 10px 10px;
}
/* 注意文(設問数) */
.answer-caution {
    font-size: 15px;
    margin: 0px 10px 5px 10px;
    display: inline-block;
}
/* 確認画面注意文(提出押下まで未提出) */
.confirm-caution {
    font-size: 15px;
    margin: 0px 10px 5px 10px;
    display: inline-block;
}

.div-LimitCaution {
    margin: 0 0 0 10px;
}
/* 残り時間目安 */
.time-left {
    font-size: 22px;
    margin: 10px;
    margin-right: 30px;
}
/* n問中n問未解答／全問解答済 */
.unanswered-count {
    font-size: 22px;
    margin-right: 30px;
    margin-left: 10px;
}
/* 未解答設問（ピンク色の設問）を確認してください */
.unanswered-caution {
    font-size: 18px;
}
/*解答残時間、数エリア*/
.time-wrapper {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
}
/*表形式、未解答設問.注記領域 */
.question-status-table {
    height: 100%;
    font-size: 13px;
}
/* ----------------------------- テスト設問エリア ------------------------------------------------- */
/* テスト設問エリア　外枠 */
.testMain {
    height: 580px;
    overflow: auto;
    border: solid 3px royalblue;
    padding: 5px;
    margin: 5px;
    color: #000;
}
/* テスト受講　コンテナ */
.test-container {
    background-color: #fff;
    box-shadow: 0px;
    margin-bottom: 5px;
}
/* 設問　コンテナ */
.question-container {
    background-color: #fff;
    margin: 8px;
}

/* 設問ヘッダ */
.question-header {
    font-size: 16px;
    font-weight: bold;
    padding: 2px 5px;
    border-bottom: solid 1px #000;
    margin-bottom: 5px;
}
/* 設問領域 */
.question-table {
    width: 100%;
    height: 100%;
    font-size: 13px;
}
/* 設問　選択肢欄 */
.question-confirm-cell {
    background: #ebebef; /* ★確認グレー */
}
/* 各設問部.選択欄セル */
td-100 {
    height: 100%;
    vertical-align: top;
}
/* 設問　リスト形式 */
.question-list {
    position: relative;
    display: block;
    vertical-align: top;
    padding: 4px;
}

.choice-table {
    width: 100%;
    height: 100%
}
/* ----------------------------- その他テスト部品 ------------------------------------------------ */
/********************************************************/
/*解答確認画面で使用　ラジオボタン用*/
.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;
}
/********************************************************/
/********************************************************/
/*テスト提出画面で使用　結果非表示　後日公開*/
.test-submission {
    text-align: center;
    margin-top: 30px;
    color: #000000;
}

.test-submission-msg {
    display: inline-block;
    text-align: left;
    font-size: 2.1rem;
}
/********************************************************/
/* 問題 or 選択肢中img class */
.img-question {
    background: #fff;
    vertical-align: top;
}
/* 問題文 */
.question-label {
    padding: 5px 10px 5px 10px;
    vertical-align: top;
    font-size: 15px;
}
/* 未解答　ラベル */
.unanswered {
    font-size: 16px;
    margin-right: 10px;
}
/* 未解答　背景色 */
.unanswered-bgcolor {
    background-color: #ffe1f5;
}
/* 解答済　背景色 */
.answered-bgcolor {
    background-color: #e0f5ff;
}
/* ラジオボタン　選択肢 */
.question-radio-label {
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    display: inline-block;
    vertical-align: top;
    font-size: 15px;
}

    .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: 14px;
        height: 14px;
        left: 7px;
        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: 15px;
}

    .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;
}
/*ボタンエリア*/
.site-footer--taketest div {
    display: inline-flex;
}
/*ボタン余白用*/
.btn-test-wrapper {
    margin-left: 50px;
    margin-right: 50px;
    display: inline-block
}
/*--前回結果表示--*/
/*結果表示area*/
.test-header--result {
    display: inline-flex;
    align-items: center;
    margin: 0 0 0 -40px;
}

    .test-header--result > div {
        padding: 0 0 0 40px;
    }
/*********************************/

/* =======================================================
Calendar　　注意：第1階層での編集のみ有効
======================================================= */
/* カレンダー */
.fc-view-harness {
    background-color: #ffffff;
}
/* カレンダー 予定マウスホバー時、ポインター表示 */
.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;
}

/* お知らせとログインボックスの配置基準となる親要素に設定を追加 */	
section.mv {	
  position: relative; /* この要素を基準にnoticeを配置します */	
  min-height: 450px; /* お知らせが表示されるのに十分な高さを確保 */	
}	
	
/* お知らせボックスのスタイル */	
.notice {	
  position: absolute; /* 親要素(section.mv)を基準に絶対位置を指定 */	
  	
  /* ▼▼▼ 表示位置の調整 ▼▼▼ */	
  top: 400px; /* 上からの位置。ログインボックスの高さに合わせて調整してください */	
  right: 440px; /* 右からの位置。ログインボックスの幅＋間の余白分を空けます */	
  	
  /* ▼▼▼ サイズの調整 ▼▼▼ */	
  width: 450px; /* ボックスの横幅。ご希望に合わせて調整してください */	
  	
  box-sizing: border-box; /* paddingを含めて幅を計算するようにします */	
}	
	
/* お知らせ内のpタグのスタイル調整（見た目を整えるため） */	
.notice p {	
  padding: 20px;	
  margin: 0;	
  text-align: center;	
}	

