@charset "utf-8";
/*****************************************************************************************************
リセット
******************************************************************************************************/
html {
    scroll-behavior: smooth;
    scroll-padding-top: 60px;
}
@media only screen and (max-width: 1068px) {
    html {
        scroll-padding-top: 48px;
    }
}

body,
h1,h2,h3,h4,h5,h6,
p,
ul,ol,li,
dl,dt,dd {
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
img {
    vertical-align: middle;
}

/*****************************************************************************************************
フォント
******************************************************************************************************/
body {
    font-family: "SF Pro JP", "SF Pro Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 300;
    line-height: 1.5;
    color: #1D1D1F;
    overflow-wrap: break-word;
    -webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,h6,strong,b {
    font-weight: 600;
    font-size: 100%;
}

/* claris.com *********************************/
body {
    font-size: 120%;
    line-height: 1.3;
}

/*****************************************************************************************************
リンク
******************************************************************************************************/
/* Blue */
a {
    text-decoration: none;
    color: #2F54E5;
}
a:hover {
    color: #5B7CFF;
}

/* Sky Blue */
a.s-blue {
    color: #4F91FF;
}
a.s-blue:hover {
    color: #5B7CFF;
}

/*****************************************************************************************************
リンク（ボタン）
******************************************************************************************************/
a.btn {
    font-weight: 600;
    display: inline-block;
    box-sizing: border-box;
    border: solid 2px;
    border-radius: 100vmax;
    padding: 0.5em 1em;
    transition: color 0.25s, border-color 0.25s, background 0.25s, opacity 0.25s;
}
a.btn:hover {
    transition: color 0.25s, border-color 0.25s, background 0.25s, opacity 0.25s;
}

/* Blue */
a.btn.blue {
    color: #2F54E5;
    border-color: #2F54E5;
}
a.btn.blue:hover {
    color: #FFF;
    background: #2F54E5;
}

/* Blue (Gradient) */
a.btn.blue-grad {
    border: 0;
    padding: calc(0.5em + 2px) calc(1em + 2px);
    color: #FFF;
    background: linear-gradient(90deg, rgba(47,84,229,1) 0%, rgba(91,124,255,1) 100%);
}
a.btn.blue-grad:hover {
    opacity: 0.9;
}

/* Sky Blue */
a.btn.s-blue {
    color: #4F91FF;
    border-color: #4F91FF;
}
a.btn.s-blue:hover {
    color: #FFF;
    background: #4F91FF;
}

/* White (Fill) */
a.btn.white-fill {
    color: #1D1D1F;
    border-color: #FFF;
    background: #FFF;
}
a.btn.white-fill:hover {
    opacity: 0.9;
}

/*****************************************************************************************************
汎用クラス
******************************************************************************************************/
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
.secret{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}









/*****************************************************************************************************
Engageヘッダー PC
******************************************************************************************************/
.header_cej_pc {
    background-color: #F2F2F2;
    width: 100%;
    position: absolute;
    top: 72px;
    z-index: 9;
}
.header_cej_pc.scrolled {
    position: fixed;
    top: 0;
}

.header_cej_pc > div {
    max-width: 1000px;
    height: 60px;
    margin: 0 auto;
    position: relative;
}

/* ホームリンク **********************/
a.header_cej_pc_home {
    height: 20px;
    line-height: 20px;
    position: absolute;
    top: 20px;
    left: 0;
    font-weight: 600;
    color: #1D1D1F;
}
a.header_cej_pc_home:hover {
    opacity: 0.8;
}

/* リスト ***************************/
.header_cej_pc ul.nav {
    display: table;
    height: 60px;
    position: absolute;
    top: 0;
    right: 0;
}
.header_cej_pc ul.nav li {
    display: table-cell;
    vertical-align: middle;
    padding-left: 30px;
}

/* リンク ***************************/
.header_cej_pc ul.nav li a {
    display: inline-block;
    font-size: 87.5%;/*14*/
    color: #1D1D1F;
    font-weight: 600;
}
.header_cej_pc ul.nav li a:hover {
    opacity: 0.8;
}

.header_cej_pc ul.nav li a.btn {
    font-size: 75%;/*12*/
}
.header_cej_pc ul.nav li a.btn:hover {
    /*opacity: 1;*/
}

/*****************************************************************************************************
Engageヘッダー SP
******************************************************************************************************/
.header_cej_sp {
    display: none;

    background-color: #F2F2F2;
    width: 100%;
    height: 48px;

    position: absolute;
    top: 72px;
    z-index: 9;

    box-sizing: border-box;
    padding-top: 48px;
    overflow: hidden;

    transition: height 0.5s;
}
.header_cej_sp.scrolled {
    position: fixed;
    top: 0;
}
.header_cej_sp.opened {
    height: 100%;
    transition: height 0.5s;
}

/* ホームリンク **********************/
a.header_cej_sp_home {
    height: 20px;
    line-height: 20px;
    position: absolute;
    top: 14px;
    left: 15px;
    font-weight: 600;
    color: #1D1D1F;
}

/* メニューボタン ********************/
.header_cej_sp_menu {
    width: 48px;
    height: 48px;
    position: absolute;
    top: 0;
    right: 0;
    background: url("../images/common/header_cej_menu_open.png") no-repeat center center;
    background-size: 17px 11px;
}
.header_cej_sp_menu.opened {
    background-image: url("../images/common/header_cej_menu_close.png");
}

/* リスト ***************************/
.header_cej_sp ul.nav {
    height: calc(100% - 72px);
    overflow: auto;
}
.header_cej_sp.scrolled ul.nav {
    height: 100%;
}
.header_cej_sp ul.nav li {
    list-style: none;
    font-size: 125%;/*20*/
    margin: 1em;
}

/* リンク ***************************/
.header_cej_sp ul.nav li a {
    color: #1D1D1F;
}

/*****************************************************************
ナビの現在位置
******************************************************************/
body.page_timetable li.nav_timetable a,
body.page_session   li.nav_session   a,
body.page_speaker   li.nav_speaker   a,
body.page_showcase  li.nav_showcase  a,
body.page_workshop  li.nav_workshop  a {
    opacity: 0.6;
}

/*****************************************************************************************************
ヘッダーのスペース
******************************************************************************************************/
.header_space {
    height: 60px;
}

/*****************************************************************************************************
Engageヘッダー PC SP 切り替え
******************************************************************************************************/
@media only screen and (max-width: 1068px) {
    .header_cej_pc {
        display: none;
    }
    .header_cej_sp {
        display: block;
    }
    .header_space {
        height: 48px;
    }
}









/*****************************************************************************************************
Topに戻る
******************************************************************************************************/
a#top {
	position: absolute;
    top: 0;
}

a.back-to-top {
    position: fixed;
    right: 10px;
    bottom: -50px;
    z-index: 8;
    transition: bottom 0.5s;
}
a.back-to-top.scrolled {
	bottom: 20px;
	transition: bottom 0.5s;
}

a.back-to-top img {
    width: 40px;
}















/*****************************************************************************************************
よくある質問
******************************************************************************************************/
.faq {
    padding: 75px 15px;
}
.faq > div {
    max-width: 1000px;
    margin: 0 auto;
}

.faq h2 {
    font-size: 150%;/*24*/
}

.faq_all {
    font-size: 81.25%;/*13*/
    text-align: right;
    border-bottom: solid 1px #DDD;
    padding: 1em 0;
}
.faq_all span {
    cursor: pointer;
}

.faq_qa {
    border-bottom: solid 1px #DDD;
    padding: 1.5em 0;
}

.faq_q {
    background: url("../images/common/faq_plus.png") no-repeat right center / 12px 12px;
    padding-right: 1.5em;
    cursor: pointer;
}
.faq_q.opened {
    background-image: url("../images/common/faq_minus.png");
}

.faq_a {
    display: none;
}
.faq_a p {
    font-size: 93.75%;/*15*/
    margin-top: 1em;
}

















/*****************************************************************************************************
タブ
******************************************************************************************************/
ul.tab {
    display: inline-block;
    background: #F5F5F7;
    border-radius: 100vmax;
    letter-spacing: -.4em;
}
ul.tab li {
    letter-spacing: normal;
    display: inline-block;
}
ul.tab li a {
    display: inline-block;
    border-radius: 100vmax;
    font-size: 81.25%;/*13*/
    font-weight: 600;
    color: #1D1D1F;
    padding: 0.75em 1.5em;
}
ul.tab li a.current {
    background: linear-gradient(90deg, rgba(47,84,229,1) 0%, rgba(91,124,255,1) 100%);
    color: #FFF;
}
@media screen and (max-width: 700px) {
    ul.tab li a span {
        display: none;
    }
}






