@charset "UTF-8";
/* CSS Document　digitaldays2025 トップページ*/

.main_bg{
     background: url( "../img/main_bk_img.jpg") no-repeat center center,#F5F4F4;

@media only screen and (max-width: 780px) {
    background: url("../img/main_bk_img_sp.jpg") no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
    background-position: bottom;
    position: relative;
  }
}
/* メインビジュアル*/
#top_main{
@media only screen and (max-width: 780px) {
margin-top:60px;
}
     .bg_main{
     background: url( "../img/main_bk_img.jpg") no-repeat center center;
     }
    .contents {
    position: relative;
    width: clamp(320px, 90%, 980px);
    }
    .contents_inner{
        padding: 60px 0;
        }
    h2 { margin-bottom: 30px;}
    h4 { max-width: 700px; margin-bottom: 50px;}
    
    .main_day{ 
    margin: 30px auto;
    text-align: center;
    }
    
        .main_text{ 
    margin: 0px auto;
    text-align: center;
    }
    
    .head_rogo{
    position: absolute;
    top: 20px;
    right: 0;
    }
    
    .top_leftbox{
    width: 60%;

    h4{
        margin-left: 70px;
        margin-bottom: 25px;
    }
  }
@media only screen and (max-width: 780px) {
  .top_leftbox{
    width: 100%;
    h4{
      display: none;
    }
  }
}
    
    .top_rightbox{
      width: 20%;
      display: flex;
      flex-direction: column;
    @media only screen and (max-width: 780px) {
    width: 80%;
    margin:0px auto 0 auto;
    }
    h5{
      margin-top: 40px;
      color: rgba(91, 0, 208, 0.9);
      font-weight: bold;
      text-shadow: -3px -3px  rgba(129, 232, 253, 0.5);
      font-size: 1.8em;
      margin-bottom: 25px;
      text-align: center;
       @media only screen and (max-width: 780px) {
           margin: 10px auto 0 auto;
       }
    }
    figure{
    @media only screen and (max-width: 780px) {
    display:none;
    }
    img{
        opacity: 0.9;
    }
    }
  }

@media only screen and (max-width: 780px) {
     .bg_main{
     background: url( "../img/main_bk_img_sp.jpg") no-repeat center center;
     }
     
     h2{ margin-top: 10px;}
    
    .contents_inner{
        padding: 50px 0;
        }
    
    .head_rogo{
      max-width: 100px;
    }

}
}

/*topページのスライド*/
.slide-items {
  width: 100%;
  height: 100%;
}

.slide-items img {
  width: 100%;
  object-fit: cover;
}

.slide-items.slick-slide a img:hover {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}

.slide-items .slick-next::before {
  content: url("../img/arrow_slide_right.svg");
  width: 1.5rem;
}

.slide-items .slick-prev:before {
  content: url("../img/arrow_slide_left.svg");
  width: 1.5rem;
}
@media only screen and (max-width: 780px) {
.slick-dotted.slick-slider {
    max-width: 260px;
    margin: 0 auto;
    margin-bottom: 0!important;
}
}


/*----お知らせ---*/
#info{ background: #F1F1F1;}


#info .info_box{
display: flex;
justify-content: space-between;
}

#info .info_box .info_box__left{
display: flex;
align-items: center;
text-align: center;
width: 200px;
color: #fff;
background: #676565;
justify-content: center;
}

#info .info_box .info_box__right{
background: #fff;
width: 700px;
}

#info .info_box .info_box__right dl{
margin: 20px;
width: auto;
display: block;
border-top: 1px solid rgba(173,171,172,1.00);
}

#info .info_box .info_box__right dl dt{ 
width: 7em;
font-size: 0.8em;
font-weight: bold;
float: left;
line-height: 1.5em;
padding: 0.3em 0;
}

#info .info_box .info_box__right dl dd{
font-size: 0.8em;
line-height: 1.5em;
border-bottom: 1px solid rgba(173,171,172,1.00);
/* padding: 0.3em 0 0.3em 7em; 日付あり*/
padding: 0.3em 0 0.3em 0em;/*日付なし*/
}

