/* CSS Document */
/* =========================================================== */
/* 情報発信 > イベント */
/* =========================================================== */
/* sectionのmargin-bottom をリセット */
/* =========================================================== */
.section.section {
    margin-bottom: 0;
}
/* 隙間空け（一時的な対処） */
section .content:has(.accordion_header) {
    margin-bottom: 16rem;
}
/* イベントの概要 */
/* =========================================================== */
.event-summary {
    display: flex;
    align-items: flex-start;
}
/* イベント概要のメインビジュアル（poster */
.event-summary .poster {
    margin-right: 5rem;
    max-width: 300px;
}
.event-summary .poster img {
    max-width: 100%;
}
/* イベント概要のテーブル表記 */
/* =========================================================== */
.event-summary dl {
    margin-bottom: 3rem;
}
/* プレゼンター（赤文字 */
/* =========================================================== */
.presenter {
    color: var(--red);
    font-family: var(--font-serif);
    text-indent: 0 !important;
    font-size: 2.0rem;
    font-weight: bold;
}
/* タイムテーブル */
/* =========================================================== */
/* .timetable th.time {
    font-weight: normal;
    color: var(--color-info);
    white-space: nowrap;
}
.timetable th, .timetable td {
    padding: 5px 3rem 5px 0;
    vertical-align: top;
} */
@media only screen and (max-width: 767.98px) {
    /* イベント概要 */
    .event-summary {
        display: block;
    }
    /* イベント概要のメインビジュアル */
    .event-summary .poster {
        margin: 0 auto 2rem;
        text-align: center;
    }
    /* タイムテーブル */
    /* .timetable tr, .timetable th, .timetable td {
        display: block;
    }
    .timetable th {
        padding: 5px 0 0 0;
    }
    .timetable td {
        padding: 0 0 5px 0;
    } */
}
/* =========================================================== */
/* もっと見るをクリックすると広がるコンテンツ */
/* =========================================================== */
/* イベント詳細  */
/* =========================================================== */
/* .event-detail{
    position: relative;
    max-width: 100%;
    height: 300px;
    padding: 20px 20px 80px;
    margin: 20px auto;
    border-radius: 0.2rem;
    border: 1px solid #000;
    overflow: hidden;
    transition:0.8s;
    box-sizing: border-box;
} */
/*グラデーションで隠す擬似要素*/
.event-detail:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0) 100%);
    transition: 0.8s;
}
/*クラス付与時のスタイル*/
.event-detail.active:before {
    opacity: 0;
    visibility: hidden;
}
/*テキストのスタイル */
.event-detail h5{
    font-weight: bold;
    font-size: 1.8rem;
    border-bottom: 1px dashed var(--darkgray);
    margin-bottom: 0.4rem;
    padding-left: 2rem;
    margin-left: -2rem;
}
.event-detail p{
    text-indent: 0;
    line-height: 1.8;
    font-size: 90%;
    margin-bottom: 0.2rem;
}
/*ボタンのスタイル*/
.event-detail button {
    position: absolute;
    left: 20px;
    bottom: 20px;
    cursor: pointer;
    color: #fff;
    background: #000;
    border: none;
    padding: 0 2rem;
    border-radius: 0.2rem;
    width: calc(100% - 40px);
    text-align: center;
    font-size: 86%;
    background: var(--color-info);
    font-family: var(--font-serif);
    font-size: 2.2rem;
}
/* Expand Content  */
/* =========================================================== */
.expand-content{
    position: relative;
    max-width: 100%;
    height: 200px;
    padding: 20px 20px 80px;
    margin: 20px auto;
    border-radius: 0.2rem;
/*    border: 1px solid #000;*/
    overflow: hidden;
    transition:0.8s;
    box-sizing: border-box;
    background: #FAFAFA;
}
/*グラデーションで隠す擬似要素*/
.expand-content:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0) 100%);
    transition: 0.8s;
}
/*クラス付与時のスタイル*/
.expand-content.active:before {
    opacity: 0;
    visibility: hidden;
}
.expand-content{
    height: 150px;
    padding: 10px 10px 50px;
    border: 1px solid var(--color-table-line);
}
/*テキストのスタイル
この発表についての質疑応答の時*/
.expand-content h5{
    font-weight: bold;
    font-size: 1.6rem;
    border-bottom: 1px dashed var(--darkgray);
    margin-bottom: 0.4rem;
}
.expand-qa p{
    text-indent: 0;
    line-height: 1.8;
    font-size: 90%;
    margin-bottom: 0.2rem;
}
/*ボタンのスタイル*/
.expand-content button {
    position: absolute;
    left: 20px;
    bottom: 20px;
    cursor: pointer;
    color: #fff;
    background: #000;
    border: none;
    padding: 0 2rem;
    border-radius: 0.2rem;
    width: 280px;
    text-align: center;
    font-size: 86%;
}
.expand-content .caption{
    font-weight: bold;
}
@media screen and (max-width: 767.98px) {
    /*スマートフォンの時のボタンスタイル*/
    .expand-content button{
        width: 80%;
    }
}
/* =========================================================== */
/* アコーディオン */
/* =========================================================== */
/* アコーディオンヘッダの調整 */
/* =========================================================== */
.accordion_header.layer-1 {
    cursor: pointer;
}
.accordion_header.layer-2 {
    background: var(--color-info);
    color: var(--white);
    font-family: var(--font-serif);
    text-align: center;
    font-size: 2.0rem;
    padding: 0.2rem;
    cursor: pointer;
    position: relative;
    margin-bottom: 3rem;
    width: 90%;
    margin: 0 auto 5rem;
}
.accordion_header.layer-1:hover, .accordion_header.layer-2:hover {
    opacity: 0.7;
}
/* アコーディオンの矢印 Layer-1 */
/* =========================================================== */
.accordion_header.layer-1 .accordion-arrow {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(-50%, -50%);
    background: var(--white);
    border: 1px solid var(--color-info);
}
.accordion_header.layer-1 .accordion-arrow::after {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 13px;
    top: calc(50% + 4px);
    left: calc(50% - 1px);
    background-color: var(--color-info);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 16 16"><path d="M1,0.343L6.657,6,5.95,6.707,0.293,1.05ZM6.657,6L1,11.657,0.293,10.95,5.95,5.293Z"/></svg>');
    -webkit-mask-size: contain;
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 16 16"><path d="M1,0.343L6.657,6,5.95,6.707,0.293,1.05ZM6.657,6L1,11.657,0.293,10.95,5.95,5.293Z"/></svg>');
}
.accordion_header.layer-1.open .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(-90deg);
    top: calc(50% - 4px);
    left: calc(50% + 2px);
}
/* 初期の表示に合わせて、矢印を調整 */
.accordion_header.layer-1.stay .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(-90deg);
    top: calc(50% - 4px);
    left: calc(50% + 2px);
}
.accordion_header.layer-1.stay.open .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(90deg);
    top: calc(50% + 4px);
    left: calc(50% - 1px);
}
/* アコーディオンの矢印　Layer-2 */
/* =========================================================== */
.accordion_header.layer-2 .accordion-arrow {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(-50%, -50%);
    background: white;
}
.accordion_header.layer-2 .accordion-arrow::after {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 13px;
    top: calc(50% + 4px);
    left: calc(50% - 1px);
    background-color: var(--color-info);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 16 16"><path d="M1,0.343L6.657,6,5.95,6.707,0.293,1.05ZM6.657,6L1,11.657,0.293,10.95,5.95,5.293Z"/></svg>');
    -webkit-mask-size: contain;
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 16 16"><path d="M1,0.343L6.657,6,5.95,6.707,0.293,1.05ZM6.657,6L1,11.657,0.293,10.95,5.95,5.293Z"/></svg>');
}
.accordion_header.layer-2.close .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(-90deg);
    top: calc(50% - 4px);
    left: calc(50% + 2px);
}
/* 初期の表示設定 */
/* stayをつけたものは、初期で開いたままにする（accordion_header, accordion_innner 双方にstayをつけること） */
/* =========================================================== */
.accordion_inner.layer-1.stay {
    display: block;
}
.accordion_inner.layer-1, .accordion_inner.layer-2 {
    display: none;
}
.accordion_inner.layer-2{
    width: 90%;
    margin: 0 auto;
}
/* Youtubeの埋め込みをレスポンシブ対応に */
/* =========================================================== */
.youtube {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 16 / 9;
    margin-bottom: 1rem;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}
