@charset "utf-8";

/* underpageクラスでの上書き */
.underpage.c_schedule h2, .underpage.c_schedule h2 span {
    margin-left: 0;
    /* color: var(--color-direct); */
}

.schedule .keynote a span.arrow {
    vertical-align: middle;
    display: inline-block;
    width: 5.5vw;
    border-bottom: solid 1px #000;
    position: relative;
    float: right;
    top: 1.8vw;
}

.schedule .keynote a span.arrow:after {
    content: "";
    display: inline-block;
    width: 1.5vw;
    border-bottom: solid 1px #000;
    position: absolute;
    transform: rotate(45deg);
    top: -0.5vw;
    left: 4.2vw;
}


.menu .inner li.m_schedule {
    background-image: url(./images/top/img_schedule.jpg);
}

.underpage#c_schedule {
    background: #f6f6f6;
    /* background-size: cover;
    background-attachment: fixed;
    position: relative;
    padding: 80px 0; */
    /* margin-top: calc(1.74vw * 2 + 50px); 固定ヘッダーの高さ分のマージン（パディング上下 + コンテンツ高さ） */
}

.underpage#c_schedule .program_list {
    margin-left: 0;
    margin-top: 20px;
    max-width: unset;
}

@media (max-width: 850px) {
    .underpage#c_schedule .program_item {
        padding-bottom: 0;
    }
}


/* ---------------------------------------------------------
 schedule
----------------------------------------------------------*/

.schedule .ph-r,
.schedule .ph-l {
    display: flex;
    border-bottom: 1px solid #000;
}

.schedule h4 {
    flex: auto;
    width: 25%;
    height: 24vw;
    background: #fff;
    box-sizing: border-box;
    margin: 0;
    padding: 2.4vw 2vw;
    font-size: 3vw;
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #e7e7e7;
    font-style: italic;
}

.schedule .ph-l h4 {
    border-right: 0px none;
}

.schedule .ph-r h4 {
    border-left: 0px none;
}

.schedule h4 strong {
    font-size: 10vw;
    display: block;
    line-height: 1;
    margin-top: 20%;
    font-weight: normal;
}

.schedule h4 span {
    font-size: 4vw;
    display: block;
    /*数はいるまでの調整用*/
    margin-top: 75%;
    /*数はいるまでの調整用*/
}

.schedule .keynote {
    flex: auto;
    width: 75%;
    background: #fff;
    box-sizing: border-box;
}

.schedule .ph-r .keynote {
    border-left: solid 1px #000;
}

.schedule .ph-l .keynote {
    border-right: solid 1px #000;
}

.schedule .keynote figure img {
    width: 100%;
    vertical-align: middle;
}


/*.schedule .keynote p {
  height: 100%;
}*/

.schedule .keynote a {
    display: block;
    height: 100%;
    color: #000;
    padding: 2% 3%;
    box-sizing: border-box;
}

.schedule .keynote a span {
    font-size: 1vw;
    margin-right: 3%;
    vertical-align: top;
}

.schedule .keynote a strong {
    font-size: 2vw;
    font-weight: normal;
    vertical-align: top;
}

@media screen and (max-width: 1000px) {

    .schedule .ph-r,
    .schedule .ph-l {
        display: block;
    }

    .schedule .keynote {
        width: 100%;
        height: 48vw;
        border: 0;
    }

    .schedule .ph-l h4,
    .schedule .ph-r h4 {
        display: none;
    }

    .schedule .keynote a span {
        font-size: 2vw;
        margin-right: 2%;
    }

    .schedule .keynote a strong {
        font-size: 3vw;
    }
}

@media screen and (max-width: 480px) {
    .schedule .keynote {
        height: 96vw;
    }

    .schedule .keynote a {
        padding: 4vw;
    }

    .schedule .keynote a span {
        font-size: 4vw;
        margin-bottom: 2%;
        display: block;
    }

    .schedule .keynote a strong {
        font-size: 5vw;
        display: block;
    }

    .schedule .keynote a span.arrow {
        float: none;
    }

    .schedule .keynote img.sp1000 {
        display: none;
    }
}


/* ---------------------------------------------------------
 .c_schedule (下層)
----------------------------------------------------------*/


/*.c_schedule {
    background: url(./images/top/sche-bg.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #000;
}*/

.c_schedule .schedule_tab {
    overflow: hidden;
    display: flex;
    margin-top: 40px;
}

.c_schedule .schedule_tab li {
    color: #fff;
    background: #a69fb9;
    padding: 10px 0;
    border-right: solid 1px rgba(255, 255, 255, 0.2);
    float: left;
    width: 50%;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    font-family: 'Neutronic', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.05rem;
    transition: all 0.3s ease;
}

.c_schedule .schedule_tab li:hover {
    background: var(--color-direct-dark);
    opacity: 1;
}

.c_schedule .schedule_tab li:last-child {
    border-right: none;
}

.c_schedule li.schedule_tab-select {
    background: var(--gradient-btn);
}

.c_schedule .schedule_inner li.s_inner_wrap {
    width: 100%;
}

.c_schedule .schedule_inner .hide {
    display: none;
}

.c_schedule .schedule_inner {
    background: #fdfdfd;
    /*padding: 3%;*/
    padding-top: 3%;
}

.c_schedule .schedule_inner .s_inner_mini_ttl {
    /*font-family: 游ゴシック, "Yu Gothic", メイリオ, "Meiryo UI", sans-serif;*/
    font-size: 1.17rem;
    border-bottom: none;
    margin-bottom: 0;
}

.c_schedule .schedule_inner p.whatis_weekend_agenda a {
    font-size: .9rem;
}

.c_schedule p.note {
    font-size: 0.8rem;
}


/*place追加*/

.program .s_heading {
    background: #ccc;
    font-size: 11px;
    text-align: center;
    font-weight: bold;
}


/*theme*/


/* .theme{
    background: rgba( 255 , 255 , 255 , 0.5 );
    padding: 30px 50px;
    margin-bottom: 40px;
}
.theme dl dt {
    font-size: 1.3rem;
    margin-bottom: 10px;
}
.theme dl dd.theme_tit{
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 2.5rem;
    margin-bottom: 20px;
    line-height: 1;
    text-align: center;
}
.theme dl dd.theme_tit.ja {
    font-size: 1.5rem;
    margin-bottom: 40px;
    font-family: 游ゴシック, "Yu Gothic", メイリオ, "Meiryo UI", sans-serif;
    font-weight: 500;
    text-align: center;
}
.theme dl dd.theme_tit span{
    font-size: 1.5rem;
}
.theme p.theme_txt{
    float: left;
    width: 68%;
    margin-right: 2%;
}
.theme figure{
    float: right;
    width: 30%;
} */

@media screen and (max-width: 850px) {

    /*    .c_schedule {
        background-attachment: scroll;
        background: url(./images/top/sche-bg.jpg);
        background-size: cover;
        background-position: 70%;
    }*/
    .c_schedule .schedule_tab li {
        font-size: 0.75rem;
    }

    .c_schedule .schedule_tab li small {
        display: block;
    }

    #c_schedule .schedule_inner li.s_inner_wrap .program_list {
        margin-top: 20px;
    }
}


/* @media screen and (max-width: 480px){
    .theme {
        padding: 20px;
    }
    .theme dl dt {
        font-size: 1.1rem;
    }
    .theme dl dd.theme_tit {
        font-weight: bold;
        font-size: 1.5rem;
        text-align: left;
    }
    .theme dl dd.theme_tit.ja {
        margin-bottom: 30px;
        font-size: 1.2rem;
        font-weight: bold;
        text-align: left;
    }
    .theme dl dd.theme_tit span {
        font-size: 1rem;
    }
    .theme p.theme_txt {
        float: none;
        width: auto;
        margin-right: 0;
        margin-bottom: 30px;
    }
    .theme figure {
        float: none;
        width: 80%;
        margin: auto;
    }
} */


