@charset "utf-8";

.clearfix:before,
.clearfix:after {
    content:"";
    display:table;
}
 
.clearfix:after {
    clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
    zoom:1;
}

#main p span.a-mark:before {
  content: "»";
  margin: 0 .25em 0 0; /* 記号の左右の余白 */
  color: #1f9958; /* 記号の色 */
}


/****************************************
 * Definition List (dl)
 ****************************************/
/*dl-layout1*/
#main dl.dl-layout1{
    margin-top: 0;
    margin-right: 0px;
    margin-bottom: 30px;
    margin-left: 0px;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

#main dl.dl-layout1 dt{
    float: left;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    text-align: left;
	line-height: 1.3;
    font-weight: normal;
    width: 140px !important;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 20px;
    background-image : url(../images/point01.png);
    background-position: 5px 11px;
    background-repeat: no-repeat;
}

#main dl.dl-layout1 dd{
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	text-align: left;
	line-height: 1.3;
	padding-left: 165px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
}


/*dl-layout2*/
#main dl.dl-layout2{
    margin-top: 0;
    margin-right: 0px;
    margin-bottom: 30px;
    margin-left: 0px;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

#main dl.dl-layout2 dt{
    float: left;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    text-align: left;
	line-height: 1.3;
    font-weight: bold;
    width: 7.0em !important;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0px;
	 color: #073190;
}

#main dl.dl-layout2 dd{
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	text-align: left;
	line-height: 1.3;
	padding-left: 8.0em;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
}

#main dl.dl-layout3{
	margin-bottom: 20px;
}
#main dl.dl-layout3 dt{
	float: left;
	width: auto;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}
#main dl.dl-layout3 dd{
	padding-left: 5em;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	margin-left: 0;
}
#main dl.dl-layout3-2 dd{
	padding-left: 8em;
}


#main dl.dl-layout1::after,
#main dl.dl-layout2::after,
#main dl.dl-layout3::after{
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

@media screen and (max-width: 960px) {
/*dl-layout1*/
	#main dl.dl-layout1 dt{
	float: none;
	line-height: 1.4;

	padding-bottom: 0;
	}
	#main dl.dl-layout1 dd{
		line-height: 1.4;
		padding-top: 5px;
		padding-left: 20px;
		padding-right: 0;
	}

/*dl-layout2*/
	#main dl.dl-layout2 dt{
	float: none;
	line-height: 1.4;
	padding-bottom: 0;
		width: 100% !important;
	}
	#main dl.dl-layout2 dd{
		line-height: 1.4;
		padding-top: 5px;
		padding-left: 0;
		padding-right: 0;
	}

}



/****************************************
 * table
 ****************************************/

#main p.txt-sp{
    display: none;
}
#main div.tbl-layout4{
    overflow: auto;
    margin-bottom: 5px;
    padding-bottom: 10px;
}
#main div.tbl-layout4 table{
    width: 670px;
    /*border-collapse: collapse;*/
    margin-bottom: 0;
}
#main div.tbl-layout4 table tr th{
	text-align:center;
	font-weight: bold;
}

#main div.tbl-layout4 table.tbl-pay tr th,
#main div.tbl-layout4 table.tbl-pay tr td {
	text-align: center;
}
#main div.tbl-layout4 table.tbl-pay tr th{
	font-weight: bold;
}
#main div.tbl-layout4 table.tbl-pay tr td:first-of-type{
	text-align: left;
}
#main div.tbl-layout4 table.tbl-pay tr td:first-of-type span{
	display: inline-block;
	margin-left: 0.5em;
}
#main div.tbl-layout4 table.tbl-issue tr td{
	vertical-align: top;
}
#main div.tbl-layout4 table.tbl-issue tr th:nth-child(2),
#main div.tbl-layout4 table.tbl-issue tr th:last-of-type{
	width: 42%;
}


@media screen and (max-width: 480px) {
/*tbl-layout1*/
  table.tbl-layout1 {
		border-top:none;
  }
  table.tbl-layout1 td {
    display: block;
    text-align: center;
		border-bottom: none;
 		border-left: none;
		border-right: none;
	}
  table.tbl-layout1 th {
    display: block;
		border-bottom: none;
 		border-left: none;
		border-right: none;
		text-align: center;
	 }


/*tbl-layout2*/
	table.tbl-layout2 {
	border: none;
  }
  table.tbl-layout2 thead {
    display: none;
  }
  table.tbl-layout2 tr {
		border-top: 1px solid #cccccc;
    display: block;
    margin-bottom: 20px;
  }
  table.tbl-layout2 td {
    display: block;
    padding: 10px;
    text-align: right;
		border-right: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
 		border-top: none;
 }
  table.tbl-layout2 td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
  }
	
/*tbl-layout3*/
  table.tbl-layout3 {
    display: block;
		border-left:none;
		border-bottom:none;
	  border-spacing: 0;
	  
}
  table.tbl-layout3 thead {
    display: block;
    float: left;
  }
  table.tbl-layout3 tbody {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
  }
  table.tbl-layout3 tr {
    display: block;
	width: 100%;
  }

table.tbl-layout3 th,
table.tbl-layout3 td {
	display: block;
	border-top:none;
	border-right:none;
	text-align: center;
	
}
	table.tbl-layout3 th {
		border-right: 1px solid #cccccc;
	}
	table.tbl-layout3 tbody tr:first-child td {
		border-left:none;
	}

table.tbl-layout3 th br,
table.tbl-layout3 td br {
	display: none;
}

	
}

#main ul.list-01 li{
	background-image: none;
	padding-left: 2.6em;
	text-indent: -2.6em;
}