.accordion_inner .accordion_inner {
    /* background: palegoldenrod; */
}
/* プログラム詳細の装飾 */
/* 総合司会 */
.general-moderator{
    background: var(--lite-gray);
    padding: 1rem 2rem;
    font-weight: bold;
    border-radius: 0.2rem;
}
/* イベントのタイムテーブル内 */
dl.event-timetable dt{
    font-weight: normal;
}
dl.event-timetable h4{
    font-size: 120%;
}
/* 休憩は受付開始など、セッションとは関係ない場合の見出し */
dl.event-timetable h4.subsessionTitle{
    color: var(--black);
    padding-left: 0;
    font-size: 100%;
}
dl.event-timetable h4.subsessionTitle::before{
    content: none;
}
dl.event-timetable h5{
    font-weight: bold;
    font-size: 110%;
}
/* タイムテーブルの中の講演リスト */
dl.event-timetable .seminar-list{
    /* margin-left: 2rem; */
    /* width: calc(100% - 2rem); */
    width: 100%;
    border: 1px solid var(--gray);
    padding: 1.6rem;
}
dl.event-timetable ol h5:after{
    content: "";
    width: calc(100% + 2rem);
    height: 1px;
    background: #000;
    display: block;
    position: relative;
    left: -2rem;

}
.event-caption{
    font-size: 80%;
}
.section p.speaker{
    text-indent: 0;
}