@charset "UTF-8";


/*　-------------------------------------------------------------------------- */

body {
    counter-reset: chapter;
	font-family: verdana, tahoma, sans-serif, "ヒラギノ角ゴ Pro W3", "MS PGothic", Osaka;
	margin: 0;
	padding: 0;
	font-size: 12px;
	background: #ffffff;	
}


/*　上黒エリア　-------------------------------------------------------------------------- */

#top {
	background: url(../images/top.jpg) repeat-x #000000;
	height: 100px;
	margin: 0px;
	padding: 0px;
	width: auto;
	position: relative;
}

#topmain {
	width: 770px;
	margin-left: auto;
	margin-right: auto;
}


#logo h1 {
	margin-top: 0px;
	width: 770px;
	heigth: 100px;
	padding: 0;
	background: url(../images/banner0.gif) no-repeat;
	float:left;
}

#logo h1 span{
	display: none;
}

#logo h1 a {
	display: block;
	margin: 0px;
	padding: 0px;
	height: 100px;
	width: 770px;
}

/*　上黒エリアのナビゲーション　-------------------------------------------------------------------------- */

#topnav{
	position: absolute;	
	width: 770px;
	height: 0;
	margin-top: 100px;
	margin-left: auto;
	margin-right: auto;
	background-color: #ebebeb;
}

#topnav a {
	display: block;
	float: right;
	width: 770px;
	height: 30px;
	text-align: right;
	background-color: #ebebeb;
	color: #000000;
	text-decoration: none;
	margin: 0px;
	padding: 0px;
}

#topnav a:hover {
	display: block;
	float: right;
	width: 770px;
	height: 30px;
	text-align: right;
	background-color: #ebebeb;
	color: #ff3366;
	text-decoration: none;
	margin: 0px;
	padding: 0px;
}

#topnav a.on {
	background-color: #0099ff;
	color: #000000;
	width: auto;
}

#topnav span {
text-align: center;
}

#topnav ul {
	display: inline;
	padding: 0px; 
	margin: 0px;
}

#topnav ul li {
	display: inline;
	list-style-type: none;
	padding: 0px; 
	margin: 0px;
}

/*　白エリア（第二階層以下）　-------------------------------------------------------------------------- */

#content {
	background: #ffffff;
	height: 100%;
	margin: 0px;
	padding-top: 50px;
	width: auto;
}

#contentmain {
	width: 770px;
	height: auto;
	padding-top: 50px;
	margin-right: auto;
	margin-left: auto;
}

/*　白エリア内左側（第二階層以下）　------------------------------------------- */

#contentleft{
	width: 490px;
	padding-top: 50px;
	padding-bottom: 50px;
	float: left;
}

#contentleft span.str  {
	color: #ff0080;
}

/*　白エリア内右側（第二階層以下）　------------------------------------------- */

#contentright {
	width: 260px;
	float: right;
	padding-left: 10px;
	padding-top: 50px;
	padding-bottom: 50px;
}

.subnavtop {
	marign:0;
	padding: 2px 2px 2px 5px;
	border-bottom: 2px solid #cccccc;
	color: #333333;
	display: block;
}

.subnav {
	margin: 0px;
	padding: 0px; 
	font: normal 11px;
}

.subnav ul {
	margin: 0px;
	padding: 0px; 
	list-style-type: none;
}

.subnav li {
	border-bottom:1px solid #cccccc;
	margin: 0 0 0 10px;
	height: auto;
	padding: 0px; 
	display: block;
}


/*　白エリア（home）　-------------------------------------------------------------------------- */

#content_home {
	background: #ffffff;
	height: 100%;
	margin: 0;
	padding: 0px;
	width: auto;
}

#contentmain_home {
	width: 770px;
	height: auto;
	padding-top: 20px;
	margin-right: auto;
	margin-left: auto;
}

#news {
	clear: both;
	padding: 0 0 20px 0;
	width: 770px;
	height: 100px;
}

/*　白エリア内左側（home）　-------------------------------------------------------------------------- */

#contentleft_home {
	width: 360px;
	background: #ffffff;
	float: left;
}

#contentleft_home p{
	padding-top: 240px;
	padding-left: 40px;
	width: 360px;
}

#top2 {
	height: auto;
	color: #727070;
	margin-top: 10px;
}

/*　白エリア内右側（home）　-------------------------------------------------------------------------- */

