@charset "UTF-8";

/* ==================================================

WEB FONT

*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Roboto:wght@400;500;600;700&display=swap");

@font-face {
	font-family: 'icon';
	src: url('../fonts/icon.woff?v=1') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

/* ==================================================

CONFIG

*/
:root {
	--color-primary: #E61F19;
	--color-secondary: #1a55c4;
	--icon-link-arrow: "\e900";
	--icon-link-blank: "\e901";
	--icon-link-download: "\e902";
}

/* ==================================================

RESET

*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: transparent;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
ul, ol {
	list-style-type: none;
}
table {
	border-collapse: collapse;
}
a, button {
	cursor: pointer;
}
img {
	vertical-align: top;
	width: 100%;
	height: auto;
}
input, select, textarea, button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	resize: none;
}

::placeholder {
	color: #ccc;
}
::-ms-input-placeholder {
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}

/* ==================================================

HTML

*/
html {
	background-color: #1e1e1e;
	/* 1rem = 10px */
	font-size: 62.5%;
}
@media screen and (max-width: 1180px) {
	html {
		/* 幅1180px 1rem = 10px */
		font-size: calc(10 / 1180 * 100vw);
	}
}
@media screen and (max-width: 980px) {
	html {
		/* 幅980px 1rem = 10px */
		font-size: 62.5%;
	}
}
@media screen and (max-width: 768px) {
	html {
		/* 幅375px 1rem = 10px */
		font-size: calc(10 / 375 * 100vw);
	}
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.75;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body::before {
	content: '';
	display: block;
	position: fixed;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-image: url(../img/bg.jpg);
	background-size: 100% auto;
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
		line-height: 1.7;
		letter-spacing: 0;
	}
}

a {
	color: #1A55C4;
}

main {
	position: relative;
	overflow: hidden;
	padding: 0 40px;
}
@media screen and (max-width: 980px) {
	main {
		padding: 7.4rem 0 0 0;
	}
}

/* ==================================================

ICON

*/
[class^="icon-"],
[class*=" icon-"] {
	font-family: 'icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.icon-link-arrow:before {
	content: "\e900";
}
.icon-link-blank:before {
	content: "\e901";
}
.icon-link-download:before {
  content: "\e902";
}

/* ==================================================

[ LAYOUT ] header

*/
.l-header {
	display: none;
	position: fixed;
	z-index: 990;
	top: 0;
	left: 0;
	width: 100%;
}
.l-header__container {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 1.8rem;
	z-index: 999;
	height: 7.4rem;
	background-color: #fff;
}
.l-header__logo a {
	display: block;
}
.l-header__logo img {
	width: auto;
	height: 3.8rem;
}
.l-header button {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 7.4rem;
	height: 100%;
}
.l-header button i {
	display: block;
	position: absolute;
	left: 1.4rem;
	top: 50%;
	height: 1px;
	background-color: var(--color-primary);
	transition: all 0.4s ease;
}
.l-header button i:nth-child(1) {
	margin-top: -0.7rem;
	width: 4rem;
}
.l-header button i:nth-child(2) {
	width: 3rem;
}
.l-header button i:nth-child(3) {
	margin-top: 0.7rem;
	width: 2rem;
}
.l-header button[aria-expanded='true'] i:nth-child(1) {
	margin-top: 0;
	width: 3.4rem;
	transform: rotate(45deg);
}
.l-header button[aria-expanded='true'] i:nth-child(2) {
	opacity: 0;
}
.l-header button[aria-expanded='true'] i:nth-child(3) {
	margin-top: 0;
	width: 3.4rem;
	transform: rotate(-45deg);
}
@media screen and (max-width: 980px) {
	.l-header {
		display: block;
	}
}

/* ==================================================

[ LAYOUT ] megamenu

*/
.l-megamenu {
	display: none;
	overflow: hidden;
	position: fixed;
	top: 7.4rem;
	left: 0;
	width: 100%;
	bottom: 100%;
	background-color: #fff;
	transition: bottom 0.4s ease;
}
.l-megamenu__outer {
	overflow-y: auto;
	height: 100%;
	overscroll-behavior: none;
}
@media screen and (max-width: 980px) {
	.l-megamenu[aria-hidden='false'] {
		display: block;
	}
	.l-megamenu.opened {
		bottom: 0;
	}
}

/* ==================================================

[ LAYOUT ] footer

*/
.l-footer {
	position: relative;
	padding: 4rem 4rem;
	background-color: #1E1E1E;
	color: #fff;
}
.l-footer__container {
	margin: 0 auto;
	max-width: 120rem;
}
.l-footer__row {
	display: flex;
}
.l-footer__item {
	display: flex;
	position: relative;
	margin-right: 6rem;
	padding-right: 6rem;
}
.l-footer__item:last-child {
	margin-right: 0;
	padding-right: 0;
}
.l-footer__item::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 1px;
	background-color: #fff;
}
.l-footer__item:last-child::before {
	content: none;
}
.l-footer__detail {
	font-size: 1.4rem;
	line-height: 1.6;
}
.l-footer__detail a {
	text-decoration: underline;
	color: inherit;
}
.l-footer__label {
	display: flex;
	margin-bottom: 0.5rem;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.4;
}
.l-footer__label span {
	display: block;
	padding: 0 0.4em 0.1em 0.4em;
	background-color: var(--color-primary);
}
.l-footer__name {
	font-weight: 600;
	font-size: 1.6rem;
}
.l-footer__block {
	display: flex;
	align-items: center;
	margin-top: 1rem;
	gap: 0.3rem;
}
.l-footer__block .l-footer__label {
	margin: 0;
}
.l-footer small {
	display: block;
	margin-top: 6rem;
	font-size: 1.2rem;
}
@media (any-hover: hover) {
	.l-footer__detail a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 980px) {
	.l-footer__row {
		display: block;
	}
	.l-footer__item {
		margin: 0 0 5rem 0;
		padding: 0;
	}
	.l-footer__item::before {
		content: none;
	}
}
@media screen and (max-width: 768px) {
	.l-footer {
		padding: 3rem 2rem 11rem 2rem;
	}
	.l-footer__container {
		max-width: initial;
	}
	.l-footer__item {
		margin: 0 0 2rem 0;
	}
	.l-footer__detail {
		font-size: 1.2rem;
	}
	.l-footer__label {
		font-size: 1.4rem;
	}
	.l-footer__name {
		font-size: 1.4rem;
	}
	.l-footer__block {
		margin-top: 2rem;
	}
	.l-footer small {
		margin-top: 0;
		text-align: center;
		font-size: 1rem;
	}
}

