@charset "UTF-8";

/*-----------------------------------
	ページごとの設定
-----------------------------------*/

/*----- page_home -----*/
#page_home {
	box-sizing: border-box;
	width: 770px;
	background-color: white;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	text-align: left;
}

#page_home .meeting_info {
	margin: 0;
	min-height: 367px;
}

#page_home .meeting_info img {
	vertical-align: bottom;
	line-height: .5rem;
}

#page_home .term_notice {
	display: flex;
	justify-content: space-between;
	padding: 30px 35px;
}

#page_home .term_box {
	margin: 0 auto;
	padding: 8px 10px;
	width: 49%;
	background: rgb(255, 255, 255);
	border: solid 2px rgb(10, 67, 37);
	border-radius: 6px;
	color: rgb(10, 67, 37);
	font-weight: 700;
	text-align: center;
}

#page_home .term_box .title {
	margin: 0 0 3px;
	padding-bottom: 3px;
	border-bottom: dotted 1px rgb(10, 67, 37);
	font-size: 1.25rem;
	line-height: 1.3;
}

#page_home .term_box .term {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
}

#page_home .term_box .note {
	margin: 0;
	font-size: .625rem;
	line-height: 1.6;
}

#change_log {
	box-sizing: border-box;
	margin: 50px auto;
	width: 90%;
	background-color: white;
	/* background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1)35px); */
}

#change_log h2 {
	margin: 0;
	padding-bottom: 0.2rem;
	padding-top: 0.1rem;
	padding-left: 0.7rem;
	border-bottom: solid 1px rgb(180, 180, 180);
	font-size: 1.5rem;
	background-color: rgb(255, 242, 58);
	color: #32467a;
	font-weight: 500;
	line-height: 1.5;
}

#change_log .log_outer {
	height: 250px;
	overflow-y: scroll;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
}

#change_log dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	font-size: 1rem;
}

#change_log dl dt,
#change_log dl dd {
	box-sizing: border-box;
	padding-top: .8em;
	padding-bottom: .8em;
	border-bottom: dotted 1px rgb(180, 180, 180);
	line-height: 1.5;
}

#change_log dl dt {
	padding-left: 6px;
	width: 130px;
}

#change_log dl dt::before {
	box-sizing: border-box;
	content: "●";
	font-size: 12px;
	display: inline-block;
	margin-right: 8px;
	border-radius: 2.5px;
	vertical-align: 10%;
	color: #32467a;

}

#change_log dl dd {
	margin: 0;
	width: calc(100% - 130px);
}

#change_log dl dd a {
	color: rgb(234, 85, 50);
	transition: opacity .2s ease-out;
}

#change_log dl dd a:hover {
	opacity: .5;
}

/*------------------------------
	page_message
------------------------------*/
#page_message .text {
	text-indent: 1em;
}

#page_message .photo {
	margin: 1rem 1rem 0 1rem;
	width: 160px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	float: right;
}

#page_message .photo img {
	display: block;
	width: 100%;
	line-height: 0;
}

#page_message .title {
	margin: 168px 0 0;
	padding-right: 1rem;
	font-size: .875rem;
	line-height: 1.5;
	text-align: right;
}

#page_message .name {
	margin: 0;
	padding-right: 1rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: right;
}

#page_message .name small {
	font-size: .875rem;
	font-weight: 400;
}

#page_message .affi {
	margin: 0 0 1rem;
	padding-right: 1rem;
	font-size: .875rem;
	text-align: right;
}

#page_message .main_text {
	text-indent: 1em;
}

#page_message .main_text p {
	margin: 0;
}

/*------------------------------
	page_overview
------------------------------*/
#page_overview dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	border-top: solid 1px rgb(200, 200, 200);
}

#page_overview dl dt,
#page_overview dl dd {
	box-sizing: border-box;
	padding: 1.2em 0.6em;
	border-bottom: solid 1px rgb(200, 200, 200);
}

#page_overview dl dt {
	margin: 0;
	width: 140px;
	color: rgb(58, 76, 101);
	display: block;
}

#page_overview dl dt b {
	font-weight: 700;
	min-width: 5em;
	display: inline-block;
	text-align-last: justify;
}

#page_overview dl dd {
	margin: 0;
	width: calc(100% - 140px);
}

#page_overview dl dd .affi {
	display: block;
	line-height: 1.5;
	font-size: 1.4em;
}

/*--補足・注（先頭に※や＊の付く所）--*/
#page_overview .note_large {
	padding-left: 1em;
	font-size: 1.6rem;
	text-indent: -1em;
}

#page_overview span.note_large {
	display: block;
}

/*------------------------------
	page_program
------------------------------*/
#page_program .program_list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	list-style: none;
	padding: 1rem 0;
	margin: 0;
	justify-content: left;
}

#page_program .program_list li {
	margin: 0;
}

