/* ==================================================
	base
================================================== */

.main_content {
	line-height: 1.375;
}
.main_content img {
	height: auto;
}
.main_content p + p,
.main_content div + p,
.main_content ul + p,
.main_content ol + p,
.main_content dl + p,
.main_content img + p,
.main_content table + p {
	margin-top: 1em;
}
.main_content * + .button,
.main_content * + [class*="c-button-"] {
	margin-top: 20px;
}
.main_content .list_basic > li {
	line-height: inherit;
}
.main_content .list_basic > li::before {
	top: 0;
}



/* ----------------------------------------
	a
---------------------------------------- */

.main_content a:not([class]):link,
.main_content a:not([class]):visited {
	color: inherit;
	text-decoration: underline;
}
.main_content a:not([class]):hover {
	text-decoration: none;
}



/* ----------------------------------------
	breadcrumbs, title
---------------------------------------- */

.page_title_area_aem {
	display: none;
}

@media screen and (max-width: 1023px) {
	.breadcrumbs.for_mobile {
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.breadcrumbs.for_pc {
		display: none;
	}
}



/* ----------------------------------------
	page_top
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.page_top {
		padding: 0;
		border-top: none;
	}
	.page_top_text {
		display: none;
	}
}





/* ==================================================
	common
================================================== */

/* ----------------------------------------
	color
---------------------------------------- */

:root {
	--color100: #4759f5;
	--color90: #5969f6;
	--color80: #6c7af7;
	--color70: #7e8af8;
	--color60: #919bf9;
	--color50: #a3acfa;
	--color40: #b5bdfb;
	--color30: #c7cdfc;
	--color20: #dadefd;
	--color10: #eceefe;
}

.bg100 { background-color: var(--color100) !important; }
.bg90 { background-color: var(--color90) !important; }
.bg80 { background-color: var(--color80) !important; }
.bg70 { background-color: var(--color70) !important; }
.bg60 { background-color: var(--color60) !important; }
.bg50 { background-color: var(--color50) !important; }
.bg40 { background-color: var(--color40) !important; }
.bg30 { background-color: var(--color30) !important; }
.bg20 { background-color: var(--color20) !important; }
.bg10 { background-color: var(--color10) !important; }



/* ----------------------------------------
	cont_wrap
---------------------------------------- */

.cont_wrap {
	padding: 40px 20px;
}

@media screen and (min-width: 768px) {
	.cont_wrap {
		padding: 60px 30px;
	}
}



/* ----------------------------------------
	title
---------------------------------------- */

/* title_line -------------------- */

.title_line {
	padding: 40px 20px 15px;
	border-bottom: 1px solid #000;
}
.title_line.cv_white {
	color: #fff;
	border-bottom-color: #fff;
}

@media screen and (min-width: 768px) {
	.title_line {
		padding: 50px 30px 15px;
	}
}


/* title_bar -------------------- */

.title_bar {
	padding: 15px 20px;
	background: var(--color100);
}

@media screen and (min-width: 768px) {
	.title_bar {
		padding: 20px 30px;
	}
}





/* ==================================================
	secondary_navi
================================================== */

.local_navi_menu_level1 > li a {
	text-decoration: none !important;
}



/* ----------------------------------------
	sp
---------------------------------------- */

@media screen and (max-width: 1023px) {
	body.secondary_navi_open {
		overflow: hidden;
	}
	.secondary_navi.open {
		overflow-y: auto;
		position: fixed;
		top: 0;
		max-height: 100%;
		z-index: 1000;
	}
	.local_navi .button_sp {
		margin-left: 10px;
		white-space: nowrap;
	}

	/* overlay -------------------- */
	.secondary_navi_overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,.75);
		z-index: 999;
	}

	/* close -------------------- */
	.secondary_navi_close {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		bottom: 35px;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 30px;
		background: #4d4d4d;
		border: 1px solid #fff;
		z-index: 1000;
	}
	.secondary_navi_close::after {
		display: inline-block;
		content: "";
		width: 12px;
		height: 12px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="9 9 12 12" version="1.1" preserveAspectRatio="xMinYMin"><path d="M 9 9 L 21 21 M 9 21 L 21 9" stroke="%23fff" stroke-width="1" fill="transparent"></path></svg>');
	}

	/* trigger -------------------- */
	.secondary_navi_trigger_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 62px;
		padding: 8px 1.6rem;
		background: #fff;
	}
	.secondary_navi_trigger {
		display: flex;
		align-items: center;
	}
	.secondary_navi_trigger::before {
		content: none;
	}
	.secondary_navi_trigger::after {
		display: inline-block;
		content: "";
		width: 12px;
		min-width: 12px;
		height: 6px;
		margin-left: 10px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="m455.465 769.707-1.847-.974 3.478-5.054-3.475-4.989 1.841-.983 4.156 5.966z" transform="rotate(90 611.663 158.045)"></path></svg>');
	}
	.secondary_navi_trigger.open::after {
		transform: scaleY(-1);
	}
	.secondary_navi_trigger h2 {
		font-size: 20px;
		font-weight: normal;
		line-height: 1.2;
	}

	/* menu -------------------- */
	.secondary_navi .local_navi_menu {
		position: static;
	}
	.local_navi_menu > h2,
	.local_navi_menu .button_pc {
		display: none;
	}

	/* level 1 -------------------- */
	.local_navi_menu_level1 > li {
		background: #fff;
		border-color: #e8e8e8;
	}
	.local_navi_menu_level1 > li a {
		color: #000;
	}
	.local_navi_menu_level1 > li a br {
		display: none;
	}
	.local_navi_menu_level1 > li > a:not(:only-child) {
		border-color: #e8e8e8;
	}
	.local_navi_menu_level1 > li.local_navi_level2_open {
		background: #fff;
	}

	/* level2 -------------------- */
	.local_navi_menu_level2 > li {
		background: rgba(243,243,243,1);
		border-top: none;
	}
	.local_navi_level2_trigger::after {
		content: "";
		width: 12px;
		height: 6px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="m455.465 769.707-1.847-.974 3.478-5.054-3.475-4.989 1.841-.983 4.156 5.966z" transform="rotate(90 611.663 158.045)"></path></svg>');
	}
	.local_navi_level2_open .local_navi_level2_trigger::after {
		content: "";
		transform: translate(-50%,-50%) scaleY(-1);
	}
}