/* ==================================================

[ LAYOUT ] column

*/
.l-column {
	display: flex;
	margin: 0 auto;
	max-width: 120rem;
	background-color: rgba(255,255,255,0.5);
}
.l-column__side {
	flex-basis: 24.2rem;
	margin: 0 2.4rem;
	background-color: #fff;
}
.l-column__body {
	flex: 1;
	padding-bottom: 10rem;
	background-color: #fff;
}
.l-column__body a {
	text-decoration: underline;
}
@media (any-hover: hover) {
	.l-column__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 980px) {
	.l-column {
		display: block;
	}
	.l-column__side {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.l-column__body {
		padding-bottom: 2rem;
	}
}

/* ==================================================

[ LAYOUT ] side

*/
/* lang */
.l-side-lang {
	padding: 1rem;
}
.l-side-lang a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 4.8rem;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.6rem;
	text-align: center;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
}
.l-side-lang a::after {
	font-family: 'icon';
	content: var(--icon-link-arrow);
	position: absolute;
	top: 50%;
	right: 1.2rem;
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
	font-weight: normal;
}
/* bnr */
.l-side-bnr {
	padding: 1rem;
}
.l-side-bnr a {
	display: block;
	overflow: hidden;
	border-radius: 0.6rem;
}
/* home */
.l-side-home {
	margin: 1rem 0;
	background: linear-gradient(90deg, #E61F19 38%, #77110E 100%);
}
.l-side-home a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 2rem;
	height: 5rem;
	border-top: 1px solid #d5d5d5;
	border-bottom: 1px solid #d5d5d5;
	background-color: rgba(255,255,255,1);
	font-weight: 500;
	font-size: 1.4rem;
	color: #1E1E1E;
}
.l-side-home a::after {
	font-family: 'icon';
	content: var(--icon-link-arrow);
	position: absolute;
	top: 50%;
	right: 1.2rem;
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
	font-weight: normal;
}
.p-home .l-side-home a {
	background-color: rgba(255,255,255,0);
	color: #fff;
	pointer-events: none;
}
/* nav */
.l-side-nav {
	padding: 1rem 0;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.4;
}
.l-side-nav > ul > li {
	margin-bottom: 2rem;
}
.l-side-nav > ul > li > div {
	padding: 0.2em 2rem 0.3em 2rem;
	background-color: var(--color-primary);
	color: #fff;
}
.l-side-nav > ul > li > ul {
	border-top: 1px solid #d5d5d5;
}
.l-side-nav > ul > li > ul > li {
	background: linear-gradient(90deg, #E61F19 38%, #77110E 100%);
	border-bottom: 1px solid #d5d5d5;
}
.l-side-nav > ul > li > ul > li a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0.2em 2rem;
	min-height: 5.2rem;
	background-color: rgba(255,255,255,1);
	color: #1E1E1E;
}
.l-side-nav > ul > li > ul > li a::after {
	font-family: 'icon';
	content: var(--icon-link-arrow);
	position: absolute;
	top: 50%;
	right: 1.2rem;
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
	font-weight: normal;
}
.l-side-nav > ul > li > ul > li a[href="#"] {
	color: #ddd;
	pointer-events: none;
}
.l-side-nav > ul > li > ul > li a[href="#"]::after {
	content: none;
}
.l-side-nav > ul > li > ul > li .small {
	display: block;
	font-size: 1.3rem;
}
.l-side-nav > ul > li > ul > li .new {
	position: absolute;
	top: 50%;
	right: 2.8rem;
	padding: 0.3em 0.5em;
	border: 1px solid #FF0700;
	background-color: #fff;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.1;
	color: #FF0700;
	transform: translateY(-50%);
}
.l-side-foot {
	margin-bottom: 10rem;
}
.l-side-foot li:not(:last-child) {
	margin-bottom: 2rem;
}
@media (any-hover: hover) {
	.l-side-lang a {
		transition: all 0.3s ease;
	}
	.l-side-lang a:hover {
		background-color: #fff;
		color: var(--color-primary);
	}
	.l-side-home a {
		transition: all 0.3s ease;
	}
	.l-side-home a:hover {
		background-color: rgba(255,255,255,0);
		color: #fff;
	}
	.l-side-nav > ul > li > ul > li a {
		transition: all 0.3s ease;
	}
	.l-side-nav > ul > li > ul > li a:hover {
		background-color: rgba(255,255,255,0);
		color: #fff;
	}
}
@media screen and (max-width: 980px) {
	.l-side-nav br {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.l-side-bnr {
		margin: 0 auto;
		padding: 1rem 0 2rem 0;
		width: 60%;
	}
	.l-side-nav {
		padding: 0;
	}
	.l-side-foot {
		margin-bottom: 4rem;
		padding: 0 2rem;
	}
}

.p-home .l-side-nav .f-home,
.p-outline-greeting .l-side-nav .f-outline-greeting,
.p-outline-detail .l-side-nav .f-outline-detail,
.p-outline-venue .l-side-nav .f-outline-venue,
.p-information-participants .l-side-nav .f-information-participants,
.p-information-speaker .l-side-nav .f-information-speaker,
.p-information-nursery-room .l-side-nav .f-information-nursery-room,
.p-information-research .l-side-nav .f-information-research,
.p-information-sponsor .l-side-nav .f-information-sponsor,
.p-information-posting .l-side-nav .f-information-posting,
.p-information-press .l-side-nav .f-information-press,
.p-program-endai .l-side-nav .f-program-endai,
.p-program-endai-mss .l-side-nav .f-program-endai-mss,
.p-program-schedule .l-side-nav .f-program-schedule,
.p-registration .l-side-nav .f-registration,
.p-seminar-postgraduate-education .l-side-nav .f-seminar-postgraduate-education,
.p-seminar-medical-safety .l-side-nav .f-seminar-medical-safety,
.p-seminar-surgery .l-side-nav .f-seminar-surgery,
.p-seminar-community-medical .l-side-nav .f-seminar-community-medical,
.p-seminar-instructing-doctor .l-side-nav .f-seminar-instructing-doctor,
.p-seminar-unit-information .l-side-nav .f-seminar-unit-information,
.p-seminar-simulation .l-side-nav .f-seminar-simulation,
.p-coi .l-side-nav .f-coi,
.p-handson .l-side-nav .f-handson,
.p-sponsors .l-side-nav .f-sponsors {
	background: linear-gradient(90deg, #E61F19 38%, #77110E 100%);
	color: #fff;
	pointer-events: none;
}

/* ==================================================

[ LAYOUT ] container

*/
.l-container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 4rem;
	padding-right: 4rem;
	max-width: 78rem;
}
@media screen and (max-width: 768px) {
	.l-container {
		padding-left: 2rem;
		padding-right: 2rem;
		max-width: initial;
	}
}

/* ==================================================

[ LAYOUT ] block

*/
.l-block {
	margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
	.l-block {
		margin-bottom: 4rem;
	}
}

/* ==================================================

[ LAYOUT ] row-left

*/
.l-row-left {
	display: flex;
}
@media screen and (max-width: 768px) {
	.l-row-left {
		display: block;
	}
}

/* ==================================================

[ LAYOUT ] row-center

*/
.l-row-center {
	display: flex;
	justify-content: center;
}

/* ==================================================

[ LAYOUT ] row-col2

*/
.l-row-col2 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2rem;
}
.l-row-col2 > div {
	flex-basis: 50%;
	padding: 0 2rem;
}
@media screen and (max-width: 768px) {
	.l-row-col2 {
		display: block;
		margin: 0;
	}
	.l-row-col2 > div {
		margin-bottom: 2rem;
		padding: 0;
	}
}

/* ==================================================

[ LAYOUT ] row-col3

*/
.l-row-col3 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2rem;
}
.l-row-col3 > div {
	flex-basis: 33.333%;
	padding: 0 2rem;
}
@media screen and (max-width: 768px) {
	.l-row-col3 {
		display: block;
		margin: 0;
	}
	.l-row-col3 > div {
		margin-bottom: 2rem;
		padding: 0;
	}
}

