﻿@charset "UTF-8";

/* ページ全体の構造 */

html{
	overflow-y:scroll;
}

html,body{height:100%;}

body{
    margin:0 auto;
    font-family: Meiryo, "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Arial, sans-serif;	font-size:62.5%;
    color:#333;
    background: url(../images/backgroundImage.jpg) center center / cover no-repeat fixed;
    text-align:center;
    line-height:1.6;
}

div#dcContainer{
    width: 100%;
	max-width: 1000px;
    height: auto;
	margin: 0 auto;
	text-align: left;
	overflow: hidden;
    background-color:  #293254;;
}


/* ヘッダー構造  */

#dcContainer #dcRightContents #title{
	width: 770px;
	height: 125px;
	margin: 0 auto 0;
	position: relative;
	z-index: 1;
}

img#dcHeaderInfo{
	position:absolute;
	right:0;
	top:0;
}

/* フッター構造 */
div#dcFooter{
	margin:0 auto;
	padding:.7em 0;
    width: 100%;
	max-width: 1000px;
	background:#4A95B1;
	box-shadow:-1px 1px 6px rgb(0,0,0,.1) inset;
	font-size:12px;
	color:rgb(255,255,255);
	text-align:center;
}

/* コンテンツ構造 -> 左部コンテンツ*/
div#dcLeftContents{
    float: left ;
    width: 230px ;
    background-color: #293254;
}

ul#dcMenu{
	margin:15px 0 0;
	padding:0;
	width:100%;
}

ul#dcMenu li{
	margin-left:5px;
	list-style:none;
	color:#000;
	width:218px;
	height:46px;
	position:relative;
    border-bottom: 1px solid #FFF;
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
}

ul#dcMenu li a{
	display:block;
	padding:.6em 1.5em ;
	font-size:1.4em;
	color:inherit;
	line-height:2.1;
	text-decoration:none;
    color: #FFF;
}
ul#dcMenu li.now a{
	color:rgb(255,255,255);
	}

ul#dcMenu li a::before{
	box-sizing:border-box;
	display:inline-block;
	content:"";
	width:12px!important;
	height:12px!important;
	margin:0 20px 0 0;
	transition:.5s ease-in-out;
}

ul#dcMenu li a:hover::before,
ul#dcMenu li.now a::before{
	background:#4A95B1;
	border:solid 1px rgb(255,255,255);
	transform:rotate(-135deg);
}

ul#dcMenu li:first-child{
    border-top: 1px solid #FFF;
}
.menu-toggle{ display: none; /* パソコンでは消す */}


/* コンテンツ構造 -> 左部コンテンツ -> 事務局案内*/
.dcLeftside  {
    float: left !important;
    width: 230px !important;
    margin: 30px 0 0 !important;
	font-size: 1.2em;
	line-height: 1.6;
    background-color: #293254;

}
.dcLeftside .border {
	padding: 0 0 5px 0;
	border: 1px solid #FFF;}

.dcLeftside .inner {
	width: 218px!important;
	height: auto;
	color: #FFF;
	margin: 0 auto 20px;
}


.name{
	font-size: 1.2em;
	color: #FFF;
    line-height: 2.4;
	border-bottom: 1px solid #FFF;
    background-color: #4A95B1;
}


.dcLeftside .inner li{
	padding: 0 4px;
}
.dcLeftside .inner :nth-child(2){
	padding-top:5px;
}

.dcLeftside .inner li a{
	text-decoration: underline;
	color: #FFF;
}

.dcLeftside .inner li a:hover{
	text-decoration: none;
}

/* コンテンツ構造 -> 右部コンテンツ -> 新着情報（TOP） */
div#dcOshirase{
	position: static;
	width:100%;
    min-height: 160px
	height:auto;
    background-color: #FFF;
    border-right: thin 1px #293254; 
}

#dcContainer #dcRightContents h2{
	position: static;
	padding:10px;
	font-size:1.8em;
	font-weight:600;
    letter-spacing: 4px;
	color: rgb(255,255,255);
}

