@charset "UTF-8";
/* CSS Document */

.head_1 {
	margin-bottom: 2.5rem;
}
.head_logo {
	max-width: 940px;
	padding-right: 10px;
	padding-left: 10px;
	margin-right: auto;
	margin-left: auto;
}
.con_ttl {
	text-align: center;
	background-image: url(../img/ttl_bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-top-width: 2px;
	border-bottom-width: 2px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #000;
	border-bottom-color: #000;
}
.index .con_ttl h1 {
	background-color: rgba(255,255,255,0.4);
}
.index .con_ttl h2 {
	background-color: rgba(0,0,0,0.1);
}
.foot_1 {
	font-size: 0.875rem;
	background-color: #000;
	color: #FFF;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
}
.main_1 {
	max-width: 940px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 10px;
	padding-left: 10px;
}
.sec_1 {
	margin-bottom: 2.5rem;
}
.download {
	background-color: #EBEEFF;
	border: 1px solid #00F;
	padding: 15px;
}
.download h6 {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.download p {
	text-indent: -1em;
	margin-left: 1em;
}
.again {
	background-color: rgba(230,0,0,0.05);
	border: 1px solid rgba(230,0,0,1);
	padding: 15px;
}
.again h6 {
	font-size: 1.6rem;
	font-weight: bold;
	color: rgba(230,0,0,1);
	text-align: center;
}
.again p {
	margin: 0 0 0.75rem 0;
}
.again p:last-child {
	margin-bottom: 0;
}
.plan {
	background-color: #FFF3C3;
	padding: 1.875rem;
	border-radius: 0.75rem;
	box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.3);
	margin-bottom: 2.5rem;
}
.plan h3 {
	font-size: 1.25rem;
	font-weight: bold;
	color: #00664e;
	margin-bottom: 10px;
}
.plan p {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
.plan p:last-child {
	margin-bottom: 0px;
}
.plan .notes {
	font-size: 1rem;
	text-indent: -1em;
	padding-left: 1em;
}
.plan .fs_17 {
	font-size: 1.0625rem;
}
.plan .fs_16 {
	font-size: 1rem;
}
.index h4 {
	font-size: 1.375rem;
	margin-bottom: 1.25rem;
	font-weight: bold;
	padding-left: 1.7em;
	border: 1px solid rgba(0,102,78,0.5);
	border-radius: 5px;
	background: linear-gradient(rgba(0,102,78,0.03), rgba(0,102,78,0.17));
	box-shadow: 0px 0px 0px 2px rgba(255,255,255,1) inset;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	position: relative;
}
.index h4::after {
	position: absolute;
	top: 0.5em;
	left: 0.5em;
	z-index: 2;
	content: '';
	width: 0.5em;
	height: 0.5em;
	border: 4px solid #00664e;
	border-radius: 100%
}
.subject {
	margin: 0px;
}
.subject li {
	list-style-type: disc;
	margin-left: 2em;
}
.sub_cap {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 1rem;
}
.session {
	margin-bottom: 1.25rem;
}
.ses_1 {
	font-size: 1.125rem;
	font-weight: bold;
	background-color: #D9D9D9;
	padding: 5px;
	overflow: hidden;
}
.ses_2 {
	padding: 10px;
	border-right-width: 4px;
	border-bottom-width: 4px;
	border-left-width: 4px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-right-color: #D9D9D9;
	border-bottom-color: #D9D9D9;
	border-left-color: #D9D9D9;
}
.ses_3 {
	margin-bottom: 0.625rem;
	overflow: hidden;
}
.ses_number_red, .ses_number_green {
	color: #FFF;
	padding-right: 10px;
	padding-left: 10px;
	float: left;
	margin-right: 10px;
	padding-top: 0.1em;
	padding-bottom: 0.1em;
	border-radius: 5px;
}
.ses_number_red {
	background-color: #D80006;
}
.ses_number_green {
	background-color: #0A8200;
}
.ses_red {
	color: #D80006;
}
.ses_green {
	color: #0A8200;
}
.ses_time {
	padding-top: 0.1em;
	padding-bottom: 0.1em;
	float: left;
	margin-right: 10px;
}
.session h5 {
	font-size: 1.5rem;
	font-weight: bold;
	color: #00664e;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}
.ses_3 dt {
	float: left;
}
.ses_3 dd {
	float: left;
}
.ses_3 .ses_name strong {
	font-size: 1.125em;
}
.btn_detail a {
	font-size: 1.0625rem;
	border: 1px solid #c8780a;
	border-radius: 1em;
	text-decoration: none;
	display: inline-block;
	color: #FFF;
	padding-top: 0.2em;
	padding-right: 1.5em;
	padding-bottom: 0.2em;
	padding-left: 1.5em;
	background: linear-gradient(#fab400, #dc781e);
	font-weight: bold;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	transition: opacity 0.2s linear;
	letter-spacing: 0.1em;
}
.btn_detail a:hover {
	opacity: 0.75;
}
.rest {
	margin-bottom: 1.25rem;
}
.interval {
	font-size: 1.125rem;
	font-weight: bold;
	margin-bottom: 1.25rem;
}
.hall_ph {
	float: right;
	margin-left: 10px;
	text-align: right;
}
@media (max-width: 420px) {
	.hall_ph {
		width: 30%;
	}
}
.outline {
	margin: 0px;
}
.outline p {
	margin-bottom: 1.25rem;
}
.f_red {
	color: #F00;
}
.f_dark-red {
	color: rgba(230,0,0,1);
}
.f_blue {
	color: #0040bf;
}
.access_list li {
	list-style-type: disc;
	margin-left: 2em;
}
.outline .price {
	margin-bottom: 1.25rem;
}
.outline .price dl {
	overflow: hidden;
}
.outline .price dt {
	color: #F00;
	float: left;
}
.outline .price dd {
	float: left;
}
.outline .price p {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 0px;
}
.btn_entry {
	text-align: center;
	margin-bottom: 2.5rem;
}
.btn_entry a {
	font-size: 1.625rem;
	border: 2px solid #ff9999;
	border-radius: 0.4em;
	text-decoration: none;
	display: inline-block;
	color: #FFF;
	padding-top: 0.3em;
	padding-right: 1.4em;
	padding-bottom: 0.3em;
	padding-left: 1.4em;
	background: linear-gradient(#fa0000, #b40000);
	font-weight: bold;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
	transition: opacity 0.2s linear;
	letter-spacing: 0.1em;
}
@media (max-width: 400px) {
	.btn_entry a {
		font-size: 1.5rem;
		padding-right: 0.8em;
		padding-left: 0.8em;
	}
}
.btn_entry a:hover {
	opacity: 0.75;
}
.contents {
	overflow: hidden;
}
.contents dt {
	clear: both;
	float: left;
	border: 1px solid #00664e;
	width: 3em;
	text-align: center;
	padding-right: 0.5em;
	padding-left: 0.5em;
	margin-right: 10px;
	color: #00664e;
	font-weight: bold;
	margin-bottom: 0.3rem;
	padding-top: 1px;
}
.contents dd {
	font-size: 1.375rem;
	float: left;
	margin-bottom: 0.875rem;
	font-weight: bold;
}
.contents dd strong {
	font-size: 2.125rem;
}
.contents dd .small {
	font-size: 1rem;
	font-weight: normal;
}
.details .ses_2 {
	padding: 1.5rem;
}
.details .ses_1 {
	font-size: 1.375rem;
}
.details .session h2 {
	font-size: 1.875rem;
	font-weight: bold;
	color: #00664e;
	margin-bottom: 1rem;
	line-height: 1.3;
}
.details .ses_name {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}
.details .ses_name dt {
	border: 1px solid #333;
	padding-right: 8px;
	padding-left: 8px;
	margin-right: 10px;
	text-align: center;
	flex: 0 0 auto;
}
.details .ses_name dd {
	flex: 1 1 auto;
}
.details .ses_name dd strong {
	font-size: 1.5rem;
}
.ses_contents {
	margin-bottom: 1rem;
}
.ses_list, .ses_list_number {
	margin-bottom: 1rem;
}
.ses_list li {
	list-style-type: disc;
	margin-left: 1.875rem;
}
.ses_list_number li {
	list-style-type: decimal;
	margin-left: 1.875rem;
}
.ses_profile {
	margin: 0px;
}
.btn_back {
	text-align: center;
	margin-bottom: 3.125rem;
}
.btn_back a {
	font-size: 1.0625rem;
	border: 1px solid #555;
	border-radius: 1em;
	text-decoration: none;
	display: inline-block;
	color: #FFF;
	padding-top: 0.2em;
	padding-right: 2em;
	padding-bottom: 0.2em;
	padding-left: 2em;
	background: linear-gradient(#aaa, #646464);
	font-weight: bold;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	transition: opacity 0.2s linear;
	letter-spacing: 0.5em;
}
.btn_back a:hover {
	opacity: 0.75;
}
.details .rest {
	margin-bottom: 3.125rem;
	font-size: 1.125rem;
}
.details .interval {
	margin-bottom: 3.75rem;
	font-size: 1.25rem;
}
.details .btn_entry {
	margin-bottom: 3.75rem;
}
.details .con_ttl h1 a:hover img {
	opacity: 1;
}
.ses_number {
	font-weight: bold;
	font-size: 1.125rem;
	margin-bottom: 0.25rem;
}
.details .ses_name .photo {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	padding: 0px;
}
.details .head_1 {
	position: fixed;
	width: 100%;
	top: 0px;
	right: 0px;
}
#s2, #s3, #s4 {
	padding-top: 8.75rem;
	margin-top: -8.75rem;
}
.details .main_1 {
	padding-top: 8.75rem;
}
.plan figure {
	background-color: #FFF;
	float: right;
	padding: 1rem;
	text-align: center;
	margin-left: 1rem;
	margin-bottom: 1rem;
}
@media (max-width: 440px) {
	.plan figure {
		width: 35%;
	}
}
.plan figcaption {
	font-size: 0.875rem;
	margin-top: 0.5rem;
}
.contents .logo div {
	float: left;
	margin-right: 2em;
}
.contents .logo div img {
	display: block;
	margin-top: 1rem;
	margin-bottom: 2rem;
}
.contents .logo {
	overflow: hidden;
}
.entry_step {
	margin-bottom: 0.625rem;
}
.entry_step dt {
	font-size: 1.125rem;
	background-color: #F00;
	font-weight: bold;
	color: #FFF;
	display: inline-block;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-left: 10px;
	margin-bottom: 0.5rem;
	border-radius: 0.3em;
}
.entry_step dd {
	font-size: 1.125rem;
	font-weight: bold;
}
.session h5 span {
	font-size: 0.8em;
}
.details .session h2 span {
	font-size: 0.8em;
}
.plan .fig {
	margin: 0;
	overflow: hidden;
}
.plan .fig li {
	margin: 0 1rem 5px 0;
	float: left;
	max-width: 330px;
}
.plan .figcap {
	font-size: 1rem;
}
.fig_box {
	margin: 0;
	float: right;
	max-width: 380px;
	overflow: hidden;
}
@media (max-width: 620px) {
	.fig_box {
		float: none;
		margin: 0 0 1rem 0;
		max-width: none;
	}
}
.fig_box .fig {
	margin: 0;
	overflow: hidden;
}
.fig_box .fig li {
	margin: 0 1rem 5px 0;
	float: left;
	max-width: 170px;
}
.fig_box .figcap {
	font-size: 0.9rem;
}
.btn_stop {
	margin: 0 0 2.5rem 0;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	color: #0040bf;
}
.btn_stop span {
	margin: 0;
	padding: 0.2em 1em;
	display: inline-block;
	border: 2px solid #0040bf;
}