/* ==================================================

[ LAYOUT ] row-col3

*/
.l-btn-center {
	display: flex;
	gap: 3rem;
	justify-content: center;
}
@media screen and (max-width: 768px) {
	.l-btn-center {
		flex-direction: column;
		align-items: center;
		gap: 2rem;
	}
}

/* ==================================================

[ LAYOUT ] inline

*/
.l-layout-inline {
	display: flex;
	align-items: center;
}
.l-layout-inline > * {
	margin-right: 1.5rem;
}
@media screen and (max-width: 768px) {
	.l-layout-inline {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
}

/* ==================================================

[ LAYOUT ] in-preparation

*/
.l-in-preparation {
	padding: 10rem 0;
	text-align: center;
	font-weight: 700;
	font-size: 1.2rem;
	color: #aeacac;
}
.l-in-preparation::before {
	content: '';
	display: block;
	margin: 0 auto;
	width: 6rem;
	height: 6rem;
	background-image: url(../img/icon-clock.svg);
	background-size: contain;
}
.l-in-preparation__heading {
	margin-top: 1rem;
	font-size: 2.6rem;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
	.l-in-preparation {
		padding: 3rem 0 6rem 0;
	}
	.l-in-preparation__heading {
		font-size: 2rem;
	}
}

/* ==================================================

[ LAYOUT ] speaker

*/
.l-speaker .wrap {
	display: flex;
	padding: 2.5rem 0;
	border-bottom: 1px solid #D5D5D5;
}
.l-speaker .wrap:first-child {
	padding-top: 0;
}
.l-speaker .portrait {
	flex-basis: 15rem;
}
.l-speaker .detail {
	flex: 1;
	padding-left: 4rem;
	font-size: 1.6rem;
	line-height: 1.5;
}
.l-speaker .detail .name {
	margin-top: -0.5rem;
}
.l-speaker .detail .name dt {
	font-weight: 500;
	font-size: 2rem;
	color: var(--color-primary);
}
.l-speaker .detail h3 {
	margin-top: 1em;
	font-weight: 700;
}
.l-speaker .detail .row {
	display: flex;
	gap: 1em;
	margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
	.l-speaker .wrap {
		display: block;
		padding: 2.5rem 0;
		border-bottom: 1px solid #D5D5D5;
	}
	.l-speaker .portrait {
		margin: 0 auto;
		width: 150px;
	}
	.l-speaker .detail {
		margin-top: 1.5rem;
		padding-left: 0;
		font-size: 1.4rem;
	}
	.l-speaker .detail .name {
		margin: 0 0 2rem 0;
		text-align: center;
	}
	.l-speaker .detail .name:last-child {
		margin: 0;
	}
}

/* ==================================================

[ COMPONENT ] heading

*/
.c-heading1 {
	margin-bottom: 6rem;
	padding: 0.2em 0 0.3em 0;
	background: linear-gradient(90deg, #E61F19 38%, #77110E 100%);
	text-align: center;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.3;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.c-heading1 {
		margin-bottom: 3rem;
		font-size: 2rem;
	}
}

.c-heading2 {
	position: relative;
	margin-bottom: 1.2rem;
	padding: 0 1.5rem 0.1em 1.5rem;
	background-color: #f0f0f0;
	font-weight: 500;
	font-size: 1.7rem;
}
.c-heading2::before,
.c-heading2::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.4rem;
}
.c-heading2::before {
	background-color: #1E1E1E;
}
.c-heading2::after {
	top: 50%;
	background-color: var(--color-primary);
}

.c-heading3 {
	margin: 3rem 0 1.8rem 0;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--color-primary);
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-primary);
}
.c-heading3.lg {
	font-size: 2rem;
}
@media screen and (max-width: 768px) {
	.c-heading3 {
		font-size: 1.6rem;
	}
}

.c-heading4 {
	display: flex;
}
.c-heading4 em {
	display: block;
	padding: 0.16em 0.8em 0.22em 0.8em;
	background-color: #4892e1;
	font-weight: 700;
	font-size: 1.5;
	color: #fff;
}

.c-heading5 {
	font-weight: 700;
	color: var(--color-primary);
}
.c-heading5 em {
	position: relative;
	display: block;
	padding-left: 1.5rem;
	font-size: 1.6rem;
	line-height: 1.3;
}
.c-heading5 em::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.1em;
	bottom: 0.04em;
	left: 0;
	width: 0.6rem;
	background-color: #51C8E5;
}
.c-heading5 span {
	display: block;
	margin-top: 0.5rem;
	padding-left: 1.5rem;
	font-size: 1.4rem;
	line-height: 1.4;
}

/* ==================================================

[ COMPONENT ] btn

*/
.c-btn1 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5rem 4rem;
	min-height: 5rem;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.6rem;
	text-decoration: none !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #fff;
}
.c-btn1::after {
	font-family: icon;
	content: var(--icon-link-arrow);
	position: absolute;
	top: 50%;
	right: 1.2rem;
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
}
.c-btn1[target="_blank"]::after {
	content: var(--icon-link-blank);
	font-size: 1.4rem;
	font-weight: normal;
}
.c-btn1.f-download::after {
	content: var(--icon-link-download);
	font-size: 1.6rem;
	font-weight: normal;
}
.c-btn1.disable {
	background-color: #ccc;
	border-color: #ccc;
}
.c-btn1.disable::after {
	content: none;
}
@media (any-hover: hover) {
	a.c-btn1 {
		transition: all 0.3s ease;
	}
	a.c-btn1:hover {
		background-color: #fff;
		color: var(--color-primary);
	}
}

.c-btn2 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
	width: 25rem;
	min-height: 6rem;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.8rem;
	text-decoration: none !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.3;
	color: #fff;
}
@media (any-hover: hover) {
	.c-btn2 {
		transition: all 0.3s ease;
	}
	.c-btn2:hover {
		background-color: #fff;
		color: var(--color-primary);
	}
}

.c-btn3 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 2rem;
	min-width: 26rem;
	min-height: 7.2rem;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.8rem;
	text-decoration: none !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.5;
	color: #fff;
}
.c-btn3.disabled {
	pointer-events: none;
	background-color: #ccc;
	border-color: #ccc;
}
.c-btn3.color1 {
	background-color: #0BBDE0;
	border-color: #0BBDE0;
}
@media (any-hover: hover) {
	a.c-btn3,
	button.c-btn3 {
		transition: all 0.3s ease;
	}
	a.c-btn3:hover,
	button.c-btn3:hover {
		background-color: #fff;
		color: var(--color-primary);
	}
	a.c-btn3.color1:hover,
	button.c-btn3.color1:hover {
		color: #0BBDE0;
	}
}
@media screen and (max-width: 768px) {
	.c-btn3 {
		min-width: 25rem;
		min-height: 6rem;
		font-size: 1.6rem;
	}
}

.c-btn4 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
	width: 24rem;
	min-height: 6rem;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.8rem;
	text-decoration: none !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.3;
	color: #fff;
}
.c-btn4.disabled {
	pointer-events: none;
	background-color: #ccc;
	border-color: #ccc;
}
.c-btn4 .small {
	display: block;
	font-size: 1.2rem;
}
@media (any-hover: hover) {
	.c-btn4 {
		transition: all 0.3s ease;
	}
	.c-btn4:hover {
		background-color: #fff;
		color: var(--color-primary);
	}
}
@media screen and (max-width: 768px) {
	.c-btn4 {
		width: 25rem;
		min-height: 6rem;
		font-size: 1.4rem;
	}
}