/* ---------------------------------------------------------
 .c_session(1107動的) (下層)
----------------------------------------------------------*/

.imgBox_spo {
    width: 21%;
    float: left;
    display: inline-block;
}

.imgBox_spo_clear {
    float: none;
    display: block;
    clear: both;
}

.imgBox_spk_50 {
    float: left;
    width: 37%;
}

.session_2area .imgBox_spk_50 {
    float: left;
    width: 57%;
}

.session_2area .speakerBox {
    width: 45%
}

.imgBox_spk_50 .speakerBox {
    width: 95%;
}

.session_3area .imgBox_spo {
    width: auto;
}

.session_2area .imgBox_spo {
    width: 45%;
}

.session_3area .imgBox_spk {
    width: auto;
}

.speakerBox .image_sp {
    width: 30%;
    float: left;
}

.speakerBox {
    width: 31%;
    float: left;
    border: solid 1px #dcdcdc;
    background: #fff;
    margin-right: 10px;
    margin-bottom: 5px;
    box-sizing: border-box;
}

.session_3area .speakerBox {
    width: 100%;
    margin-bottom: 5px;
}

.speakerBox .introduction {
    width: 66%;
    padding: 2%;
    float: right;
    font-size: 0.7rem;
    line-height: 130%;
}

.program h3 {
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 10px;
}


/*.program h3 span.plus {
    display: inline;
    margin-left: 10px;
    border: solid 1px #c92544;
    padding: 0 5px;
}*/

.program a h3 {
    color: var(--color-accent);
    transition: color 0.3s ease;
}

.program a h3:hover {
    color: var(--color-direct-dark);
}

.program a {
    color: #000;
}

.program h5 {
    color: #888;
    line-height: 100%;
    border-left: solid 2px #888;
    padding-left: 5px;
    margin: 5px 0;
    font-size: 0.7rem;
}

.program .sub_title {
    font-size: 0.7rem;
    font-weight: 600;
    color: #717171;
    /* text-align: center; */
    display: block;
    /* background: #ccc; */
    margin-bottom: 5px;
    /* font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
    letter-spacing: 1px;
}

.program .sponsorBox {
    /*    width: 20%;*/
    margin-bottom: 10px;
    border: solid 1px #dcdcdc;
}

.program .session_3area .sponsorBox {
    width: 63%;
    margin-bottom: 10px;
    border: solid 1px #dcdcdc;
}

table.program td {
    /*  background: #ffffff;*/
    vertical-align: top;
    padding: 0;
    position: relative;
    line-height: 1.5em;
    padding: 10px;
}

table.program td:nth-child(even)
/*oddにする*/

    {
    background: rgba(222, 222, 222, 0.5);
    /*沖縄*/
}

table.program td.odd:nth-child(odd)
/*oddにする*/

    {
    background: rgba(222, 222, 222, 0.5) !important;
}

table.program td.odd:nth-child(even)
/*oddにする*/

    {
    background: #fff;
}

table.program th,
table.program td {
    border: 1px #000 solid;
}

table.program {
    width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 12px;
    border-collapse: collapse;
    border: 1px #E7E7E7 solid;
    font-size: 0.95em;
    table-layout: fixed;
}

table.program th.time {
    /*    background: #F0F0F0;*/
    vertical-align: middle;
    text-align: left;
    width: 12%;
    overflow: visible;
    /*    position: relative;*/
    color: #333;
    font-weight: normal;
    font-size: 11px;
    text-align: center;
    font-weight: bold;
}

table.program th.time span {
    display: block;
}

table.program span.glyphicon.glyphicon-time {
    display: none;
}

table.spTable th,
table.spTable td {
    border-top: 1px solid #ffffff;
}

table.spTable td {
    color: #222;
    padding: 10px;
    line-height: 1.3em;
}

table .colorBK td.emp1 {
    color: #E444D0;
    font-weight: bold;
}

table .colorBK td.emp2 {
    color: #28719B;
    font-weight: bold;
}

table .colorBK td {
    color: #333;
}