#page_program .program_list li a {
	display: inline-block;
	background: #6a5acd;
	/* 紫 */
	color: #fff;
	padding: 0.6em 2.8em 0.6em 1.2em;
	border-radius: 2rem;
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: none;
	position: relative;
	min-width: 200px;
	text-align: center;
	/* テキスト中央揃え */
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#page_program .program_list li a::after {
	content: '→';
	position: absolute;
	right: 0.8em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.1rem;
	transition: transform 0.3s ease;
	pointer-events: none;
}

#page_program .program_list li a:hover {
	background: brown;
	color: #fff;
}

#page_program .program_list li a:hover::after {
	transform: translateY(-50%) translateX(4px);
}

#page_program section>section {
	margin-bottom: 4em;
}

#page_program p:has(.date_and_time) {
	text-align: right;
}

#page_program .date_and_time {
	margin-top: -.5rem;
	padding: .3em .4em;
	border-bottom: solid 1px rgb(200, 200, 200);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1em;
}

#page_program .date_and_time .red_box {
	display: inline-block;
	padding: 0 5px;
	color: black;
}

#page_program .session_theme {
	margin: .8em 0 .8em 1rem;
	padding-bottom: .1em;
	padding-left: 0.5em;
	font-size: 1.2rem;
	font-weight: 700;
	border-bottom: solid 2px rgb(209, 154, 195);
	color: rgb(93, 48, 107);
	line-height: 1.4;
}

#page_program .speakers_box {
	margin: 0 0 0 1rem;
	line-height: 1.6;
}

#page_program .speakers_box dt {
	margin: 0;
	width: 110px;
	border: solid 1px rgb(93, 48, 107);
	border-radius: 3px;
	font-size: .875em;
	font-weight: 700;
	color: rgb(93, 48, 107);
	text-align: center;
	float: left;
}

#page_program .speakers_box dd {
	margin: 0 0 0 125px;
	padding-bottom: .6em;
	font-size: .937em;
	font-weight: 700;
}

#page_program .speakers_box dd:has(.title) {
	padding-bottom: 0;
}

#page_program .speakers_box dd .title {
	display: block;
	margin-top: .5em;
	margin-bottom: .2em;
	padding-bottom: .2em;
	border-bottom: dotted 1px rgb(180, 180, 180);
	font-size: 1.1em;
	color: rgb(100, 40, 0);
	line-height: 1.5;
}

#page_program .speakers_box dt+dd .title {
	margin-top: -.05em;
}

#page_program .speakers_box dd .affi {
	display: inline-block;
	padding-left: .5em;
	font-size: .9em;
	font-weight: 400;
	text-indent: -.5em;
}

#page_program .speakers_box dd .affi::before {
	content: "（";
}

#page_program .speakers_box dd .affi::after {
	content: "）";
}

#page_program .speakers_box dd+dt,
#page_program .speakers_box dd+dt+dd {
	margin-top: .5em;
}

#page_program .session_wrap {
	display: flex;
}

#page_program .credit {
	margin: .9em 0 2.5em 1rem;
	padding: .1em .5em;
	border: solid 1px rgb(93, 48, 107);
	border-radius: 3px;
	font-weight: 700;
}

#page_program .credit::before {
	content: "";
	box-sizing: border-box;
	display: inline-block;
	margin-right: 6px;
	width: 8px;
	height: 8px;
	border: solid 2px rgb(93, 48, 107);
	border-radius: 4px;
	vertical-align: 6%;
}

#page_program .blue_box {
	display: inline-block;
	padding: 0 5px;
	background: rgb(4, 110, 238);
	font-size: .937rem;
	color: rgb(255, 255, 255);
}


/*------------------------------
	page_cfa
------------------------------*/
#page_cfa .period {
	padding: .5em 1em;
	border: solid 2px rgb(255, 130, 130);
	border-radius: 5px;
	color: rgb(255, 130, 130);
	text-align: center;
	font-size: 1.062rem;
	font-weight: 700;
}

#page_cfa .period p {
	padding: .5em 1em;
	border: solid 2px rgb(255, 130, 130);
	border-radius: 5px;
	color: rgb(255, 130, 130);
	text-align: center;
	font-size: 1.062rem;
	font-weight: 700;
}

#page_cfa .flowchart {
	display: flex;
	flex-wrap: wrap;
	box-sizing: content-box;
}

#page_cfa .flowchart ol {
	display: flex;
	justify-content: center;
	margin: 1rem 0;
	padding: 0;
	font-size: .937rem;
	line-height: 1.5;
	text-align: center;
	list-style: none;
	counter-reset: "count 0";
	flex: 1;
}

#page_cfa .flowchart ol li {
	position: relative;
	display: flex;
	flex-wrap: wrap-reverse;
	margin-left: 30px;
	counter-increment: count 1;
}

#page_cfa .flowchart ol li:after {
	content: "STEP"counter(count);
	display: block;
	width: 100%;
	padding: 0.3em;
	background: rgb(150, 180, 160);
	color: rgb(255, 255, 255);
}

