@charset "utf-8";
/* CSS Document */
:root {
 font-size: 10px;
}
body {
 font-size: 18px; font-size: 1.8rem;
 line-height: 28px; line-height: 2.8rem;
 color: #000;
 word-break: break-all;
 background-color: #ffffff;
}
h1 {
 font-size: 32px; font-size: 3.2rem;
 line-height: 42px; line-height: 4.2rem;
 font-weight: bold;
}
h2 {
 font-size: 28px; font-size: 2.8rem;
 line-height: 38px; line-height: 3.8rem;
}
h3{
 font-size: 24px; font-size: 2.4rem;
 line-height: 34px; line-height: 3.4rem;
}
a {
 transition: all 0.1s;
 text-decoration-skip-ink: none;
}
a:hover {
 color: #a80000;
 transition: all 0.1s;
}

/*TOPへ戻る*/
.backtotop {
 position: fixed;
 right: 20px;
 bottom: 20px;
 z-index: 9999;
 display: none;
}
.backtotop a {
 display: block;
 content: url("../img/back_top.png");
 padding: 10px; 
 margin: 0;
 background-color: #045fb4;
 border: 1px solid #ffffff;
 border-radius: 10px;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.2s;
}
.backtotop a:hover {
 background-color: #ed5a00;
 transition: all 0.2s;
}
/* デバイス幅が640px以下 */
@media only screen and (max-width: 600px) {
 .backtotop {
  bottom: 60px;
 }
 .backtotop a {
  background-color: rgba(4,95,180,0.70);
 }
}

/*ページトップ*/
#top {
 width: 100%;
}
.shadow {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0,0,0,0.20);
}
.slide_img,
.jsme_logo img,
.main_logo img {
 width: 100%;
}
div.sl_img_item {
 width: 100%;
 height: 450px;
 background-image: url("../img/top1.jpg");
 background-position: center center;
 background-size: cover;
}
.sl_img_item:nth-child(2) {
 background-image: url("../img/top2.jpg");
}
.sl_img_item:nth-child(3) {
 background-image: url("../img/top3.jpg");
}
.sl_img_item:nth-child(4) {
 background-image: url("../img/top4.jpg");
}
.sl_img_item:nth-child(5) {
 background-image: url("../img/top5.jpg");
}

.jsme_logo {
 position: absolute;
 top: 5px;
 right: 5px;
 width: 300px;
}
.main_logo {
 position: absolute;
 top: 50%;
 left: 10px;
 transform: translateY(-50%);
 width: 70%;
}

/*第二階層TOP*/
#sub_top {
 width: 100%;
 height: 250px;
 background-image: url("../img/top1.jpg");
 background-position: center center;
 background-size: cover;
}
#sub_top .main_logo {
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 max-width: 1000px;
}
/* デバイス幅が1500px以下 */
@media only screen and (max-width:1500px) {
 div.sl_img_item {
  height: 350px;
 }
}
/* デバイス幅が1000px以下 */
@media only screen and (max-width:1000px) {
 div.sl_img_item {
  height: 250px;
 }
 .jsme_logo {
  width: 230px;
 }
}
/* デバイス幅が800px以下 */
@media only screen and (max-width:800px) {
 .main_logo,
 #sub_top .main_logo {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  max-width: 500px;
 }
 .jsme_logo {
  display: none;
 }
}

/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 #menu-button {
  display: block;
 }
 #top,
 #sub_top {
  margin-top: 40px;
 }
}

.wrapper {
 display: flex;
 flex-direction: row;
 justify-content: flex-start;
}