table.program tbody td.trackKeynote,
table.program tbody td.trackA,
table.program tbody td.trackB,
table.program tbody td.trackC,
table.program tbody td.trackD,
table.program tbody td.trackE {
    padding: 5px 5px 5px 5px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

table.program tbody td.trackA,
table.program tbody td.trackD,
table.program tbody td.trackE,
table.program tbody td.trackH,
table.program tbody td.trackI {
    background: rgba(222, 222, 222, 0.5);
}

table.program tbody .session_3area td.trackC {
    background: rgba(222, 222, 222, 0.5);
}

table.program tbody td dt {
    font-weight: bold;
    margin-bottom: 5px;
}

thead tr:last-child td,
thead tr:last-child th {
    border-bottom: 1px solid #DCDCDC !important;
}

table.program tr.gray th.time,
table.program td.wide {
    background-color: #ffffff !important;
    color: #333;
}

table.program tbody td.none:after {
    content: '';
}

.entry-content a {
    color: #333;
    display: block;
}

li.speakerpart {
    background-color: #FFF;
    box-shadow: 1px 1px 2px #E0DFD6;
    -moz-box-shadow: 2px 2px #E0DFD6;
    -o-box-shadow: 2px 2px #E0DFD6;
    -ms-box-shadow: 2px 2px #E0DFD6;
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#aaaaaa, direction=0, strength=3, enabled=true), progid: DXImageTransform.Microsoft.Shadow(color=#aaaaaa, direction=90, strength=3, enabled=true), progid: DXImageTransform.Microsoft.Shadow(color=#aaaaaa, direction=180, strength=3, enabled=true), progid: DXImageTransform.Microsoft.Shadow(color=#aaaaaa, direction=270, strength=3, enabled=true);
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    /* min-height: 310px; */
    /*width: 18%;*/
    margin: 0;
    margin-top: 5px;
}

.speakerpart .genre {
    color: #FFF;
    background-color: #C2C2C2;
    display: inline-block;
    padding: 0 5px;
    vertical-align: top;
}

.speakerpart-list dl {
    padding: 10px;
    position: relative;
}

.pgm-title {
    margin-bottom: 20px;
}

.trackKeynote .pgm-title {
    font-size: 1rem;
    text-shadow: 1px 1px 0 #FFF;
    letter-spacing: -0.01px;
    color: #333333;
}

.trackA .pgm-title,
.trackB .pgm-title,
.trackC .pgm-title,
.trackD .pgm-title,
.trackE .pgm-title {
    min-height: 4em;
    font-size: 1rem;
    text-shadow: 1px 1px 0 #FFF;
    letter-spacing: -0.01px;
    color: #333333;
}

a .pgm-title {
    text-decoration: underline;
}

li.speakerpart a {
    color: #333 !important;
    text-decoration: none;
}

.speakerpart-list dt {
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 1.15em;
}

.speakerpart .photo {
    position: relative;
    padding: 10px;
    float: left;
    /* padding-right: 2%; */
}

.speakerpart-list .speakerpart .photo {
    width: 45%;
}

.trackKeynote .speakerpart .photo {
    width: 25%;
}

table.program tbody td.trackKeynote li.speakerpart .text dt {
    font-size: 1.5rem;
}

li.speakerpart .text dt {
    background-color: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
    color: #000 !important;
    font-size: 12px;
    font-size: 0.9rem;
    text-shadow: none;
}

li.speakerpart .text dd {
    font-size: 10px;
    font-size: 0.8rem;
}

.session .pgm_minismy {
    font-size: 0.8rem;
    line-height: 150%;
    margin-bottom: 10px;
}


/* .session .rec_img{
    max-width: 160px;
} */

.session dd.rec_img_box {
    display: flex;
    justify-content: space-around;
}

.session dd.rec_img_box figure:last-child {
    margin-left: 3%;
}

.program h3.min80 {
    min-height: 80px;
}

figure.rec_img {
    width: 50%;
}

@media (max-width: 850px) {
    .left-box {
        width: 100%;
        margin-right: 0;
        float: none;
    }

    p.morebtn {
        margin-bottom: 20px;
    }

    .pgm-top-wrap {
        padding: 20px;
    }

    table.program tbody td.trackKeynote li.speakerpart .text dd {
        font-size: 10px;
        font-size: 0.8rem;
    }

    table.program thead {
        display: none;
    }

    table.program th {
        width: 100%;
        display: block;
        margin: 0 auto;
        border: none;
        border-radius: 3px;
    }

    table.program td {
        display: list-item;
        border-top: none !important;
    }

    tr.outline td.trackA,
    tr.outline td.trackB,
    tr.outline td.trackC,
    tr.outline td.trackD,
    tr.outline td.trackE {
        width: 100%;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.17);
    }

    table.program th.time {
        width: 100%;
        border-radius: 0px;
        text-align: center;
        font-weight: bold;
        border-collapse: collapse;
    }

    table.program th.time.place {
        background: #888 !important;
    }

    table.program th.time span {
        display: inline-block;
    }

    table.program span.glyphicon.glyphicon-time {
        display: inline-block;
        margin-right: 0.5em;
    }

    div#table_day1 h3,
    div#table_day2 h3 {
        font-size: 1.2em;
        font-weight: bold;
    }

    ul.pgmLink li a {
        width: 50%;
        text-align: center;
    }

    table.program.spTable {
        display: block;
    }

    table.spTable {
        display: block;
        border-left: 1px solid #FFF;
        border-right: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
    }

    table.program tr.gray th.time,
    table.program td.wide {
        border-left: 0;
        border-right: 0;
    }

    table.program th,
    table.program td {
        border: 0;
        /*        border-bottom: 1px solid #E7E7E7;*/
    }

    .speakerpart .cb {
        clear: none;
        padding-top: 5px;
        display: inline;
    }

    .speakerpart-list .speakerpart .photo,
    .trackKeynote .speakerpart .photo {
        width: 130px;
    }

    table.program tbody td.trackKeynote li.speakerpart .text dt {
        font-size: 0.9rem;
    }

    .trackA .pgm-title,
    .trackB .pgm-title,
    .trackC .pgm-title,
    .trackD .pgm-title,
    .trackE .pgm-title {
        min-height: inherit;
    }

    table.program tr.gray th.time,
    table.program th.time {
        background: #222 !important;
        color: #FFF;
    }

    table.program tbody td.trackKeynote dt,
    table.program tbody td.trackA dt,
    table.program tbody td.trackB dt,
    table.program tbody td.trackC dt,
    table.program tbody td.trackD dt,
    table.program tbody td.trackE dt {
        margin-bottom: 10px;
    }

    table.program tbody td.trackA,
    table.program tbody td.trackC,
    table.program tbody td.trackE,
    table.program tbody td.trackG,
    table.program tbody td.trackI {
        background: rgba(222, 222, 222, 0.5);
    }

    table.program tbody td.trackD,
    table.program tbody td.trackH {
        background: none;
    }

    .pgm-title {
        margin-bottom: 5px;
    }

    .imgBox_spk {
        width: 100%;
    }

    .imgBox_spk_50 {
        float: none;
        width: 100%;
    }

    .session_2area .imgBox_spk_50 {
        float: none;
        width: 100%;
    }

    .imgBox_spk_50 .speakerBox {
        width: 100%;
        min-height: 0;
    }

    .session_2area .imgBox_spk_50 .speakerBox {
        min-height: 0;
    }

    .speakerBox {
        width: 100%;
        margin-bottom: 5px;
        min-height: 0;
    }

    .session_2area .speakerBox {
        width: 100%;
    }

    .speakerBox .image_sp {
        width: 15%;
    }

    .speakerBox .introduction {
        width: 81%;
    }

    .program .session_3area .sponsorBox {
        width: 20%;
    }

    .trackc.sp_none {
        display: none;
    }

    .session_2area .imgBox_spo {
        width: 20%;
    }

    .session .rec_img {
        width: 50%;
    }

    .program h3.min80 {
        min-height: 0;
    }
}


/* end */

@media (max-width: 643px) {

    #table_day1,
    #table_day2 {
        margin-top: -70px;
        padding-top: 70px;
    }

    .morebtn a {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .imgBox_spo {
        width: 30%;
    }

    .session_2area .imgBox_spo {
        width: 30%;
    }

    .speakerpart-list .speakerpart .photo,
    .trackKeynote .speakerpart .photo {
        width: 35%;
        padding: 10px 0 10px 10px;
    }

    .night-official-party dd img.night-img,
    .night-official-party dd img.lunch-img {
        width: 35%;
    }

    .speakerpart-list dl.text {
        width: 65%;
        float: left;
    }

    table.spTable span {
        font-size: 1.1em;
    }

    .opening-hours {
        font-size: 1em;
    }

    .pgm-top-wrap {
        margin-top: 20px;
    }

    td.trackKeynote4 .speakerpart .photo {
        width: 35%;
        padding: 10px 0 10px 10px;
    }

    .program .session_3area .sponsorBox {
        width: 30%;
    }

    .speakerBox .image_sp {
        width: 21%;
    }

    .speakerBox .introduction {
        width: 75%;
    }
}


/* ---------------------------------------------------------
 .c_session(各セッションごとのCSS)
----------------------------------------------------------*/


/*Brand Only Reception目立たせる*/

.timeWrap.session.back_color_blue .sub_title {
    background: #152667;
    color: #fff;
    padding: 0px 10px;
    display: inline-block;
}

.timeWrap.session.back_color_orange .sub_title {
    background: #ec9008;
    color: #fff;
    padding: 0px 10px;
    display: inline-block;
}


/*各セッションスピーカー高さ合わせ*/

.id257 .speakerBox {
    min-height: 6rem;
}


/*.speakerBox.cf.id305.masaaki-ito {
    width: 80%;
}
.speakerBox.cf.id305.masaaki-ito .image_sp {
    width: 30%;
}
.speakerBox.cf.id305.masaaki-ito .introduction {
    width: 66%;
    font-size: 0.9rem;
}
.speakerBox.cf.id305{
    width: 50%;
}*/


/*spk,nav,modそれぞれ一人ずつの場合横並びに*/


/*.imgBox_spk.id244,.imgBox_spk.id305,.imgBox_spk.id242 {
    float: left;
    width: 33%;
}
.imgBox_spk.id244 .speakerBox,.imgBox_spk.id305 .speakerBox,.imgBox_spk.id242 .speakerBox{
    width: 95%;
}*/


/*end-spk,nav,modそれぞれ一人ずつの場合*/


/*spk,navそれぞれ一人ずつの場合横並びに*/

.imgBox_spk.id7105,
.imgBox_spk.id7910,
.imgBox_spk.id7287,
.imgBox_spk.id283,
.imgBox_spk.id10574,
.imgBox_spk.id10582 {
    float: left;
    width: 45%;
}

.imgBox_spk.id7105 .speakerBox,
.imgBox_spk.id7910 .speakerBox,
.imgBox_spk.id7287 .speakerBox,
.imgBox_spk.id283 .speakerBox,
.imgBox_spk.id10574 .speakerBox,
.imgBox_spk.id10582 .speakerBox {
    width: 95%;
}


