/*****************************************************************************
共通
*****************************************************************************/
/*フォント*/
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Noto Sans CJK JP"),
    local("Noto Sans JP"),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}

html {
  max-width: none;
  min-width: 1225px;
  width: auto;
}
body {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  background: transparent url('../img/repeat_grid.png') padding-box;
  background-repeat: repeat;
}
.container {
  margin: 6.5625em auto;
  position: relative;
  width: 1400px;
  height: auto; 
  background: #ffffff;
  border-radius: 1.25em; 
  padding: 3em;
}
.page_title {
  padding: 3em 3em 5em 1em;
  text-align: center;
}
.page_title h1.title {
  width: auto;
  height: auto;
  font-weight: bold;
  color: #41A9A5;/*文字色*/
  font-size: 1.8em;
  margin: 0em auto;
  background: #fff;
  border-left: none;
  text-decoration: none;
  border-bottom: dashed 0.1041em #41A9A5;
  padding-bottom: 0.125em;
  display: inline-block;
}
.page_title h1.title::before {
  content:"";
	display:inline-block;
	width:1em;
	height:1em;
	background:url(../img/title.png) no-repeat;
	background-size:contain;
}
div.btn_area {
  margin: 4em auto;
  width: 820px;
  height: auto;
  text-align: center;
}
.btn_go {
	display:inline-block;
	background:#FEC800;
	width: 400px;
	height: 75px;
	padding: 1.125em 1.875em;
	font-size: 1.25em;
	font-weight: bold;
	text-align:center;
	color:#FFF;
	margin:0.3125em;
	border:0.0625em solid;
	cursor:pointer;
	position: relative;
	text-decoration: none;
}
.btn_go::after{
	content: "";
	display: block;
	position: absolute;
	top: calc(45% - 0.3125em);
	right: 3em;
	width: 0;
  height: 0;
  border-left: 0.9375em solid #FFFFFF;
  border-top: 0.9375em solid transparent;
  transform: rotate(-135deg);
	transition: .3s;
}
.btn_go:hover {
  color: #FEC800;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 0.125em solid #FEC800;
}
.btn_go:hover::after{
	right: 1.25em;
	border-color: transparent transparent #FEC800 #FEC800;
}
h1 {
  font-weight: bold;
  width: 820px;
  height: 35px;
  padding: 0.3em;
  color: #41A9A5;/*文字色*/
  font-size: 1.125em;
  background: #F0F0F0 0% 0% no-repeat padding-box;
  border-left: solid 0.625em #41A9A5;/*左線*/
  margin: 0em auto;
}
section div {
  margin: 2.5em auto;
  position: relative;
  width: 700px;
  height: auto;
}
section div p {
  font-size: 1.125em;
  width: 700px;
  color: #333333;
}
section div p.bold_content {
  font-weight: bold;
  font-size: 1.25em;
  width: 700px;
  color: #333333;
}
section div p.caution_content {
  font-weight: bold;
  font-size: 1.25em;
  width: 700px;
  color: #ff0000;
}
section div p.right_content {
  text-align: right;
}