div#dcOshirase p{
	width:720px;
	min-height:30px;
	color: #111;
	font-size:1.4em;
	border-bottom:1px dashed #737E84;
	background: url(../images/dcOshirasePBg.png) 10px 8px no-repeat;
	display:inline-block;
}

div#dcOshirase p span{
	display:inline-block;
	padding:5px 0;
	float:left;
}

div#dcOshirase p span.date{
	width:50px;
	font-size: 90%;
	padding-left: 25px;
}

div#dcOshirase p span.info{
	padding-left: 50px;
	width:590px;
}

div#dcOshirase p span a{
	text-decoration: underline;
	color: #FFF;
}

div#dcOshirase p span a:hover{
	text-decoration: none;
}

/* 共通コンテンツ -> このページのTOPへ*/
p.goTopBtn{
	height: 25px;
	width: 130px;
	margin: 30px 0 0 590px;
}

.txtIn{ text-indent:-1em!important; margin-left:1em!important;}
.red { color:red!important;}

/* 2ページ目 -> 右部コンテンツ -> */
div#dcRightinner{
	width: 770px;
     width: 100%;
	height: auto;
    min-height:300px !important;
	float: right;
	background-color:#FFF;
}

div#dcRightinner img{
	position: static;
	width:100%;
	height:auto;
}

div.dcRightiBox{
	width: 770px;
	margin: 0 auto;
	height: auto;
	min-height:770px;
	padding-bottom:30px!important;
}

div.dcRightiBox p{
	width:90%;
	font-size: 1.4em;
	color:#333;
	line-height: 1.6;
	padding: 10px 30px ;
}

div.dcRightiBox ul {
	width: 730px;
	font-size: 1.4em;
	color: #333;
	padding: 10px 0 5px;
	line-height: 1.6;
}

div.dcRightiBox ul li{
	padding: 0 0 5px 50px;
	text-indent: -1em;
}

.dcRightiBox h3 {
    position: relative;
    margin: 0;
    padding: 0.3em 1.5em 0.2em;
    background: #106EB8;
    color: white;
    font-size: 28px;
    letter-spacing: 1px;
}

.dcRightiBox h3::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px rgb(149, 158, 155);
}

.dcRightiBox h4{
    margin: 30px 15px 10px!important;
    padding: 10px 20px;
    border-left: 5px solid #ED969D;
    background: #f4f4f4;
    box-shadow:0 0 3px rgba(0,0,0,.3);
    font-size:18px;
}

.dcRightiBox h5 {
	height: 20px;
	font-size: 1.8em;
	font-weight: bold;
	padding: 0 0 8px 5px;
	background-repeat: no-repeat;
	margin: 15px 50px 5px 25px;
	border-bottom-width: thin;
	border-bottom-style: dotted;
	border-bottom-color: #000000;
}

.dcRightiBox h5:first-child {
	margin: 5px 15px 5px;
}

/*開催概要*/
.kaisaiInfo {
	width: 690px;
	height:auto;
	margin: 30px 0 30px 40px;
	font-size:14px;
	background: #ccc;
	border-collapse: separate;
	border-spacing: 1px;
	display: box; 
}

table.kaisaiInfo th {
	width: 18%;
	background: #F3F3F3;
	padding: 20px 15px;
	font-weight: normal;
}

table.kaisaiInfo td {
	background: #FFF;
	padding: 20px 15px;
}

.kaisaiInfo tr td a {
	text-decoration: underline;
	color: #000;
}

.kaisaiInfo tr td a:hover {
	text-decoration: none;
}

.kaisaiInfo3 {
	width: 720px;
	height:auto;
	margin: 30px 0 10px 30px;
	font-size:14px;
	display: box; 
}
table.kaisaiInfo3 thead th {
    background: #FFFABD;
}   

table.kaisaiInfo3 th {
	background: #EFEFEF;
	padding: 15px ;
	font-weight: normal;
    border: 1px #CCc solid;
}

table.kaisaiInfo3 td{
	background: #FFF!important;
	padding: 15px;
    border: 1px #CCc solid;
}

