@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");


/*-----------------------------------
	全体共通設定
-----------------------------------*/
:root {
	/*
	ベースカラー70%
	メインカラー25%
	アクセントカラー5%
	*/
	--base-color: rgb(255, 255, 255);
	--main-color: rgb(166, 71, 95);
	--accent-color: rgb(242, 211, 238);
	--base-color-transparent: rgba(255, 255, 255, .85);
	--main-color-transparent: rgba(166, 71, 95, .8);
	--accent-color-transparent: rgb(242, 211, 238, .8);
	--text-default-color: rgb(0, 0, 0);
}

html {
	font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	background: url(../img/bg.jpg) center top no-repeat;
	/*
	background: linear-gradient(rgb(242, 242, 242) 10%, rgb(120, 181, 240) 100%);
	background: linear-gradient(rgb(244, 197, 205) 10%, rgb(255, 255, 255) 100%);
	*/
	background-size: cover;
	background-attachment: fixed;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Arial,
		Meiryo,
		sans-serif;
	font-size: 1em;
	font-weight: 400;
	color: rgb(60, 60, 60);
	line-height: 1.75;
	-webkit-text-size-adjust: 100%;
	min-height: 100vh;
}

.wrapper {
	min-height: 85vh;
}


/*----- middle_area -----*/
.middle_area {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}

/*----- footer -----*/
footer {
	position: relative;
	background: var(--base-color);
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	font-weight: bold;
	line-height: 1.5;
	z-index: 2;
	/*
	min-height: 15vh;
	*/
}

footer>.inner {
	background: var(--base-color);
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 5px;
	max-width: 1000px;
	text-align: center;
	/*
	min-height: 70%;
	*/
	min-height: 10vh;
}

footer address {
	display: inline-block;
	/*
	margin: 0 50px;
	padding: 30px 0 30px;
	font-size: .875rem;
	*/
	padding: 10px 0;
	margin: 0;
	font-size: .75rem;
	font-style: normal;
	vertical-align: top;
	text-align: center;
}

footer address .title {
	margin: 0 auto .4em;
	padding: 0 0 .4em;
	border-bottom: solid 1px rgb(180, 180, 180);
	font-size: .875rem;
	font-weight: 700;
}

footer address .name,
footer address .info {
	box-sizing: border-box;
	margin: 0;
}

footer address .name {
	margin: 0 0 .3em;
	font-size: 1.062rem;
	font-weight: 400;
}

footer address .info {
	margin: 0;
	font-size: .812rem;
}

footer .copyright {
	margin: 0;
	padding: 10px 0;
	width: 100%;
	background: var(--main-color);
	color: var(--base-color);
	/*
	padding: 0.8em 0;
	font-size: 0.75rem;
	line-height: 1.4;
	*/
	vertical-align: middle;
	text-align: center;
	min-height: 5vh;
}


/*-----------------------------------
	ページごとの設定
-----------------------------------*/
/*-----------------------------------
	トップページ以外の共通設定
-----------------------------------*/
.main_area {
	min-height: 85vh;
	/*
	background: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)280px, rgba(255, 255, 255, .65)400px, rgba(255, 255, 255, .8)450px);
	方向,
		色 始点の位置,
		色 終点の位置
	*/
	background: linear-gradient(to bottom, var(--main-color-transparent), var(--main-color-transparent)280px, var(--base-color-transparent)400px, var(--base-color-transparent)450px);
	/*
	background: var(--base-color-transparent);
	*/
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 1000px;
}

.contents_area {
	box-sizing: border-box;
	margin: 40px 0 0;
	padding: 0 30px 40px;
	width: 100%;
}

.main_area h1 {
	margin: 0 auto;
	transition: opacity .2s ease-out;
}

.main_area h1:hover {
	opacity: .5;
}

.main_area h1 a {
	display: block;
	padding: 10px 0 0;
	transition: opacity .2s ease-out;
}

.main_area h1 {
	text-align: center;
	vertical-align: bottom;
}