@media screen and (max-width: 479px) {
	.local_navi .button_sp .button {
		padding: .5em;
		font-size: 12px;
	}
	.secondary_navi_trigger h2 {
		font-size: 18px;
		line-height: 1.1;
	}
	.secondary_navi_trigger h2 span {
		display: block;
		margin-top: 3px;
		font-size: 11px;
	}
}



/* ----------------------------------------
	pc
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.local_navi {
		width: 100vw;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding: 0 20px;
		background: #fff;
	}
	.secondary_navi_trigger_wrap {
		display: none;
	}
	.local_navi .local_navi_menu {
		display: flex !important;
		justify-content: flex-end;
		align-items: center;
		max-width: 1220px;
		height: 72px;
		margin: 0 auto;
	}
	.local_navi_menu a {
		color: #000;
	}
	.local_navi_menu > h2 {
		margin-right: auto;
		font-size: 20px;
		font-weight: normal;
		line-height: 1;
		text-decoration: none;
	}
	.local_navi_menu > h2 a {
		color: #000;
		text-decoration: none;
	}
	.local_navi_menu > h2 a:hover {
		text-decoration: underline;
	}
	.local_navi_menu_level1 {
		display: flex;
		justify-content: space-between;
		height: 100%;
		margin-left: 30px;
		white-space: nowrap;
	}
	.local_navi_menu_level1 > li {
		margin-right: 30px;
	}
	.local_navi_menu_level1 > li > a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		height: 100%;
		color: #000;
		line-height: 1.4;
	}
	.local_navi_menu_level1 > li.current > a::after,
	.local_navi_menu_level1 > li > a:hover::after {
		display: block;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 4px;
		background: #165dba;
	}
	.local_navi .button_pc {
		white-space: nowrap;
	}

	/* level2 -------------------- */
	.local_navi_menu_level2_area {
		top: 100%;
		left: -20px;
	}
	.local_navi_menu_level2 {
		min-width: 300px;
		background: #fff;
		border: 1px solid #e8e8e8;
		box-shadow: 0 12px 12px 0 rgb(0 0 0 / 20%);
	}
	.local_navi_menu_level2 li a {
		display: block;
		padding: 10px 20px;
		text-align: left;
		transition: .2s;
		white-space: nowrap;
	}
	.local_navi_menu_level2 li a:hover {
		color: #165dba;
		text-decoration: none;
		background: #e6fcff; /*rgba(44,48,56,.05)*/
	}
}





/* ==================================================
	main
================================================== */

.main {
	position: relative;
}
.main img {
	object-fit: cover;
	width: 100%;
	min-height: 306px;
}
.main .text_area {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #fff;
	background: rgba(0,0,0,.4);
}
.main .text_area .inner {
	padding: 15px 20px;
	border-top: 1px solid #fff;
}

