@charset "UTF-8";

/* ========== ========== ========== ========== ==========

　lowerlayer.css

　01.下層　共通FV
　02.イベントのお申込み　form.html
　03.ランスタとは　about.html
　04.お申込みセッション一覧　livelist.html

========== ========== ========== ========== ==========*/

/* ========== ========== ========== ========== ==========
　01.下層　共通
========== ========== ========== ========== ==========*/
/* ========== ========== FV ========== ==========*/
.fv_lower {
    position: relative;
}
.fv_lower::after {
    content: url("../img/fv_about_pc.png");
    position: absolute;
    top: 0;
    right: 0;
}
.lower_title {
    width: 1000px;
    height: 280px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.lower_title h1 {
    font-size: 30px;
    font-weight: bold;
}
.lower_title h1::after {
    display: block;
    padding-top: 5px;
}
@media only screen and (max-width: 740px) {
    .fv_lower::after {
        content: '';
        background-image: url("../img/fv_about_sp.png");
        background-size: contain;
        position: absolute;
        top: 150px;
        right: 0;
        width: 100%;
        height: 75px;
    }
    .lower_title {
        width: 100%;
        height: 160px;
        justify-content: center;
        margin-bottom: 70px;
    }
    .lower_title h1 {
        font-size: 26px;
        text-align: center;
    }
    .lower_title h1::after {
        display: block;
        padding-top: 5px;
    }
}

/* ========== ========== ========== ========== ==========
　02.イベントのお申込み　form.html
========== ========== ========== ========== ==========*/
#form .lower_title h1::after {
    content: url("../img/form_fv_title.png");
}
#form .lead h2.heading_compact {
    margin: 40px auto 20px;
}
#form .lead.lead_compact p {
    color: #f02626;
    font-weight: normal;
    font-size: 14px;
    padding-top: 15px;
}
.form_archive {
    position: relative;
    margin: 5px auto 20px;
    font-size: 26px;
    font-weight: bold;
    color: #171717;
    background:linear-gradient(transparent 60%, #ffffff 0%) ;
}
.form_archive span {
    color: #FFA02D;
    font-size: 34px;
}
.form_archive strong {
    font-family: Roboto;
    font-size: 46px;
    font-weight: 400;
}
@media only screen and (max-width: 740px) {
    #form .form_lead h2 {
        margin: 0 auto;
    }
    #form h2 {
        font-size: 15px;
    }
    #form .lead h2.heading_compact {
        margin: -10px auto 10px;
    }
    .form_archive {
        margin: 15px auto 10px;
        font-size: 16px;
        padding: 0 auto 15px;
        background:linear-gradient(transparent 60%, #ffffff 0%) ;
        text-align: center;s
    }
    .form_archive span {
        font-size: 18px;
    }
    .form_archive strong {
        font-size: 24px;
    }
}

/* ========== ========== ========== ========== ==========
　03.ランスタとは　about.html
========== ========== ========== ========== ==========*/
#about .lower_title h1::after {
    content: url("../img/about_fv_title.png");
}
#about .copy {
    margin: 70px auto 50px;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
}
#about .copy span {
    background-color: #fff;
    padding: 10px 15px;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}
#about .circle_about {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #26b4c1;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    border-radius: 8px;
    margin: 30px auto 0;
}
#about dl.about {
    margin: 0 auto;
    line-height: 2.8em;
    font-size: 18px;
}
#about dl.about dt {
    float: left;
    font-weight: bold;
    position: relative;
}
#about dl.about dt::before {
    content: url("../img/about_check.png");
    position: absolute;
    top: 5px;
    left: -35px;
}
#about dl.about dd {
    margin-left: 80px;
}
#about .lead span {
    color: #26b4c1;
    border-bottom: solid 4px #ff9c00;
    padding-bottom: 3px;
}
.flow h3 {
    font-size: 28px;
    font-weight: bold;
    color: #26b4c1;
    text-align: center;
    position: relative;
    margin: 40px auto 80px;
}
.flow h3::after {
    content: url("../img/about_flow.png");
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.flow ul {
    width: 900px;
    display: flex;
    justify-content: space-between;
    margin: 50px auto;
}
.flow li {
    width: 250px;
    text-align: center;
    position: relative;
}
.flow li::after {
    content: url("../img/about_step.png");
    position: absolute;
    top: 50%;
    right: -60px;
}
.flow li:last-child::after {
    content: none;
}
.flow span {
    font-style: italic;
    font-size: 30px;
    font-family: Roboto;
    display: block;
}
.circle_flow {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #26b4c1;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
    margin: 12px auto 5px;
}
.flow .icon {
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
}
.flow p {
    font-size: 14px;
    line-height: 1.7em;
    text-align: justify;
}
#about .btn {
    margin: 0 auto 80px;
}