.buttonBox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 15px auto ;
    padding: .9em 2em;
    border: 1px solid #EA9532;
    background-color: #EA9532;
    color: #FFF;
    font-size: 1.6em;
}

.buttonBox:hover {
    background-color: #FFE900;
    border: 1px solid #FFE900;
    font-weight: 700;
    
}
.buttonBox a{color: #FFF;text-decoration: none; }
.buttonBox a:hover{color: #FFF!important;text-decoration: none; }    

/*アクセスgMap*/
#dcRightinner #gMap {
	width:700px;
	height:500px;
	margin: 15px 30px 20px 30px;
	border: 1px solid #999;
}

.dcRightiBox p a, .dcRightiBox ul li a, .link ul li a,.officeTxt a {
	color:#333;
}

.dcRightiBox p a:hover, .dcRightiBox ul li a:hover, .link ul li a:hover, .officeTxt a:hover{
	color:#333;
	text-decoration:none;
}
/*関連リンク*/
#link{
	margin: 40px 0 0 0;
}

#link ul li a{
	font-size: 14px;
	padding-left: 50px;
	background: url(../images/linkBg.png) no-repeat 15px 3px;
	color: #333;
	line-height:2.0;
	letter-spacing: 0.8px;
}

#link ul li a:hover{
	color:#333;
	text-decoration:none;
}

.officeTxt {
	width:420px;
	font-size:1.4em;
	font-weight:normal;
	text-align:left;
	margin:0 0 15px 100px;
	padding: 5px 10px;
	color: #333;	
	background-color:#fff;
	border:2px ridge #CCC;
}

/*演題登録*/
.abstract_box{
	box-sizing:border-box;
	display:flex;
	flex-wrap:wrap;
	justify-content: center; 
	padding:0 1em;
	text-align:center;
}

.abstract_box a{
	box-sizing:border-box;
	display:block;
	margin:0 0 1em 2em;
	padding:1em 0.5em;
	width:100%;
	background:#F4D1D8;
	border:solid 1px #FC96AA;
	border-radius:4px;
	box-shadow:0 0 3px rgba(0,0,0,.3);
	color:#111!important;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color;
}

.abstract_box a::after{
	content: " ▶";
}

.abstract_box a:hover{
	background:rgb(255,255,255);
	color:#FC96AA!important;
}

/*会長挨拶*/
.presidentBox {
	width: 95%;
	height: 195px;
	padding:0 0 30px;
	margin:15px 0 10px;
	border-bottom:1px solid #ccc;
	position:relative;
}

.presidentBox img {
float:left!important;
margin:0 0 0 60px;
width: 165px !important;
height: auto !important;

}
.presidentBox p {
	width:420px;
	line-height:1.8;
	position:absolute;
	top:115px;
	left:205px;
}
.presidentT p{
	width: 90%;
	line-height: 2!;
	letter-spacing: 0.8px;
}


/*バナー*/

.boxJunbi {
    position: relative;
    max-width: 400px;
    margin: 50px auto;
    padding: 1em calc(1.5em + 9px);
    border-top: 2px solid #ED969D;
    border-bottom: 2px solid #ED969D;
    color: #333;
}

.boxJunbi::before,
.boxJunbi::after {
    position: absolute;
    width: 2px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(100% + 20px);
    background-color: #ED969D;
    content: '';
}

.boxJunbi::before {
    left: 9px;
}

.boxJunbi::after {
    right: 9px;
}




img {
  max-width: 100%;
  height: auto;
}
@media (min-width: 601px) {
  #dcRightContents {
    float: right !important;
    width: 770px !important;
  }
}
@media (min-width: 601px) {
  #dcRightinner {
    float: right !important;
    width: 770px !important;
  }
}



/* -------------------------------- */
/* ▼ スマホ用（必ず最後にまとめる） */
/* -------------------------------- */