/* ==================================================

[ COMPONENT ] table

*/
.c-table1 {
	margin: 2rem 0;
}
.c-table1 table {
	width: 100%;
	text-align: center;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.5;
}
.c-table1 table th,
.c-table1 table td {
	padding: 1rem;
	border: 1px solid #5A5757;
}
.c-table1 table th {
	background-color: #E3E3E3;
	font-weight: 700;
}
.c-table1 table .note {
	display: flex;
	justify-content: center;
	margin-top: 0.5rem;
	text-align: left;
	font-size: 1rem;
}
.c-table1 table .note span {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.c-table1-has-btn table td {
	height: 7rem;
}
@media screen and (max-width: 768px) {
	.c-table1 {
		display: flex;
		overflow-x: auto;
		margin-left: -2rem;
		margin-right: -2rem;
		padding-left: 2rem;
		padding-bottom: 2rem;
		-webkit-overflow-scrolling: touch;
	}
	.c-table1-noscroll {
		padding-bottom: 0;
	}
	.c-table1::after {
		content: '';
		display: block;
		flex-basis: 2rem;
		flex-shrink: 0;
	}
	.c-table1 table {
		white-space: nowrap;
		font-size: 1.3rem;
	}
	.c-table1 table th,
	.c-table1 table td {
		padding: 0.5rem;
	}
}

.c-table2 table {
	width: 100%;
	font-size: 1.4rem;
	line-height: 1.5;
}
.c-table2 table th,
.c-table2 table td {
	padding: 0.6rem 1rem;
	border: 1px solid var(--color-secondary);
}
.c-table2 table th {
	background-color: #d1f5ff;
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--color-secondary);
}
.c-table2-type1 table td {
	padding: 1.5rem;
}
.c-table2-type1 table .cell-number {
	width: 1%;
}

@media screen and (max-width: 768px) {
	.c-table2 table {
		font-size: 1.2rem;
	}
	.c-table2 table th {
		font-size: 1.4rem;
	}
	.c-table2-type1 table td {
		padding: 1.2rem;
	}
	.c-table2-type1 table td:first-child {
		padding: 1rem;
	}
}

.c-table3 table {
	width: 100%;
	font-size: 1.4rem;
	line-height: 1.5;
}
.c-table3 table th,
.c-table3 table td {
	padding: 0.6rem 1rem;
	border: 1px solid var(--color-secondary);
	text-align: center;
}
.c-table3 table th {
	background-color: #4892e1;
	font-weight: 700;
	color: #fff;
}
.c-table3 .small {
	font-size: 1rem;
}

@media screen and (max-width: 768px) {
	.c-table3 table {
		font-size: 1.2rem;
	}
	.c-table3 .small {
		display: block;
	}
}

/* ==================================================

[ COMPONENT ] list

*/
.c-list-indent li {
	padding-left: 1em;
	text-indent: -1em;
}

.c-list-disc li {
	position: relative;
	padding-left: 1em;
}
.c-list-disc li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

.c-list-circle li {
	position: relative;
	padding-left: 1em;
}
.c-list-circle li::before {
	content: '●';
	position: absolute;
	top: 0.16em;
	left: 0;
	font-size: 90%;
}

.c-list-square1 li {
	position: relative;
	padding-left: 1.2em;
}
.c-list-square1 li::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
	color: #4892e1;
}

.c-frame-dashed {
	padding: 1rem 1.5rem;
	border: 1px dashed #777;
	border-radius: 0.8rem;
}
@media screen and (max-width: 768px) {
	.c-frame-dashed {
		padding: 0.7rem 1rem;
	}
}

.c-list-layout-number li {
	position: relative;
	padding-left: 1.2em;
}
.c-list-layout-number li:not(:last-child) {
	margin-bottom: 0.4rem;
}
.c-list-layout-number li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.c-list-layout-table {
	display: table;
	width: 100%;
}
.c-list-layout-table dl {
	display: table-row;
}
.c-list-layout-table dt {
	display: table-cell;
	vertical-align: top;
	white-space: nowrap;
	padding: 0 0.5rem 0.4rem 0;
	width: 1em;
}
.c-list-layout-table dd {
	display: table-cell;
	vertical-align: top;
	padding: 0 0 0.4rem 0;
}
.c-list-layout-table dl:not(:last-child) dt,
.c-list-layout-table dl:not(:last-child) dd {
	padding-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
	.c-list-layout-table.break-sp {
		display: block;
	}
	.c-list-layout-table.break-sp dl {
		display: block;
	}
	.c-list-layout-table.break-sp dt {
		display: block;
		white-space: normal;
		padding: 0 !important;
		width: auto;
	}
	.c-list-layout-table.break-sp dd {
		display: block;
	}
	.c-list-layout-table dl:not(:last-child) dd {
		padding-bottom: 1.2rem;
	}
}

.c-list-table-number {
	display: table;
}
.c-list-table-number > li {
	display: table-row;
}
.c-list-table-number > li > div {
	display: table-cell;
}
.c-list-table-number > li:not(:last-child) > div {
	padding-bottom: 0.5rem;
}
.c-list-table-number > li > div:first-child {
	position: relative;
	padding-left: 1.4em;
	padding-right: 1em;
}
.c-list-table-number > li > div:first-child i {
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 768px) {
	.c-list-table-number {
		display: block;
	}
	.c-list-table-number > li {
		display: block;
		padding-bottom: 0.5rem;
	}
	.c-list-table-number > li > div {
		display: block;
		padding-left: 1.4em;
		padding-bottom: 0 !important;
	}
}

/* ==================================================

[ COMPONENT ] card

*/
.c-card1 {
	padding: 1.5rem 2rem;
	border: 1px solid var(--color-primary);
	border-radius: 0.5rem;
	line-height: 1.5;
}

/* ==================================================

[ COMPONENT ] text

*/
.c-text-left {
	text-align: left;
}
.c-text-center {
	text-align: center;
}
.c-text-right {
	text-align: right;
}

/* ==================================================

[ COMPONENT ] accordion

*/
.c-accordion1 button {
	position: relative;
	display: block;
	padding: 0.5rem 1.6rem 0.6rem 1.6rem;
	width: 100%;
	background-color: #d9d9d9;
	font-weight: 500;
	font-size: 12px;
	text-align: left;
}
.c-accordion1 button i {
	position: absolute;
	top: 50%;
	right: 1.5rem;
	width: 1.2rem;
	height: 1.2rem;
	margin-top: -0.6rem;
	background-image: url(../img/icon-ac-plus.svg);
	background-size: contain;
}
.c-accordion1 button[aria-expanded="true"] i {
	background-image: url(../img/icon-ac-minus.svg);
}
.c-accordion1 button + div {
	height: 0;
	overflow: hidden;
}
.c-accordion1 button[aria-expanded="true"] + div {
	height: auto;
}

/* ==================================================

[ COMPONENT ] accordion

*/
.c-pagetop {
	position: fixed;
	z-index: 10;
	bottom: 2rem;
	right: 2rem;
}
.c-pagetop a {
	display: block;
	width: 7.2rem;
	height: 7.2rem;
	overflow: hidden;
	border-radius: 50%;
}