.main_area h1 img {
	width: 50%;
}

.main_area p.sub_title {
	margin: 0.35em 0;
	padding: .3em 1em;
	background: rgba(255, 255, 255, 0.25);
	/*
	background: var(--main-color-transparent);
	background:rgba(47,21,55,0.8);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .3) inset, -1000px 0 0 rgba(47, 21, 55, .5), 1000px 0 0 rgba(47, 21, 55, .5);
	font-size: 1.375rem;
	*/
	/*
	background: rgb(140, 61, 129);
	box-shadow: 0 1px 4px rgba(140, 61, 129, .3) inset, -1000px 0 0 rgba(140, 61, 129, .5), 1000px 0 0 rgba(140, 61, 129, .5);
	*/
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--base-color);
	line-height: 1.4;
	letter-spacing: .05em;
	text-align: center;
}

.main_area p {
	margin: .65em 0;
}

.main_area .note {
	display: block;
	margin: .5em 0;
	padding-left: 1em;
	font-size: .875rem;
	text-indent: -1em;
}

.main_area a.link {
	color: rgb(0, 110, 170);
	-webkit-transition: opacity .2s ease-out;
	transition: opacity .2s ease-out;
}

.main_area a.link:hover {
	opacity: .5;
}

.main_area .red {
	color: rgb(240, 80, 80);
}

.main_area .orange {
	color: rgb(255, 160, 80);
}

.main_area .blue {
	color: rgb(15, 82, 168);
}

.main_area .bg_skyblue {
	display: inline-block;
	margin: 0 .3em;
	padding: 0 .3em;
	background: rgb(110, 180, 240);
	border-radius: 3px;
	color: rgb(255, 255, 255);
	font-weight: 500;
}

hr {
	margin: 30px 0;
	border: none;
	border-top: dotted 1px var(--main-color);
}

hr.doble {
	margin: 10px 0 50px 0;
	border: none;
	border-top: double 3px var(--main-color);
}

.main_area .ta_c {
	text-align: center;
}

.main_area h2 {
	margin: 1.5em 0 .5em;
	padding-left: .05em;
	padding-top: .2em;
	padding-bottom: .3em;
	border-bottom: solid 1px var(--main-color);
	border-top: double 3px var(--main-color);
	color: var(--main-color);
	font-size: 1.625rem;
	font-weight: 700;
	line-height: 1.4;
}

.main_area h3 {
	/*margin: 1.5em 0 .5em;*/
	margin: 0.5em 0 .5em;
	padding-bottom: .3em;
	font-size: 1.3rem;
	font-weight: 700;
	color: rgb(80, 80, 80);
	line-height: 1.4;
	border-bottom: solid 1px rgb(160, 160, 170);
}

/*
.main_area h3::before {
	content: "";
	display: inline-block;
	margin-right: 6px;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: var(--accent-color);
	vertical-align: 10%;
}
*/

.main_area h4 {
	margin: 1.5em 0 .5em;
	padding-bottom: .3em;
	font-size: 1.125rem;
	color: var(--text-default-color);
	line-height: 1.4;
}

.main_area h5 {
	margin: 1.5em 0 .5em;
	font-size: 1rem;
	color: rgb(0, 60, 120);
	line-height: 1.4;
}

.main_area h6 {
	margin: 1.5em 0 .5em;
	font-size: 1rem;
	color: rgb(100, 100, 100);
	line-height: 1.4;
}

.main_area .contents_area>section:first-child>h2:first-child,
.main_area h2+section>h3:first-child,
.main_area h3+section>h4:first-child,
.main_area h4+section>h5:first-child,
.main_area h5+section>h6:first-child {
	margin-top: 0;
}

.main_area .sub_h {
	margin: 1em 0 0;
	padding-bottom: .3em;
	border-bottom: solid 1px rgb(150, 170, 160);
	font-weight: 700;
}

.main_area .h_like {
	display: block;
	margin: .8em 0 0 0;
}