/*その他spkが2人ずつの場合横並びに*/

#c_schedule .imgBox_spk.id7287 {
    float: left;
    width: 95%;
}

#c_schedule .imgBox_spk.id7287 .speakerBox {
    width: 45%;
}


/*end-2カラム部分2人以上の時サイズ調整*/


/*2カラム部分2人以上の時サイズ調整*/


/*.speakerBox.cf.id330 {
    width: 45%;
}*/


/*end-2カラム部分2人以上の時サイズ調整*/


/*party spo*/

.imgBox_spo.cf.id6224 {
    width: 100%;
}

.imgBox_spo.cf.id6224 .sponsorBox {
    width: 22%;
    float: left;
    margin-right: 1%;
}

@media (max-width: 850px) {

    /*各セッションスピーカー高さ合わせ*/
    .id257 .speakerBox,
    .id332 .speakerBox {
        min-height: 0rem;
    }

    /*    .speakerBox.cf.id305.masaaki-ito,.speakerBox.cf.id305 {
        width: 100%;
    }*/
    /*spk,nav,modそれぞれ一人ずつの場合横並びに*/
    .imgBox_spk.id7105,
    .imgBox_spk.id7910,
    .imgBox_spk.id7287,
    .imgBox_spk.id283,
    .imgBox_spk.id10574,
    .imgBox_spk.id10582 {
        float: none;
        width: 100%;
    }

    .imgBox_spk.id7105 .speakerBox,
    .imgBox_spk.id7910 .speakerBox,
    .imgBox_spk.id7287 .speakerBox,
    .imgBox_spk.id283 .speakerBox,
    .imgBox_spk.id10574 .speakerBox,
    .imgBox_spk.id10582 .speakerBox {
        width: 100%;
        box-sizing: border-box;
    }

    /*end-spk,nav,modそれぞれ一人ずつの場合*/
    /*2カラム部分2人以上の時サイズ調整*/
    /*その他spkが2人ずつの場合横並びに*/
    #c_schedule .imgBox_spk.id7287 {
        float: left;
        width: 100%;
    }

    #c_schedule .imgBox_spk.id7287 .speakerBox {
        width: 100%;
    }

    /*    .speakerBox.cf.id330 {
        width: 100%;
    }*/
    /*end-2カラム部分2人以上の時サイズ調整*/
}

@media (max-width: 480px) {
    /*    .speakerBox.cf.id305.masaaki-ito .image_sp {
        width: 20%;
    }
    .speakerBox.cf.id305.masaaki-ito .introduction {
        width: 75%;
    }
    .speakerBox.cf.id305.masaaki-ito .image_sp {
        width: 35%;
    }
    .speakerBox.cf.id305.masaaki-ito .introduction {
        width: 60%;
        font-size: 0.8rem;
    }*/
}

/*-- id_455 非公式プログラム「ナイトセッション --*/

/* 「id_455」の直下にある prg_item_innner の
   直接の h3 要素で、かつ中身が空（:empty）のものだけ */
   .prg_cont_list_item.id_455 > .prg_item_innner > h3:empty {
    display: none;
  }

.prg_cont_list .id_455 .session01 {
    background: #eee;
    padding: 10px;
}

.prg_cont_list .id_455 .session02 {
    width: 100%;
    background: #eee;
    padding: 10px;
    /* height: 50px; */
}

/*プロフィールURLリンク*/

.pop_wrap .txt_box a {
    text-decoration: underline;
}

.pop_wrap .txt_box a:link {
    color: var(--color-direct);
}

.pop_wrap .txt_box a:visited {
    color: var(--color-direct);
}

.pop_wrap .txt_box a:hover {
    filter: alpha(opacity=80);
    opacity: 0.8;
}

.pop_wrap .txt_box a:active {}


/*------------- 220315~ タグ構造変更 -------------*/

#c_schedule .program_item {
    display: flex;
    border: 1px #DCDCDC solid;
    margin-bottom: 0;
}

#c_schedule .program_list .program_item:nth-child(n+2) {
    border-top: none;
}


#c_schedule .program_item.program_item_heading {
    background: #ccc;
    align-items: center;
}

.prg_time {
    width: 12%;
}

.prg_time span {
    display: none;
}


.prg_time,
.prg_place {
    text-align: center;
    padding: 20px 10px;
    border-right: 1px #DCDCDC solid;
}

.prg_content {
    width: 100%;
}

.program_item.program_item_heading .prg_content {
    text-align: center;
    font-size: 0.9rem;
}

.prg_cont_list {
    display: flex;
    flex-wrap: nowrap;
}

.prg_cont_list_item {
    width: 100%;
    padding: 20px 10px;
}

/* 時間表記外し　時間非表示 */
/* .program_list .program_item:has(.prg_cont_list_item.id_240)
.program_list .program_item:has(.prg_cont_list_item.id_290)
.program_list .program_item:has(.prg_cont_list_item.id_550){
    border-bottom:none;
} */
.program_item:has(.prg_cont_list_item.id_460) .prg_time,
.program_item:has(.prg_cont_list_item.id_400) .prg_time,
.program_item:has(.prg_cont_list_item.id_390) .prg_time {
    color:transparent;
}


.program_item:has(.id_770) .prg_time {
    color:transparent;
}

.program_item:has(.id_770) .prg_content{
    border-top:1px #DCDCDC solid;
}

.prg_cont_list_item .closed_txt{
    background: #858585;
    color: #fff;
    margin-bottom: 10px;
    display: block;
}


.prg_cont_list .prg_cont_list_item:nth-child(n+2) {
    border-left: 1px #DCDCDC solid;
}

/*.prg_cont_list .prg_cont_list_item:nth-child(even) {
    background: #eee;
} */

.prg_item_innner {
    display: flex;
    flex-wrap: wrap;
    /* align-items: baseline; */
}

.prg_cont_list_item .prg_item_innner:nth-child(n+2) {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #beb7b7;
}

/* アフターアジェンダ 1コースのみのため区切り線打ち消し */
.id_920.prg_cont_list_item .prg_item_innner:nth-child(n+2) {
    border-top: none;
    margin-top: 10px;
}

/* アフターアジェンダ（Day3）4コース横並び
   現行 directagenda.jp/schedule/ と同一定義（リポジトリ作成時点の main から移植）。
   入れ子の .prg_cont_list（display:flex）に .ssn-220 を4つ並べて4カラムにする。
   ※ 現行にある .session_group の交互グレー背景は、白ベースの今のデザインに合わせて持ってきていない */
li.prg_cont_list_item.cont_ssn_col3.session_group.ssn-220 {
    display: flex;
}

.weekend_agenda .prg_item_innner {
    flex-direction: column;
}

.prg_cont_list_item.weekend_agenda {
    padding: 0;
    display: flex;
    flex-direction: column;
}

.prg_cont_list_item.weekend_agenda .prg_item_innner {
    width: 100%;
    padding: 10px;
}

.prg_cont_list_item.weekend_agenda .after_agenda_note {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 10px 16px;
    margin: 0;
    font-size: 0.9rem;
    border-top: 1px solid #DCDCDC;
}

/* 4コースの上線。線は1本だけ引き、左右を10px空けてリード文の文字位置に合わせる */
.weekend_agenda > .prg_content {
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.weekend_agenda > .prg_content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    border-top: 1px solid #DCDCDC;
}

.weekend_agenda > .prg_content > .prg_cont_list {
    width: 100%;
}

