@charset "UTF-8";
/* CSS Document */
/*共通*/

/*グリッド*/
.date-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  align-items: start;
    margin-bottom: 25px;
}

.date-left {
  white-space: nowrap;
}

.date-right {
  white-space: nowrap;
}

.red {
  color: red;
}

/* モバイル対応 */
@media screen and (max-width: 599px) {
  .date-grid {
    grid-template-columns: 1fr;
  }
    .smp_ml {
        margin-left: -3em;
    }
  .date-left,
  .date-right {
    white-space: normal;
  }
}

body{
    word-break: break-all;
/*font-feature-settings: "palt";*/
}

.box a{
        background-color: #2C8666;
     display: block;
      font-weight: bold;
      text-align: center;
      padding: 12px;
      box-sizing: border-box;
         font-size: clamp(12px, 2vw, 15px); /* ←画面サイズで調整 */
        font-feature-settings: "palt";
     color: #FFFFFF;
    
}
.box a:hover{
    opacity: .5;
}
/*
    .dashed-box {
      border: 3px dashed #ffd700;
    }
*/


    .grid-container {
      display: grid;
      gap: 20px;
        margin-bottom: 30px;
    }

 
      .grid-container {
        grid-template-columns: repeat(3, 1fr);
      }


    @media (max-width: 767px) {
      .grid-container {
        grid-template-columns: repeat(2, 1fr);
      }
     
    }
/*-----------------------グリッド---------------------------*/
.pb_10{
   padding-bottom: 10px;
}

program p.c-name {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
}
.prbox_1{
    margin: 0px 0px 25px;
}

/*アコーディオン*/

.accordion__detail{
    max-height: 0;
    overflow: hidden;
    transition: 0.5s ease;
    padding: 0 10px; /* 横だけ */
}
.accordion.open .accordion__detail {

}
.accordion__detail p{
    margin-bottom: 0;
}