section div.date{
  color: #333333;/*文字色*/
  font-size: 0.93em;
  border: solid 0.0625em #333333;/*線色*/
  padding: 0.3em;/*文字周りの余白*/
	margin: 0em;
	background: #FFF;
	border-radius: 0.625em;/*角の丸み*/
	display: inline-block;
	width: auto;
	height: auto;
}
section div.date p{
  margin: 0em;
  padding: 0;
	width: auto;
}
span.green {
  color:#41A9A5;
}
#to_top {
  bottom: 0;
  margin: 0;
  position: fixed;
  right: 0;
}
#to_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
  background:url(../img/to_top.png) no-repeat;
}
/*****************************************************************************
LP
*****************************************************************************/
.program_table {
  margin: 0em 0em 0.7em;
  table-layout: fixed;
  width: 100%;
}
.program_table th {
  text-align: left;
  color: #333333;
  padding: 0.2em;
  width: 20%;
  height: 25%;
  vertical-align: top;
  font-size: 1.125em;
}
.program_table td {
  text-align: left;
  color: #333333;
  padding: 0.2em;
  vertical-align: top;
  font-size: 1.125em;
}
.program_table td.symposist{
  padding: 0.05em 0.2em 0.05em 2em;
}
div.multiple_btn_area {
  margin: 0em auto 2em;
  width: 800px;
  height: 75px;
  text-align: center;
  display: flex;
}
.btn_multiple {
  width: 320px;
  margin: 0em 1em 3em 4em;
  padding: 1.125em 0em;
  border:none;
}
.btn_multiple::after{
	right: 2em;
}
.btn_hide {
	display:inline-block;
	background:#c9c9c7;
	width: 320px;
	height: 75px;
	padding: 1.125em 0em;
	font-size: 1.25em;
	font-weight: bold;
	text-align:center;
	color:#333333;
	border:none;
	position: relative;
}
.multiple_hide_left {
  margin: 0em 0em 0em 4em;
}
.multiple_hide_right {
  margin: 0em 0em 0em 1em;
}
.multiple_go_right {
  margin: 0em;
}
.multiple_go_right::after{
	right: 0.9em;
}
.multiple_go_right:hover::after{
	right: 0.5em;
}
section div span.bold_deadline {
  font-weight: bold;
  font-size: 1.1em;
  color: #333333;
}
section div p.notice_deadline {
  font-size: 1em;
  color: #333333;
}
section div p.guide_title {
  width: auto;
  font-weight: bold;
  color: #41A9A5;/*文字色*/
  font-size: 1.2em;
  margin: 0em auto;
  background: #fff;
  border-left: none;
  text-decoration: none;
  border-bottom: dashed 0.1041em #41A9A5;
  padding-bottom: 0.125em;
  display: inline-block;
}
/*****************************************************************************
入力ページ、確認ページ
*****************************************************************************/
h2 {
  font-weight: bold;
  width:360px;
  height: 10px;
  padding: 1em;
  color: #41A9A5;/*文字色*/
  font-size: 0.875em;
  margin: 1.5em 1em 0.8em 0em;
}
h3 {
  width: 820px;
  height: 10px;
  padding: 0.2em;
  color: #41A9A5;/*文字色*/
  font-size: 1.125em;
  margin: 1em auto 1.7em;
  text-align: left;
}
p.memo {
  width: 820px;
  height: 34px;
  margin:0em;
  font-size: 0.875em;
  text-align: right;
  color: #333333;
}
.input_title {
  padding: 3em 3em 3em 1em;
}
div.application_memo {
  margin: 1.5em 1em 1em 16em;
}
div.application_memo p {
  margin: 0em auto;
  width: 780px;
}
div.pdf_area {
  margin: 0em auto 0em 31.2em;
  width: 820px;
  height: auto;
  text-align: center;
}
div.pdf_area a {
  text-decoration: none;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
  display: block;
  width: 320px;
  height: 60px;
  background: #FEC800;
  padding: 0.7em 1.875em;
  border-radius: 0.375em;
  transition: .3s;
  border: 0.125em solid #FEC800;
}
div.pdf_area a:hover {
  color: #FEC800;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 0.125em solid #FEC800;
}
div.input_form {
  margin: 0em auto;
  width: 820px;
  height: auto;
}
div.contents_area {
  display: flex;
  list-style: none;
  margin: 0em;
}
div.contents_area p.caution {
  display: flex;
  font-size: 0.8rem;
  font-weight: 700;
  margin: 2.8em 0em 0em 0em;
  color:#ff0000;
}
p.explanation {
  font-size: 0.8em;
  margin: 0.2em 0em 0em 2em;
}
div.guide_area {
  height: 4.125em;
  text-align: center;
}
div.guide {
  width: 230px;
  display: inline-block;
}
div.guide a {
  text-decoration: none;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
  background: #FEC800;
  padding: 0.7em 1.875em;
  border-radius: 0.375em;
  transition: .3s;
  border: 0.125em solid #FEC800;
}
div.guide a:hover {
  color: #FEC800;
  background: #FFFFFF;
  border: 0.125em solid #FEC800;
}
div.input_form input[type="text"] {
  border: 0.0625em solid #A0A0A0;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  margin: 0em 0em 0em 1.25em;
  padding: 0.9375em 1.25em;
  width: 90%;
  font-size: 1.125em;
}
.time_table {
  border-collapse: collapse;
  margin: 0em 0em 0.7em;
  table-layout: fixed;
  width: 100%;
}
.time_table th {
  background: #41A9A5;
  border: 0.125em solid #D9D9D9;
  text-align: center;
  color: #FFFFFF;
  font-weight: 700;
  padding: 0.625em;
  width: 38%;
  height: 25%;
  font-size: 1.5625em;
}
.time_table th.time {
  width: 23%;
}

