@charset "shift_jis";



body {
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
	font-size: 100%;
	line-height: 2;
	color: #333333;				/*全体の文字色*/
	background-color: #ffffff;	/*背景色*/
	background-image: url(images/bg.png);	/*壁紙*/
	margin: 0px;
	padding: 0px;
	text-align: center;
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form{
	margin: 0px;
	padding: 0px;
}

ul{
	list-style-type: none;
}

img {
	border: none;
}

input,textarea,select {
	font-size: 1em;
}

form {
	margin: 0px;
}

table {
	border-collapse:collapse;
	font-size: 100%;
	border-spacing: 0;
}



/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333333;
}

a:hover {
	color: #B1645C;			/*カーソルオーバー時の文字色*/
	text-decoration: none;	/*カーソルオーバー時に下線を消す設定*/
}



/*コンテナー（HPを囲むブロック）
---------------------------------------------------------------------------*/
#container{
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	background-color: #f8f0fa;	/*背景色*/
	background-image: url(images/container_bg.png);	/*背景画像*/
	background-repeat: repeat-y;					/*背景画像をＹ軸（縦軸）にリピート*/
}



/*ヘッダー（ロゴなどが入っているHP上部ブロック）
---------------------------------------------------------------------------*/
#header {
	height: 200px;	/*ヘッダーの高さ*/
	width: 100%;
	position: relative;
	background-image: url(images/header_bg.jpg);	/*背景画像*/
	background-repeat: no-repeat;
	background-position: right top;
	border-bottom: 1px solid #e4f2f1;	/*ヘッダー下部の線幅、線種、色*/
}

/*トップページ専用ヘッダー設定*/
#top #header {
	height: 400px;	/*ヘッダーの高さ*/
	background-image: url(images/header_bg_kyoto.png);	/*トップページ用背景画像*/
	background-repeat: no-repeat;
	background-position: right top;
}

/*ロゴ画像の位置設定*/
#header #logo {
	position: absolute;
	left: 10px;	/*ヘッダーブロックに対して左から20pxの位置に配置*/
	top: 0px;	/*ヘッダーブロックに対して上から0pxの位置に配置*/
}


/*h1タグ設定*/
#header h1 {
	font-size: 15px;	/*文字サイズ*/
	color: #FFFFFF;		/*文字色*/
	line-height: 40px;
	height: 40px;
	font-weight: normal;
	position: absolute;
	right: 0px;			/*ヘッダーブロックに対して右から0pxの位置に配置*/
	top: 0px;			/*ヘッダーブロックに対して上から0pxの位置に配置*/
	text-align: right;	/*右寄せ*/
}



/*メインコンテンツ（右側ブロック）
---------------------------------------------------------------------------*/
#main{
	width: calc(100% - 270px); /* sub(250) + 左padding(10) + ざっくり余白 */
	float: right;
	padding: 9px 10px 50px 0px;
	box-sizing: border-box;
}

/*h2タグ設定*/
#main h2 {
	font-size: 150%;			/*文字サイズ*/
	background-color: #2f2cc9;
	color: #FFFFFF;				/*文字色*/
	padding: 0px 0px 0px 15px;	/*左から、上・右・下・左の余白*/
	line-height: 40px;
	overflow: hidden;
}

/*段落タグの余白設定*/
#main p {
	padding: 0.5em 10px 1em;	/*左から、上・左右・下への余白*/
}


/*サブコンテンツ（左側ブロック）
---------------------------------------------------------------------------*/
#sub{
	width: 250px;
	float: left;
	padding: 0 0 50px 10px;
	box-sizing: border-box;
}
#sub {

}

/*h3タグ設定*/
#sub h3 {
	font-size: 100%;
	color: #FFFFFF;				/*文字色*/
	text-align: center;			/*センタリング*/
	margin: 2px;
	background-color: #705538;	/*背景色*/
}

/*段落タグ*/
#sub p {
	padding: 0.5em 2px 1em;		/*左から、上・左右・下への余白*/
}



/*画像（サブ）メニュー
---------------------------------------------------------------------------*/
ul.menu li {
	border-bottom: 1px solid #e4f2f1;	/*メニュー同士の下に入っている線の幅、線種、色*/


}

ul.menu img {
	vertical-align: bottom;
}



/*フッター
---------------------------------------------------------------------------*/
#footer {
	text-align: right;
	clear: both;
	width: 100%;              /* ← ここが重要 */
	color: #e4f2f1;
	background-color: #2f2cc9;
	background-repeat: no-repeat;
	background-position: top center;
	padding: 20px 20px 20px 0px;
	box-sizing: border-box;  /* ← paddingで横はみ出し防止 */
}

/*フッター内にリンク設定した場合用*/
#footer a {
	text-decoration: none;
	color: #FFFFFF;
}



/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
#main .new dl{
	width: 100%;
	overflow: hidden;   /* float解除後の高さ確保 */
}