@media (max-width: 599px) {

  /* ▼ メニューボタン */
  .menu-toggle {
    display: block;
    background: #003366;
    color: #fff;
    padding: 14px 20px;
    font-size: 18px;
    cursor: pointer;
    border-radius: 6px;
    margin: 10px;
  }

  /* ▼ 左カラム全体 */
  #dcLeftContents {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ▼ アコーディオン本体 */
  .side-menu {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #293254 !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
  }
  .side-menu.open {
    display: block !important;
  }

  /* ▼ UL の余白を消す */
  #dcMenu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ▼ li の PC 固定幅を完全に無効化 */
  #dcMenu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    list-style: none;
  }

  /* ▼ a が本体（ここが文字色の決定版） */
  #dcMenu li a {
    display: block !important;
    width: 100% !important;
    padding: 5px 20px 10px!important;
    font-size: 16px;
    color: #fff !important;     /* ← 文字色はここで確定 */
    background: #293254 !important;
    text-decoration: none;
    box-sizing: border-box !important;
  }
  #dcLeftContents.open .side-menu {
    display: block !important;
  }

  /* ▼ 事務局案内 */
  .dcLeftside {
    width: 100% !important;
    float: none !important;
    margin: 20px 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  }

  .dcLeftside .inner {
    width: 92% !important;
    margin: 0 auto !important;
    background: #293254 !important;
    border-radius: 6px;
    padding-bottom: 10px;
  }

  /* ▼ 右コンテンツ */
  #dcRightContents {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    min-height: auto !important;
    padding-bottom: 20px;
  }

  /* ▼ 大会長挨拶ページの右側（スマホ用） */
  #dcRightinner {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0  !important;
    padding: 0 !important;
    background: transparent !important;
    height: auto !important;
    min-height: auto !important;
    background-color: #FFF !important;
    box-sizing: border-box;
  }
    
      /* ▼ 画像＋テキストの横並びを縦並びにする */
  #dcRightinner .presidentBox {
    display: block !important;
    width: 100% !important;
    margin: 0 10px 20px !important;
    height: auto !important;
    position: static !important;
  }

  /* ▼ 画像をスマホ幅に合わせる */
  #dcRightinner .presidentBox img {
    float: none !important;
    position: static !important;
    width: 50% !important;
    height: auto !important;
    margin: 15px auto 15px !important;
  }

  /* ▼ テキスト部分も幅100%に */
  #dcRightinner .presidentBox p {
    width: 80% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    line-height: 1.4 !important;
    position: static !important;
  }

  /* ▼ 本文（presidentT）もスマホ幅に合わせる */
  #dcRightinner .presidentT {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #dcRightinner .presidentT p {
    width: 95% !important;
    float: none !important;
    margin: 0 15px 15px !important;
    padding: 0 !important;
    background: #fff !important;
  }

  /* ▼ 画像幅調整 */
  body #dcRightinner .presidentBox img {
    width: 60% !important;
  }
    
 /* タイトル画像（770px）をスマホで縮める */
  #dcRightinner #title img {
    max-width: 100%;
    height: auto;
  }
 .dcRightiBox {
    width: 100% !important;
    float: none !important;
    margin: 0 0 30px!important;
    padding: 0 !important;
    box-sizing: border-box;
     padding-bottom: 30px;
  }
div.dcRightiBox p{
	width:90%;
	font-size: 1.4em;
	color:#333;
	line-height: 1.6;
	padding: 10px 30px ;
}

div.dcRightiBox ul {
	width: 730px;
	font-size: 1.4em;
	color: #333;
	padding: 10px 0 5px;
	line-height: 1.6;
}

div.dcRightiBox ul li{
	padding: 0 0 5px 50px;
	text-indent: -1em;
}
    
  /* table */
 /* テーブル全体を横スクロール可能にする */
  .kaisaiInfo {
    width: 100% !important;
    max-width: 100%;
    margin: 20px 0;
    overflow-x: auto;
    display: block; /* table の幅固定を解除 */
  }

  /* 中の table は PC の幅を保持してスクロール */
  .kaisaiInfo table {
    width: 690px;
    border-collapse: separate;
    border-spacing: 1px;
  }

  /* 文字サイズと余白を少し調整 */
  .kaisaiInfo th,
  .kaisaiInfo td {
    padding: 14px 10px;
    font-size: 13px;
    white-space: nowrap; /* 折り返し防止（必要なら外せる） */
  }

  /* 長文のセルだけ折り返したい場合はここを追加で調整可能 */
  .kaisaiInfo td {
    white-space: normal;
  }
    