.time_table tr:nth-child(4) td,
.time_table tr:nth-child(5) td,
.time_table tr:nth-child(8) td,
.time_table tr:nth-child(9) td {
  background: #EFFDFD 0% 0%;
}
.time_table td.teacher {
  text-align: center;
  font-size: 1em;
  padding: 0.5em 0.2em;
}
.time_table td {
  background-color: #fff;
  border: #dedede 0.0625em solid;
  padding: 0.0625em 0.4375em 0.5em;
  font-size: 0.875em;
  overflow-wrap : break-word;
  color: #333333;
  text-align: left;
}
.time_table td p {
  width:auto;
  font-size: 0.8125em;
  font-weight: bold;
}
.time_table td p.person {
  margin:0em;
  padding:0em 0.3em;
}
.time_table td p.facility {
  margin:0em;
  padding:0em 0.3em;
}
.time_table td p.person::before {
  content:"";
	display:inline-block;
	width:1em;
	height:1em;
	background:url(../img/person.png) no-repeat;
	background-size:contain;
}
.time_table td p.facility::before {
  content:"";
	display:inline-block;
	width:1em;
	height:1em;
	background:url(../img/facility.png) no-repeat;
	background-size:contain;
}
.time_table td.time {
  font-size: 1em;
  font-weight: 800;
  color: #41A9A5;
  text-align: center;
}
.select_area {
	overflow: hidden;
	width: 96%;
	margin: 1em 1em 1em 2em;
	text-align: center;
}
.select_area select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.000625em;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.select_area select::-ms-expand {
    display: none;
}
.select_area.select_type {
	position: relative;
	border: 0.0625em solid #bbbbbb;
	border-radius: 0.125em;
	background: #ffffff;
}
.select_area.select_type::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 0.375em solid transparent;
	border-right: 0.375em solid transparent;
	border-top: 0.375em solid #666666;
	pointer-events: none;
}
.select_area.select_type:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 0.0625em solid #bbbbbb;
}
.select_area.select_type select {
	padding: 0.5em 2.375em 0.5em 0.5em;
	color: #333333;
  font-size: 1em;
  height: 3em;
}
div.confirm_form {
  margin: 2em auto;
  width: 820px;
  height: auto;
}
div.confirm_form p {
  color: #333333;
  padding: 0.3em 1em;
  font-size: 1.125em;
  width: 100%;
}
.btn_back {
	background:#FFFFFF;
	width: 300px;
	height: 75px;
	padding: 1em 1em 1em 1.3em;
	font-size: 1.25em;
	font-weight: bold;
	text-align:center;
	color:#646461;
	border:0.2em solid;
	border-color: #c2c2c4;
	cursor:pointer;
	position: relative;
}

/*****************************************************************************
完了ページ
*****************************************************************************/
div.posted_form {
  margin: 2em auto;
  width: 820px;
  text-align: center;
}
div.posted_form h2 {
  font-weight: bold;
  width: 820px;
  height: 10px;
  padding: 0.2em;
  color: #41A9A5;/*文字色*/
  font-size: 1.5em;
  margin: 1.5em auto;
}
div.posted_form p {
  color: #333333;
  padding: 0.3em 1em;
  font-size: 1.125em;
  width: 100%;
}