/* ==================================================

[ COMPONENT ] info

*/
.c-info {
	display: table;
	width: 100%;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.5;
}
.c-info dl {
	display: table-row;
}
.c-info dt {
	display: table-cell;
	vertical-align: top;
	width: 1em;
	white-space: nowrap;
	color: var(--color-primary);
}
.c-info dd {
	display: table-cell;
	vertical-align: top;
}
.c-info dl:not(:last-child) dt,
.c-info dl:not(:last-child) dd {
	padding-bottom: 0.5rem;
}

/* ==================================================

[ UTILITY ] visible

*/
@media screen and (max-width: 768px) {
	.u-visible-pc {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.u-visible-sp {
		display: none;
	}
}

/* ==================================================

[ UTILITY ] display

*/
.u-d-block {
	display: block;
}

/* ==================================================

[ UTILITY ] hr

*/
.u-hr1 {
	margin-top: 2.5rem;
	padding-bottom: 2.5rem;
	border-top: 1px solid #AEACAC;
}
.u-hr2 {
	margin-top: 2.5rem;
	padding-bottom: 2.5rem;
	border-top: 1px dashed #ccc;
}

/* ==================================================

[ UTILITY ] indent

*/
.u-indent {
	padding-left: 1em;
	text-indent: -1em;
}
.u-indent-half {
	display: inline-block;
	text-indent: -0.5em;
}
.u-indent-half-end {
	display: inline-block;
	margin-right: -0.5em;
}
@media screen and (max-width: 768px) {
	.u-indent-half-sp {
		display: inline-block;
		text-indent: -0.5em;
	}
}

/* ==================================================

[ UTILITY ] color

*/
.u-color-primary {
	color: var(--color-primary) !important;
}
.u-color-red {
	color: #f00 !important;
}
.u-color-green {
	color: #009043 !important;
}
.u-color-black {
	color: inherit !important;
}

/* ==================================================

[ UTILITY ] text

*/
.u-text-underline {
	text-decoration: underline !important;
}

/* ==================================================

[ UTILITY ] font

*/
.u-font-en {
	font-family: "Roboto", sans-serif !important;
}
.u-fs20 {
	font-size: 2rem !important;
}
.u-fs18 {
	font-size: 1.8rem !important;
}
.u-fs17 {
	font-size: 1.7rem !important;
}
.u-fs16 {
	font-size: 1.6rem !important;
}
.u-fs15 {
	font-size: 1.5rem !important;
}
.u-fs14 {
	font-size: 1.4rem !important;
}
.u-fs12 {
	font-size: 1.2rem !important;
}
.u-fw-normal {
	font-weight: 400 !important;
}
.u-fw-medium {
	font-weight: 500 !important;
}
.u-fw-bold {
	font-weight: 700 !important;
}

@media screen and (max-width: 768px) {
	.u-fs20 {
		font-size: 1.8rem !important;
	}
}

/* ==================================================

[ UTILITY ] margin

*/
.u-mt-0 {
	margin-top: 0 !important;
}
.u-mt-1em {
	margin-top: 1em;
}
.u-mt-2em {
	margin-top: 2em;
}
.u-mt-05rem {
	margin-top: 0.5rem;
}
.u-mt-1rem {
	margin-top: 1rem;
}
.u-mt-2rem {
	margin-top: 2rem;
}
.u-mt-3rem {
	margin-top: 3rem;
}
.u-mt-4rem {
	margin-top: 4rem;
}
.u-mt-5rem {
	margin-top: 5rem;
}

.u-mb-0 {
	margin-bottom: 0 !important;
}

/* ==================================================

[ UTILITY ] THROUGH

*/
.u-through-red {
	text-decoration: line-through;
	text-decoration-color: #f00;
}

/* ==================================================

[ UTILITY ] HIDDEN

*/
.u-hidden {
	visibility: hidden;
}

/* ==================================================

[ PROJECT ] home

*/
.c-home-heading {
	margin-bottom: 3rem;
	text-align: center;
	font-weight: 500;
	font-size: 2.4rem;
}
.c-home-heading::after {
	content: '';
	display: block;
	margin: 1.4rem auto 0 auto;
	width: 1.8rem;
	height: 0.4rem;
	background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
	.c-home-heading {
		font-size: 2rem;
		line-height: 1.5;
	}
}

.p-home-main {
	margin-bottom: -3rem;
}
@media screen and (max-width: 768px) {
	.p-home-main {
		margin-bottom: 3rem;
	}
}

.p-home-nav {
	padding: 0 3rem;
}
.p-home-nav ul {
	display: flex;
	margin: 0 -1.2rem;
}
.p-home-nav li {
	flex-basis: 50%;
	padding: 0 1.2rem;
}
.p-home-nav a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 4rem;
	height: 8.6rem;
	border: 2px solid var(--color-primary);
	text-decoration: none !important;
	text-align: center;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.3;
}
.p-home-nav a::after {
	font-family: icon;
	content: var(--icon-link-arrow);
	position: absolute;
	top: 50%;
	right: 1.2rem;
	font-size: 1.4rem;
	line-height: 1;
	transform: translateY(-50%);
	font-weight: normal;
}
.p-home-nav a em {
	color: #ff0700;
}
@media screen and (max-width: 768px) {
	.p-home-nav {
		padding: 0 2rem;
	}
	.p-home-nav ul {
		display: block;
		margin: 0;
	}
	.p-home-nav li {
		margin-bottom: 2rem;
		padding: 0;
	}
	.p-home-nav a {
		font-size: 1.6rem;
	}
}

.p-home-news {

}
.p-home-news__list {
	border-bottom: 1px solid #d5d5d5;
	font-size: 1.4rem;
}
.p-home-news__list dl {
	display: flex;
	align-items: center;
	padding: 1rem 0;
	min-height: 8.4rem;
	border-top: 1px solid #d5d5d5;
}
.p-home-news__list dt {
	flex-basis: 13rem;
	flex-shrink: 0;
	padding: 0 1em;
	font-family: "Roboto", sans-serif;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.p-home-news__list dl {
		display: block;
		min-height: initial;
	}
	.p-home-news__list dt {
		padding: 0;
	}
}

.p-home-info__detail {
	padding: 3rem 4rem;
	border: 1px solid #d5d5d5;
	font-weight: 500;
	line-height: 2;
}
@media screen and (max-width: 768px) {
	.p-home-info__detail {
		padding: 1rem 1.5rem;
	}
}

/* ==================================================

[ PROJECT ] outline venue

*/
.p-outline-venue-access-train {
	padding: 1.2rem;
	background-color: #f1f1f1;
}
.p-outline-venue-access-bus {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #f1f1f1;
}
.p-outline-venue-access-bus__heading {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 5rem;
	background-color: var(--color-primary);
	text-align: center;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #fff;
}
.p-outline-venue-access-bus-time {
	flex: 1;
	padding: 0.6rem 1.4rem 1.4rem 1.4rem;
}
.p-outline-venue-access-bus-time__num {
	margin-bottom: 2rem;
	padding-bottom: 0.2em;
	border-bottom: 1px solid var(--color-primary);
	text-align: center;
	font-weight: 700;
}
.p-outline-venue-access-bus-time__detail {
	display: flex;
}
.p-outline-venue-access-bus-time__label {
	flex-basis: 4.8rem;
}
.p-outline-venue-access-bus-time__label em {
	display: block;
	padding-bottom: 0.1em;
	border: 1px solid var(--color-primary);
	text-align: center;
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-primary);
}
.p-outline-venue-access-bus-time__info {
	flex: 1;
	padding-left: 1rem;
	font-size: 1.2rem;
	line-height: 1.5;
}
.p-outline-venue-access-bus-time__info dt {
	font-weight: 700;
}
.p-outline-venue-access-bus-timetable {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	padding: 2rem 1.4rem;
}
.p-outline-venue-access-bus-timetable a {
	width: 100%;
	max-width: 25rem;
}