#contentright_home {
	padding: 10px 0 10px 0;
	height: 330px;
	width: 400px;
	margin: 0;
	background: url(../images/tetra.jpg) 10px 0px no-repeat #ffffff;
	float: right;
}

#contentright_home p{
	font-size: 12px;
	margin-top: 300px;
	color: #727070;
}


/*　下グレーエリア　-------------------------------------------------------------------------- */

#bottom {
	clear: both;
	width: auto;
	height: 200px;
	margin: 0;
	padding: 0px;
	background: url(../images/bottom.gif) #cccccc repeat-x;
}

#bottommain {
	width: 770px;
	margin-left:auto;
	margin-right:auto;
	padding-top:15px;
	font-size: 10px;
	color: #000000;
}

#bottommain span.copyright {
	float: left;
}

#bottommain span.membersonly {
	float: right;
}

#logo-IEEE h1 {
	margin-top: 0px;
	width: 160px;
	heigth: 70px;
	padding: 0;
	background: url(../images/IEEE.gif) no-repeat;
	float:left;
}

#logo-IEEE h1 span{
	display: none;
}

#logo-IEEE h1 a {
	display: block;
	margin: 0px;
	padding: 0px;
	height: 70px;
	width: 160px;
}

#logo-CPMT h1 {
	margin-top: 0px;
	width: 180px;
	heigth: 130px;
	padding: 0;
	background: url(../images/CPMT.gif) no-repeat;
	float:left;
}

#logo-CPMT h1 span{
	display: none;
}

#logo-CPMT h1 a {
	display: block;
	margin: 0px;
	padding: 0px;
	height: 130px;
	width: 180px;
}

/*　見出し他　-------------------------------------------------------------------------- */

h1{
	font-size: 13px;
	font-family:verdana, tahoma, sans-serif, "MS PGothic",Osaka,"ヒラギノ角ゴ Pro W3";
	font-weight: 600;
	counter-reset: sub-chapter;												    
}

h2{
	margin-top: 40px;
	padding-bottom: 5px;
	border-bottom: 3px solid #cccccc;
	font-size: 14px;
	
}

h3{
    font-size: 12px;
    font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック;
    font-weight: normal;
    text-decoration: none 
    counter-reset: section;
}

h1::before {
  counter-increment: chapter;
  content: counter(chapter) ". ";
}

h3::before {
  counter-increment: sub-chapter;
  content: counter(chapter) "." counter(sub-chapter) " ";
}

.str {
	color: #ff0080;
}

.shoulder {
	color: #333333;
}

ul {
	list-style-type: square;
}

/*　リンク　-------------------------------------------------------------------------- */

a:link {
	color: #660000;
	text-decoration: none;
	font-weight: plain; 
    font-size: 12px;
	background: transparent;
}

a:visited {
	color: #660000;
	text-decoration: none;
	font-weight: plain;
    font-size: 12px;
	background: transparent;
}

a:hover, a:active {
	color: #ff3366;
	font-weight: bold;
    font-size: 12px;
	background: transparent;
}

/*　表組　-------------------------------------------------------------------------- */

table {
	width: 550px;
	border-collapse: collapse;
	cellspacing="0";
	cellpadding="2";
	margin-bottom: 20px;
}

/* --- Minimal responsive toolkit for migration prototype --- */
.container {
	max-width: 770px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 16px;
}