.main_area .paren {
	text-indent: -.5em;
}

.main_area .underconstruction {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 220px auto 0;
	padding: 0.8em;
	width: 250px;
	background: rgba(120, 90, 180, .8);
	border: solid 1px rgb(255, 255, 255);
	border-radius: 5px;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, .3) inset;
	font-size: 1.25rem;
	font-weight: 700;
	color: rgb(255, 255, 255);
	text-align: center;
}

.main_area .deco_box01,
.main_area p.deco_box01 {
	margin: 1.5rem 0;
	padding: .5rem 1.2rem;
	border: solid 1px rgb(180, 180, 200);
	border-radius: 3px;
}

.main_area .deco_box03,
.main_area p.deco_box03 {
	margin: 1.5rem 0;
	padding: .5rem 1.2rem;
	border: solid 1px rgb(240, 100, 100);
	border-radius: 3px;
	color: rgb(240, 100, 100);
}


/*--リスト--*/
.main_area ul.type01,
.main_area ol.type01 {
	margin: 1em 0;
}

.main_area ul.type01>li,
.main_area ol.type01>li {
	margin: .6em 0;
}

.main_area ol.type02 {
	margin: .6em 0;
	padding-left: 3em;
	list-style: none;
	counter-reset: paren;
}

.main_area ol.type02>li {
	position: relative;
	margin: .5em 0;
}

.main_area ol.type02>li:before {
	position: absolute;
	left: -2em;
	counter-increment: paren;
	content: "(" counter(paren)")";
	font-weight: 500;
}

.main_area ol.type03 {
	margin: .6em 0;
	counter-reset: circle;
	list-style: none;
}

.main_area ol.type03>li {
	margin: .5em 0;
}

.main_area ol.type03>li:before {
	counter-increment: circle;
	content: counter(circle);
	display: inline-block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 .6em 0 -2em;
	padding-top: .25em;
	width: 1.4em;
	height: 1.4em;
	border: solid 1px rgb(60, 60, 60);
	border-radius: .7em;
	font-size: .7rem;
	line-height: .7em;
	text-align: center;
	vertical-align: 20%;
	letter-spacing: -0.05em;
	text-indent: -0.05em;
}

.main_area ol.type04 {
	margin: .6em 0;
	padding-left: 3em;
	list-style: none;
	counter-reset: roman_numerals;
}

.main_area ol.type04>li {
	position: relative;
	margin: .5em 0;
}

.main_area ol.type04>li:before {
	position: absolute;
	left: -2em;
	counter-increment: roman_numerals;
	content: "(" counter(roman_numerals, lower-roman)")";
	font-weight: 500;
}

.main_area ol.type05 {
	margin: .6em 0;
	padding-left: 3em;
	list-style: none;
	counter-reset: rparen;
}

.main_area ol.type05>li {
	position: relative;
	margin: .5em 0;
}

.main_area ol.type05>li:before {
	position: absolute;
	left: -2em;
	counter-increment: rparen;
	content: counter(rparen)")";
	font-weight: 500;
}

.main_area ol.type06 {
	margin: 1em 0;
}

.main_area ol.type06>li {
	margin: .6em 0;
	list-style-type: lower-latin;
}


/*--テーブル--*/
.main_area table.type01 {
	margin: .5em 0;
	width: 100%;
	border-collapse: collapse;
	font-size: .937rem;
	line-height: 1.5;
	text-align: left;
}

.main_area table.type01 th,
.main_area table.type01 td {
	padding: .5em .8em;
	border: solid 1px rgb(180, 180, 180);
}

.main_area table.type01 th {
	background: rgb(240, 240, 240);
	font-weight: 700;
}

.main_area table.type01 tr th {
	text-align: center;
}

/*--定義リスト--*/
.main_area dl.type01 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 1.5em 0;
	border-top: solid 1px rgb(200, 200, 200);
}