/* ==================================================

[ PROJECT ] outline greeting

*/
.p-outline-greeting-detail__head {
	margin-bottom: 5rem;
	padding: 3rem 0;
}
.p-outline-greeting-detail__head dl {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	text-align: right;
}
.p-outline-greeting-detail__head dt {
	flex: 1;
	padding-right: 3rem;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2;
}
.p-outline-greeting-detail__head dd {
	flex-basis: 19.9rem;
}
.p-outline-greeting-detail__text {
	line-height: 2;
}
.p-outline-greeting-detail__text p {
	text-indent: 1em;
}
.p-outline-greeting-detail__image-w {
	display: flex;
	justify-content: center;
	margin-bottom: 2em;
}
.p-outline-greeting-detail__image-w img {
	max-width: 26.2rem;
}
.p-outline-greeting-detail__image-t {
	display: flex;
	justify-content: center;
	margin-bottom: 2em;
}
.p-outline-greeting-detail__image-t img {
	max-width: 16.6rem;
}
@media screen and (max-width: 768px) {
	.p-outline-greeting-detail__head {
		margin-bottom: 2rem;
		padding: 2rem 0;
	}
	.p-outline-greeting-detail__head dl {
		flex-direction: column-reverse;
		text-align: center;
	}
	.p-outline-greeting-detail__head dt {
		margin-top: 1em;
		padding-right: 0;
		width: 100%;
		font-size: 1.4rem;
		line-height: 2;
	}
	.p-outline-greeting-detail__head dd {
		flex-basis: auto;
		margin: 0 auto;
		width: 50%;
		max-width: 19.9rem;
	}
	.p-outline-greeting-detail__text {
		padding-bottom: 3rem;
	}
}

/* ==================================================

[ PROJECT ] session

*/
.p-session-text {
	padding-top: 0.6rem;
	font-size: 1.2rem;
	line-height: 1.8;
}
.p-session-table-cell1 {
	width: 22%;
}
.p-session-table-cell2 {
	width: 22%;
}
.p-session-table-cell3 {
	width: 22%;
}
@media screen and (max-width: 768px) {
	.p-session-table-cell1 {
		width: 14%;
	}
	.p-session-table-cell3 {
		width: 20%;
	}
}

/* ==================================================

[ PROJECT ] entry mac word

*/
.p-entry-mac-word {
	display: flex;
}
.p-entry-mac-word span {
	display: block;
	padding: 0.3em 1.2em 0.4em 1.2em;
	border: 1px solid #f00;
}

/* ==================================================

[ PROJECT ] sponsors list

*/
.p-sponsors-list {
	text-align: center;
	font-weight: 500;
}
.p-sponsors-list h2 {
	padding: 0.4em 0 0.5em 0;
	background-position: 50% 100%;
	background-size: 100% 100%;
	font-size: 2rem;
}
.p-sponsors-list ul {
	margin: 0 auto;
	margin-top: 4rem;
	padding-bottom: 2rem;
	font-size: 1.6rem;
}
.p-sponsors-list ul a {
	display: block;
	text-decoration: none;
	color: inherit;
}
.p-sponsors-list ul span {
	display: block;
	margin: 0 auto;
}
.p-sponsors-list ul em {
	display: block;
}

.p-sponsors-list-gold h2 {
	background-image: url(../img/sponsors-bar-gold.jpg);
}
.p-sponsors-list-gold ul {
	width: 60%;
}
.p-sponsors-list-gold ul li:not(:last-child) {
	padding-bottom: 4rem;
}
.p-sponsors-list-gold ul em {
	margin-top: 1rem;
}

.p-sponsors-list-silver h2 {
	background-image: url(../img/sponsors-bar-silver.jpg);
}
.p-sponsors-list-silver ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 0;
}
.p-sponsors-list-silver ul li {
	flex-basis: 50%;
}
.p-sponsors-list-silver ul span {
	position: relative;
	padding-top: 32%;
}
.p-sponsors-list-silver ul img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (any-hover: hover) {
	.p-sponsors-list ul a {
		transition: color 0.3s ease;
	}
	.p-sponsors-list ul a:hover {
		color: var(--color-primary);
	}
}

@media screen and (max-width: 768px) {
	.p-sponsors-list h2 {
		padding: 0.4em 0 0.5em 0;
		font-size: 1.8rem;
	}
	.p-sponsors-list ul {
		font-size: 1.5rem;
	}
	.p-sponsors-list ul li:not(:last-child) {
		padding-bottom: 4rem;
	}
	.p-sponsors-list ul span {
		width: 80%;
	}
	.p-sponsors-list ul em {
		margin-top: 1rem;
	}
	.p-sponsors-list-gold ul {
		width: 100%;
	}
	.p-sponsors-list-silver ul {
		display: block;
	}
	.p-sponsors-list-silver ul span {
		padding-top: 0;
	}
	.p-sponsors-list-silver ul img {
		position: static;
		height: auto;
		object-fit: initial;
	}
}

/* ==================================================

[ PROJECT ] handson

*/
.p-handson-list {
	margin-top: 3rem;
}
.p-handson-list .item {
	padding: 4rem 0 5rem 0;
	border-top: 1px solid #D5D5D5;
}
.p-handson-list .item:last-child {
	padding-bottom: 0;
}
.p-handson-list .item h2 {
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
	color: var(--color-primary);
}
.p-handson-list .item .lead {
	margin-top: 2.5rem;
	font-size: 1.4rem;
}
.p-handson-list .item .wrap {
	display: flex;
	flex-direction: row-reverse;
	margin-top: 2.5rem;
}
.p-handson-list .item .poster {
	flex-basis: 20.4rem;
	padding-top: 1rem;
}
.p-handson-list .item .detail {
	flex: 1;
	padding-right: 5rem;
	font-weight: 500;
	font-size: 1.4rem;
}
.p-handson-list .item .detail .subhead {
	margin-top: 3rem;
	font-weight: 700;
	font-size: 1.6rem;
	text-indent: -0.5em;
	color: var(--color-primary);
}
.p-handson-list .item .detail .title {
	margin-bottom: 1rem;
	font-weight: 700;
	text-indent: -0.5em;
	color: var(--color-primary);
}
.p-handson-list .item .table {
	display: table;
	line-height: 1.5;
}
.p-handson-list .item .table .row {
	display: table-row;
}
.p-handson-list .item .table .th {
	display: table-cell;
	padding: 0.7rem 0;
	width: 9rem;
	vertical-align: top;
	color: var(--color-primary);
	white-space: nowrap;
}
.p-handson-list .item .table .td {
	display: table-cell;
	padding: 0.7rem 0;
	vertical-align: top;
}
.p-handson-list .item .list {
	margin-top: 2rem;
}
.p-handson-list .item .list > li {
	padding: 2.4rem 0;
	border-top: 1px solid #D5D5D5;
}
.p-handson-list .item .list > li:last-child {
	padding-bottom: 0;
}
.p-handson-list .item .foot {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}