/*****************************************************************************
CSV出力ページ（申し込み管理）
*****************************************************************************/
div.csv_form {
  margin: 2em auto;
  width: 820px;
  text-align: center;
}
div.csv_form h2 {
  font-weight: bold;
  width: 820px;
  padding: 0.2em;
  color: #41A9A5;/*文字色*/
  font-size: 2em;
}
.period {
  display: flex;
  justify-content: space-around;
  margin: 3em auto 0em auto;
  width:600px;
  font-size: 1em;
}
input[type="date"] {
  border: 0;
  background-color: #F4F4F4;
  border-radius: 0.3125em;
  margin-bottom: 1.25em;
  padding: 0.9375em 1.25em;
}
.admincaution {
  font-size: 0.9375rem;
  font-weight: 700;
  margin: 0;
  color:#ff0000;
}
.admin_error {
  width: auto;
  height: 2rem;
  margin:2.5em;
}

/*****************************************************************************
エラーページ
*****************************************************************************/
div.page_title_csv {
  padding: 3em 3em 0em 1em;
  text-align: center;
}
div.page_title_csv h1.title {
  width: auto;
  height: auto;
  font-weight: bold;
  color: #41A9A5;/*文字色*/
  font-size: 1.8em;
  margin: 0em auto;
  background: #fff;
  border-left: none;
  text-decoration: none;
  border-bottom: dashed 0.1041em #41A9A5;
  padding-bottom: 0.125em;
  display: inline-block;
}
.page_title_csv h1.title::before {
  content:"";
	display:inline-block;
	width:1em;
	height:1em;
	background:url(../img/title.png) no-repeat;
	background-size:contain;
}
div.error_form {
  margin: 2em auto;
  width: 820px;
  text-align: center;
}
div.error_form h2 {
  font-weight: bold;
  width: 820px;
  padding: 0.2em;
  color: #f01520;/*文字色*/
  font-size: 2em;
}
div.error_form p {
  margin: 3em auto 2em;
}

/*****************************************************************************
講演会1日目
*****************************************************************************/
div.download_area {
  margin: 4em auto;
  width: 820px;
  height: auto;
  text-align: center;
}
.btn_download {
  text-decoration: none;
  color: #fff;
  font-size: 1.25em;
  font-weight: bold;
  background: #FEC800;
  padding: 0.7em 1.875em;
  border-radius: 0.375em;
  transition: .3s;
  border: 0.125em solid #FEC800;
  width: 400px;
	height: 75px;
}
.btn_download:hover {
  color: #FEC800;
  background: #FFFFFF;
  border: 0.125em solid #FEC800;
}

/*****************************************************************************
講演会2日目
*****************************************************************************/
section div.second_schedule {
  width: 800px;
}
.time_table div.lecture_title {
  width: auto;
  height: 60px;
  margin: 0.1em;
}
.time_table div.dl_area {
  width: 100%;
  height: auto;
  text-align: center;
  margin: 0.5em auto 0.2em;
  display: flex;
  flex-flow: column;
}
.time_table div.dl_area a {
  text-decoration: none;
  font-weight: bold;
  color: #333333;
  font-size: 1em;
  background: #FEC800;
  border: 0.125em solid #FEC800;
  transition: .3s;
  margin:0.2em 0em 0.3em;
  padding:0.4em;
}
.time_table div.dl_area a:hover {
  color: #333333;
  background: #fff;
  border: 0.125em solid #FEC800;
}
.time_table div.dl_area span.dl_hide {
  text-decoration: none;
  font-weight: bold;
  color: #333333;
  font-size: 1em;
  background: #c9c9c7;
  border: 0.125em solid #c9c9c7;
  margin:0.2em 0em 0.3em;
  padding:0.4em;
}
.time_table div.info_area {
  width: 100%;
  height: auto;
  text-align: left;
  margin:0em 0.2em 0em;
}
.time_table div.info_area p {
  margin:0em;
  padding:0.1em;
  font-size: 0.85em;
}
.time_table td.teacher p {
  margin: 0em;
}

