@charset "UTF-8";

/* トップページ以外の本文幅をここで一括管理します。
   各ページの既存CSS・style要素より後に読み込んでください。 */
:root {
    --page-layout-max-width: 1140px;
    --page-layout-side-padding: 40px;
}

/* 左端の位置を保ち、右欄に使っていた幅まで本文を広げます。 */
.page-layout.container,
.page-layout.page-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--page-layout-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--page-layout-side-padding);
    padding-right: var(--page-layout-side-padding);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.page-layout > main,
.page-layout > aside {
    min-width: 0;
}

/* 戻るリンクは本文の後に置き、読み上げ順も表示順に揃えます。 */
.page-layout > .page-return {
    padding-left: 0;
    margin-bottom: 24px;
}

.page-return .sidebar-section,
.page-return .return-link {
    margin-bottom: 0;
}

.page-return .return-link a {
    display: inline-block;
}

/* 研究集会ページの案内は、本文の後に1列で表示します。 */
.conference-layout > .sidebar {
    display: block;
}

.conference-layout.page-shell > .sidebar > section {
    margin-bottom: 34px;
}

.conference-layout > main > section > p {
    max-width: none;
}

/* 研究集会ページの小画面表示に合わせて左右余白を縮めます。
   個人ページの既存の最小幅設定はstyle.cssで維持します。 */
@media (max-width: 900px) {
    .conference-layout {
        --page-layout-side-padding: 20px;
    }
}

@media (max-width: 600px) {
    .conference-layout {
        --page-layout-side-padding: 16px;
    }
}