@media screen and (max-width: 768px) {
	.p-handson-list .item {
		padding: 3rem 0 4rem 0;
	}
	.p-handson-list .item h2 {
		font-size: 1.8rem;
	}
	.p-handson-list .item .lead {
		margin-top: 1.5rem;
	}
	.p-handson-list .item .wrap {
		display: block;
		margin-top: 3rem;
	}
	.p-handson-list .item .poster {
		margin: 0 auto;
		width: 50%;
		padding-top: 0;
	}
	.p-handson-list .item .detail {
		margin-top: 3rem;
		padding-right: 0;
	}
	.p-handson-list .item .table .th {
		width: 7.2rem;
	}
	.p-handson-list .item .table .td {
		display: table-cell;
		padding: 0.7rem 0;
		vertical-align: top;
	}
}

/* ==================================================

[ PROJECT ] registration table

*/
.p-registration-table01 table th,
.p-registration-table01 table td {
	padding: 1rem 1rem;
}
.p-registration-table01 table th {
	font-size: 1.6rem;
}
.p-registration-table01 table th div {
	margin: 1rem auto 0 auto;
	display: table;
	text-align: left;
	font-weight: 400;
	font-size: 1.4rem;
	color: #000;
}
.p-registration-table01 table td {
	font-weight: 400;
}
.p-registration-table01 table td .small {
	font-size: 1.2rem;
}
.p-registration-table02 table th,
.p-registration-table02 table td {
	padding: 1.6rem 1.8rem;
}
.p-registration-table02 table th {
	text-align: left;
	font-size: 1.6rem;
}
.p-registration-table02 table td {
	text-align: left;
	font-weight: 400;
	white-space: normal;
}
@media screen and (max-width: 768px) {
	.p-registration-table01 table th {
		font-size: 1.4rem;
	}
	.p-registration-table02 table th,
	.p-registration-table02 table td {
		padding: 1rem 1rem;
	}
	.p-registration-table02 table th {
		font-size: 1.4rem;
	}
}

.p-registration-table03 {
	width: 50rem;
}
.p-registration-table03 th {
	width: 50%;
	font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
	.p-registration-table03 {
		padding-bottom: 0;
		width: auto;
	}
	.p-registration-table03 th {
		font-size: 1.4rem;
	}
}

/* ==================================================

[ PROJECT ] seminar postgraduate education

*/
.p-seminar-postgraduate-education-announce {
	display: flex;
	justify-content: center;
	padding: 1.5rem;
	border: 2px solid #E61F19;
	font-weight: 500;
	font-size: 1.4rem;
	color: #E61F19;
}
@media screen and (max-width: 768px) {
	.p-seminar-postgraduate-education-announce {
		padding: 1rem;
	}
}

.p-seminar-postgraduate-education-table01 table th,
.p-seminar-postgraduate-education-table01 table td {
	padding: 1rem 1.5rem;
	font-weight: 400;
}
.p-seminar-postgraduate-education-table01 table th {
	text-align: center;
	color: inherit;
}
.p-seminar-postgraduate-education-table01 table td {
	text-align: left;
	white-space: normal;
}
@media screen and (max-width: 768px) {
	.p-seminar-postgraduate-education-table01 {
		padding-bottom: 0;
	}
	.p-seminar-postgraduate-education-table01 table th,
	.p-seminar-postgraduate-education-table01 table td {
		padding: 1rem;
	}
}

.p-seminar-postgraduate-education-table02 table td {
	font-weight: 400;
}
.p-seminar-postgraduate-education-table02 table .cell01 {
	width: 14%;
}
@media screen and (max-width: 768px) {
	.p-seminar-postgraduate-education-table02 {
		margin-bottom: 1rem;
	}
	.p-seminar-postgraduate-education-table02 table th,
	.p-seminar-postgraduate-education-table02 table td {
		padding: 1rem;
	}
	.p-seminar-postgraduate-education-table02 table .cell01 {
		width: 8.8rem;
	}
}

/* ==================================================

[ PROJECT ] seminar medical safety

*/
.p-seminar-medical-safety-table01 table th:not(:first-child) {
	width: 21%;
}
.p-seminar-medical-safety-table01 table th:last-child {
	width: 24%;
}
.p-seminar-medical-safety-table01 table th,
.p-seminar-medical-safety-table01 table td {
	padding: 1rem 0.5rem;
}
.p-seminar-medical-safety-table01 table td {
	font-weight: 400;
}
.p-seminar-medical-safety-table01 table .v-top {
	padding: 2.5rem 1rem 3rem 1rem;
	vertical-align: top;
}
@media screen and (max-width: 768px) {
	.p-seminar-medical-safety-table01 {
		margin-bottom: 0;
	}
	.p-seminar-medical-safety-table01 table {
		flex-basis: 170vw;
		flex-shrink: 0;
	}
	.p-seminar-medical-safety-table01 table .v-top {
		padding: 1.5rem 1rem 2rem 1rem;
	}
}

/* ==================================================

[ PROJECT ] seminar surgery

*/
.p-seminar-surgery-table01 table td {
	padding: 1rem 1.5rem;
}
.p-seminar-surgery-table01 table td {
	font-weight: 400;
}
@media screen and (max-width: 768px) {
	.p-seminar-surgery-table01 table {
		margin-bottom: 0;
	}
	.p-seminar-surgery-table01 table td {
		padding: 1rem;
	}
}

/* ==================================================

[ PROJECT ] seminar instructing doctor

*/
.p-seminar-instructing-doctor-table01 table th:not(:first-child) {
	width: 20%;
}
.p-seminar-instructing-doctor-table01 table th,
.p-seminar-instructing-doctor-table01 table td {
	padding: 1rem 0.5rem;
}
.p-seminar-instructing-doctor-table01 table td {
	font-weight: 400;
}
.p-seminar-instructing-doctor-table01 table .v-top {
	padding: 2.5rem 1rem 3rem 1rem;
	vertical-align: top;
}
@media screen and (max-width: 768px) {
	.p-seminar-instructing-doctor-table01 {
		margin-bottom: 0;
	}
	.p-seminar-instructing-doctor-table01 table {
		flex-basis: 170vw;
		flex-shrink: 0;
	}
	.p-seminar-instructing-doctor-table01 table .v-top {
		padding: 1.5rem 1rem 2rem 1rem;
	}
}

/* ==================================================

[ PROJECT ] seminar unit information

*/
.p-seminar-unit-information-table01 table th:not(:first-child) {
	width: 18%;
}
.p-seminar-unit-information-table01 table th:last-child {
	width: 22%;
}
.p-seminar-unit-information-table01 table th,
.p-seminar-unit-information-table01 table td {
	padding: 1rem 0.5rem;
}
.p-seminar-unit-information-table01 table td {
	font-weight: 400;
}
.p-seminar-unit-information-table01 table .v-top {
	padding: 2.5rem 1rem 3rem 1rem;
	vertical-align: top;
}
@media screen and (max-width: 768px) {
	.p-seminar-unit-information-table01 {
		margin-bottom: 0;
	}
	.p-seminar-unit-information-table01 table {
		flex-basis: 170vw;
		flex-shrink: 0;
	}
	.p-seminar-unit-information-table01 table .v-top {
		padding: 1.5rem 1rem 2rem 1rem;
	}
}