.main_area dl.type01 dt,
.main_area dl.type01 dd {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: .7em .5em;
	border-bottom: solid 1px rgb(200, 200, 200);
}

.main_area dl.type01 dt {
	margin: 0;
	width: 160px;
	font-weight: 700;
}

.main_area dl.type01 dd {
	margin: 0;
	width: calc(100% - 160px);
}

.main_area dl.type01.w60 dt {
	margin: 0;
	width: 60px;
	font-weight: 700;
}

.main_area dl.type01.w60 dd {
	margin: 0;
	width: calc(100% - 60px);
}

.main_area dl.type01.w80 dt {
	margin: 0;
	width: 80px;
	font-weight: 700;
}

.main_area dl.type01.w80 dd {
	margin: 0;
	width: calc(100% - 80px);
}

.main_area dl.type01.w110 dt {
	margin: 0;
	width: 110px;
	font-weight: 700;
}

.main_area dl.type01.w110 dd {
	margin: 0;
	width: calc(100% - 110px);
}

.main_area dl.type01.w120 dt {
	margin: 0;
	width: 120px;
	font-weight: 700;
}

.main_area dl.type01.w120 dd {
	margin: 0;
	width: calc(100% - 120px);
}

.main_area dl.type01.w130 dt {
	margin: 0;
	width: 130px;
	font-weight: 700;
}

.main_area dl.type01.w130 dd {
	margin: 0;
	width: calc(100% - 130px);
}

.main_area dl.type02 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 1rem 0;
	padding-left: .5rem;
}

.main_area dl.type02 dt,
.main_area dl.type02 dd {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.main_area dl.type02 dt {
	margin: 0;
	width: 110px;
	font-size: .937rem;
	font-weight: 700;
}

.main_area dl.type02 dd {
	margin: 0;
	width: calc(100% - 110px);
}

.main_area dl.type02.w110 dt {
	width: 110px;
}

.main_area dl.type02.w110 dd {
	width: calc(100% - 110px);
}

.main_area dl.q_and_a {
	margin: 1.5em 0;
}

.main_area dl.q_and_a dt,
.main_area dl.q_and_a dd {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: .7em 0;
}

.main_area dl.q_and_a .head {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	margin-left: -2.4em;
	padding-right: .2em;
	width: 2.4em;
	text-align: right;
}

.main_area dl.q_and_a dt {
	margin: 0;
	padding-bottom: 0;
	padding-left: 2.4em;
	font-weight: 700;
}

.main_area dl.q_and_a dd {
	margin: 0;
	padding-top: 0;
	padding-left: 2.4em;
	border-bottom: solid 1px rgb(200, 200, 200);
}

.main_area dl.q_and_a dt .head {
	color: rgb(40, 80, 180);
}

.main_area dl.q_and_a dd .head {
	color: rgb(180, 80, 100);
}


/*--ボタン--*/
.main_area .button_box {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1.5em auto;
	padding: 0;
	max-width: 1080px;
	list-style: none;
	row-gap: 1.2rem;
}

.main_area .button_box.around {
	justify-content: space-around;
}

.main_area .button_box li {
	position: relative;
	box-sizing: border-box;
	display: flex;
	width: 100%;
}

.main_area .button_box li a {
	position: relative;
	box-sizing: border-box;
	/*
	display: flex;
	align-items: center;
	justify-content: center;
	*/
	padding: 0.6em 0.8em;
	width: 100%;
	background: var(--main-color-transparent);
	border: solid 1px var(--main-color);
	border-radius: 3px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	font-weight: 500;
	color: var(--base-color);
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: .2s ease-out;
	transition-property: background, color;
}

.main_area .button_box.large li a {
	font-size: 1.5rem;
	min-height: 150px;
}

.main_area .button_box a::after {
	position: absolute;
	top: calc(50% - .3em);
	right: 4px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--accent-color);
	border-width: .3em .2em .3em .4em;
	transition: .2s ease-out;
	transition-property: right, border;
}