#main ul.list-kome{
    margin-left: 0;
    list-style: none !important;
	margin-bottom: 20px;
}
#main ul.list-kome li{
    background: none;
}
#main ul.list-kome li:before {
	content: '※';
	margin-left: -1em;
}

/*====================================================================


/*--------------------------------------------------------
	  ボタン関連
--------------------------------------------------------*/
#main div#reg-area{
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 30px;
	margin-bottom: 40px;
	text-align: center;
	border: 2px solid #ff9c44;
	background-color: #fff0c8;
	padding: 30px 10px;
}

a.button,
a.button_red,
a.button_gray{
	display: inline-block;
	width: 40%;
	min-width: 210px;
	font-weight: bold;
	font-size: 16px;
	color: #ffffff;
	text-align: center;
	padding: 1em .75em;
	text-decoration: none;
	border-radius: 5px;
}
a.button{
	background-color: #db6700;
	border: 2px solid #b53600;
}
a.button:hover{
	background-color: #f78520;
	transition: .5s;
}
a.button_red{
	background-color: #b80d07;
	border: 2px solid #960803;
}
a.button_red:hover{
	background-color: #db413b;
	transition: .5s;
}
a.button_gray{
	background-color: #999999;
	border: 2px solid #666666;
}
a.button2{
	margin-left: 15px;
}

a.button2 br{
	display: none;
	
}

/*====================================================================


/*--------------------------------------------------------
	  greeting
--------------------------------------------------------*/
#main #contents div.area-prof {
	display: flex;
	justify-content: space-around;
	margin-top: 20px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}
#main #contents div.area-prof div {
	width: 210px;
	text-align: center;
	margin-bottom: 20px;
}
#main #contents div.area-prof div img {
	margin-bottom: 5px;
}



/*#main #contents .greeting_photo {
	width: 150px;
	float: right;
	margin: 0 0 20px 30px;
}
#main #contents .greeting_chair {
	margin: 130px 0 0 0;
	font-weight: bold;
	text-align: right;
}
#main #contents .greeting_chair span.chair_name {
	font-size: 121.4%;
}*/


/*====================================================================


/*--------------------------------------------------------
	 access
--------------------------------------------------------*/
#main div.tbl-access{
    overflow: auto;
    margin-bottom: 5px;
    padding-bottom: 10px;
}
#main div.tbl-access table{
    width: 660px;
    /*border-collapse: collapse;*/
    margin-bottom: 0;
}
#main div.tbl-access table tr:first-of-type th {
    text-align: center;
}
#main div.tbl-access table tr td{
    text-align: center;
}

#main p.txt-access-sp{
    display: none;
}



/* Google Mapを囲う要素 */
#main #contents div.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%; /* 比率を4:3に固定 */
	margin-bottom: 35px;
}
 
/* Google Mapのiframe */
#main #contents div.map  iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*====================================================================


/*--------------------------------------------------------
	 abstracts
--------------------------------------------------------*/

#main ul.pankuzu{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#main ul.pankuzu li{
	background-image: none;
	padding: 0.15em 1em 0.15em 0;
	margin-bottom: .15em;
}
#main ul.pankuzu li:before {
  content: "»";
  margin: 0 .25em 0 0; /* 記号の左右の余白 */
  color: #1f9958; /* 記号の色 */
}


#main table tr td ol.list-session{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-left: .5em;
	margin-bottom: 0;
}

#main table tr td ol.list-session li{ 
	list-style: decimal-leading-zero;
	width:10.5em;
	margin-bottom: .25em;
}
#main table tr td ol.list-session li:last-of-type{
	width: auto;
}

p.btn-area a:first-of-type,
div.btn-area a:first-of-type{
	margin-right: 15px;
}

/*====================================================================


/*--------------------------------------------------------
	 credit
--------------------------------------------------------*/
#main ol.list-circle li{
	list-style-type: none;
	padding: 0px 0px 0px 1em;
    margin:0px 0px 5px 0px;
	text-indent: -1em;
}

#main ol.list-circle li ul.list-kome {
	margin: 10px 0 0;
}
#main ol.list-circle li ul.list-kome li{
	text-indent: 0;
}

#main ol.list-circle li p {
	text-indent: 0;
}



@media screen and (max-width: 960px) {
		
	#main #contents table.tbl-access {
		width: 90%;
    }
	p.btn-area a:first-of-type{
		margin-right: 0px;
		margin-bottom: 15px;
	}
	p.btn-area a,
	div.btn-area a{
		display: block;
	}
	div.btn-area a{
		margin-left: auto;
		margin-right: auto;
	}
	div.btn-area a:first-of-type{
		margin-right: auto;
		margin-bottom: 15px;
	}


}
@media screen and (max-width: 770px) {
   
    a.button2{
		display: block;
		margin-left: auto;
		margin-right: auto;
		margin-top: 20px;
	}
	a.button2 br{
		display: block;
	
	}
	
}

@media screen and (max-width: 701px) {
   
    #main p.txt-access-sp{
        display:block;
        margin-bottom: 5px;
    }
    #main p.txt-sp{
        display:block;
        margin-bottom: 5px;
    }

	
}

@media screen and (max-width: 680px) {

}
@media screen and (max-width: 451px) {
	/*--------------------------------------------------------
		  greeting
	--------------------------------------------------------*/
	#main #contents div.area-prof {
		justify-content: center;
	}
	#main #contents div.area-prof div:first-of-type{
		margin-bottom: 20px !important;
	}
	
}



@media screen and (max-width: 370px) {
}