/*****************************************************************************
アンケートページ
*****************************************************************************/
.questionnaire_title {
  padding: 3em 3em 1em 1em;
}
section.questionnaire h1 {
  margin: 4em auto 1em;
  padding: 0.2em 0.3em;
  font-size: 1.2em;
}
section.questionnaire h2 {
  font-size: 1.15em;
}
section.questionnaire h3 {
  padding: 0.625em 2.5em;
  margin: 1em auto 0.8em;
}
section div.greeting,.exposition {
  width: 800px;
  margin: 2.5em auto 1em;
}
section div.page_margin {
  margin: 6em auto 1em;
}
section div.greeting p,.exposition p {
  width: auto;
  font-size: 1.1em;
}
section div.text_area {
  margin: unset;
}
section div.text_area p.caution{
  color: #ff0000;
  margin: 0em 2em;
}
section div.radio label{
  font-size: 1.2em;
}
section div.free_text {
  margin: 3em 0em;
  width: 90%;
  height: 1em;
}
section div.two_lines {
  margin: 2em 0em 4.6em !important;
}
section div.free_text p {
  margin: 0em 3em !important;
}
section div.free_text p.two {
  margin: 2.3em 3em !important;
}
div.input_form input[type="text"].year {
  width: 10%;
}
div.input_form input[type="text"].free {
  margin: 0em 0em 0em 2.5em;
  height: 8em;
}
.radio {
	margin: 1em 1em 1em 2em;
}
div.input_form textarea, div.questionnaire_form textarea {
border: 0.0625em solid #A0A0A0;
background: #FFFFFF;
margin: 0em 0em 0em 2.8em;
padding: 0.9375em 1.25em;
width: 90%;
font-size: 1.125em;
font-family: 'Noto Sans JP';
}
div.questionnaire_form textarea {
  outline: none;
  cursor: default;
}
div.questionnaire_form p {
  padding: 0.3em 2em;
}
div.graph p.caution {
  color: #ff0000;
  margin: 0.2em 1em 0em;
}
p.notes {
  text-align: right;
  font-size: 0.85em;
  color: #333333;/*文字色*/
  margin: 0em;
  width: 97%;
}

/*****************************************************************************
CSV出力ページ（アンケート管理）
*****************************************************************************/
.btn_csv {
	display:inline-block;
	background:#FEC800;
	width: 330px;
	height: 75px;
	padding: 1em;
	font-size: 1.1em;
	font-weight: bold;
	text-align:center;
	color:#FFF;
	margin: 1em 1em 1em 2em;
	border:0.0625em solid;
	cursor:pointer;
	position: relative;
	text-decoration: none;
}
.btn_csv:hover {
  color: #FEC800;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 0.125em solid #FEC800;
}
/************************************
評価グラフ
************************************/
.graph {
  width: 90%;
  margin: 1em auto;
}
.graph_label {
  background: #41A9A5;
  color: #fff;
  display: inline-block;
  padding: 0.375em 0.9375em;
  font-weight: 600;
  font-size: 1em;
  line-height: 1.2em;
  width: 100%;
  margin: 2em 0em 0em;
}
.evaluation{
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  margin: 0.3em auto;
}
.evaluation input[type='radio']{
  display: none;
}
.evaluation label{
  position: relative;
  padding: 0.65em 1em;
  color: gray;
  cursor: pointer;
  font-size: 2.5em;
}
.evaluation label .text{
  position: absolute;
  left: 0em;
  top: 6em;
  right: 0em;
  text-align: center;
  font-size: 0.32em;
  color: gray;
}
.evaluation label:hover,
.evaluation label:hover ~ label,
.evaluation input[type='radio']:checked ~ label{
  color: #ffcc00;
}
.confirm_evaluation label {
  pointer-events:none;
}

/*****************************************************************************
録画視聴1日目
*****************************************************************************/
div.watch_btn_area {
  margin: 2em auto 2em;
  width: 700px;
}
.btn_watch {
  width: 350px;
}
.btn_watch_hide {
  width: 350px;
  padding: 1.125em 1.875em;
  margin:0.3125em;
}
.btn_watch::after{
	right: 2em;
}
section div span.bold_green {
  font-weight: bold;
  font-size: 1.1em;
  color: #41A9A5;
}