.main_area .button_box a:hover {
	background: var(--base-color);
	color: var(--main-color);
}

.main_area .button_box a:hover::after {
	right: 0;
	border-left-color: var(--main-color);
}

.main_area .button_box li.blue a {
	background: rgb(43, 83, 204);
	border: solid 1px rgb(43, 83, 204);
}

.main_area .button_box li.blue a:hover {
	background: rgb(255, 255, 255);
	color: rgb(43, 83, 204);
}

.main_area .button_box li.darkblue a {
	background: rgba(4, 58, 80, .8);
	border: solid 1px var(--main-color);
	color: var(--base-color);

}

.main_area .button_box li.darkblue a:hover {
	background: var(--base-color);
	color: var(--main-color);
}

.main_area .button_box li.darkblue a::after {
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--accent-color);
}

.main_area .button_box li.darkblue a:hover::after {
	right: 4px;
	border-left-color: var(--accent-color);
}

.main_area .button_box li.gray a {
	background: rgb(100, 100, 100);
	border: solid 1px rgb(100, 100, 100);
	color: rgb(255, 255, 255);
}

.main_area .button_box li.gray a:hover {
	background: rgb(100, 100, 100);
	color: rgb(255, 255, 255);
}

.main_area .button_box li.gray a::after {
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 255, 255, 1);
}

.main_area .button_box li.gray a:hover::after {
	right: 4px;
	border-left-color: rgb(255, 255, 255);
}

.main_area .button_box li.yellow a {
	background: rgb(210, 170, 20);
	border: solid 1px rgb(210, 170, 20);
}

.main_area .button_box li.yellow a:hover {
	background: rgb(255, 255, 255);
	color: rgb(210, 170, 20);
}

.main_area .button_box li.w3 {
	width: calc(33.3% - .4rem);
}

.main_area .button_box li.w2 {
	width: calc(50% - .5rem);
}

.main_area .button_box li.w2sb {
	width: calc(50% - .5rem);
}

.main_area .button_box.m_large {
	margin-top: 4rem;
}

.main_area .button_box .em_date {
	font-size: 1.25rem;
	font-weight: 700;
}

.main_area .button_box li.disabled a {
	pointer-events: none;
	cursor: default;
	border-color: rgb(204, 204, 204);
	background: rgb(204, 204, 204);
}

.main_area .button01 {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	padding: 0.5em 0.8em;
	background: rgb(100, 60, 170);
	border: solid 1px rgb(60, 30, 160);
	border-radius: 3px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	font-size: .937rem;
	font-weight: 500;
	color: rgb(255, 255, 255);
	line-height: 1.4;
	text-decoration: none;
	transition: .2s ease-out;
	transition-property: opacity, background, color;
}

.main_area .button01::after {
	position: absolute;
	top: calc(50% - .3em);
	right: 3px;
	content: "";
	display: block;
	box-sizing: border-box;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 230, 140, 1);
	border-width: .3em 0 .3em .4em;
	transition: .2s ease-out;
	transition-property: right, border;
}

.main_area .button01:hover {
	background: rgb(255, 255, 255);
	color: rgb(100, 60, 170);
}

.main_area .button01:hover::after {
	right: 0;
	border-left-color: rgb(100, 60, 170);
}

.main_area .button01.disabled {
	pointer-events: none;
	cursor: default;
	border-color: rgb(204, 204, 204);
	background: rgb(204, 204, 204);
}