.accordion {
  margin: 0 0 2em 0;
    background-color: #d1ecfa;
}
.accordion__summary {
  display: block;
  background: #b9e0ef; /* 見出しの背景色 */
  font-weight: bold;
  position: relative;
  list-style: none; /* 矢印を消す */
  cursor: pointer;
  padding: 10px 38px 10px 10px;
font-feature-settings: "palt";
    line-height: 145%;
}
.accordion__summary::-webkit-details-marker {
  display: none;
}
.accordion__summary::after {
  content: "+";
  font-size: 1.4em; /* 記号のサイズ */
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.accordion.open .accordion__summary::after {
  content: "−";
}
/*
.accordion__detail {
  padding: 4px 10px;
  margin: 10px 0;
}
*/
.accordion__text {
 padding: 10px 0;
} 
/*-----------------------アコーディオン---------------------------*/
.c-kaizyou {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
    margin-bottom: 25px;
}
.c-kaizyou::before {
    content: "会場：";
    position: absolute;
    top: 0;
    left: 0;
}.c-name {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
    margin-bottom: 25px;
}
.e-name::before {
    content: "演者：";
    position: absolute;
    top: 0;
    left: 0;
}
.c-name::before {
    content: "座長：";
    position: absolute;
    top: 0;
    left: 0;
}
.d-name {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
    margin-bottom: 25px;
}
.d-name::before {
    content: "主催：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-name {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-introduction {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-introduction::before {
    content: "導入：";
    position: absolute;
    top: 0;
    left: 0;
}

.e-keynote {
    position: relative;
    padding-left: 80px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-keynote::before {
    content: "基調講演：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-sitei {
    position: relative;
    padding-left: 50px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-sitei::before {
    content: "指定発言：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-cross {
    position: relative;
    padding-left: 195px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-cross::before {
    content: "指定発言・クロストーク：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-fashi {
    position: relative;
    padding-left: 145px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-fashi::before {
    content: "ファシリテーター：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-sitei {
    position: relative;
    padding-left: 80px;
    margin-left: 35px;
    margin-top: 0px;
}
.e-sitei::before {
    content: "指定発言：";
    position: absolute;
    top: 0;
    left: 0;
}
.e-box {
    margin: 10px auto 10px;
    padding: 10px 15px 10px 0;
    border: 1px dashed #2C8666;
    background: rgba(255, 255, 255, 0.7);
    overflow-y: scroll;
}
.e-box p{
    margin-bottom: 10px;
}
.e_title {
    position: relative;
/*    color: #1579B7;*/
    color: #000000;
/*    font-weight: bold;*/
    margin-top: 18px;
    padding: 0 20px 0 35px;
    margin-left: 0;

}
.ulbox_wrap{
    margin: 0 0 25px 0;
}
.none{
    opacity: 0;
}
.pr_box {
    display: flex;
    justify-content:space-around;
     align-items: center;
    height: 40px;
    margin-bottom: 25px;
    max-width: 800px;
    margin: 0 auto 25px;
    gap:5px;
}
.pr_box li{
    max-width: 150px;
    width: 100%;
   
 background:#1579B7;
    display: flex
;
    justify-content: center;
    align-items: center;
   
}
.pr_box a{
 color:#F5ED18;
    font-size: 14.5px;
      max-width: 150px;
    width: 100%;
  height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.strat_box{
     max-width: 800px;
    margin: 0 auto 25px;
        display: flex;
    justify-content:space-around;
     align-items: center;
    height: 40px;
    margin-bottom: 25px;
    gap:5px;
}
.strat_box li{
      max-width: 150px;
    width: 100%;
    height: 40px;
 background:#1579B7;
    display: flex
;
    justify-content: center;
    align-items: center;
   
}
.strat_box a{
 color: #F5ED18;
    font-size: 14.5px;
        width: 100%;
  height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.wrap{
    display: flex
;
    justify-content: center;
    width: 100%;
}
p{
    margin-bottom: 25px;
    line-height: 1.5;
}
p.mbnone{
    margin-bottom: 0px;
    line-height: 1.5;
}
/*
main{
    margin-right: 60px;
}
*/
.red_box{
        border: solid red;
/*    display: flex*/
;
    justify-content: center;
    align-items: center;
        padding: 25px 15px 0;
}
.bg4{
    background: #146FB8;
    color: #fff;
}
.line{
    text-decoration: underline;
}
  .abstract-table {
      display: grid;
      grid-template-columns: auto 1fr;
      border: 1px solid black;
      width: fit-content;
      width: 100%;
      margin-bottom: 20px;
    }

    .abstract-table > div {
      border: 0.5px solid black;
          padding: 10px;
  background: #fafafa;
    }




.abstract-table2 {
    display: grid;
    width: 100%;
    border: 1px solid black;
    margin-bottom: 20px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    box-sizing: border-box;
}




    .abstract-table2 > div {
      border: 0.5px solid black;
          padding: 10px;
        
}
.gray{
    background: #f2f2f2 !important;
}
  
    
.pd_lef2{
   padding-left: 2em;
    text-indent: 0em;
    display: block;
        word-break: break-word;
}
.pd_lef5{
   padding-left: 5em;
    text-indent: 0em;
    display: block;
}
.happyou_flex{
    display: flex;
    gap:12px;
}
.none,.none375,.none500{
    display: none;
}
.gre_img img{
    width: 120px;
}
/*
.flex div{
    width: 170px;
}
*/
/*ボタン-----------------------------------*/
.sp_box{
   display: block;
    padding: 20px;
    background: #1579B7;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
    width: 170px;
}
.mb_25{
    margin-bottom: 25px;
}
.right{
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap:20px;
    
}
.sp_box:hover{
    transition: .4s ease-in-out;
}
.sp_box::before{
    content: "";
    box-shadow: 0 0 50px 30px #ffff;
    position: absolute;
    transform: skewX(-20deg);
    left: -90px
}
.sp_box:hover::before{
    content: "";
    animation: light .4s ease-in-out;
}




.sp_box2{
 display: block;
    padding: 25px;
    background: #1579B7;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}
.sp_box2:hover{
    transition: .4s ease-in-out;
}
.sp_box2::before{
    content: "";
    box-shadow: 0 0 50px 30px #ffff;
    position: absolute;
    transform: skewX(-20deg);
    left: -90px
}

.sp_box3{
 display: block;
    padding: 10px;
    background: #1579B7;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}
.sp_box3:hover{
    transition: .4s ease-in-out;
}
.sp_box3::before{
    content: "";
    box-shadow: 0 0 50px 30px #ffff;
    position: absolute;
    transform: skewX(-20deg);
    left: -90px
}

.sp_box3:hover::before{
     content: "";
    animation: light .4s ease-in-out;
    
}
@keyframes light{
    from{
        opacity:0;
        left: 0%;
        
    }
    50%{
        opacity:1;
    }
    to{
    opacity: 0; 
    left: 100%;
    }
}

.flex_1{
    display: flex;
    justify-content: center;
}
.flex_2{
    display: flex;
}
.flex_2 img{
    width: 155px;
    padding-left:  35px;
}
.flex_2 img:hover{
    opacity: .5;
}
.wid{
    max-width: 720px;
    width: 100%;
}
.mgb {
  margin-bottom: 35px;
}
.zyunbi {
  font-size: 28px;
  min-height: 900px;
  display: flex;
  justify-content: center;
}
.m_right {
  margin: 0px 0;
}
.blue2 {
  color: #1579B7;
  font-weight: bold;
}
.blue2:hover {
  opacity: .5;
}
.bg2 {
  background: none;
  height: 100%;
}
.m_left {
  background: #ffff;
  height: 100%;
  width: 100%;
  margin: 0px 80px 80px;
}
h3 {
  width: 100%;
  background: #1579B7;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  color: #fff;
  margin-bottom: 50px;
}
h4{
    border-bottom: dashed 2px #2C8666;
    margin-bottom: 20px;
    color: #2C8666;
    font-weight: 500;
    line-height: 1.4;
    font-size: 18px;
}
h5{
     color: #2C8666;
    margin-bottom: 8px;
}
h6{
    color: #000000;
    margin-bottom: 8px;
}
.k_box {
  padding: 20px;
}
/*
.k_box_s {
max-width: 740px;
}
*/
.kaisai_box {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  column-gap: 1.1px;
  font-size: 15px;
  line-height: 1.7;
}
.kaisai_box dt {
  width: 130px;
   
  /*
    flex-shrink: 0;
    display: flex
;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: space-between;
*/
  font-weight: bold;
}
.kaisai_box dd {
  width: calc(100% - 130px - 10px);
  border-bottom: 1px dotted;
  padding-bottom: 0.5em;
}
.bd{
   border-bottom: 1px dotted;
}
.acsess_box {
  background-color: #E5EDF8;
  line-height: 1.5;
  padding: 1.5em;
}
.bg3 {
  margin: 40px 0 0 0;
}
@media(min-width:599px){
    .pd_lef2_1{
          padding-left: 0em;
    text-indent: 0em;

        word-break: break-word;
    }
}
@media(min-width:999px) {
  .baner_os {
    display: none;
  }
}
@media(max-width:999px) {
  .m_left {
    margin: 0;
  }
    .abstract-table{
        grid-template-columns: none;
    }
}
@media(max-width:999px){
/*
    .bg2_s{
             padding: 0 30px;
    }
*/

    .flex_2{
/*        display: block;*/
    }  
}
@media(max-width:800px){
        .x-scroll {
    overflow-x: auto; /* 横スクロール */
    width: 100%;

    box-sizing: border-box; /* ★絶対つける！！ */
}
    .abstract-table2 {
    display: grid;
    width: 800px; /* 固定幅にする */
    border: 1px solid black;
    margin-bottom: 20px;
    grid-template-columns: 200px 200px 200px 200px;
    box-sizing: border-box;
}
}
@media(max-width:650px){
    .flex_2{
        display: block;
    }
    .flex_2 img{
        padding: 0;
        margin-top: 10px;
    }
    .center_1{
        text-align: center;
    }
}
@media(max-width:599px) {
    
    .happyou_flex{
        display: block;
    }
  .kaisai_box {
    display: block;
  }
  .kaisai_box dd {
    width: calc(100% - 0px - 10px);
  }
    .bd{
        border: none;
    }
    .pd_lef2_1{
          padding-left: 4em;
    text-indent: -4em;
    display: inline-block;
        word-break: break-word;
    }
    .pd_lef2_2{
            padding-left: 0em;
    text-indent: 0em;
    margin-left: -2em;
    }
    .flex_1{
        display: block;
        width: 170px;
        margin: 0 auto;
    }
    .none{
        display: block;
    }
}
@media(max-width:500px){
    .none500{
        display: block;
    }
}
@media(max-width:450px){
    .none{
        display: block;
    }
}
@media(max-width:400px) {
  h3 {
    font-size: 19px;
  }
    .m_left{
        margin: 0 15px 0;
    }
    
    .wrap{
        width: 100%;
        padding: 0 15px;
                display: flex
;
        justify-content: center;
    }
}
@media(max-width:375px){
    .none375{
        display: block;
    }
    .mgl1{
        margin-left: -16px;
    }
}