@media
only screen and (max-width : 780px){
#info .info_box{
display: block;
}
#info .info_box .info_box__left{
display: block;
width: 100%;
text-align: center;
}
#info .info_box .info_box__right{
background: #fff;
width: 100%;
padding-top:10px;
padding-bottom: 10px;
}
}

/* 基調講演プログラム */
#kicho_kouen{

   h2{
        margin-bottom: 120px;
       }
    .kicho_box{
    display: flex;
    justify-content: space-between;
    @media
    only screen and (max-width : 780px){
    display: block;
    margin-bottom:20px;
        }
      .ryoiki{
                text-align: center;
                font-size: 1em;
                padding: 0.8rem 1rem;
                width: calc(100% - 2rem);
                margin-bottom: 0;
                font-weight: bold;
            }
      .icon_se_flex {
            color: #fff;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: space-between;
          }


        .inner{
        width: 46%;
            display: flex;
    flex-direction: column;
        background: #ffffff;
        margin-bottom: 75px;
        position: relative;
            @media
    only screen and (max-width : 780px){
    width: 100%;
    margin-top:60px;
    margin-bottom: 25px;
       }
        h3{ 
        text-align: center;
        font-size: 1.1em;
        color: rgba(255,255,255,1.00);
        padding: 1rem 1.5rem;
        width: calc(100% - 3rem);
        background: rgba(220, 60, 203 ,0.9);
        color: #ffffff;
        position: absolute;
        top:-55px;
        left: -10px;
         @media only screen and (max-width: 786px) {
          top:-35px;
          left: -5px;
         }
        }
          h4{ font-size: 1.3em; line-height: 1.5em; margin-bottom: 20px;}
          h5{font-weight: bold; font-size: 1.1em; line-height: 1.3em; margin-bottom: 1em; color: var(--sab-color_parple);}
      }
    .photo_box .photo{
      margin-right: 10px;
    }


      .flex-container{
          margin: auto auto 20px auto;
    padding: 0 20px;
    width: calc(100% - 40px);
    }
      .box_2com{
        display: flex;
        flex-direction: column;
        width: calc(96% / 2);

        .photo{
          float: none;
          margin: 0 auto;
        }
        .caption{
          text-align: left;
          line-height: 1.1em;
          margin-bottom: 0.5em;
        }
      }
   
    }
    .program_box02 {
        display: flex;
        justify-content: space-between;
        @media only screen and (max-width: 786px) {
         display: block;
        }
            .inner {
            width: 46%;
            display: flex;
            flex-direction: column;
            background: #ffffff;
            margin-bottom: 75px;
            position: relative;;
            @media only screen and (max-width: 786px) {
            width: 100%;
            margin-bottom: 25px;
            }
            h3 {
                text-align: center;
                font-size: 1.1em;
                color: rgba(0, 0, 0, 1.00);
                padding: 1rem 1.5rem;
                width: calc(100% - 3rem);
              height: 2.5em;
              display: flex;
              justify-content: center;
              align-items: center;
              flex-direction: column;
              line-height: 1.4em;
              margin-bottom: 0;
            }
        }
    }
    .program_com .innar {
    padding: 20px 20px 15px 20px;
    }
    .program_com .photo_box img {
    width: 180px;
    /* height: 90px; */
    min-width: 90px;
    }
    }
.photo,.photo02 {
    float: right;
    width: 180px;
    box-sizing: border-box;
    text-align: right;
}
.photo img{
  box-shadow: var(--box-shadow);
  margin: 5px;
}
.photo02 img{
  box-shadow: var(--box-shadow);
  width: 95%;
  margin: 5px;
}

.flex-box_spbt_end{
margin: auto auto 20px auto;
padding: 0 20px;
width:calc(100% - 40px);
}

 @media
only screen and (max-width : 780px){
 .program_com .innar {
  padding: 15px;
 }
    
  .photo,.photo02 {
    width: 120px;
  }

}