@media only screen and (max-width: 740px) {
    #about .copy {
        margin: 40px auto 50px;
        font-size: 30px;
    }
    #about .copy span {
        padding: 5px 0px 5px 5px;
        line-height: 1.8em;
        font-feature-settings: "palt";
    }
    #about .copy span img {
        padding-bottom: 4px;
    }
    #about dl.about {
        width: 100%;
        padding: 0 0 0 60px;
        font-size: 14px;
        line-height: 1.6em;
    }
    #about dl.about dt::before {
        top: 0px;
    }
    #about dl.about dd {
        margin-left: 70px;
        margin-bottom: 10px;
    }
    #about .circle_about {
        margin: 20px auto 5px;
    }
    .flow h3 {
        font-size: 26px;
        margin: 30px auto 0;
    }
    .flow h3::after {
        content: '';
        background: url("../img/about_flow.png");
        background-size: contain;
        position: absolute;
        top: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: 300px;
        height: 57px;
    }
    .flow ul {
        width: 80%;
        display: block;
        margin: 40px auto;
    }
    .flow li {
        width: 100%;
        margin-top: 30px;
    }
    .flow li::after {
        content: none;
    }
    .flow .icon {
        height: 95px;
        padding-bottom: 25px;
        float: left;
        margin-right: 20px;
    }
    #about .btn {
        margin: 0 auto 80px;
    }
}

/* ========== ========== ========== ========== ==========
　04.お申込みセッション一覧　livelist.html
========== ========== ========== ========== ==========*/
.fv_login {
    width: 1000px;
    height: 200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fv_login h1 {
    font-size: 30px;
    font-weight: bold;
}
#loginscreen .lead {
    margin: 0 auto;
}
#loginscreen .lead p {
    margin-top: 0;
    line-height: 1.8em;
}
#loginscreen .mail {
    width: 600px;
    background: #c1dcde;
    margin: 30px auto 100px;
    padding: 40px 60px;
    border-radius: 3px;
    text-align: center;
}
#loginscreen input[type="email"] {
    width: 400px;
    line-heght: 1.5em;
    padding: 10px;
    border-radius: 5px;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    background-color: #fff;
    text-align: left;
    margin: 20px 0;
}
#loginscreen button {
    margin-bottom: 20px;
}
#loginscreen .mail a {
    font-size: 14px;
    border-bottom: solid 1px #171717;
    opacity: 1;
    transition: .3s;
}
#loginscreen .mail a:hover {
    opacity: .5;
}
#livelist .lower_title h1::after {
    content: url("../img/livelist_fv_title.png");
}
#livelist h2 {
    margin-bottom: 20px;
}
.title.livelist span::after {
    content: url("../img/title_livelist.png");
    padding-left: 15px;
}
#livelist .cap {
    font-size: 14px;
    text-align: center;
    line-height: 1.8em;
}
#livelist .cap span {
    color: #f02626;
    font-size: 12px;
}
#livelist .inner_sch {
    width: 940px;
    padding: 25px 0px;
    margin: 0 auto 50px;
    font-weight: normal;
}
#livelist ul li.blank{
    width: 90px;
}
#livelist ul li.date_sch {
    width: 170px;
    text-align: center;
    font-family: Roboto;
    font-weight: 100;
    font-size: 40px;
    letter-spacing: -0.02em;
    padding-bottom: 10px;
}
#livelist ul li.date_sch span {
    font-size: 18px;
    padding-left: 5px;
}
#livelist ul.list {
    display: flex;
    flex-wrap: wrap;
}
#livelist ul li.hour {
    width: 70px;
    margin: 20px 20px 20px 0;
    background-color: #ffffff;
    border-radius: 5px;
    position: relative;
    text-align: center;
}
#livelist .hour .outer {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translateY(-45%) translateX(-50%);
    -webkit- transform: translateY(-45%) translateX(-50%);
}
#livelist .hour p {
    font-family: Roboto;
    font-size: 18px;
    margin-top: 10px;
}
#livelist .hour p span {
    display: block;
    position: absolute;
    left: 40%;
    transform: translateX(-40%);
    -webkit-transform: translateX(-40%);
    -ms-transform: translateX(-40%);
    transform: rotate(-90deg);
}
#livelist ul li.session_sch.live {
    width: 170px;
    position: relative;
}
#livelist .session_sch.live::before {
    content: url("../img/livelist_icon.png");
    position: absolute;
    top: -7px;
    left: -2px;
    z-index: 2;
}
#livelist .session_sch.live.soon .outer {
    background-color: #fcfdfd;
    display: flex;
    justify-content: center;
    align-items: center;
}
#livelist .session_sch.live.soon::before {
    content: none;
}
#livelist .session_sch.live .outer {
    background-color: #ffffff;
    height: 400px;
    margin: 5px 5px 20px;
    position: relative;
    border-radius: 5px 5px 0 0;
}
#livelist .session_sch.live .outer .speaker_cap{
    padding: 10px 10px 0;
    font-size: 11px;
    min-height: 40px;
    line-height: 1.3em;
}
#livelist .session_sch.live .outer p {
    padding: 10px 10px 0;
    font-size: 12.5px;
    line-height: 1.5em;
}
#livelist .session_sch.live .speaker_name{
    font-size: 22px;
}
#livelist .session_sch.live p span {
    font-size: 11.5px;
}
#livelist .session_sch.live .speaker {
    width: 160px;
    height: 160px;
    position: relative;
}
#livelist .session_sch.live .speaker img {
    object-fit: contain;
    position: absolute;
    width: 100%;
    height: 100%;
}
#livelist .session_sch.live .corp_name,
#livelist .session_sch.live.soon .corp_name {
    padding: 7px 0;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
    background-color: #e5ebeb;
    font-weight: bold;
}
#livelist .session_sch.live .outer a {
    display: block;
    width: 140px;
    background: #e5ebeb;
    padding: 7px;
    position: absolute;
    bottom: 7px;
    left: 10px;
    text-align: center;
    color: #888888;
    font-weight: bold;
    font-size: 14px;
}
#livelist .session_sch.live .outer a.entry {
    pointer-events: none;
}
#livelist .session_sch.live .outer a.archive,
#livelist .session_sch.live .outer a.live {
    background: #ff9c00;
    color: #fff;
}
#livelist .session_sch.live .outer a.archive::before,
#livelist .session_sch.live .outer a.live::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 7px;
  margin-top: -4px;
}
#livelist ul.list li:nth-child(1){order: 1;}
#livelist ul.list li:nth-child(2){order: 7;}
#livelist ul.list li:nth-child(3){order: 13;}
#livelist ul.list li:nth-child(4){order: 2;}
#livelist ul.list li:nth-child(5){order: 8;}
#livelist ul.list li:nth-child(6){order: 14;}
#livelist ul.list li:nth-child(7){order: 3;}
#livelist ul.list li:nth-child(8){order: 9;}
#livelist ul.list li:nth-child(9){order: 15;}
#livelist ul.list li:nth-child(10){order: 4;}
#livelist ul.list li:nth-child(11){order: 10;}
#livelist ul.list li:nth-child(12){order: 16;}
#livelist ul.list li:nth-child(13){order: 5;}
#livelist ul.list li:nth-child(14){order: 11;}
#livelist ul.list li:nth-child(15){order: 17;}
#livelist ul.list li:nth-child(16){order: 6;}
#livelist ul.list li:nth-child(17){order: 12;}
#livelist ul.list li:nth-child(18){order: 18;}