@media screen and (max-width: 767px) {
	.main img {
		max-height: 750px;
	}
}

@media screen and (min-width: 768px) {
	.main img {
		object-position: 30%;
		height: auto;
	}
	.main .text_area .inner {
		padding-right: 30px;
		padding-left: 30px;
	}
}





/* ==================================================
	intro
================================================== */

.intro {
	/* color: #fff; */
	/* background: #000; */
}
.intro_title {
	margin-bottom: 40px;
}





/* ==================================================
	overview
================================================== */

.overview_cont {
	padding: 40px 20px;
}

@media screen and (min-width: 768px) {
	.overview_cont {
		padding-right: 30px;
		padding-left: 30px;
	}
}

@media screen and (min-width: 1024px) {
	.overview_cont {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		padding: 40px 30px 60px;
	}
	.overview_cont::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 1px;
		height: 100%;
		margin: auto;
		background: #000;
	}
	.overview_cont > h2 {
		width: 100%;
	}
	.overview_cont > div {
		width: 50%;
	}
	.overview_cont > :nth-child(2) {
		padding-left: 40px;
	}
/*
	.overview_cont > :nth-child(3) {
		padding-left: 40px;
	}
*/
}



/* ----------------------------------------
	overview_list
---------------------------------------- */
#overview .h2 {
    padding-left: 20px;
    padding-right: 20px;
}
@media screen and (max-width: 1023px) {
	.overview_list > dt {
		padding-top: 20px;
		border-top: 1px solid #000;
	}
	.overview_list > dd {
		padding: .5em 0 20px;
	}
	.overview_cont > :nth-child(3) .overview_list > dd:last-child {
		padding-bottom: 0;
	}
}

@media screen and (min-width: 1024px) {
	.overview_list {
		position: relative;
		font-size: 18px;
	}
	.overview_list > dt {
		clear: both;
		float: left;
	}
	.overview_list > dd {
		padding: 0 0 25px 5em;
	}
	.overview_list > dd:last-child {
		padding-bottom: 0;
	}
}
@media screen and (min-width: 1280px) {
#overview .h2 {
    padding-left: 0;
    padding-right: 0;
}
}



/* ==================================================
	program
================================================== */

.program {
    background: #fff;
}
.program .h1 {
    border-bottom: 1px solid #000;
    padding-bottom: 15px;
}
/* ----------------------------------------
	speaker_list
---------------------------------------- */

.speaker_list {
	display: grid;
	row-gap: 30px;
	margin-top: 10px;
}
.speaker_list > li {
	display: grid;
	row-gap: 20px;
	padding: 10px;
}
.speaker_list .profile {
	display: flex;
	flex-direction: column;
	row-gap: 15px;
}
.speaker_list .profile h4,
.speaker_list .profile2 h4,
.speaker_list .profile3 h4,
.speaker_list .profile4 h4 {
	font-size: 20px;
}
.program_content .annotation {
    font-size: 13px;
    color: #767676;
    padding-top: 10px;
}
.speaker_list > li {
    /* border-bottom: 1px solid #ccc; */
    /* padding-bottom: 30px; */
}
.profile .d_flex_sm:first-child {
        /* border-bottom: 1px solid #ccc; */
        /* padding-bottom: 20px; */
        /* margin-bottom: 20px; */
}
.profile3 .d_flex_sm > div:first-child {
     margin-right: 70px;
}

@media screen and (min-width:480px) and ( max-width:767px) {
	.profile .d_flex_sm > div:first-child {
        width: 300px;
        margin-right: 20px;
    }
}

@media screen and (min-width: 1024px) {
    .speaker_list .profile {
		display: grid;
        grid-template-columns: 180px 360px 423px;
	}
	.speaker_list .profile2 {
		display: grid;
        grid-template-columns: 180px 1000px;
	}
	.speaker_list .profile3 {
		display: grid;
        grid-template-columns: 540px 423px;
	}

    .speaker_list .profile h3,
    .speaker_list .profile2 h3,
    .speaker_list .profile3 h3,
    .speaker_list .profile4 h3 {
		font-size: 20px;
        padding-right: 20px;
	}
    .profile .d_flex_sm > div:first-child {
        width: 120px;
    }
    .profile2 .d_flex_sm > div:first-child {
        width: 120px;
    }
    .profile3 .d_flex_sm > div:first-child {
        width: 120px;
    }
    .program_content .annotation {
        text-align: right;
    }
}
@media screen and (max-width: 1023px) {
.profile .d_flex_sm > div {
    text-align: center;
}
.profile .d_flex_sm > div:last-child {
    margin-top: 10px;
}

}
@media screen and (min-width:768px) and ( max-width:1023px) {
	.profile .d_flex_sm > div {
	    text-align: left;
	}
    .profile .d_flex_sm > div:first-child {
        width: 120px;
    }
	.profile3 .d_flex_sm {
	    margin-top: 10px;
	}
    .profile3 .d_flex_sm > div {
	    padding-right: 10px;
	}
	.profile3 .d_flex_sm > div:first-child {
        padding-right: 30px;
    }
}