#page_cfa .flowchart ol li::before {
	position: absolute;
	top: 38%;
	left: -24px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: 1.6rem;
	height: 1rem;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 200, 100, 1);
	border-width: .8rem;
	transition: .2s ease-out;
}

#page_cfa .flowchart ol li:last-child {
	margin-right: 0;
}

#page_cfa .flowchart ol:first-child li:first-child {
	margin-left: 0;
}

#page_cfa .flowchart ol:first-child li:first-child::before {
	content: none;
}

#page_cfa .flowchart ol li.end::after {
	content: none;
}

#page_cfa .flowchart ol li .description {
	margin: 0;
	padding: 1rem 1rem 2rem .8rem;
	width: 100%;
	min-height: 35px;
	background: rgb(210, 230, 220);
}

#page_cfa .flowchart ol li.end .description {
	background: rgb(50, 140, 80);
	color: rgb(255, 255, 255);
	padding: 45px 41px 0;
}

#page_cfa .step_box {
	list-style: none;
	counter-reset: count 0;
	padding: 0;
}

#page_cfa .step_box>li {
	margin: 50px 0 0 15px;
	padding-left: 18px;
	border-top: solid 3px rgb(80, 120, 180);
	border-left: solid 1px rgb(80, 120, 180);
	counter-increment: count 1;
}

#page_cfa .step_box>li:before {
	content: "STEP"counter(count);
	position: relative;
	top: 0.5em;
	margin: 1.8em 0 0.5em;
	padding-bottom: 0.3em;
	border-bottom: dotted 1px rgb(180, 180, 220);
	font-size: 1.125rem;
	color: rgb(0, 120, 160);
	line-height: 1.4;
	display: block;
	font-weight: 600;
}

#page_cfa .step_box .step_summary {
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: solid 1px rgb(80, 120, 180);
}


/*------------------------------
	page_venue
------------------------------*/
#page_venue p {
	text-indent: 0;
}

#page_venue .venuename {
	font-size: 1.25rem;
	font-weight: 700;
}

#page_venue .googlemap {
	margin: 1.5em 0;
	width: 100%;
	height: 400px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}


/*------------------------------
	page_link
------------------------------*/
#page_link dl dt::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 2px;
	display: block;
	width: 4px;
	height: 4px;
	background: rgb(239, 57, 74);
}

#page_link dl dt {
	box-sizing: border-box;
	font-weight: 700;
	padding-left: 1em;
	position: relative;
}

#page_link dl dd {
	box-sizing: border-box;
	margin: 0 0 25px 18px;
	font-weight: 700;
}

#page_link dl dd a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	position: relative;
	/* border-bottom:1px rgba(60,60,60,0) dotted; */
	color: rgb(0, 100, 160);
	text-decoration: none;
	transition: .4s ease-out;
	transition-property: background, color, border-radius, padding-left;
}

#page_link dl a:hover {
	display: inline-block;
	padding-left: 10px;
	/* border-bottom:1px rgb(0,100,160) dotted; */
	transition: .2s ease-out;
	transition-property: background, color, border-radius, padding-left;
}

#page_link dl a::after {
	content: "";
	position: absolute;
	right: 0;
	width: 10px;
	height: 0px;
	margin: auto;
	border-left: 10px solid rgb(234, 85, 50);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	transition: .2s ease-out;
}

#page_link dl a:hover::after {
	content: "";
	position: absolute;
	right: 10px;
	width: 10px;
	height: 0px;
	margin: auto;
	border-left: 10px solid rgb(234, 85, 50);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

address {
	font-style: normal;
}

.instruction {
	img {
		width: 100%;
		box-shadow: 0 0 1px #333;
	}

	.arrow {
		width: 100px;
		box-shadow: none;
		position: absolute;
		top: 480px;
	}

	.arrow.right {
		right: -20px;
	}

	.arrow.left {
		transform: scaleX(-1);
		left: -20px;
	}

	table.type03 {
		position: relative;
		margin: 40px auto;

		th,
		td {
			vertical-align: text-top;
			border: 1px solid black;
		}

		th {
			font-size: 21px;
		}
	}

	.table_text {
		font-size: 16px;
		text-indent: -16px;
		padding-left: 16px;
		margin: 0;
		font-weight: 600;
	}

}

.main_area .abst_text {
	text-align: right;
}

.note.regist {
	text-indent: -26px;
	padding-left: 26px;
}

#page_registration table.type01 {

	th,
	td {
		padding: 0.7em 0.4em;
		vertical-align: middle;
	}

	th {
		width: 11%;
	}

	th:nth-child(1) {
		width: 37%;
	}

	th:nth-child(2) {
		width: 22%;
	}

	th:nth-child(3) {
		width: 20%;
	}

	.slash {
		background-image: linear-gradient(31deg, transparent 49%, black 49%, black 49%, transparent 51%, transparent);
		/* 右下がりの斜線 */
	}
}

#page_guidance .fee {

	th,
	td {
		text-align: center;
		vertical-align: middle;
	}

	td:first-child {
		text-align: left;
	}
}