/* ==================================================

[ PROJECT ] information posting info

*/
.p-information-posting-info {
	display: table;
	width: 100%;
}
.p-information-posting-info dl {
	display: table-row;
}
.p-information-posting-info dt {
	display: table-cell;
	vertical-align: top;
	width: 1em;
	white-space: nowrap;
	font-weight: 700;
	color: var(--color-primary);
}
.p-information-posting-info dd {
	display: table-cell;
	vertical-align: top;
}
.p-information-posting-info dl:not(:last-child) dt,
.p-information-posting-info dl:not(:last-child) dd {
	padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
	.p-information-posting-info {
		display: block;
	}
	.p-information-posting-info dl {
		display: block;
	}
	.p-information-posting-info dt {
		display: block;
		width: auto;
	}
	.p-information-posting-info dd {
		display: block;
	}
	.p-information-posting-info dl:not(:last-child) dt {
		padding-bottom: 0;
	}
}

/* ==================================================

[ PROJECT ] information research list

*/
.p-information-research-list .block:not(:last-child) {
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid #ccc;
}
.p-information-research-list .block h2 {
	margin-bottom: 2rem;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.4;
	color: var(--color-primary);
}
.p-information-research-list .block .info {
	display: table;
	width: 100%;
	font-weight: 500;
	font-size: 1.4rem;
}
.p-information-research-list .block .info dl {
	display: table-row;
}
.p-information-research-list .block .info dt {
	display: table-cell;
	vertical-align: top;
	width: 1em;
	white-space: nowrap;
	color: var(--color-primary);
}
.p-information-research-list .block .info dd {
	display: table-cell;
	vertical-align: top;
}
.p-information-research-list .block .info dl:not(:last-child) dt,
.p-information-research-list .block .info dl:not(:last-child) dd {
	padding-bottom: 1rem;
}
.p-information-research-list .row {
	display: flex;
}
.p-information-research-list .row .detail {
	flex: 1;
	padding-right: 3rem;
}
.p-information-research-list .row .poster {
	flex-basis: 20.4rem;
}
.p-information-research-frame {
	padding: 1.5rem 2rem;
	border: 1px dashed #000;
	border-radius: 0.8rem;
	font-size: 1.4rem;
}
.p-information-research-frame ol {
	margin-top: 0.5rem;
	font-weight: 700;
	font-size: 1.5rem;
}
.p-information-research-frame ol li {
	margin-bottom: 0.5rem;
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 768px) {
	.p-information-research-list {
		padding-bottom: 3rem;
	}
	.p-information-research-list .block h2 {
		font-size: 1.8rem;
	}
	.p-information-research-list .block .btn {
		display: flex;
		justify-content: center;
	}
	.p-information-research-list .row {
		display: block;
	}
	.p-information-research-list .row .detail {
		padding-right: 0;
	}
	.p-information-research-list .row .poster {
		margin: 0 auto;
		margin-top: 3rem;
		width: 50%;
	}
}

/* ==================================================

[ PROJECT ] program schedule anchor

*/
.p-program-schedule-anchor {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem -0.6rem 0 -0.6rem;
}
.p-program-schedule-anchor > div {
	flex-basis: 25%;
	padding: 0.6rem;
}
.p-program-schedule-anchor a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 0.5rem;
	height: 5.2rem;
	border: 1px solid var(--color-primary);
	text-decoration: none;
	font-weight: 500;
	font-size: 1.4rem;
	color: var(--color-primary);
}
.p-program-schedule-anchor em {
	position: relative;
	display: block;
}
.p-program-schedule-anchor em i {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
	font-size: 1rem;
}
@media (any-hover: hover) {
	.p-program-schedule-anchor a {
		transition: background-color 0.3s ease, color 0.3s ease;
	}
	.p-program-schedule-anchor a:hover {
		background-color: var(--color-primary);
		color: #fff;
	}
}
@media screen and (max-width: 768px) {
	.p-program-schedule-anchor > div {
		flex-basis: 50%;
		padding: 0.6rem;
	}
}

/* ==================================================

[ PROJECT ] program schedule list

*/
.p-program-schedule-list sub {
	position: relative;
	vertical-align: baseline;
	font-size: 50%;
}
.p-program-schedule-list sup {
	position: relative;
	top: 0.4em;
	vertical-align: top;
	font-size: 50%;
}
.p-program-schedule-list .c-info + .c-info {
	margin-top: 0.5rem;
}

@media screen and (max-width: 768px) {
	.p-program-schedule-list .c-info + .c-info {
		margin-top: 1rem;
	}
	.p-program-schedule-list .c-info dl {
		display: flex;
	}
	.p-program-schedule-list .c-info dt,
	.p-program-schedule-list .c-info dd {
		display: block;
		width: auto;
	}
	.p-program-schedule-list .c-info .break-sp {
		display: block;
	}
	.p-program-schedule-list .c-info .break-sp dt {
		padding-bottom: 0.5rem;
	}
	.p-program-schedule-list .c-info .break-sp.block:not(:last-child) {
		margin-bottom: 1rem;
	}
	.p-program-schedule-list .c-info .break-sp .u-indent-half-sp {
		padding-bottom: 0.5rem;
	}

	.p-program-schedule-list .c-info-sp dl {
		display: table-row;
	}
	.p-program-schedule-list .c-info-sp dt,
	.p-program-schedule-list .c-info-sp dd {
		display: table-cell;
		width: auto;
	}
}

/* ==================================================

[ PROJECT ] micenavi

*/
.p-micenavi-note {
	padding: 1rem 2rem;
	border: 1px solid #E61F19;
	color: #E61F19;
}
@media screen and (max-width: 768px) {
	.p-micenavi-note {
		padding: 0.6rem 1rem;
	}
}

.p-micenavi-qr {
	display: flex;
	justify-content: center;
}
.p-micenavi-qr img {
	width: 12rem;
	min-width: 120px;
}

.p-micenavi-table table {
	width: 100%;
}
.p-micenavi-table table th,
.p-micenavi-table table td {
	padding: 1rem 2rem;
	border: 1px solid #B4B4B4;
	vertical-align: middle;
	text-align: left;
}
.p-micenavi-table table th {
	width: 18rem;
	background-color: #8C8C8C;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.p-micenavi-table table th,
	.p-micenavi-table table td {
		padding: 0.6rem 1rem;
	}
	.p-micenavi-table table th {
		width: 10rem;
	}
}

.p-micenavi-badge {
	display: flex;
	text-align: center;
}
.p-micenavi-badge .item {
	width: 100%;
}
.p-micenavi-badge .item .badge {
	display: flex;
	justify-content: center;
	margin: 2rem 0;
}
.p-micenavi-badge .item .badge a {
	display: block;
}
.p-micenavi-badge .item .badge img {
	width: auto;
	height: 5.2rem;
}
@media screen and (max-width: 768px) {
	.p-micenavi-badge .item .badge img {
		height: 4.4rem;
	}
}

/* ==================================================

[ PROJECT ] xxxxx

*/