/* 4コースカード：画像をカード下端で揃える。
   .prg_cont_list は display:flex（既定 align-items:stretch）なので、4枚の.ssn-220は
   本文の長さに関わらず同じ高さに揃っている。その中の.prg_item_innnerを縦積みのflexにし、
   本文の p に余った高さを吸収させて画像を下端へ送る（現行 directagenda.jp と同じ手法。
   img に margin-top:auto を使うと mgt20 の余白が消えるため使わない） */
.cont_ssn_col3.session_group.ssn-220 .prg_item_innner {
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
    box-sizing: border-box;
}

.cont_ssn_col3.session_group.ssn-220 .prg_item_innner p {
    flex-grow: 1;
}

.prg_item_innner>a {
    display: block;
    width: 100%;
}

.prg_item_innner p {
    font-size: 0.9rem;
    width: 100%;
}

.prg_item_innner .sub_title {
    font-size: .7rem;
    font-weight: 600;
    color: #717171;
    display: block;
    margin-bottom: 5px;
    /*font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
    letter-spacing: 1px;
    width: 100%;
}

.prg_item_innner h3 {
    font-size: .9rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: #000;
    line-height: 1.3rem;
    border-bottom: none;
    /*font-family: 游ゴシック, "Yu Gothic", メイリオ, "Meiryo UI", sans-serif;*/
    display: block;
    width: 100%;
}

.prg_item_innner h3 span{
    font-weight: normal;
}

.prg_item_innner>a h3 {
    color: var(--color-direct);
    transition: color 0.3s ease;
}

.prg_item_innner>a h3:hover {
    color: var(--color-direct-dark);
}

.prg_item_innner>a h3 span.plus {
    color: var(--color-direct);
    display: inline;
    margin-left: 10px;
    border: solid 1px var(--color-direct);
    padding: 0 5px;
    transition: all 0.3s ease;
}

.prg_item_innner>a h3:hover span.plus {
    color: var(--color-direct-dark);
    border-color: var(--color-direct-dark);
}

.prg_att_cont {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.prg_item_innner .prg_att_cont:nth-child(n+2) {
    margin-top: 15px;
}

.prg_att_cont h5 {
    color: #888;
    border-left: 2px solid var(--color-direct-light);
    padding-left: 5px;
    font-size: 0.7rem;
    margin-bottom: 5px;
    width: 100%;
}

/* 251217追加 */
/* 「Speaker」という文字列のh5のみ文字色を透明にする */
.prg_att_cont.prg_speaker.spk_list h5.speaker_label.speaker-label-speaker {
    color: transparent;
    border-left: transparent;
}

/* MC/Moderator/freespeakerのh5は表示を保証 */
.prg_att_cont.prg_speaker:not(.spk_list) h5 {
    display: block !important;
}

.prg_att_cont.prg_speaker:not(.spk_list) h5.speaker_label {
    /* margin: 0 0 5px; */
}

.prg_person_list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    /*justify-content: space-between;*/
}

.prg_person_list_item {
    width: 32%;
    margin-right: 1%;
    /* border: solid 1px #dcdcdc; */
    /* background: #fff; */
}

.prg_person_list .prg_person_list_item:nth-child(n+4) {
    margin-top: 1%;
}

@media (max-width: 600px) {
    .prg_att_cont.prg_speaker.spk_list h5.speaker_label.speaker-label-speaker {
        display: none;
    }
}


/*②スピーカー1　スポンサー1、③スピーカー1　その他1*/

.cont_col .prg_att_cont.prg_speaker {
    width: 32%;
    margin-right: 1%;
}

.cont_col .prg_att_cont.prg_sponsor {
    width: 21%;
}

.cont_col .prg_att_cont.prg_speaker .prg_person_list_item,
.cont_col .prg_att_cont.prg_sponsor .prg_company_list_item {
    width: 100%;
    margin-right: 0;
}


/*④大きく表示（横2人）*/

.cont_big .prg_att_cont.prg_speaker {
    width: 49%;
    margin-right: 1%;
}


/*⑤col2*/

.cont_ssn_col2 .prg_person_list_item {
    width: 65%;
    margin-right: 0;
}

.cont_ssn_col2 .prg_company_list_item {
    width: 45%;
}


/*⑥col3*/

.cont_ssn_col3 .prg_person_list_item {
    width: 100%;
    margin-right: 0;
}

.cont_ssn_col3 .prg_company_list_item {
    width: 60%;
}

/* col2 は「＋クラス無し」の時の2段目落ち（nth-child(n+4) の margin-top:1%）と
   同じ見た目にしたいので、col3 とは分けて元の1%のまま */
.cont_ssn_col2 .prg_person_list .prg_person_list_item:nth-child(n+2) {
    margin-top: 1%;
}

/* col3 は縦積みで詰まって見えるため、最後の人以外に下余白を付ける。
   JS でモデレーターが同じリストの末尾へ移動しても、最後の人には付かない。
   上余白は基本定義（nth-child(n+4) の 1%）が残ると間隔が不揃いになるので 0 にする */
.cont_ssn_col3 .prg_person_list .prg_person_list_item {
    margin-top: 0;
}

.cont_ssn_col3 .prg_person_list .prg_person_list_item:not(:last-child) {
    margin-bottom: 15px;
}

.prg_person_list_item>a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.prg_person_list_item figure {
    width: 26%;
    position: relative;
}

.prg_person_list_item figure img {

}

.prg_person_list_item dl {
    width: calc(100% - 30%);
    font-size: .65rem;
    padding: 0 2%;
}

/* 251217追加 肩書が長い場合の調整 */
.prg_person_list_item .prg_person_pos {
    font-size: 0.65rem;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
    max-height: 2.6em; /* 約2行分 */
    overflow: hidden;
}

.prg_company_list {
    width: 100%;
}

.prg_company_list_item {
    width: 21%;
    /* border: solid 1px #dcdcdc; */
}

.prg_company_list_item>a {
    font-size: initial;
    display: block;
}

.prg_att_cont.prg_sponsor.free_company ul {
    display: flex;
}

.prg_att_cont.prg_sponsor.free_company ul li {
    margin-right: 1%;
}

.prg_att_cont.prg_sponsor.free_company ul li:last-child {
    margin-right: 0;
}

/* セッション内画像調整 */
.prg_img {
    width: 100%;
    max-width: 300px;
    margin-top: 10px;
}


@media (max-width: 600px) {
    .prg_time {
        width: 80px;
    }

    .prg_place {
        width: 100px;
    }

    .prg_time,
    .prg_place {
        padding: 15px 5px;
        font-size: .8rem;
    }

    .prg_item_innner h3 {
        font-size: .8rem;
    }

    .prg_cont_list {
        flex-wrap: wrap;
    }

    .prg_cont_list_item {
        padding: 15px 10px;
    }

    .prg_cont_list_item:nth-child(n+2) {
        border-left: unset !important;
        border-top: 1px #DCDCDC solid;
    }

    .prg_item_innner .prg_att_cont:nth-child(n+2) {
        margin-top: 10px;
    }

    .prg_att_cont.prg_speaker {
        width: 100% !important;
        margin-right: 0;
    }

    .prg_att_cont.prg_speaker .prg_person_list_item {
        width: 100% !important;
        margin-right: 0;
    }

    .prg_att_cont.prg_speaker .prg_person_list_item:nth-child(n+2) {
        margin-top: 2%;
    }

    .prg_person_list_item figure {
        width: 20%;
    }

    .prg_person_list_item dl {
        width: 76%;
    }

    .prg_att_cont.prg_sponsor {
        width: 100% !important;
    }

    .prg_att_cont.prg_sponsor .prg_company_list_item {
        width: 30% !important;
    }

    .prg_item_innner p img.original {
        display: block;
        margin: auto;
    }

    .prg_item_innner p {
        font-size: .7rem;
    }
}