@media screen and (min-width: 1024px) {
    .speaker_list .profile2 {
	    grid-template-columns: 100px 800px;
	}
    .speaker_list .profile4 {
	    width: 950px;
	}
	.profile3 .d_flex_sm > div {
	    text-align: left;
	}
}

@media screen and (min-width: 1280px) {
	.speaker_list .profile {
	    grid-template-columns: 100px 540px 495px;
	}
	.speaker_list .profile2 {
	    grid-template-columns: 100px 1000px;
	}
	.speaker_list .profile3 {
	    grid-template-columns: 760px 450px;
	}
	.speaker_list .profile4 {
		width: 1200px;
	}
    .profile3 .d_flex_sm > div {
	    text-align: left;
	}
	.profile3 .d_flex_sm > div:first-child {
        margin-right: 20px;
    }
}



/* ----------------------------------------
	history
---------------------------------------- */

.history {
	margin-top: 2em;
}
.history dd {
	padding: .3em 0 2em 1em;
}
.history dd:last-child {
	padding-bottom: 0;
}
.history .list_basic {
	margin-top: 10px;
}
.history .list_basic > li:nth-child(n+2) {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.history dt {
		clear: both;
		float: left;
	}
	.history dd {
		padding-top: 0;
		padding-left: 5em;
	}
}





/* ==================================================
	exhibition
================================================== */

.exhibition_list,
.exhibition_list2 {
	display: grid;
	gap: 40px 30px;
	margin-top: 40px;
}
.exhibition_list .img_area,
.exhibition_list2 .img_area {
	position: relative;
	background: #fff;
}
.exhibition_list .img_area {
	border: 1px solid #fff;
}
.exhibition_list .img_area img,
.exhibition_list2 .img_area img {
	width: 100%;
}
.exhibition_list .img_area .flag,
.exhibition_list .img_area .flag2,
.exhibition_list .img_area .flag3,
.exhibition_list2 .img_area .flag,
.exhibition_list2 .img_area .flag2,
.exhibition_list2 .img_area .flag3 {
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 0;
	/*min-width: 160px;*/
	min-height: 32px;
	padding: 5px 10px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 1.1;
	background: var(--color100);
}
.exhibition_list .img_area .flag2,
.exhibition_list2 .img_area .flag2 {
	background: #ff5050;
}
.exhibition_list .img_area .flag3,
.exhibition_list2 .img_area .flag3 {
	background: #568393;
}
.exhibition_list .title_area,
.exhibition_list2 .title_area {
	display: flex;
	align-items: center;
	padding: 20px 0 10px;
	border-bottom: 1px solid #000;
}
.exhibition_list .text_area,
.exhibition_list2 .text_area {
	margin-top: 15px;
}
.exhibition_list .btn_area,
.exhibition_list2 .btn_area {
	display: flex;
	flex-direction: column;
	margin-top: 20px;
}
.exhibition_list .btn_area a + a,
.exhibition_list2 .btn_area a + a {
	margin-top: 10px;
}

@media screen and (min-width: 480px) {
	.exhibition_list,
	.exhibition_list2 {
		grid-template-columns: repeat(2,1fr);
	}
}

@media screen and (min-width: 768px) {
	.exhibition_list,
	.exhibition_list2 {
		grid-template-columns: repeat(3,1fr);
	}
}

@media screen and (min-width: 1024px) {
	.exhibition_list,
	.exhibition_list2 {
		grid-template-columns: repeat(4,1fr);
	}
	.exhibition_list .img_area img,
	.exhibition_list2 .img_area img {
		max-width: 280px;
	}
}





/* ==================================================
	contact
================================================== */

@media screen and (max-width: 767px) {
	.contact_info dt {
		margin-top: 15px;
	}
}

@media screen and (min-width: 768px) {
	.contact_info dt {
		clear: both;
		float: left;
	}
}