.main-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
.main-nav li { display: inline; }
.main-nav a { text-decoration: none; color: #000; }

@media (max-width: 600px) {
	body { font-size: 14px; }
	.container { padding: 0 12px; }
	img[width] { max-width: 100%; height: auto; }
	#contentleft, #contentright { float: none; width: auto; }
}

table th {
	border: 0px solid #000000;
	font-size: 10px;
	texi-align: left;
	width: 50px;
}

table td {
	border: 0px solid #000000;
	font-size: 12px;
}

/*　箇条書き　-------------------------------------------------------------------------- */
/*
ol { counter-reset: item }
li{ display: block }
li:before { content: counters(item, ".") " "; counter-increment: item }
*/
/*　3dwb Style　-------------------------------------------------------------------------- */


.pg  { color: #000000; font-size: 12px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: normal; text-decoration: none }

A  { color: #003399; font-size: 11px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: normal; text-decoration: none }

.note  { color: #003399; font-size: 10px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: normal; text-decoration: none }

.pagehead  { color: #669966; font-size: 15px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: 600 }

.subhead  { color: #336600; font-size: 13px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: 600 }

.link  { color: #663300; font-size: 10.5px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: 600 }

.subsub  { color: #aa2f26; font-size: 12px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: bold; text-decoration: none }
.sub  { color: #aa2f26; font-size: 12px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: normal; text-decoration: none }
.copyright  { color: #000000; font-size: 10px; font-family: verdana, tahoma, sans-serif, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", Osaka-等幅, Osaka, 平成角ゴシック; font-weight: normal; text-decoration: none }


/*　Japanweb Style　-------------------------------------------------------------------------- */


td.nomal {
	font-family: verdana,tahoma,sans-serif;
	/*color: #003399;*/
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
}

th.regist {
	font-family: verdana,tahoma,sans-serif;
	color: #FFFFFF;
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
	background: #003399;
}

td.regist {
	font-family: verdana,tahoma,sans-serif;
	color: #003399;
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
}

td.regist_jp {
	font-family: verdana,tahoma,sans-serif,"ＭＳ Ｐゴシック", "Osaka";
	color: #003399;
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
	background: #DDDDDD;
}


th.script {
	font-family: verdana,tahoma,sans-serif;
	color: #FFFFFF;
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
	background: #AA2F26;
}

td.script {
	font-family: verdana,tahoma,sans-serif;
	color: #AA2F26;
	font-size: 12px; 
	text-decoration: none;
	font-weight: bold;
}

a.button {
	display: inline-table;
	width: 140px; /* roundの場合固定 */
	height: 15px; /* roundの場合固定 */
	margin: 0px;
	padding: 8px;
	/*border: 1px solid #666;*/
	background: url(../images/btn_round_ani.gif) no-repeat top left;	
	color: #000;
	/*font-weight: bold;*/
	text-align: center;
	text-decoration: none;
}

a:hover.button {
	background: url(../images/btn_round_over.gif) no-repeat top left;	
	color: #FF0000;
}

.image-container {
	display: flex;
	justify-content: space-between; /* 画像を左右に並べる */
	align-items: flex-start; /* 画像を上部に揃える */
  }
  
  .image-item {
	display: flex;
	flex-direction: column; /* 縦方向に並べる */
	align-items: center; /* 中央揃え */
	text-align: center; /* 画像とリンクを中央揃え */
  }
  
  .image-item img {
	max-width: 50%; /* 画像の最大幅を50%に設定 */
	height: auto; /* 画像の縦横比を保つ */
  }
  
  .image-item a {
	margin-top: 10px; /* 画像とリンクの間にスペースを追加 */
  }
  
  hr.teal {
  border: none;
  height: 2px;
  background-color: #dddddd; /* teal 色。必要なら変更 */
  width: 100%;
  max-width: 600px;
  margin: 0.8em auto;
  display: block;
}
.photo-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap; /* 常に横並び */
  align-items: center;
  overflow-x: auto; /* 狭い画面では横スクロールして横並びを維持 */
}
.photo {
  flex: 0 0 auto;
  width: 280px;
  height: 190px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
}

.narrow {
  width: 600px;      /* 希望の幅 */
  max-width: 100%;   /* モバイルで収まるようにする */
  margin: 0 auto;    /* 中央寄せ */
  box-sizing: border-box;
  padding-left: 8px; /* 任意の余白（必要なら調整） */
  padding-right: 8px;
}

.pg {
  text-align: justify;
  text-justify: inter-word; /* ブラウザによる行間調整（必要に応じて削除） */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* レイアウト崩れ対策：ラッパー幅固定・画像の縮小・ナビ整形 */
.page-wrapper {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 12px;
}

/* テーブルや固定幅属性を持つ要素がはみ出さないように */
table[width="600"], table[width="600"] * {
  max-width: 100%;
  box-sizing: border-box;
}

/* 画像は親幅に合わせて縮小 */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* バナー・スポンサー・その他ロゴ */
.banner, .sponsor-logo {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* 写真の横並び（常に横並び維持、狭い画面は横スクロール） */
.photo-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
  align-items: center;
  overflow-x: auto;
}
.photo {
  flex: 0 0 auto;
  width: 280px;        /* 必要なら調整 */
  max-width: 45%;
  height: auto;
  object-fit: cover;
}

/* スポンサー等の小さなロゴサイズ調整 */
.sponsor-logo {
  height: 28px;
  width: auto;
}

/* 微調整：小型画面での余白・文字サイズ */
@media (max-width: 420px) {
  .photo { width: 45%; max-width: 45%; }
  .pagehead { font-size: 1.05rem; }
}