/* フリーエリア（CSVのsession_free_area）のラッパー。
   .prg_item_innner が display:flex のため、幅100%を明示しないと
   中身が縮んでしまう（沖縄と同一定義） */
#c_schedule .prg_free_area {
    width: 100%;
    box-sizing: border-box;
}


/* 写真をいれたセッション */
/* 沖縄（本番）と同一定義。.flex 内は p と figure.schedule_photo を必ず1行に並べる。
   ※ nowrap を外すと figure が2行目に落ちて画像が本文の下に回り込むため変更しないこと */

#c_schedule .flex p {
    font-size: 0.9rem;
    width: 65%;
}

#c_schedule .flex .schedule_photo {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 30%;
}

#c_schedule .flex .schedule_photo figure {
    width: 30%;
}

#c_schedule .flex {
    flex-wrap: nowrap;
}



/* Day3 レクリエーション調整! */
.prg_cont_list_item.id_640 h3{
    padding: 10px;
}
.prg_cont_list_item.id_640 {
    padding: 0;
}

.definition-list.flex.title_cont{
    height: 70px;
}

.definition-list.flex{
    height: 100px;
    align-items: center;
}

.prg_cont_list_item.id_640 dl{
    width: 100%;
}
.definition-list dt {
    display: grid;
    place-items: center;
    width: 10%;
    height: 100%;
    padding: 15px;
    border-top: 1px solid #d4d4d4;
    font-size: 1rem;
    border-right: 1px solid #d4d4d4;
}

.definition-list dd.definition-desc{
        display: flex;
        justify-content: space-between;
        width: 60%;
        height: 100%;
        align-items: center;
        padding: 15px;
        border-top: 1px solid #d4d4d4;
}

#c_schedule .definition-list dd.definition-desc p{
    width: 100%;
}

.definition-list dd.sche_time{
        width: 25%;
        height: inherit;
        background: #f4f4f4;
}

.definition-list.title_cont p{
    text-align:center;
}
.definition-list dd figure {
    width: 26%;
}

#c_schedule .definition-list dd .time_cont{
    width: 100%;
}

#c_schedule .definition-list dd .time_cont span{
    font-size: .6rem;
    color: #666666;
    display: block;
}

/* 親要素を flex コンテナ化 */
.definition-list.flex {
    display: flex;       /* ← これが必須 */
    height: 100px;       /* 親の高さ */
    align-items: center; /* 子要素を縦方向中央揃え */
}

/* タイトル行だけ高さを別にしたい場合 */
.definition-list.flex.title_cont {
    display: flex;       /* ← これも必要 */
    height: 90px;
    align-items: center;
}

.definition-list.flex dd.sche_time {
    display: flex;         /* ← 追加 */
    align-items: center;   /* 縦中央 */
    justify-content: center; /* 横中央 */
    padding: 10px 15px;
    text-align: center;
    border-top: 1px solid #d4d4d4;
    position: relative;
}


/* ─ dd周りの余白リセット & box-sizing を確実に */
.definition-list.flex,
.definition-list.flex dt,
.definition-list.flex dd {
  box-sizing: border-box;
  margin: 0;
  padding: 0;  /* 必要に応じて個別に padding:15px を復活させてください */
  /* border: none; */
}

/* ─ 高さ固定かつ余分にはみ出さないように */
.definition-list.flex {
  height: 130px;
  overflow: hidden;
  align-items: center; /* 既存 */
}

/* ─ 定義文部分のレイアウト調整 */
.definition-list.flex dd.definition-desc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 25px; /* 元の padding をここで再指定 */
  overflow: hidden;
  width: 70%;
}

/* ─ 画像の高さを制限 */
.definition-list.flex dd.definition-desc figure {
  flex-shrink: 0;
  margin: 0;
}
.definition-list.flex dd.definition-desc figure img {
  max-height: 100px; /* 100px − (上下 padding 合計 30px) */
  width: auto;
  height: auto;
  object-fit: cover;
}



/* ウィークエンドアジェンダの調整 */
.id_920 .time_txt{
    background: #f7f2e6;
    display: block;
    padding: 10px;
    margin: 5px 0;
    }
    
    .id_920 .sup_txt{
    font-size: .8rem;
    color: #454545;
}

#c_schedule .definition-list dd.definition-desc p.sp{
    display: none;
}

@media screen and (max-width:850px){
    .definition-list.flex.title_cont{
        height:130px;
    }
    .definition-list.flex dd.definition-desc{
    flex-direction: column;
    justify-content: center;
    width: 65%;
    }

    .definition-list.flex dd.sche_time{
        width: 30%;
    }

    .definition-list dt{
        width: 15%;
    }

    .definition-list.flex{
        height:150px;
    }

    .definition-list dd figure{
        width: 30%;
    }

    #c_schedule .definition-list dd.definition-desc p{
        text-align:center;
        margin-bottom:5px;
    }
}



@media (max-width: 850px) {
    #c_schedule .flex .schedule_photo p {
        width: 55%;
    }

    #c_schedule .flex .schedule_photo figure {
        display: flex;
        width: 30%;
        margin-top: 50px;
    }
}

@media (max-width: 600px) {
    #c_schedule .flex {
        flex-wrap: wrap;
        height: auto;
        /* border-top: 1px solid #d4d4d4; */
    }

    .id_920 .sup_txt,
    #c_schedule .flex p {
        width: 100%;
        font-size: .7rem;
    }


    #c_schedule .flex .schedule_photo {
        display: block;
        width: 100%;
        margin-top: 15px;
    }

    #c_schedule .flex .schedule_photo figure {
        margin: 10px auto;
        width: 100%;
    }

    .flex .prg_img{
        width: 100%;
        margin: 10px auto;
    }

    .definition-list.flex.title_cont dt,
    .definition-list.flex.title_cont dd{
        font-size:.8rem;
    }

 .definition-list.flex.title_cont{
        height: 40px;
        align-items: center;
    }
    .definition-list.flex dd.definition-desc{
    /* flex-direction: column; */
    /* justify-content: center; */
    width: 85%;
    padding: 0;
    justify-content: space-between;
    border-left: 1px solid #d4d4d4;
    }

    .definition-list.flex dd.sche_time{
        width: 30%;
        display: none;
    }

    .definition-list dt{
        width: 15%;
    }

    .definition-list.flex{
        height: 210px;
    }

    .definition-list dd figure{
        width: 45%;
    }

    #c_schedule .definition-list dd.definition-desc p{
        text-align:center;
        margin-bottom:5px;
        padding: 10px 0 0;
    }

    #c_schedule .definition-list dd.definition-desc p.sp{
        display:block;
        background: #eeeeee;
        margin-bottom: 0;
        padding: 10px;
        margin-top: 10px;
        /* height: auto; */
    }
    #c_schedule .definition-list dd.definition-desc p .small_txt{
        display: block;
        font-size: 10px;
        color: #656262;
    }
        #c_schedule .definition-list dd.definition-desc p .time_txt{
        font-size: .9rem;
        /* font-weight: bold; */
        margin-top: 2px;
        display: block;
    }

.definition-list.flex,
.definition-list.flex dt,
.definition-list.flex dd {
 
  border: none;
}
}

@media (max-width: 480px) {
    #c_schedule .flex .schedule_photo figure {
        width: 95%;
    }
    .definition-list.flex.title_cont dt{
        font-size:.6rem;
    }
    #c_schedule .definition-list dd.definition-desc p{
        width: 85%;
    }
    #c_schedule .definition-list dd.definition-desc p.sp{
        width:100%;
        padding:5px;
    }
}