.video_iframe_box {
	margin: 16px auto;
	max-width: 800px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

.sponsors_banner {
	margin: 35px 0;
	text-align: center;
	list-style: none;
}

.sponsors_banner li {
	display: inline-block;
	margin: 15px 10px;
}

.sponsors_banner li a {
	display: inline-block;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	transition: opacity .15s ease-out;
}

.sponsors_banner li a:hover {
	opacity: .5;
}

.sponsors_banner li img {
	vertical-align: bottom;
}

.column2 {
	display: flex;
	justify-content: space-between;
}

.column2 .col {
	width: 48%;
}

.column2ex {
	display: flex;
	justify-content: space-between;
}

.column2ex .col {
	width: 100%;
}

/*----------------------------------
	Accordion box
----------------------------------*/
.main_area .ac_box_01 {
	margin-bottom: 2rem 0 0;
}

.main_area .ac_box_01>.ac_button {
	box-sizing: border-box;
	position: relative;
	display: block;
	margin: 2rem 0 0;
	padding: .5em .5em .5em 2.5em;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(0, 70, 155);
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(0, 70, 155);
	line-height: 1.4;
	cursor: pointer;
	transition: .1s ease-out;
	transition-property: background, color;
}

.main_area .ac_box_01>.ac_button::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	width: 20px;
	border-top: solid 2px rgb(0, 70, 155);
}

.main_area .ac_box_01>.ac_button::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	width: 20px;
	border-top: solid 2px rgb(0, 70, 155);
	transform: rotate(90deg);
	transition: transform .2s ease-out;
}

.main_area .ac_box_01>.ac_button:not(.clicked):hover {
	background: rgb(110, 130, 170);
	color: rgb(255, 255, 255);
}

.main_area .ac_box_01>.ac_button:not(.clicked):hover::after {
	transform: rotate(-90deg);
}

.main_area .ac_box_01>.ac_button.clicked {
	background: rgb(0, 70, 155);
	color: rgb(255, 255, 255);
}

.main_area .ac_box_01>.ac_button.clicked::after {
	transform: rotate(0deg);
	border-color: rgb(255, 255, 255);
}

.main_area .ac_box_01>a.ac_button:not(.clicked):hover {
	background: rgb(110, 130, 170);
	color: rgb(255, 255, 255);
}

.main_area .ac_box_01>a.ac_button:not(.clicked):hover::after {
	transform: rotate(-90deg);
}

.main_area .ac_box_01>a.ac_button.clicked {
	background: rgb(255, 255, 255);
	color: rgb(0, 70, 155);
}

.main_area .ac_box_01>a.ac_button.clicked::after {
	transform: rotate(90deg);
	border-color: rgb(0, 70, 155);
}

.main_area .ac_box_01>.ac_content {
	box-sizing: border-box;
	padding: .5em 5px .8em 10px;
	width: 100%;
	display: none;
}

/*------------------------------
	page_video_streaming
------------------------------*/
#page_video_streaming .sponsor {
	margin: .5rem 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(100, 100, 110);
	line-height: 1.4;
}

#page_video_streaming .date {
	margin: .5rem 0;
	padding: 0 0 .3em;
	border-bottom: dotted 1px rgb(180, 180, 180);
}

#page_video_streaming .speakers {
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 15px 0 15px 20px;
	padding: 0;
	line-height: 1.5;
}

#page_video_streaming .speakers dt {
	box-sizing: border-box;
	margin: .2rem 1rem 0 0;
	width: 5rem;
	background: linear-gradient(to right bottom, rgba(245, 245, 255, 1), rgba(245, 245, 255, 0));
	border: solid 1px rgb(170, 180, 220);
	border-radius: 3px;
	box-shadow: 0 0 7px rgba(0, 0, 0, .15);
	font-size: .8rem;
	font-weight: 500;
	text-align: center;
}

#page_video_streaming .speakers dd {
	box-sizing: border-box;
	margin: 0 0 .4rem 0;
	width: calc(100% - 5rem);
	font-weight: 700;
}

#page_video_streaming .speakers dd+dd {
	margin-left: 6rem;
}

#page_video_streaming .speakers dd .title {
	display: block;
	margin-bottom: .2rem;
	padding-bottom: .2rem;
	border-bottom: dotted 1px rgb(200, 200, 200);
	font-size: 1rem;
	font-weight: 700;
	color: rgb(0, 60, 120);
}

#page_video_streaming .speakers dd .affi {
	display: block;
	font-size: .937rem;
	text-indent: -.5em;
	font-weight: 400;
}