/*ナビ*/
#inc_nav {
 background-color: #367fc3;
}
.nav_area {
 position: sticky;
 top: 0;
 z-index: 99;
 width: 200px;
}
.top_nav {
 width: 100%;
}
.top_nav li {
 width: 100%;
 text-align: center;
 line-height: 22px;
}
.top_nav li a {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 55px;
 color: #ffffff;
 text-decoration: none;
 background-color: #367fc3;
 border-top: 1px solid #ffffff;
 border-left: 1px solid #ffffff;
 box-sizing: border-box;
 transition: all 0.3s;
}
.top_nav li:last-child a {
 border-bottom: 1px solid #ffffff;
}
.top_nav li a::after {
 content: url("../img/nav_icon.png");
 position: absolute;
 right: 5px;
 top: 50%;
 transform: translateY(-50%);
}
.top_nav li a:hover {
 transition: all 0.3s;
 border: none;
 background-color: #ed5a00;
 box-shadow: inset 3px 3px 10px rgba(0,0,0,0.20),
             inset -3px -3px 10px rgba(0,0,0,0.20);
}
/*ハンバーガーメニュー*/
#menu-button {
 display: none;
 position: fixed;
 z-index: 88;
 top: 0;
 width: 100%;
 height: 40px;
 color: #ffffff;
 background-color: #045fb4;
 background-image: url("../img/logo_jsme.png");
 background-repeat: no-repeat;
 background-position: left center;
 background-size: 200px;
 box-sizing: border-box;
 box-shadow: 0px 2px 2px rgba(0,0,0,0.30);
}
.icon {
 cursor: pointer;
 position: relative;
}
.icon span {
  position: absolute;
  right: 15px;
  width: 30px; /* 線の幅 */
  height: 2px; /* 線の太さ */
  background-color: #ffffff; /* 線の色 */
  transition: ease 0.3s;
}
.icon span:nth-of-type(1) {
  top: 10px; /* 上の線の位置調整 */
}
.icon span:nth-of-type(2) {
  top: 20px; /* 真ん中の線の位置調整 */
}
.icon span:nth-of-type(3) {
  top: 30px; /* 下の線の位置調整 */
}
.open span:nth-of-type(1) {
  top: 20px;
  transform: rotate(-45deg); /* 線の角度調整 */
}
.open span:nth-of-type(2) {
  opacity: 0; /* 透明化 */
}
.open span:nth-of-type(3) {
  top: 20px;
  transform: rotate(45deg);  /* 線の角度調整 */
}
.hun_tit {
 padding-top: 10px;
 padding-left: 60px;
 font-size: 15px;
 line-height: 18px;
 font-weight: bold;
 box-sizing: border-box;
}
.s_sp {
 display: none;
}
.sample-menu {
 display: none;
 width: 100%;
 position: fixed;
 z-index: 88;
 top: 40px;
 left: 0;
 background-color: #045fb4;
}
.sample-menu li {
 display: inline-block;
 width: 100%;
 padding: 10px;
 font-size: 16px;
 line-height: 20px;
 color: #ffffff;
 border-top: 1px solid #ffffff;
 background-color: rgba(69,69,69,0.80);
 box-sizing: border-box;
}
.sample-menu li:last-child {
 border-bottom: 1px solid #ffffff;
}
.sample-menu li a {
 color: #ffffff;
 font-weight: bold;
}
/* デバイス幅が800px以下 */
@media only screen and (max-width:800px) {
 .nav_area {
  display: none;
 }
 #menu-button {
  display: block;
 }
}

/*メイン*/
.main_area {
 width: calc(100% - 200px);
 background-color: #045fb4;
 word-break: keep-all;
}
/*sectionの幅、間隔*/
section {
 margin: 0 auto;
 position: relative;
 /*background-image: url("../img/bg_pattern_7.png");*/
}
.sec_main {
 width: 100%;
 padding: 50px 0px;
 box-sizing: border-box;
}
.main_blue {
 background-color: #a0cdde;
}
.main_green {
 background-color: #b4deaf;
}
#main_top {
 background-color: #045fb4;
}
.main_top_txt {
 width: 95%;
 max-width: 1200px;
 color: #ffffff;
 margin: 0 auto;
}
/* デバイス幅が800px以下 */
@media only screen and (max-width:800px) {
 .main_area {
  width: 100%;
 }
}

/*開催日時（SP表示）*/
.sp_day {
 display: none;
 width: 90%;
 max-width: 300px;
 margin: 30px auto;
}
.sp_day img {
 width: 100%;
}
/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 .sp_day {
  display: block;
 }
}

/*バナー*/
.sec_main#ban_area {
 padding: 20px 0 0;
 box-sizing: border-box;
}
/*.sec_main#ban_area {
 padding: 0;
}*/
.main_top_ban {
 width: 95%;
 max-width: 1200px;
 margin: 0 auto;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: center;
}
.main_top_ban li {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 margin-bottom: 20px;
 max-width: 200px;
 text-align: center;
}
.main_top_ban li a {
 transition: all 0.2s;
}
.main_top_ban li a:hover {
 opacity: 0.7;
 transition: all 0.2s;
}
.main_top_ban li img {
 width: 90%;
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}

.sec_tit {
 width: 95%;
 max-width: 1200px;
 margin: 0 auto;
 font-weight: bold;
 color: #ffffff;
 text-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}
.sec_txt {
 width: 95%;
 max-width: 1200px;
 margin: 0 auto;
}
.main_txt_area {
 width: 95%;
 max-width: 1200px;
 margin: 20px auto 0;
 padding: 20px;
 background-color: rgba(255,255,255,0.80);
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}
/*ニュース*/
.news_area {
 height: 350px;
 overflow-y: auto;
}
.news_area dl {
 margin-bottom: 10px;
 padding-bottom: 10px;
 border-bottom: 1px dashed #000000;
 box-sizing: border-box;
}
.news_area dl:last-child {
 margin-bottom: 0;
 padding-bottom: 0;
 border-bottom: none;
}
/*テーブル*/
.main_table {
 width: 95%;
 max-width: 1200px;
 margin: 20px auto 0;
 background-color: rgba(255,255,255,0.80);
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 border-collapse: collapse;
 box-sizing: border-box;
}
.main_table tr td,
.main_table tr th {
 padding: 10px;
 border: 1px dashed #999999;
 box-sizing: border-box;
}
.main_table tr th {
 background-color: rgba(160,205,222,0.50);
}