.program_box02 h4{
                font-size: 1.1em;
                line-height: 1.5em;
                margin-bottom: 0.8em;
                color: var(--sab-color_parple);
            }

.program_box02 p{
font-size: 0.85em;
}

 .program_box02 h5{
 font-weight: bold;
                font-size: 0.9em;
                }
                
 .program_box02 ul.list_right{
 margin-bottom: 15px;
 font-size: 0.8em;
 }
 
  .program_box02 ul.list_right li{
 line-height: 1.3em;
 }
 .program_box02 .btn_detail,
 .session_box .btn_detail{
 margin-bottom: 30px;
 margin-top: auto;
 font-size: 0.9em;

 @media
only screen and (max-width : 780px){
  margin-bottom: 20px;

}
 }
 
/* 特別セッション */
#session{
    .session_box{
    display: flex;
    justify-content: space-between;
    figure img{
      max-width: 80%;
    }
    @media
    only screen and (max-width : 780px){
    display: block;
        }
        
        blockquote{  
           /* width: 44.5%;*/
            width:100%;
            background: #ffffff;
             margin: 0 auto 75px;
             display: flex;
             flex-direction: column;
                 @media
    only screen and (max-width : 780px){
                width: 100%;
                 margin-top:30px;
                 padding-bottom:10px;
                  margin-bottom: 0px;
    }
          
          h4{ 
            font-size: 1.15em; 
            line-height: 1.5em; 
            color: #ffffff;
            background-image: 
                  linear-gradient(113deg, rgba(220, 60, 203, 1) 2%, rgba(220, 60, 203, 1) 70%, rgba(91, 0, 208, 1));
            padding: 20px 30px;
            margin: -10px 10px 0 -10px;
                  @media
                only screen and (max-width : 780px){
                 padding: 15px 15px;
                }
            }
        .inner{
            padding: 30px;
            @media
    only screen and (max-width : 780px){
    padding: 20px;
    }
    .flex-container{
      flex-wrap: nowrap;
    }
          h5 {font-weight: bold;line-height: 1.5em; color: var(--sab-color_parple);}
          p { margin-top: 20px; font-size: 0.9em;flex: 1; }
          figure{ 
            text-align: right; 
            display: flex;
            align-items: center;
            justify-content: flex-end;
          }
          .text{ margin-top: 60px; text-align: center;
            @media only screen and (max-width : 780px){
               margin-top: 30px
               }
             }

                        @media
    only screen and (max-width : 780px){
      .flex-container{
        flex-direction: column;
      }
       figure{ 
        display: block;
        text-align: center;
        justify-content: center;
        margin-top: 15px;
       }

    }
        }
        }
    }

}

/* トップページdd Live */
#ddlive{
  --ddlive-gradation: linear-gradient(113deg, rgba(91, 0, 208, 1) 2%, rgba(91, 0, 208, 1) 70%, rgba(220, 60, 203, 1));

  .dd_inn{
    padding: 70px;
    background-color: rgba(232, 232, 232, 0.8);
  }

      h2{
        margin-bottom: 20px;
      }
      h3{
        color: var(--sab-color_parple);
      }
     p.sab-title{
    display: block;
    line-height: 1.2em;
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 50px;
    text-align: center;
    @media only screen and (max-width : 786px){
    margin-bottom: 20px;
    }
     }
    
   dl{
margin: 50px auto;
   }
   
@media only screen and (max-width: 786px) {
   .dd_inn{
    padding: 20px;
   }
    dl{
    margin: 20px auto;
   }
    }
   dl dt{
    background: var(--ddlive-gradation); 
    } 
}

 .event_box {
  display: flex;
  gap: 2%;
  margin-top: 20px;
  /*align-items: center;*/
}

@media only screen and (max-width: 786px) {
  .event_inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .event_box {
  margin-bottom: 15px;
}
}
/* @media only screen and (max-width: 450px) {
  .event_box {
    flex-direction: column;
  }
} */

.event_num {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--sab-color_parple);
  width: 50px;
  height: 50px;
  line-height: 1;
  min-width: 50px;
  color: #ffffff;
}