@media screen and (min-width:0px) and (max-width:740px) {
    .fv_login {
        width: 100%;
        height: 100px;
    }
    #loginscreen .lead {
        font-size: 14px;
    }
    #loginscreen .mail {
        width: 90%;
        margin: 20px auto 100px;
        padding: 20px 15px;
        text-align: center;
        font-size: 12px;
    }
    #loginscreen input[type="email"] {
        margin: 10px 0 20px;
    }
    #livelist h2 {
        font-size: 15px;
    }
    .title.livelist span::after {
        content: none;
    }
    #livelist .cap {
        padding: 20px 20px 0;
        text-align: left;
        line-height: 1.6em;
    }
    #livelist .inner_sch {
        padding: 15px;
        width: 100%;
    }
    #livelist ul.list{
        display: flex;
        justify-content: center;
    }
    #livelist ul.list li {
        width: 50%;
        order: unset !important;
    }
    #livelist ul li.date_sch {
        width: 100%;
        padding: 15px 0 10px;
    }
    #livelist p.hour_s {
        font-family: Roboto;
        font-size: 18px;
        text-align: right;
        margin: 0 7px;
        padding: 0;
        position: relative;
    }
    #livelist .session_sch.live .outer {
        height: 400px;
    }
    #livelist .session_sch.live::before {
        top: 0px;
        left: -2px;
    }
    #livelist .session_sch.live.soon.h200 .outer {
        height: 200px;
        border-radius: 5px;
    }
    #livelist .session_sch.live .speaker {
        width: 160px;
        height: 160px;
    }
}