/**************************************
ナイトアジェンダのレイアウト変更
**************************************/
/* #c_schedule .program_item:has(.id_200) .prg_time {
    color: transparent;
    padding-top: 0;
}

#c_schedule .program_item:has(.id_195) {
    border-bottom: none;
}

#c_schedule .program_item:has(.id_200) {
    border-top: none;
}

.program_item:has(.id_200) .prg_cont_list .prg_cont_list_item:nth-child(n+2) {
    border-left: none;
}

.prg_cont_list_item.id_200,
.prg_cont_list_item.id_201,
.prg_cont_list_item.id_202 {
    padding-top: 0;
} */


/**************************************
ヤングクリエイティブアジェンダ
**************************************/
/* h5のスタイル */
.id_160 .prg_att_cont:nth-of-type(1) h5,
.id_160 .prg_att_cont:nth-of-type(2) h5,
.id_160 .prg_att_cont:nth-of-type(3) h5,
.id_160 .prg_att_cont:nth-of-type(4) h5,
.id_610 .prg_att_cont:nth-of-type(1) h5,
.id_610 .prg_att_cont:nth-of-type(2) h5,
.id_610 .prg_att_cont:nth-of-type(3) h5,
.id_610 .prg_att_cont:nth-of-type(4) h5  {
    display: block;
    border: none;
    font-size: 0;
    padding: 0;
    margin-bottom: 5px;
}

/* h5:beforeを非表示（各アイテムの上に見出しを表示するため） */
.id_160 .prg_att_cont:nth-of-type(1) h5:before,
.id_160 .prg_att_cont:nth-of-type(2) h5:before,
.id_160 .prg_att_cont:nth-of-type(3) h5:before,
.id_160 .prg_att_cont:nth-of-type(4) h5:before,
.id_610 .prg_att_cont:nth-of-type(1) h5:before,
.id_610 .prg_att_cont:nth-of-type(2) h5:before,
.id_610 .prg_att_cont:nth-of-type(3) h5:before,
.id_610 .prg_att_cont:nth-of-type(4) h5:before {
    display: none;
}

/* 課題提供企業にもpadding-topを適用 */
.id_160 .prg_att_cont:nth-of-type(4),
.id_610 .prg_att_cont:nth-of-type(4) {
    /* padding-top: calc(0.7rem + 5px); */ /* h5の高さ分（font-size: 0.7rem + margin-bottom: 5px） */
}

/* 各dtの上に見出しを表示（共通スタイル） */
.id_160 .prg_att_cont:nth-of-type(1) .prg_person_list_item dt::before,
.id_160 .prg_att_cont:nth-of-type(2) .prg_person_list_item dt::before,
.id_160 .prg_att_cont:nth-of-type(3) .prg_person_list_item dt::before,
.id_160 .prg_att_cont:nth-of-type(4) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(1) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(2) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(3) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(4) .prg_person_list_item dt::before {
    display: block;
    border-left: 2px solid #a18f61;
    font-size: 0.7rem;
    padding-left: 5px;
    color: #888;
    font-weight: bold;
    line-height: 100%;
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    margin: 5px 0;
}

/* 各セクションのcontent設定 */
.id_160 .prg_att_cont:nth-of-type(1) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(1) .prg_person_list_item dt::before {
    content: "審査員長";
}
.id_160 .prg_att_cont:nth-of-type(2) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(2) .prg_person_list_item dt::before {
    content: "審査員";
}
.id_160 .prg_att_cont:nth-of-type(3) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(3) .prg_person_list_item dt::before {
    content: "審査アドバイザー";
}
.id_160 .prg_att_cont:nth-of-type(4) .prg_person_list_item dt::before,
.id_610 .prg_att_cont:nth-of-type(4) .prg_person_list_item dt::before {
    content: "課題提供企業";
}

/* ヤング・クリエイティブ・アジェンダのエントリー：dlを非表示、画像のみ横4列で表示 */
.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item dl,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item dl {
    display: none;
}

.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list {
    gap: 1.5%;
}

.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item {
    width: 18%;
    margin-right: 0;
}

/* .id_160 と .id_610 の5番目のセクションは除外 */
.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list .prg_person_list_item:nth-child(n+4),
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list .prg_person_list_item:nth-child(n+4) {
    margin-top: 0;
}

.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list .prg_person_list_item:nth-child(n+6),
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list .prg_person_list_item:nth-child(n+6) {
    margin-top: 1%;
    /* margin-top: 2%; 400×400の時  */
}

/* .id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item:nth-child(5n),
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item:nth-child(5n) {
    margin-right: 0;
    margin-top: 0;
}*/

/* エントリーセクション全体にmargin-topを追加 */
.id_160 .prg_att_cont:nth-of-type(5),
.id_610 .prg_att_cont:nth-of-type(5) {
    margin-top: 3%;
}

.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure {
    width: 100%;
}

/* 400×400 の時
.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure img,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure img {
    width: 174px !important;
    height: 90px !important;
    object-fit: cover;
    object-position: center;
} */

.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item>a,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item>a {
    flex-direction: column;
}

/* ヤング・クリエイティブ・アジェンダのprg_company_list_itemの横幅を8.5%に */
.id_160 .prg_company_list_item,
.id_610 .prg_company_list_item {
    width: 8.5%;
}

@media (max-width: 600px) {
    .id_160 .prg_company_list_item,
    .id_610 .prg_company_list_item {
        width: 20% !important;
        margin-right: 3.33% !important;
    }

    .id_160 .prg_company_list_item:nth-child(3n),
    .id_610 .prg_company_list_item:nth-child(3n) {
        margin-right: 0 !important;
    }

    /* ヤング・クリエイティブ・アジェンダのエントリー下の企業ロゴを3カラムに */
    .id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item,
    .id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item {
        width: 30% !important;
        margin-right: 3.33% !important;
    }

    .id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item:nth-child(3n),
    .id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item:nth-child(3n) {
        margin-right: 0 !important;
    }

    .id_160 .prg_att_cont:nth-of-type(5) .prg_person_list,
    .id_610 .prg_att_cont:nth-of-type(5) .prg_person_list {
        gap: 0 !important;
    }
}

/**************************************
ポップアップの「＋」マーク
**************************************/
.prg_person_list_item figure::after {
    content: '+';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    /* 色は style.css の人物写真「＋」マーク（カウンシル／参加者一覧／セッション詳細）と統一。
       大きさ・位置は schedule 独自のまま */
    background: var(--gradient-plus-mark);
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 3px;
    font-size: 12px;
    font-weight: bold;
    color: var(--color-primary-white);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    line-height: 1;
}

.prg_person_list_item figure:hover::after {
    background: var(--gradient-plus-mark);
    transform: scale(1.05);
}

/* エントリーセクションの「＋」ボタンを非表示 */
.id_160 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure::after,
.id_610 .prg_att_cont:nth-of-type(5) .prg_person_list_item figure::after {
    display: none;
}

/* da26_spk_507 はポップアップ無効化（style.css）に合わせて「＋」も出さない */
.prg_person_list_item a[href$="detail.php?id=da26_spk_507"] figure::after {
    display: none;
}


/**************************************
NAVスクロール
**************************************/
#c_schedule .schedule_tab.is-fixed {
    position: fixed;
    /* topはJavaScriptで動的に設定 */
    z-index: 100;
    margin-top: 0;
}

#c_schedule .schedule_tab-placeholder {
    display: none;
}

#c_schedule .schedule_tab-placeholder.is-active {
    display: block;
}