.event_num_ttl {
  font-size: 12px;
}

.event_num_num {
  font-size: 20px;
  font-weight: bold;
}

.event_tlt_box {
  margin: 0 20px;
}

/* 概要*/
dl.gaiyou_box{
  line-height: 1.5em;
}

dl.gaiyou_box dt{
  width: 20%;
  text-align: center;
  color: #fff;
  background: var(--primary-color);
  padding: 0.2em 0;
  margin-bottom: 0.5em;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.15em;
}

dl.gaiyou_box dd{
  margin-left: 0.5em;
  /* font-weight: bold; */
  margin-bottom: 0.5em;
  background: #fff;
  width: 75%;
  padding: 15px;
  font-size: 0.9em;
}

@media only screen and (max-width: 640px) {
  dl.gaiyou_box dt{
    margin-bottom: 0;
    width: 100%;
  }
  dl.gaiyou_box dd{
    margin-left: 0;
    width: calc(100% - 30px);
  }
}

/* --- 概要 --- */
#gaiyou {


}

/*お問い合わせContact*/
#contact{
  background: #BAE9FD;
background: linear-gradient(0deg,rgba(186, 233, 253, 1) 0%, rgba(204, 204, 204, 1) 25%, rgba(220, 177, 203, 1) 49%, rgba(204, 204, 204, 1) 76%, rgba(186, 233, 253, 1) 100%);

  .contents_inner{
    padding: 70px 0;
  }

    dl{
	width: 600px;
	margin:0 auto;
    }
     dl dt{
	width:100%;
	margin-bottom:20px;
    display: flex;
    align-items: center;
    font-size: 1.1em;
        img{
        margin-right: 1em;
        }
        p{ line-height:1.3em; font-size:0.9em;}
        @media only screen and (max-width : 780px){
      img{
        flex-basis: 40%;
        width: 85px;
      }
    }
    }
    .contents_inner_box{
/*background-image: linear-gradient(to right, #648ed4, #b352bd);*/
    padding: 40px 0 50px 0;
    background: rgba(255, 255, 255, 0.7);
    @media
    only screen and (max-width : 780px){
    padding: 20px;
    }
    }

}

@media
only screen and (max-width : 786px){
#contact .contents_inner{
   padding: 30px 0 ;
}


#contact .flex-container{ display:block;}
#contact dl{
	width: 100%; margin-bottom:10px;}

}

/*協賛企業 バナー*/

ul.bnr_box {
  display: flex;
  text-align: center;
  flex-wrap: wrap;
  justify-content: center;
  gap:40px 3%;
}

ul.bnr_box li {
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex: 1 1 auto;
  width: 30%;
}

ul.bnr_box li figure {
  padding-bottom: 20px;
}

ul.bnr_box li figcaption {
  position: absolute;
  bottom: 0;
  font-size: 0.8em;
  font-weight: bold;
  vertical-align: baseline;
  color: #333;
  line-height: 1.3em;
  white-space: nowrap;
}


ul.bnr_box li figcaption:last-child{
bottom: -20px;
line-height: 1.3em;
}

ul.bnr_box_02 li{
max-width: 200px;
}

@media only screen and (max-width: 780px) {
  ul.bnr_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
      gap:20px 3%;
  }

  ul.bnr_box li.w300 {
    width: 43%;
  }

  ul.bnr_box li {
    width: 40%;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  ul.bnr_box li figure {
    padding-bottom: 10px;
  }

  ul.bnr_box li figcaption {
    margin-top: auto;
    position: static;
    text-align: center;
    white-space: pre-wrap;
  }
}


/*ご挨拶*/
#objectives{
   h2{
   line-height: 1.3em;
   margin-bottom: 10px;
   }
   .sab_title{
   line-height: 1.3em;
   margin-bottom: 40px;
   font-weight: bold;
   color: var(--primary-color);
   text-align: center;
   font-size: 1.5em;
   @media only screen and (max-width: 780px) {
      margin-bottom: 20px;
   }
   }
   .read{
   line-height: 2em;
   margin-bottom: 1em;
   }
   
}