#page_video_streaming .session_title {
	margin: 1.5rem 0 .5rem 20px;
	padding: 0 0 0 .5em;
	border-left: solid 3px rgb(100, 70, 160);
	color: rgba(120, 90, 180, .8);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
}

/*------------------------------
	2022/09/08 add
------------------------------*/
.control_buttons_01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: .8rem;
	row-gap: .8rem;
	padding-bottom: .8rem;
	margin: 1rem auto;
	border-bottom: 1px dotted rgb(150, 150, 150);
}

.control_buttons_01 input,
.control_buttons_01 a {
	padding: 8px 13px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.control_buttons_01 input[value="LOGOUT"],
.control_buttons_01 a[value="LOGOUT"] {
	background: rgb(220, 90, 70);
	color: rgb(255, 255, 255);
}

.control_buttons_01 .go_back a {
	position: relative;
	padding: 8px 13px 8px 16px;
}

.control_buttons_01 .go_back a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	display: block;
	border: 6px solid rgba(255, 255, 255, 0);
	border-left: none;
	border-right: 8px solid rgb(220, 90, 70);
	transform: translateY(-50%);
}

.caution_box {
	position: relative;
	padding: 9px 12px;
	border: 2px solid rgb(220, 90, 70);
	background: rgba(255, 255, 255, .85);
	border-radius: 0 5px 5px 5px;
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.4;
}

.caution_box::before {
	content: "Caution !";
	position: absolute;
	top: -11px;
	left: -2px;
	display: block;
	padding: 2px 6px;
	background: rgb(220, 90, 70);
	border-radius: 5px 5px 5px 0;
	font-size: .5rem;
	font-weight: 700;
	color: rgb(255, 255, 255);
	letter-spacing: .05em;
	line-height: 1.3;
}

.board {
	width: 100%;
	max-height: 500px;
	margin: 0 0 15px;
	border-top: 1px solid #aaaaaa;
	overflow-y: scroll;
}

#message {
	height: 100px;
}

.mess {
	border-bottom: 1px solid #aaaaaa;
}

.mess header {
	padding: 5px 10px;
	font-size: 14px;
	background: #eeeeee;
}

.mess .body {
	margin: 0;
	padding: 5px 10px;
}

.mess .body .number {
	display: inline-block;
	margin: 0 0 5px;
	padding: 0 10px;
	border: 1px solid #008db7;
	border-radius: 3px;
	background: #bbe2f1;
}

/*------------------------------
------------------------------
	Media queries
------------------------------
------------------------------*/
@media screen and (max-width:750px) {
	.main_area {
		background: linear-gradient(to bottom, var(--main-color-transparent), var(--main-color-transparent)180px, var(--base-color-transparent)260px, var(--base-color-transparent)310px);
	}
}

@media screen and (max-width:600px) {
	.main_area p.sub_title {
		font-size: 1.5rem;
	}

	.main_area h2 {
		font-size: 1.375rem;
	}

	.contents_area {
		padding: 0 18px 35px;
	}

	.main_area .button_box li a {
		text-align: left;
		font-size: .937rem;
	}

	.main_area .button_box.large li a {
		font-size: 1.125rem;
	}

	.main_area .button_box li.w2sb {
		width: 100%;
	}

	.main_area dl.type02 dt {
		margin: .2em 0;
		padding-bottom: .2em;
		width: auto;
		border-bottom: 1px dotted rgb(120, 120, 120);
	}

	.main_area dl.type02 dd {
		margin: .2em 0;
		padding-left: .4rem;
		width: 100%;
		border-left: 2px solid rgb(160, 160, 160);
	}

	.main_area dl.type02.w110 dt {
		width: 100%;
	}

	.main_area dl.type02.w110 dd {
		width: 100%;
	}

	.control_buttons_01 input,
	.control_buttons_01 a {
		padding: 7px 11px;
		font-size: .875rem;
	}
}