/* ---------------
txt + image
--------------- */
/* 横並び：「写真をいれたセッション」（L1738〜）と @media 850px / 600px で定義済み。
   ここに flex-wrap:wrap + gap の別定義を置くと、p(60%) + gap + figure(35%) が
   100%を超えて figure が折り返し、画像が本文の下に落ちるため定義しない。 */

/* 縦並び */
.ssn_img img {
    max-width: 200px;
    margin-top: 10px;
}

@media screen and (max-width: 600px) {
    .ssn_img img {
        /* max-width: 150px; */
        width: 100%;
        max-width: inherit;
    }
}
/* --- END/.photo_area --- */


/* ============================================================
    DAY1 ナイトアジェンダ（session_free_area / id_200）
    沖縄（Marketing-Agenda-Nanovation/html/okinawa/css/schedule.css の .ma26-rec）
    から移植。クラス接頭辞のみ .ma26-rec → .b2b-rec に変更。
    白ベース＋時刻列のみ #f5f5f5。外周は左右および下端に枠線なし。
    b2b-rec__body マークアップ順: .b2b-rec__fig（左・画像）→ .b2b-rec__desc（右・説明）
    〜850px: 見出しはコース（狭列）／コース内容を横並び（時刻ヘッダのみ非表示）。
   ============================================================ */

#c_schedule .b2b-rec {
    width: 100%;
    box-sizing: border-box;
    font-size: 0.9rem;
    line-height: 1.5;
    background: #fff;
    border: none;
    border-top: 1px solid #d4d4d4;
}

#c_schedule .b2b-rec__head {
    display: flex;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-bottom: 1px solid #d4d4d4;
}

#c_schedule .b2b-rec__head-cell {
    padding: 12px 10px;
    font-size: 0.75rem;
    font-weight: 700;
    text-align: center;
    color: #222;
    border-right: 1px solid #d4d4d4;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.35;
    background: #fff;
}

#c_schedule .b2b-rec__head-cell--time {
    flex: 0 0 26%;
    max-width: 220px;
    min-width: 92px;
    border-right: none;
    background: #f5f5f5;
}

#c_schedule .b2b-rec__head-cell--course {
    flex: 0 0 10%;
    max-width: 120px;
    min-width: 56px;
}

#c_schedule .b2b-rec__head-cell--main {
    flex: 1 1 auto;
    min-width: 0;
}

#c_schedule .b2b-rec__head-note {
    display: block;
    font-size: 0.58rem;
    font-weight: 500;
    color: #666;
    margin-top: 6px;
    line-height: 1.35;
}

#c_schedule .b2b-rec__row {
    display: flex;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}

#c_schedule .b2b-rec__row + .b2b-rec__row {
    border-top: 1px solid #d4d4d4;
}

#c_schedule .b2b-rec__course {
    flex: 0 0 10%;
    max-width: 120px;
    min-width: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 14px 10px;
    border-right: 1px solid #d4d4d4;
    box-sizing: border-box;
    background: #fff;
}

#c_schedule .b2b-rec__course-id {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
}

#c_schedule .b2b-rec__course-cap {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    margin-top: 4px;
    line-height: 1.2;
}

#c_schedule .b2b-rec__main {
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 16px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    background: #fff;
    border-right: 1px solid #d4d4d4;
}

#c_schedule .b2b-rec__title {
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.35;
    margin: 0;
}

#c_schedule .b2b-rec__body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}

#c_schedule .b2b-rec__desc {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.85rem;
}

#c_schedule .b2b-rec__desc p {
    margin: 0;
    width: 100%;
}

#c_schedule .b2b-rec__fig {
    flex: 0 0 auto;
    margin: 0;
    width: 180px;
}

#c_schedule .b2b-rec__fig img {
    display: block;
    width: 180px;
    height: 120px;
    object-fit: cover;
}

#c_schedule .b2b-rec__time {
    flex: 0 0 26%;
    max-width: 220px;
    min-width: 92px;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 14px 10px;
    box-sizing: border-box;
}

#c_schedule .b2b-rec__time-val {
    font-size: 1rem;
}

#c_schedule .b2b-rec__time-label {
    display: block;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #222;
}

#c_schedule .b2b-rec__time-note {
    display: block;
    font-size: 0.58rem;
    font-weight: 500;
    color: #666;
    margin-top: 6px;
    line-height: 1.35;
}

@media (min-width: 851px) {
    #c_schedule .b2b-rec__time-label,
    #c_schedule .b2b-rec__time-note {
        display: none;
    }
}

@media screen and (max-width: 850px) {
    #c_schedule .b2b-rec__head {
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr);
        align-items: stretch;
        flex-wrap: unset;
    }

    #c_schedule .b2b-rec__head-cell {
        border-bottom: none;
        border-right: 1px solid #d4d4d4;
    }

    #c_schedule .b2b-rec__head-cell--course {
        grid-column: 1;
        grid-row: 1;
        flex: unset;
        width: auto;
        min-width: 0;
        max-width: none;
        padding-left: 4px;
        padding-right: 4px;
    }

    #c_schedule .b2b-rec__head-cell--main {
        grid-column: 2;
        grid-row: 1;
        flex: unset;
        width: auto;
        min-width: 0;
        max-width: none;
        border-right: none;
    }

    #c_schedule .b2b-rec__head-cell--time {
        display: none;
    }

    #c_schedule .b2b-rec__row {
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: stretch;
        flex-wrap: unset;
    }

    #c_schedule .b2b-rec__body {
        flex-direction: column;
        align-items: stretch;
    }

    #c_schedule .b2b-rec__fig {
        width: 100%;
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    #c_schedule .b2b-rec__fig img {
        width: 100%;
        max-width: 280px;
        height: auto;
        max-height: 200px;
    }

    #c_schedule .b2b-rec__course {
        grid-column: 1;
        grid-row: 1 / -1;
        justify-self: stretch;
        align-self: stretch;
        flex-direction: column;
        justify-content: center;
        gap: 0;
        min-width: 0;
        max-width: none;
        flex: unset;
        width: auto;
        border-right: 1px solid #d4d4d4;
        border-bottom: none;
        padding-left: 4px;
        padding-right: 4px;
    }

    #c_schedule .b2b-rec__course-cap {
        margin-top: 4px;
    }

    #c_schedule .b2b-rec__main {
        grid-column: 2;
        grid-row: 1;
        flex: unset;
        width: auto;
        min-width: 0;
        border-right: none;
        border-bottom: none;
    }

    #c_schedule .b2b-rec__time {
        grid-column: 2;
        grid-row: 2;
        flex: unset;
        flex-direction: column;
        justify-content: center;
        max-width: none;
        width: auto;
        min-width: 0;
        align-self: stretch;
        justify-self: stretch;
        border-top: none;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: 14px;
    }

    #c_schedule .b2b-rec__time-val {
        margin-top: 8px;
    }
}

@media screen and (max-width: 600px) {
    #c_schedule .b2b-rec__course-id,
    #c_schedule .b2b-rec__course-cap,
    #c_schedule .b2b-rec__title,
    #c_schedule .b2b-rec__time-val {
        font-size: .8rem;
    }
}

@media screen and (max-width: 850px) {
    #c_schedule .b2b-rec--night .b2b-rec__row {
        grid-template-rows: auto;
    }
}

/* ナイトアジェンダ id_200（2列）：PC時のコース内容・見出しの右枠線を消す */
@media (min-width: 851px) {
    #c_schedule .id_200 .b2b-rec__main,
    #c_schedule .b2b-rec--night .b2b-rec__main {
        border-right: none;
    }

    #c_schedule .id_200 .b2b-rec__head-cell--main,
    #c_schedule .b2b-rec--night .b2b-rec__head-cell--main {
        border-right: none;
    }
}