/*マップ*/
.map_area {
 width: 95%;
 max-width: 1200px;
 margin: 30px auto 0;
 display: flex;
 justify-content: center;
}
.map_area iframe {
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}

/*画像関連*/
.main_fig {
 width: 95%;
 max-width: 1200px;
 margin: 0 auto;
}
.main_fig img {
 width: 100%;
 margin-top: 20px;
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}
.img200 {
 max-width: 200px;
}
.img500 {
 max-width: 500px;
}
/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 .main_fig {
  text-align: center;
 }
}

.fig_flex {
 width: 95%;
 max-width: 1200px;
 margin: 0 auto;
 display: flex;
 flex-direction: row;
 justify-content: center;
 align-items: center;
}
.fig_flex img {
 width: 32%;
 margin: 30px 2% 0 0;
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}
.fig_flex img:last-child {
 margin-right: 0;
}
/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 .fig_flex {
  flex-direction: column;
 }
 .fig_flex img {
  width: 100%;
  margin-right: 0;
 }
}

.main_p {
 width: 95%;
 max-width: 1200px;
 margin: 10px auto 0;
}

.main_dl {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
}
.main_dl dt {
 width: 120px;
 padding-left: 1em;
 box-sizing: border-box;
}
.main_dl dd {
 width: calc(100% - 120px);
}

/*Plenary Speakers*/
.ple_area {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
}
.ple_item {
 display: flex;
 flex-direction: column;
 align-items: center;
 width: 50%;
 margin: 20px 0;
}
.ple_item img {
 width: 100%;
 max-width: 180px;
 margin-bottom: 10px;
 box-shadow: 3px 3px 5px rgba(0,0,0,0.20);
 box-sizing: border-box;
}
.ple_item figcaption {
 font-weight: bold;
}
/*モーダル後の画面*/
.ple_mo_img {
 width: 100%;
 max-width: 200px;
 margin: 0 auto 30px;
}
.ple_mo_img img {
 width: 100%;
}
.ple_mo_txt {
 word-break: keep-all;
}

/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 .ple_area {
  flex-direction: column;
 }
}

/*フッター*/
#footer {
 word-break: keep-all;
 font-size: 16px;
 color: #ffffff;
 text-align: center;
 padding: 20px 10px;
 background-color: #045fb4;
 box-sizing: border-box;
}

/*アコーディオン用*/
.submenu_title {
 cursor:pointer;
 color: #0000ff;
 text-decoration: underline;
 transition: all 0.2s;
}
.submenu_title:hover {
 opacity: 0.7;
 transition: all 0.2s;
}
.submenu {
 display: none;
}

/*モーダル*/
.hide-area{
  display: none;
}
.modaal-close:after, 
.modaal-close:before{
  background:#ccc;  
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
  background:#666;
}
#modaal-title{
  font-size:1.2rem;
  text-align: center;
  margin: 0 0 20px 0;
}
.modaal-video .modaal-inner-wrapper{
  padding:0;
}

/*文字装飾*/
.bold {
 font-weight: bold;
}
.nomal {
 font-weight: normal;
}
.red {
 color: #ff0000;
}
.blue {
 color: #0000cc;
}
.yellow {
 color: #fcc601;
}
.black {
 color: #4d4d4d;
}
.mark {
 background-color: #ffff00;
}
.line {
 text-decoration: underline;
 text-decoration-skip-ink: none;
}
.small {
 font-size: 0.8em;
}
.large {
 font-size: 1.2em;
}
.large_2 {
 font-size: 1.5em;
}
.cen {
 text-align: center;
}
.R {
 text-align: right;
}
.pad30 {
 padding-left: 30px;
 box-sizing: border-box;
}
/*二行目以降字下げ*/
.kai {
 text-indent: -1em;
 padding-left: 1em;
}
.kai_2 {
 text-indent: -2em;
 padding-left: 2em;
}
.kai_3 {
 text-indent: -3em;
 padding-left: 3em;
}
.kai_4 {
 text-indent: -4em;
 padding-left: 4em;
}
.kai_5 {
 text-indent: -5em;
 padding-left: 5em;
}
.kai_5-5 {
 text-indent: -5.5em;
 padding-left: 5.5em;
}
.kai_6 {
 text-indent: -6em;
 padding-left: 6em;
}
.kai_7 {
 text-indent: -7em;
 padding-left: 7em;
}
.kai_10 {
 text-indent: -10em;
 padding-left: 10em;
}

/*サイズ毎の表示変更*/
.pc {
 display: block;
}
.tb {
 display: none;
}
.sp {
 display: none;
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 .pc {
  display: none;
 }
 .tb {
  display: block;
 }
}
/* デバイス幅が800px以下 */
@media only screen and (max-width: 800px) {
 .tb {
  display: none;
 }
 .sp {
  display: block;
 }
}

/*フロート解除*/
.clear {
 clear: both;
}

.none {
 display: none;
}