#main .new dt{
	float: left;
	width: 120px;       /* 既存指定を維持 */
	text-align: left;
 	white-space: nowrap;
}

#main .new dd{
	margin-left: 120px;   /* dt幅 */
	text-align: center;
	position: relative;
	left: -40px;          /* ← この数値で左にずらす */
}



/*テーブル１
---------------------------------------------------------------------------*/
.ta1 {
	width: 629px;
}

.ta1, .ta1 td, .ta1 th{
	border: 1px solid #45331F;	/*テーブルの枠線の幅、線種、色*/
}

/*テーブル内の右側*/
.ta1 td{
	width: 436px;	/*幅*/
	padding: 10px;	/*背景色*/
	vertical-align: top;	/*中の情報を上部に寄せる*/
}

/*テーブル内の左側の見出し部分*/
.ta1 th{
	width: 150px;				/*幅*/
	padding: 10px;				/*テーブル内の余白*/
	text-align: center;			/*文字をセンタリング*/
	background-color: #EFE6E5;	/*背景色*/
}

/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi{
	width: auto;
	text-align: left;
	color: #FFFFFF;				/*文字色*/
	background-color: #b2655d;	/*背景色（背景画像の下部の色を抜き出す）*/
	background-image: url(images/title_bg2.gjf;	/*背景画像*/
	background-repeat: repeat-x;					/*背景画像をＸ軸（横軸）にリピート*/
	background-position: top;						/*背景画像を上部に配置*/
}

/*テーブル１行目に入った見出し部分にリンクを設定した場合の文字色*/
.ta1 th.tamidashi a {
	color: #FFFFFF;
}



/*テーブル２
---------------------------------------------------------------------------*/
.ta2 {
	width: 629px;
}

.ta2, .ta2 td, .ta2 th{
	border: 1px solid #45331F;	/*枠線の幅と線種と色*/
}

.ta2 td {
	padding: 10px;	/*テーブル内の余白*/
	width: 50%;
}

/*テーブル１行目に入った見出し部分*/
.ta2 th{
	background-color: #b2655d;	/*背景色*/
	background-image: url(images/title_bg2.gjf);
	background-repeat: repeat-x;
	background-position: top;
	text-align: left;
	color: #FFFFFF;
	padding: 10px;
}

/*テーブル１行目に入った見出し部分にリンクを設定した場合用*/
.ta2 th a {
	color: #FFFFFF;
}


/*テーブル１・２　共通設定
---------------------------------------------------------------------------*/
/*テーブル内のh3タグ設定*/
.ta1 h3,
.ta2 h3 {
	font-size: 100%;
	color: #B2655D;						/*文字色*/
	border-bottom: 2px dotted #B2655D;	/*下部の線幅、線種、色*/
}

/*h3タグにリンクを設定した場合の文字色*/
.ta1 h3 a,
.ta2 h3 a {
	color: #B2655D;
}



/*その他
---------------------------------------------------------------------------*/
.look {
	background-color: #DCDCDC;
}

.mb1em {
	margin-bottom: 1em;
}

.clear {
	clear: both;
}

ul.disc {
	padding: 0.5em 10px 0.5em 25px;
	list-style: disc;
}

.color1 {
	color: #FF0000;
}

.pagetop {
	text-align: right;
	padding: 3em 0px 0px !important;
}

.welcome-text {
	text-align: left;
}

.welcome-text p {
	padding-left: 0;
	padding-right: 0;
}

#main table{
  border-collapse: collapse;
  border-spacing: 0;
}

/* セルの見た目だけ整える（幅計算はいじらない） */
#main td{
  vertical-align: middle;
  padding: 6px 4px;
}

/* はみ出したらページ全体を壊さず、横スクロールで逃がす */
#main{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 念のため：テーブルが変に縮む/広がるのを抑える（Safariでも安全寄り） */
#main table{
  width: max-content;   /* 内容幅で自然に広がる */
  min-width: 100%;      /* ただし狭いときは親幅までは確保 */
}
#main .speaker-list{
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}

/* 2列（名前列 / 所属列）で “( の開始位置” を完全に揃える */
#main .speaker-list .speaker{
  display: grid;
  grid-template-columns: 400px 1fr; /* ← ここを右に動かしたいなら数値を増やす */
  column-gap: 4px;                /* 名前と所属の間隔 */
  align-items: baseline;
  margin-bottom: 0.3em;
}

/* 名前は右寄せ、折り返し禁止 */
#main .speaker-list .speaker .name{
  justify-self: end;
  white-space: nowrap;
}

/* 所属は左寄せ */
#main .speaker-list .speaker .affil{
  justify-self: start;
}

#main table.fee-table{
  width: 400px !important;
  min-width: 0 !important;      /* ← これが超重要 */
  margin: 20px auto;
  table-layout: fixed;
}

#main table.fee-table td:first-child{ width: 260px; }
#main table.fee-table td:last-child{
  width: 140px;
  white-space: nowrap;
}