.kaisaiInfo3 {
	width: 100% !important;
    max-width: 100%;
	margin: 30px 0 30px 10px;
	font-size:14px;
    overflow-x: auto;
    display: block; /* table の幅固定を解除 */
}

table.kaisaiInfo3 th {
	background: #EFEFEF;
	padding: 15px ;
	font-weight: normal;
    white-space: nowrap; /* 折り返し防止（必要なら外せる） */
}

table.kaisaiInfo3 td{
	background: #FFF!important;
	padding: 15px;
    white-space: nowrap; /* 折り返し防止（必要なら外せる） */
}
    
/*アクセスgMap*/
#dcRightinner #gMap {
	width:90% !important;
    max-width: 100%;
    height: 500px;
	margin: 15px 30px 20px 20px;
    border: none!important;
}
    
    #link {
    width: 100%;
    padding: 0 10px;
    }

    #link ul {
    width: 100%;
    margin: 0;
    padding: 0;
        
    }

    #link li {
    font-size: 14px;
    line-height: 1.6;
    padding-left: 30px;
    }

    #link a {
    display: block;
    word-break: break-all;
    }
  }


/* スマホ横向き（ランドスケープ） */
@media screen and (min-width: 600px) and (max-width: 900px) {
  .menu-toggle {
    display: block !important;
    background: #003366;
    color: #fff;
    padding: 14px 20px;
    font-size: 18px;
    cursor: pointer;
    border-radius: 6px;
    margin: 10px;
    position: relative;
    z-index: 9999;
  }
  #dcLeftContents {
    float: none !important;
    width: 100% !important;
  }

  /* まず強制的に閉じる */
 /* メニューだけ閉じる */
  #dcLeftContents .side-menu {
    display: none;
  }

 /* メニューだけ開く */
  #dcLeftContents.open .side-menu {
    display: block;
  }
    
/* 事務局案内は常に表示 */
  #dcLeftContents .dcLeftside {
    display: block !important;
  }
  /* 事務局案内の横幅調整 */
  .dcLeftside {
float: none !important;
    width: 100% !important;
    max-width: 1000px;
    margin: 20px auto !important;
    display: block !important;
  }
    
  /* ▼ UL の余白を消す */
  #dcMenu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ▼ li の PC 固定幅を完全に無効化 */
  #dcMenu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    list-style: none;
  }

  /* ▼ a が本体（ここが文字色の決定版） */
  #dcMenu li a {
    display: block !important;
    width: 100% !important;
    padding: 5px 20px 10px!important;
    font-size: 16px;
    color: #fff !important;     /* ← 文字色はここで確定 */
    background: #293254 !important;
    text-decoration: none;
    box-sizing: border-box !important;
  }
    
}
@media screen and (max-width: 768px) {

  /* 新着情報の1行全体 */
  div#dcOshirase p{
    width:92%;
    max-width:100%;
    display:block;        /* inline-block を解除 */
    padding-left: 0;
    background-position: 10px 8px 0; /* 必要なら調整 */
  }

  /* 日付と本文を縦並びに */
  div#dcOshirase p span{
    float:none;           /* float を解除 */
    display:block;
    width:100%;
    padding-left:0;
  }

  /* 日付 */
  div#dcOshirase p span.date{
    width:auto;
    padding-left: 35px;   /* アイコン位置に合わせて調整 */
  }

  /* 本文（ここが折り返される） */
  div#dcOshirase p span.info{
    width:100%;
    padding-left: 35px;   /* 日付と揃える */
    white-space: normal;  /* 折り返し許可 */
    word-break: break-word;
    overflow-wrap: break-word;
  }

}
