@charset "utf-8";
/*
Theme Name: btob-marketers-summit
*/

* {
    margin: 0;
    padding: 0;
    list-style: none;
    vertical-align: baseline;
    box-sizing: border-box;
}


*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

html {
    /* scroll-behavior: smooth; */
    background-color: #0a0816;
}

body {
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: 400;
    width: 100%;
    color: #000;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.1em;
    background-color: #fff;
}


/*文字掠れ対策*/

p,
a,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dt,
dd,
.dod_list li {
    transform: rotate(0.05deg);
}

img {
    border: 0px;
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
}

@media screen and (max-width:768px) {}

@media screen and (max-width:480px) {
    body {
        font-size: 14px;
    }
}

ul {
    list-style: none;
    padding-left: 0;
}

a {
    text-decoration: none;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

a:hover {
    opacity: 0.7;
    cursor: pointer;
}

input,
button,
textarea {
    outline: none;
}

input:focus,
textarea:focus {
    background: #f7f7f7;
}

#AdBlock_Caution {
    display: none;
}


/*--------------------------------------------------common*/

.mgr0 {
    margin-right: 0px !important;
}

.mgr10 {
    margin-right: 10px !important;
}

.mgr20 {
    margin-right: 20px !important;
}

.mgr30 {
    margin-right: 30px !important;
}

.mgr40 {
    margin-right: 40px !important;
}

.mgr50 {
    margin-right: 50px !important;
}

.mgl0 {
    margin-left: 0px !important;
}

.mgl10 {
    margin-left: 10px !important;
}

.mgl20 {
    margin-left: 20px !important;
}

.mgl30 {
    margin-left: 30px !important;
}

.mgl40 {
    margin-left: 40px !important;
}

.mgl50 {
    margin-left: 50px !important;
}

.mgb0 {
    margin-bottom: 0px !important;
}

.mgb10 {
    margin-bottom: 10px !important;
}

.mgb20 {
    margin-bottom: 20px !important;
}

.mgb30 {
    margin-bottom: 30px !important;
}

.mgb40 {
    margin-bottom: 40px !important;
}

.mgb50 {
    margin-bottom: 50px !important;
}

.mgt0 {
    margin-top: 0px !important;
}

.mgt10 {
    margin-top: 10px !important;
}

.mgt20 {
    margin-top: 20px !important;
}

.mgt30 {
    margin-top: 30px !important;
}

.mgt40 {
    margin-top: 40px !important;
}

.mgt50 {
    margin-top: 50px !important;
}

.mgt80 {
    margin-top: 80px !important;
}

.pdb0 {
    padding-bottom: 0px !important;
}

.pdb10 {
    padding-bottom: 10px !important;
}

.pdb20 {
    padding-bottom: 20px !important;
}

.pdb30 {
    padding-bottom: 30px !important;
}

.pdb40 {
    padding-bottom: 40px !important;
}

.pdb50 {
    padding-bottom: 50px !important;
}

.pdt0 {
    padding-top: 0px !important;
}

.pdt10 {
    padding-top: 10px !important;
}

.pdt20 {
    padding-top: 20px !important;
}

.pdt30 {
    padding-top: 30px !important;
}

.pdt40 {
    padding-top: 40px !important;
}

.pdt50 {
    padding-top: 50px !important;
}

.cf {
    clear: both;
}

.sp {
    display: none;
}

@media screen and (max-width: 480px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }
}

a.disabled {
    pointer-events: none;
    text-decoration: none;
    color: #000;
}

section {
    margin: 0 auto;
}

.c_wrap {
    width: 100%;
    max-width: 1100px;
    padding: 80px 20px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width:768px) {
    .c_wrap {
        padding: 60px 20px;
    }
}

@media screen and (max-width:480px) {
    .c_wrap {}
}

h1 {}

h2 {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
}

.top h2 {
    margin-bottom: 20px;
    font-size: 2em;
}

h3 {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    font-size: 2em;
    margin-bottom: 20px;
}

h4 {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    font-size: 1.5em;
    margin-bottom: 10px;
}

h5 {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    font-size: 1.1em;
}

@media screen and (max-width: 768px) {
    h3 {
        font-size: 1.5em;
    }

    h4 {
        font-size: 1.2em;
    }

    h5 {
        font-size: 1em;
    }
}

.col2,
.col3,
.col4,
.col {
    display: flex;
    flex-wrap: wrap;
}


/*ボタン*/

.btn_cont {
    width: 100%;
    margin: auto;
    margin-top: 35px;
}

.btn_center {
    margin-right: auto;
    margin-left: auto;
}

.btn {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    display: block;
    padding: .5em 2em;
    text-align: center;
    border-radius: 50px;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 30%);
    width: 100%;
    width: max-content;
    min-width: 200px;
    position: relative;
    line-height: 1.8;
}

.btn:hover {
    opacity: 1;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
}

.btn_wh {
    background-color: #fff;
    color: #000;
    border: 2px solid #fff;
}

.btn_wh:hover {
    background-color: #000;
    color: #fff;
}

.btn_bk {
    background-color: #000;
    color: #fff;
    border: 2px solid #000;
}

.btn_bk:hover {
    background-color: #fff;
    color: #000;
}

.btn_bl {
    background-color: #2f443c;
    color: #fff;
    border: 2px solid #2f443c;
}

.btn_bl:hover {
    background-color: #fff;
    color: #2f443c;
}

.btn_gr {
    background-color: #F2F2F2;
    color: #000;
    box-shadow: none;
}

.btn_gr:hover {
    background-color: #6f6f6f;
    color: #fff;
}

.btn_ico_r {
    padding-right: 2.8em;
}

.btn_ico_r:before {
    display: inline-block;
    position: absolute;
    right: .8em;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}

.btn_ico_l {
    padding-left: 2.8em;
}

.btn_ico_l:before {
    display: inline-block;
    position: absolute;
    left: 1.5em;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}


/*背景*/

.bg_lr {
    background-image: url(/images/common/bg_l_v1.webp), url(/images/common/bg_r_v1.webp);
    background-position: bottom left, top right;
    background-size: 33%;
    background-repeat: no-repeat;
}

.bg_l {
    background-image: url(/images/common/bg_l_v1.webp);
    background-position: bottom left;
    /* background-size: 33%; */
    background-size: auto 100%;
    background-repeat: no-repeat;
}

.bg_r {
    background-image: url(/images/common/bg_r_v1.webp);
    background-position: top right;
    background-size: 33%;
    background-repeat: no-repeat;
}

.bg_lr_d {
    background-image: url(/images/common/bg_l_v1.webp), url(/images/common/bg_r_v2.webp);
    background-position: bottom left, top right;
    background-size: 25%;
    background-repeat: no-repeat;
}

.bg_gr {
    background-color: #EFEFEF;
}

.bg_rgr {
    background-color: #FAFAFA;
}


/*ドットリスト*/

.dod_list {}

.dod_list li {
    text-indent: -0.5em;
    padding-left: .5em;
}

.dod_list li:before {
    content: '・';
    display: inline-block;
    font-size: 1em;
}

.txt_link {
    color: #236DD3;
    font-weight: bold;
}

.prg_sum_cont .txt_link,
.prg_cont_area .txt_link {
    text-decoration: underline;
}

.att_text {
    color: #737373;
    font-size: .8em;
}

@media screen and (max-width: 480px) {
    .btn {
        min-width: auto;
        width: max-content;
        max-width: 100%;
    }
}

.txt_center {
    text-align: center;
}

.txt_right {
    text-align: right;
}

.txt_bold {
    font-weight: 900;
}


/*企業の特徴*/

.feature_list {
    margin-top: -5px;
}

.feature_list li {
    background-color: #7fa0ab;
    color: #fff;
    font-weight: 900;
    font-size: .7em;
    padding: 3px 8px;
    margin-right: 8px;
    margin-top: 5px;
}

.feature_list li:last-child {
    margin-right: 0;
}


/*--------------------------------------------------header*/

header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    background: rgba(0, 0, 0, 0);
    transition: all .3s ease;
    height: 70px;
}

header.fixed {
    background: rgba(0, 0, 0, 0.5);
}

header .c_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 10px;
    padding-bottom: 10px;
    align-items: center;
}

.top header .c_wrap {
    justify-content: flex-end;
}

header h1 {
    z-index: 140;
    /* width: 170px; */
    width: 90px;
}

header a {
    display: block;
}

header .hamburger-menu {
    width: calc(100% - 170px);
}

header .nav-content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
}

header .menu-content {
    width: calc(100% - 150px);
    margin-right: 10px;
}

.main_nav,
.sub_nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.main_nav {}

.sub_nav {}

.main_nav li,
.sub_nav li {}

.main_nav li {
    margin-right: .8em;
}

.main_nav li:last-child {
    margin-right: 0;
}

.sub_nav li {
    margin-right: .5em;
    display: flex;
    align-items: center;
}

.sub_nav li:after {
    content: '|';
    display: inline;
    color: #fff;
    margin-left: .5em;
}

.sub_nav li:last-child {
    margin-right: 0;
}

.sub_nav li:last-child:after {
    content: none;
}

.main_nav li a,
.sub_nav li a {
    display: block;
    color: #fff;
    font-weight: 700;
    text-shadow: 0 0 10px rgb(0 0 0 / 30%);
    font-size: .9em;
    letter-spacing: 0;
}

.main_nav li a {
    font-size: .9em;
}

.sub_nav li a {
    font-size: .75em;
}

header .btn_cont {
    width: 140px;
    margin: 0;
}

header .btn_cont.sp_btn {
    display: none;
}

header .btn {
    font-size: .9em;
    letter-spacing: 0;
    min-width: 140px;
    padding: .5em 1em;
    padding-right: 1.5em;
}

header .ico_arrow_r:before {
    right: .5em;
}

#menu-btn-check {
    display: none;
}


/* (2021)付ナビ　*/

.sub_txt_small {
    font-size: .8em;
}

/* #head_area .sub_txt_small {
    display: none;
} */




@media screen and (max-width:1000px) {
    #head_area .sub_txt_small {
        display: initial;
    }
}


/* ハンバーガーナビ　*/

@media screen and (max-width: 1000px) {
    header {
        height: 60px;
    }

    header:after {
        content: '';
        position: absolute;
        width: 100%;
        height: 60px;
        top: 0;
        left: 0;
    }

    header.active {
        background: rgba(0, 0, 0, 1);
    }

    header h1 {
        /* width: 70px; */
        width: 80px;
        top: 17px;
        left: 20px;
        position: absolute;
    }

    header .c_wrap {
        display: block;
        padding: 0;
    }

    header .menu-content {
        width: 100%;
        margin-right: 0;
    }

    .nav-content {
        height: auto;
        position: fixed;
        top: -100%;
        /*topの値を変更してメニューを画面外へ*/
        z-index: 130;
        background: rgba(0, 0, 0, 0.8);
        transition: all .5s;
        /*アニメーション設定*/
        padding: 70px 20px 30px;
        align-items: flex-start;
    }

    .main_nav li {
        margin-right: 0;
        width: 100%;
    }

    .main_nav li a {
        font-size: 1em;
        padding: .8em 0;
        text-align: center;
    }

    .sub_nav {
        justify-content: center;
        margin-top: 10px;
    }

    .sub_nav li {
        width: 50%;
        margin-right: 0;
    }

    .sub_nav li:nth-child(2n):after,
    .sub_nav li:last-child:after {
        content: none;
    }

    .sub_nav li a {
        width: 100%;
        text-align: center;
    }

    header .btn_cont {
        width: 100%;
        /*margin: auto;*/
        margin-top: 30px;
        margin-bottom: 0;
    }

    header .btn {
        min-width: 100%;
    }

    header .btn_cont.sp_btn {
        display: block;
        position: absolute;
        margin-top: 0;
        width: auto;
        min-width: 140px;
        right: 80px;
        top: 12px;
        z-index: 160;
    }

    header .sp_btn .btn {
        padding-top: .3em;
        padding-bottom: .3em;
        padding-right: 2em;
    }

    .menu-btn {
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 500;
        background-color: #000;
    }

    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
        transition: all .5s;
        /*アニメーション設定*/
    }

    .menu-btn span:before {
        bottom: 8px;
    }

    .menu-btn span:after {
        top: 8px;
    }

    #menu-btn-check:checked~.menu-btn span {
        background-color: rgba(255, 255, 255, 0);
        /*メニューオープン時は真ん中の線を透明にする*/
    }

    #menu-btn-check:checked~.menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }

    #menu-btn-check:checked~.menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-btn-check:checked~.nav-content {
        top: 0;
        /*メニューを画面内へ*/
    }
}


/*--------------------------------------------------top common*/

.box_ttl {
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    padding: 80px 0;
}

.box_ttl .c_wrap {
    padding: 0;
}

.box_ttl .box_ttl_wrap {
    background: #fff;
    width: 40%;
    padding: 40px;
    padding-left: 20px;
    text-decoration: none;
    -webkit-transition: width .5s;
    -o-transition: width .5s;
    transition: width .5s;
}

.box_ttl .box_ttl_wrap:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: -100%;
}

.bar_ttl {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-transform: uppercase;
}

.bar_ttl span {
    display: block;
    white-space: nowrap;
    margin-right: 30px;
}

.bar_ttl:after {
    border-top: 2px solid #000;
    content: "";
    display: inline-block;
    overflow: hidden;
    width: 100%;
}

.col3_slider,
.col6_slider {
    width: 95%;
    margin: auto;
}

.slick-slide {
    margin-right: .75em;
    margin-left: .75em;
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 30%));
}

.slick-slide a {
    display: block;
    border-radius: 5px;
    overflow: hidden;
}

.slick-list {
    padding: 10px 0 !important;
}

@media screen and (max-width: 1100px) {
    .box_ttl .box_ttl_wrap {
        width: 50%;
    }
}

@media screen and (max-width: 768px) {
    .box_ttl {
        padding: 60px 0;
    }

    .box_ttl .box_ttl_wrap {
        width: 90%;
        padding: 20px;
    }

}

@media screen and (max-width: 480px) {
    header h1 {
        /* width: 120px; */
        top: 10px;
    }

    header .hamburger-menu {
        width: calc(100% - 120px);
    }

}

/*-------------------------------mainv*/

/* デフォルト: 申し込みボタン無しの場合 */
#mainv {
    position: relative;
    overflow: hidden;
    background-color: #000f04;
    height: 50vw;
    max-height: 525px;
}

/* 申し込みボタンがある場合のスタイル */
#mainv:has(.application_btn) {
    height: 65vw;
    max-height: 600px;
}

#mainv:after {
    content: '';
    position: absolute;
    bottom: -2px;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/images/common/top_wh_bar.webp);
    background-position: bottom center;
    background-size: contain;
    background-repeat: no-repeat;
}

.mainv_slide {
    height: 100%;
    width: max-content;
    margin-right: 0;
    margin-left: auto;
    position: relative;
}

.mainv_slide:before {
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to left, transparent 0%, transparent 0%, #000f04 100%);
    opacity: 1;
}

/* デフォルト: 申し込みボタン無しの場合 */
.mainv_slide li {
    display: block;
    min-height: 525px;
}

/* 申し込みボタンがある場合のスタイル */
#mainv:has(.application_btn) .mainv_slide li {
    max-height: 600px;
    min-height: auto;
}

/* デフォルト: 申し込みボタン無しの場合 */
.mainv_slide li img {
    width: auto;
    max-width: max-content;
    height: 100%;
    max-height: 525px;
}

/* 申し込みボタンがある場合のスタイル */
#mainv:has(.application_btn) .mainv_slide li img {
    max-height: 600px;
}

#mainv .c_wrap {
    z-index: 20;
    position: absolute;
    height: 100%;
    /* padding-top: 100px; */
    padding-top: 120px;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#mainv .c_wrap:after {
    content: '';
    height: 100%;
    width: 100%;
}

#mainv .c_wrap h1 {
    width: 38%;
    /*width: 45%;*/
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 30%));
}


#mainv .c_wrap .btn_cont {
    /* width: 40%; */
    width: 27%;
    margin-left: 0;
}

#mainv .c_wrap .btn_cont a {
    /* margin: auto; */
    min-width: 250px;
    padding-right: 3.5em;
    padding-left: 3em;
}

#mainv .ico_arrow_r:before {
    content: "\e908";
    color: #fff;
    background: #ee414f;
    width: 3em;
    height: 3em;
    border-radius: 50px;
    line-height: 3;
    text-align: center;
    right: -1.2em;
    font-size: 0.8em;
    transition: all 0.3s;
}

#mainv .ico_arrow_r:hover:before {
    color: #ee414f;
    background: #ffffff;
}

#mainv .ico_arrow_r:before {}

@media screen and (max-width: 1000px) {
    #mainv .c_wrap {
        padding-left: 80px;
        padding-top: 110px;
    }

    #mainv .c_wrap h1,
    #mainv .c_wrap .btn_cont {
        width: 45%;
    }

    .mainv_slide li img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 100%;
    }
}


@media screen and (max-width: 768px) {

    /* デフォルト: 申し込みボタン無しの場合 */
    #mainv {
        height: 68vw;
        max-height: none;
        min-height: 300px;
    }

    /* 申し込みボタンがある場合のスタイル */
    #mainv:has(.application_btn) {
        max-height: 400px;
    }

    .mainv_slide {
        width: 100%;
    }

    .mainv_slide:before {
        width: 100%;
    }

    .mainv_slide li {
        height: 100%;
    }

    .mainv_slide li img {
        width: 100%;
        max-height: none;
        height: 100%;
        max-width: none;
    }

    #mainv .c_wrap {
        padding-top: 80px;
        padding-left: 15px;
    }

    /* デフォルト: 申し込みボタン無しの場合 */
    #mainv .c_wrap h1 {
        width: 65%;
        margin: auto;
        filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 50%));
    }

    /* 申し込みボタンがある場合のスタイル */
    #mainv:has(.application_btn) .c_wrap h1 {
        width: 50%;
    }

    #mainv .c_wrap .btn_cont {
        width: 100%;
        margin-left: auto;
    }

    #mainv .btn {
        margin: auto;
    }
}

@media screen and (max-width: 480px) {

    /* デフォルト: 申し込みボタン無しの場合 */
    #mainv {
        height: 75vw;
        min-height: 250px;
    }

    /* 申し込みボタンがある場合のスタイル */
    #mainv:has(.application_btn) {
        height: 70vw;
        min-height: 370px;
    }

    #mainv .c_wrap h1 {
        width: 65%;
    }

    .btn_cont {
        margin-top: 20px;
    }

    #mainv .c_wrap .btn_cont a {
        padding-right: 2em;
        padding-left: 1.5em;
        font-size: 0.8em;
    }
}


/*-------------------------------end_txt */

.end_txt {
    text-align: center;
    margin-bottom: 30px;
    padding: 20px;
    background: #efefef;
    font-weight: bold;
    font-size: 1.1rem;
}

p.end_txt a {
    margin: 10px auto 5px;
    font-size: 15px;
}

/* announce_txtクラス内の「こちら」のみフォントサイズを調整 */
p.end_txt .announce_txt a {
    font-size: 1em;
}

.announce_txt {
    display: block;
}

.br_pc {
    display: block;
}

.br_sp {
    display: none;
}

@media screen and (max-width: 1000px) {
    .br_pc {
        display: none;
    }
}

@media screen and (max-width: 850px) {
    .br_sp {
        display: block;
    }
}

@media screen and (max-width: 480px) {
    .end_txt {
        font-size: 0.8rem;
    }
}


/*-------------------------------what_is*/
/* 終了文言があるときは上部余白を狭くする */
#what_is .c_wrap:has(.end_txt) {
    padding-top: 40px;
}

#what_is .cont_notice {
    text-align: center;
    padding: 30px 20px;
    background-color: #f1dada;
    margin-bottom: 60px;
}

#what_is .cont_notice_p {
    font-size: 1.4rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .cont_notice_p {
        font-size: 1.1rem;
    }

    #what_is {}
}

#what_is h2 {
    font-size: 2.2em;
    color: #000;
    line-height: 1.5;
}

#what_is h2 span {
    font-size: .7em;
    color: #7E98B2;
    display: inline-block;
    font-family: 'M PLUS 1p', sans-serif;
}

#what_is h4 {
    text-align: center;
    margin-top: 60px;
    color: #2f443c;
}

#what_is h4 span {
    color: #646464;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: 400;
    font-size: .75em;
    margin-left: .5em;
    display: inline-block;
}

#what_is h4 span a {
    width: 140px;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    #what_is h2 {
        font-size: 1.6em;
    }
}

@media screen and (max-width: 480px) {
    #what_is h4 span {
        margin-left: 0;
        width: 100%;
    }
}


/*-------------------------------top_program*/

#top_program {
    /* margin-top: 80px; */
    background-position: center;
    background-image: url(/images/top/prg_bg.png);
}

/*-------------------------------official_session*/

#official_session {
    overflow: hidden;
}

#official_session>.c_wrap {
    padding-bottom: 20px;
}

.prg_list {}

.prg_list_item {
    background: #F5F5F8;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    margin-top: 20px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.prg_list_item:after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    top: 0;
    right: -100%;
    background: #F5F5F8;
}

.prg_date_area {
    width: 70px;
    height: 80px;
    background-color: #2f443c;
    ;
    color: #fff;
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    text-align: center;
    padding-top: 20px;
    line-height: 1.4;
    -webkit-transition: background .5s ease;
    -o-transition: background .5s ease;
    transition: background .5s ease;
}

/* .prg_list_item:hover .prg_date_area {
    background-color: #8bada0;
} */

.prg_date_area span {}

.prg_cont_area {
    width: calc(100% - 70px);
    padding: 20px;
}

.prg_ttl {
    display: block;
}

.prg_cont_area h4,
.prg_cont_area h5 {
    margin-bottom: 10px;
    font-size: 1.3em;
}

.prg_cont_area a h4,
.prg_cont_area a h5 {
    color: #2f443c;
}

.prg_cont_area h4 span,
.prg_cont_area h5 span {
    font-size: .75em;
    display: block;
}

.prg_cont_area p {
    font-size: .9em;
}

#program_list .prg_cont_area .prg_ttl>object>p {
    /* cssで文字丸める */
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.prg_spk_area {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    margin-top: 30px;
}

.prg_spk_item {
    width: 48%;
    /* margin-right: 2%; */
}

.prg_cont_area .prg_spk_item:nth-child(n+3) {
    margin-top: 4%;
}

.prg_spk_item a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.prg_spk_item figure {
    width: 25%;
    position: relative;
    height: max-content;
}

.prg_spk_item figure img {
    border-radius: 250px;
}

.prg_spk_item figure span {
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    text-align: center;
    background: #2f443c;
    color: #fff;
    border-radius: 30px;
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    font-size: .8em;
    width: 100%;
    padding: 0 10px;
    text-transform: uppercase;
}


/* スポンサー＆スピーカー２人 */
.prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item {
    width: 100%;
}

.prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item figure {
    width: 19.5%;
}

.prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item dl {
    width: 77.5%;
}

.prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item+.prg_spk_item {
    margin-top: 4%;
}

.prg_spk_item dl {
    width: 72%;
}

.prg_spk_item dt {
    font-size: 1.1em;
    color: #2f443c;
}

.prg_spk_item dd {
    font-size: .9em;
    line-height: 1.5;
}

.prg_spk_com {}

.prg_spk_pos {}


/*.prg_spo_item{
    width: 21%;
    margin-right: 5%;
}*/

.prg_spo_item figure {
    width: 40%;
    padding-bottom: 10px;
    background: #fff;
}

.prg_spo_item figure img {
    border-radius: 0;
}

.prg_spk_item figure span {
    width: 80%;
    min-width: max-content;
    bottom: -10px;
}


@media screen and (max-width:850px) {
    .prg_spk_item figure span {
        bottom: -18px;
        left: -5px;
    }
}

@media screen and (max-width:768px) {
    .prg_spk_item figure span {
        bottom: -10px;
        left: 0px;
    }
}


.prg_spo_item dl {
    width: 57%;
}

.prg_spo_item .feature_list {
    margin-top: 5px;
}

.prg_cont_area .btn {
    margin-right: 0;
    margin-left: auto;
}

.more_txt {
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    text-align: right;
    width: 100%;
    max-width: 1100px;
    padding: 0 20px;
    margin: auto;
    margin-top: 30px;
    color: #444;
    font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
    .prg_spk_item {
        width: 100%;
        margin-right: 0;
    }

    .prg_spk_item figure {
        width: 100px;
    }

    .prg_spk_item dl {
        width: calc(100% - 120px);
    }

    .prg_cont_area .prg_spk_item:nth-child(n+2) {
        margin-top: 30px;
    }

    .prg_ttl h4 {
        font-size: 1.1em;
    }

    .prg_spk_item dt {
        font-size: 1em;
    }

    .prg_spo_item figure {
        width: 150px;
    }

    .prg_spo_item dl {
        width: calc(100% - 170px);
    }

    /* スポンサー＆スピーカー２人 */
    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item {
        margin-right: 0;
    }

    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item figure {
        width: 150px;
    }

    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item dl {
        width: calc(100% - 170px);
    }

    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item+.prg_spk_item {
        margin-top: 30px;
    }
}

@media screen and (max-width: 480px) {
    .prg_date_area {
        width: max-content;
        height: auto;
        padding: 10px 20px;
        text-align: left;
    }

    .prg_cont_area {
        width: 100%;
        padding: 20px;
        padding-bottom: 40px;
    }

    .prg_date_area span:nth-child(1):after {
        content: ' - ';
    }

    .prg_spo_item figure {
        width: 120px;
    }

    .prg_spo_item dl {
        width: calc(100% - 140px);
    }

    /* スポンサー＆スピーカー２人 */
    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item figure {
        width: 100px;
    }

    .prg_spk_area:has(> :nth-child(odd):last-child) .prg_spo_item dl {
        width: calc(100% - 120px);
    }
}


/*-------------------------------top_nikkei-btob-award*/

#top_nikkei-btob-award {}

#top_nikkei-btob-award h2 {
    font-size: 1.8em;
}

#top_nikkei-btob-award .col {
    align-items: center;
    justify-content: space-between;
}

#top_nikkei-btob-award .col_l {
    width: 35%;
}

#top_nikkei-btob-award .col_r {
    width: 62%;
}

@media screen and (max-width: 768px) {
    #top_nikkei-btob-award h2 {
        font-size: 1.5em;
    }
}

@media screen and (max-width: 480px) {
    #top_nikkei-btob-award .col {
        justify-content: center;
    }

    #top_nikkei-btob-award .col_l {
        width: 75%;
    }

    #top_nikkei-btob-award .col_r {
        width: 100%;
        margin-top: 20px;
    }
}


/*-------------------------------top_sponsors*/

#top_sponsors {}

.top_spo_col {
    align-items: center;
    justify-content: center;
}

.top_spo_col h4 {
    color: #2f443c;
    font-size: 1.2em;
    margin-right: 30px;
}

.top_spo_col a {
    width: 20%;
    display: block;
    overflow: initial;
}

.top_spo_col a img {
    border-radius: 5px;
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 30%));
}

#top_sponsors .col6_slider {
    margin-top: 30px;
    /* ↓元のmgb */
    margin-bottom: 80px;
    /* ↓スライダーのドットが非表示になっているため、CSS調整中 */
    margin-bottom: 50px;
    /* display: none; */
}

.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .top_spo_col h4 {
        width: 100%;
        text-align: center;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .top_spo_col a {
        width: 30%;
    }

    #top_sponsors .col6_slider {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 480px) {
    .top_spo_col a {
        width: 50%;
    }
}


/*-------------------------------top_speakers*/

#top_speakers {
    background-image: url(/images/top/spk_bg.png);
}


/*-------------------------------top_abm*/

#top_abm {
    background-image: url(/images/top/abm_bg_2.png), url(/images/top/abm_bg_1.png);
    background-size: auto 100%, cover;
    transition: all .5s;
}

@media screen and (max-width: 1730px) {
    #top_abm {
        background-size: 700px auto, cover;
    }
}

@media screen and (max-width: 1100px) {
    #top_abm {
        background-size: 56% auto, cover;
        background-position: center right -5%, right;
    }
}

@media screen and (max-width: 900px) {
    #top_abm {
        padding-bottom: 42%;
        background-size: 80% auto, cover;
        background-position: bottom -2% right, right;
    }
}

@media screen and (max-width: 768px) {
    /* #top_abm {
            padding-bottom: 60%;
            background-size: 100% auto, cover;
            background-position: bottom -8% right, right;
      } */
    /* #top_abm {
            padding-bottom: 45%;
            background-size: 100% auto, cover;
            background-position: bottom -15% right, right;
    } */
}

@media screen and (max-width: 480px) {
    #top_abm {
        padding-bottom: 54%;
        background-position: bottom -3% right, right;
        background-size: 100% auto, cover;
    }
}

/*-------------------------------top_about*/
#top_about .btn {
    min-width: 600px;
    padding: .5em 2em;
    font-size: 1.5em;
}

@media screen and (max-width:768px) {
    #top_about .btn {
        min-width: 365px;
    }
}

@media screen and (max-width:480px) {
    #top_about .btn_cont {
        margin-top: 15px;
    }

    #top_about .btn {
        min-width: 230px;
        padding: .5em 1.7em;
        font-size: 1em;
    }

    #top_about .btn_ico_r:before {
        right: 0.5em;
    }
}


/*-------------------------------application*/

#application {}

#application h3 {
    font-size: 1.5em;
}

#application .app_list {
    margin-top: 50px;
}

#att_app {}

#spo_app {}

.app_list {}

.app_list .app_list_item {
    border-bottom: 2px solid #E0E0E0;
    width: 50%;
    position: relative;
}

.app_list .app_list_item:nth-child(odd) {
    background-color: #ffffff99;
}

.app_list .app_list_item:nth-child(even) {
    background-color: #FCFCFC;
}

.app_list li h4 {
    color: #fff;
    padding: 10px 25px;
    font-size: 1.4em;
}

.app_list li h4 span {
    font-size: .75em;
    font-weight: 400;
    display: inline-block;
    margin-left: 1em;
}

.app_list_item_cont {
    padding: 20px 25px;
    padding-bottom: 100px;
}

.att_price {
    font-weight: 900;
    border-left: 3px solid;
    padding-left: 1em;
    margin-bottom: 1em;
}

.att_price span {
    font-size: 1.2em;
}

.app_list .btn_cont {
    margin-top: 0;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: auto;
}

.app_list_seller {}

.app_list_seller h4 {
    background-color: #3e5a4f;
}

.app_list_seller .att_price {
    border-color: #3e5a4f;
}

.app_list_seller .dod_list li:before {
    color: #3e5a4f;
}

.app_list_seller .btn {
    color: #fff;
    background: #3e5a4f !important;
    background: -moz-linear-gradient(left, #3e5a4f 0%, #4b9176 100%) !important;
    background: -webkit-linear-gradient(left, #3e5a4f 0%, #4b9176 100%) !important;
    background: linear-gradient(to right, #3e5a4f 0%, #4b9176 100%) !important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#3e5a4f', endColorstr='#4b9176', GradientType=1);
}

.app_list_seller .btn:hover {
    opacity: .8;
}

.app_list_sponsor {}

.app_list_sponsor h4 {
    background-color: #2f443c;
}

.app_list_sponsor .att_price {
    border-color: #2f443c;
}

.app_list_sponsor .dod_list li:before {
    color: #2f443c;
}

.app_list_sponsor .btn {
    color: #fff;
    background: #4a665b !important;
    background: -moz-linear-gradient(left, #4a665b 0%, #021908 100%) !important;
    background: -webkit-linear-gradient(left, #4a665b 0%, #021908 100%) !important;
    background: linear-gradient(to right, #4a665b 0%, #021908 100%) !important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#4a665b', endColorstr='#021908', GradientType=1);
}

.app_list_sponsor .btn:hover {
    opacity: .8;
}

.app_list_sponsorship {}

.app_list_sponsorship h4 {
    background-color: #2f443c;
}

.app_list_sponsorship .app_list_item_cont,
.app_list_inquiry .app_list_item_cont {
    padding-bottom: 160px;
}

.app_list_sponsorship .btn_cont {
    justify-content: space-evenly;
}

.app_list_sponsorship .btn_cont li {
    width: 100%;
}

.app_list_sponsorship .btn:not(.btn_gr) {
    color: #fff;
    background: #4a665b !important;
    background: -moz-linear-gradient(left, #4a665b 0%, #021908 100%) !important;
    background: -webkit-linear-gradient(left, #4a665b 0%, #021908 100%) !important;
    background: linear-gradient(to right, #4a665b 0%, #021908 100%) !important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#4a665b', endColorstr='#021908', GradientType=1);
}

.app_list_sponsorship .btn:not(.btn_gr):hover {
    opacity: .8;
}

.app_list_inquiry {}

.app_list_inquiry h4 {
    background-color: #171616;
}

.app_list_inquiry .btn {
    color: #fff;
    background: #171616 !important;
    background: -moz-linear-gradient(left, #171616 0%, #262626 100%) !important;
    background: -webkit-linear-gradient(left, #171616 0%, #262626 100%) !important;
    background: linear-gradient(to right, #171616 0%, #262626 100%) !important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#171616', endColorstr='#262626', GradientType=1);
}

.app_list_inquiry .btn:hover {
    opacity: .8;
}

.app_list .btn_cont .disable {
    pointer-events: none;
    background: #a2a2a2 !important;
    box-shadow: none !important;
    color: #FCFCFC !important;
    border: none !important;
}

a.disable {
    pointer-events: none;
    background: #a2a2a2 !important;
    box-shadow: none !important;
    color: #FCFCFC !important;
    border: none !important;
}

a.disable.soon {
    color: #7e7e7e !important;
}

@media screen and (max-width: 768px) {
    #application h3 {
        font-size: 1.2em;
    }

    .app_list_item_cont {
        padding-bottom: 20px !important;
    }

    .app_list .app_list_item {
        width: 100%;
    }

    .app_list .btn_cont {
        margin-top: 30px;
        position: relative;
        bottom: 0;
    }
}


/*-------------------------------social*/

#social {}

.social_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.social_list_item {
    /*overflow: hidden;*/
    /*border-radius: 20px;*/
}

.social_list_item h4 {
    color: #fff;
    text-align: center;
    padding: 5px 10px;
    margin-bottom: 0;
}

.social_list_fb {
    width: 46.5%;
}

.fb_iframe_widget iframe {
    width: 100% !important;
}

#u_0_0_jR>div>div {
    width: 100% !important;
}

.social_list_fb h4 {
    background-color: #3B5998;
}

.fb_iframe_widget_fluid span {
    width: 100% !important;
}

.social_list_tw {
    width: 46.5%;
}

.social_list_tw h4 {
    background-color: #000;
}

.social_list_tw .social_list_tw_cont {
    max-height: 500px;
    overflow: scroll;
}

.social_list_news {
    width: 100%;
    margin-top: 5%;
}

.social_list_news h4 {
    background-color: #2f443c;
}

.news_list {
    height: auto;
    max-height: 300px;
    overflow-y: scroll;
}

.news_list li {}

.news_list li a {
    width: 100%;
    padding: 20px;
    background: #fff;
    justify-content: space-between;
    position: relative;
    align-items: flex-start;
}

.news_list li:nth-child(n+2) a:before {
    content: '';
    position: absolute;
    border-top: 1px solid #DBDBDB;
    top: 0;
    left: 20px;
    width: calc(100% - 40px);
}

.news_list li figure {
    width: 80px;
}

.news_list li dl {
    width: calc(100% - 100px);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.news_list li dt {
    order: 3;
    width: 100%;
    font-weight: 400;
    margin-top: .8em;
}

.news_list li dd {
    width: max-content;
    font-weight: 900;
    font-size: .75em;
}

.news_list li .news_label {
    order: 1;
    display: inline-block;
    background: #DBDBDB;
    border-radius: 25px;
    padding: 0 15px;
    margin-right: 1em;
}

.news_list li .news_date {
    order: 2;
    color: #838383;
}

.mail_mag {
    text-align: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-top: 50px;
    padding-top: 25px;
    padding-bottom: 50px;
    position: relative;
    margin-bottom: 30px;
}

.mail_mag h4 {}

.mail_mag .btn_cont {
    margin-top: 0;
    position: absolute;
    bottom: -25px;
}

@media screen and (max-width: 768px) {

    .social_list_fb,
    .social_list_tw {
        width: 48.5%;
    }
}

@media screen and (max-width: 480px) {

    .social_list_fb,
    .social_list_tw {
        width: 100%;
        height: 400px;
        overflow: hidden;
    }

    .social_list_tw {
        margin-top: 5%;
    }

    .news_list {
        max-height: 400px;
    }

    .news_list li figure {
        width: 50px;
    }

    .news_list li dl {
        width: calc(100% - 60px);
    }
}


/*-------------------------------outline*/

#outline {}

#outline .col2 {
    justify-content: space-between;
}

#outline .col2 figure {
    width: 35%;
}

#outline .col2 dl {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
}

#outline .col2 dt {
    width: 7em;
    padding: 1em 1em;
    border-bottom: 1px solid #EBEBEB;
}

#outline .col2 dd {
    width: calc(100% - 7em);
    padding: 1em 1em;
    border-bottom: 1px solid #EBEBEB;
}

#outline .col2 dl dt:nth-last-child(2),
#outline .col2 dl dd:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

@media screen and (max-width: 768px) {
    #outline .col2 figure {
        width: 50%;
        margin: auto;
    }

    #outline .col2 dl {
        width: 100%;
        margin-top: 30px;
    }
}

@media screen and (max-width: 480px) {
    #outline .col2 figure {
        width: 75%;
    }
}


/*--------------------------------------------------under common*/

.under_ttl {
    background-image: url(/images/common/under_ttl_bg.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding: 40px 0;
}

.under_ttl:after {
    content: '';
    position: absolute;
    bottom: -2px;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/images/common/top_wh_bar.webp);
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
}

.under_ttl .c_wrap {
    z-index: 10;
    padding: 50px 20px 80px;
}

.under_ttl h2 {
    font-size: 2.5em;
    color: #fff;
    text-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

@media screen and (max-width: 768px) {
    .under_ttl {
        padding: 30px 0;
    }

    .under_ttl h2 {
        font-size: 2em;
    }
}

@media screen and (max-width: 480px) {
    .under_ttl {
        padding-bottom: 15px;
    }

    .under_ttl h2 {
        font-size: 1.5em;
    }
}


/*--------------------------------------------------about*/

#about {}

#about_what_is {}

#about_what_is h3 {
    color: #2f443c;
    font-size: 1.4em;
}

#about_what_is .merit_list {
    counter-reset: item;
}

#about_what_is .merit_list li {
    position: relative;
}

#about_what_is .merit_list li:before {
    counter-increment: item;
    content: counter(item);
    color: #ffffff40;
    font-style: italic;
    position: absolute;
    bottom: -50px;
    right: 20px;
    font-size: 300px;
    font-weight: 900;
    line-height: 1;
    font-family: 'Barlow';
    z-index: 2;
}

#about_what_is .merit_list li:nth-child(even):before {
    right: auto;
    left: 20px;
}

#about_what_is .merit_list li:nth-child(n+2) {
    margin-top: 60px;
}

#about_what_is .merit_list li:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    z-index: 0;
}

#about_what_is .merit_list li:nth-child(1):after {
    background-image: url(/images/about/merit_bg_1.png);
}

#about_what_is .merit_list li:nth-child(2):after {
    background-image: url(/images/about/merit_bg_2.png);
}

#about_what_is .merit_list li:nth-child(3):after {
    background-image: url(/images/about/merit_bg_3.png);
}

#about_what_is .merit_list li:nth-child(4):after {
    background-image: url(/images/about/merit_bg_4.png);
}

#about_what_is .merit_list li .col2 {
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
    z-index: 1;
}

#about_what_is .merit_list li:nth-child(even) .col2 {
    flex-direction: row-reverse;
}

#about_what_is .merit_list li figure {
    width: 45%;
    margin-top: -20px;
    margin-bottom: 50px;
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 30%));
}

#about_what_is .merit_list li .merit_txt {
    width: 50%;
    padding-top: 50px;
    padding-bottom: 50px;
    margin: auto 0;
    text-shadow: 0px 0px 10px rgb(0 0 0 / 50%);
    /*font-weight: 700;*/
    color: #fff;
}

#about_what_is .merit_list li .merit_txt img {
    max-width: 15px;
    transform: translate(-7px, -3px);
}

#about_what_is .merit_list li h4 {}

#about_what_is .merit_list li h4 span {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #09214380 0%) repeat scroll 0 0;
    display: inline;
    padding: 0 5px 3px;
}

#about_what_is .merit_list li p {}

.merit_voice {
    display: block;
    background-color: #0921434d;
    padding: 10px;
    font-size: .9em;
    margin-top: 15px;
}

.merit_voice span {
    display: block;
    margin-top: 5px;
}

.merit_voice span:before {
    margin-right: .3em;
    font-size: .9em;
}

#pic_lib {}

#pic_lib .col3 {
    justify-content: space-between;
}

#pic_lib .col3 li {
    width: 32.5%;
}

#pic_lib .col3 li:nth-child(n+4) {
    margin-top: 1%;
}

@media screen and (max-width: 600px) {
    #about_what_is .merit_list li:before {
        bottom: -30px;
        font-size: 200px;
    }

    #about_what_is .merit_list li:nth-child(even):before {
        bottom: -30px;
        right: 20px;
        left: auto;
    }

    #about_what_is .merit_list li figure {
        width: 75%;
        margin: auto;
        margin-top: -20px;
        margin-bottom: 0;
    }

    #about_what_is .merit_list li .merit_txt {
        width: 100%;
        padding-top: 25px;
    }
}

@media screen and (max-width: 480px) {
    #about_what_is h3 {
        font-size: 1.2em;
    }

    #pic_lib .col3 li {
        width: 49%;
    }

    #pic_lib .col3 li:nth-child(n+3) {
        margin-top: 2%;
    }
}


/*--------------------------------------------------program_list*/

#program_list {}

/* テーマ掲載 */
#program_list .under_ttl .col2 {
    align-items: baseline;
    column-gap: 25px;
}

#program_list .under_ttl h3 {
    margin-bottom: 0;
    color: #fff;
    line-height: 1.7;
    font-size: 1.7rem;
}

.program_a {
    text-align: right;
}

#program_list .c_wrap .program_a a {
    border-bottom: 1px solid;
    display: inline-block;
    margin: 10px 0 25px;
}

.day_tab {
    justify-content: space-between;
}

.day_tab li {
    /*width: 24.3%;*/
    width: 49%;
}

.day_tab li a {
    padding: 5px;
    display: block;
    text-align: center;
    background-color: #E9EBF1;
    color: #2f443c;
    font-family: 'Barlow', sans-serif;
    font-weight: 900;
    font-size: 1.3em;
}

.day_tab li a:hover {
    background-color: #3e5a4f;
    color: #fff;
}

.day_tab li.current a {
    background-color: #2f443c;
    color: #fff;
    pointer-events: none;
}

.day_tab li a span {
    font-size: .8em;
    margin-left: .5em;
}

.day_tab_top {
    border-bottom: 3px solid #2f443c;
    margin-bottom: 50px;
}

.day_tab_under {
    border-top: 3px solid #2f443c;
    margin-top: 50px;
}

#program_list .prg_list {}

#program_list .prg_list_item {
    border-top: 1px solid #2f443c;
    background: #fff;
    margin-top: 0;
}

#program_list .prg_list_item:after {
    content: none;
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    top: 0;
    right: -100%;
    background: #F5F5F8;
}

#program_list .prg_list_item:last-child {
    border-bottom: 1px solid #2f443c;
}

#program_list .prg_cont_area {
    padding-right: 0;
}

#program_list .prg_spk_area {
    margin-top: 0;
}

#program_list .prg_spk_area:has(>li) {
    margin-top: 30px;
    background: #F7F7F7;
    padding: 30px;
}

#program_list .prg_date_area {
    height: 60px;
}

#program_list .prg_list .btn_cont {
    margin-top: 0;
}

.plus_btn {
    color: #fff;
    display: block;
    width: 30px;
    height: 30px;
    text-align: right;
    font-size: 13px;
    padding-right: 2px;
    line-height: 43px;
    background: #2f443c;
    margin-left: auto;
    margin-right: 0;
    -webkit-transition: background .5s ease;
    -o-transition: background .5s ease;
    transition: background .5s ease;
}

.plus_btn:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 30px;
    height: 30px;
    background: #FFF;
    background: -moz-linear-gradient(135deg, #FFF 0%, #FFF 50%, #fff0 50%, #fff0 100%);
    background: -webkit-linear-gradient(135deg, #FFF 0%, #FFF 50%, #fff0 50%, #fff0 100%);
    background: linear-gradient(135deg, #FFF 0%, #FFF 50%, #fff0 50%, #fff0 100%);
}

#program_list .prg_list_item:hover .plus_btn {
    background: #3e5a4f;
}

#program_list .att_text {
    margin-top: 30px;
}

#program_list .venue_txt {
    font-weight: bold;
}

.prg_subcom_area {
    /*分科会レイアウト*/
}

.prg_subcom_item {
    background: #F7F7F7;
    padding: 20px 30px;
    margin-top: 30px;
    position: relative;
    padding-bottom: 40px;
}

#program_list .prg_subcom_item .prg_spk_area {
    background: none;
    padding: 0;
}

.prg_subcom_item .btn_cont {
    position: absolute;
    bottom: 0;
    right: 0;
}

.prg_subcom_item .plus_btn:after {
    background: #fff0;
    background: -moz-linear-gradient(135deg, #FFF 0%, #FFF 50%, #fff0 50%, #fff0 100%);
    background: -webkit-linear-gradient(135deg, #FFF 0%, #FFF 50%, #fff0 50%, #fff0 100%);
    background: linear-gradient(135deg, #f7f7f7 0%, #f7f7f7 50%, #fff0 50%, #fff0 100%);
}

@media screen and (max-width: 768px) {
    .day_tab li a {
        font-size: 1.1em;
    }
}

@media screen and (max-width: 480px) {
    #program_list .under_ttl h3 {
        font-size: 1.2em;
        line-height: 1.2;
    }

    .day_tab_top {
        margin-bottom: 30px;
    }

    .day_tab_under {
        margin-top: 30px;
    }

    .day_tab li {
        width: 100%;
    }

    #program_list .prg_date_area {
        height: auto;
    }

    .prg_date_area span:nth-child(1):after {
        content: none;
    }

    #program_list .prg_cont_area {
        padding: 20px 0;
    }

    #program_list .prg_spk_area:has(>li),
    .prg_subcom_item {
        padding: 20px;
    }

    #program_list .att_text {
        margin-bottom: 10px;
    }
}

/*--------------------------------------------------program_detail*/

#program_detail {}

.under_ttl .prg_sub {
    margin-bottom: 15px;
}

.prg_sub .prg_date {
    background: #fff;
    padding: 5px 10px;
    color: #2f443c;
    font-family: 'Barlow', sans-serif;
    font-weight: 900;
    margin-right: 10px;
}

.prg_sub .prg_subttl {
    color: #fff;
    font-weight: 700;
}

#program_detail .under_ttl h2 {
    font-size: 1.8em;
}

#program_detail .prg_sum_cont h3 {
    font-size: 2em;
}

#program_detail h3 {
    font-size: 1.5em;
}

#program_detail .col2 {
    justify-content: space-between;
}

#program_detail .prg_sum_cont {
    width: 100%;
}

#program_detail .prg_spk_cont {
    width: 100%;
    margin-top: 50px;
}

#program_detail .prg_spk_area {
    margin-top: 0;
    margin-bottom: 30px;
    justify-content: space-between;
}

#program_detail .prg_spk_area:after {
    content: '';
    width: 32%;
    display: block;
}

#program_detail .prg_spk_item {
    width: 32%;
    border-right: 1px solid #efefef;
    padding-right: 2%;
}

#program_detail .prg_spk_area .prg_spk_item:nth-child(3n),
#program_detail .prg_spk_area .prg_spk_item:last-child {
    border-right: none;
    padding-right: 0;
}

#program_detail .prg_spk_area .prg_spk_item:nth-child(n+4) {
    margin-top: 30px;
}

#program_detail .prg_spk_item figure {
    width: 100px;
}

#program_detail .prg_spk_item dl {
    width: calc(100% - 120px);
}

#program_detail .prg_spk_item .prg_spk_logo {
    width: 80%;
    max-width: 100px;
    margin-top: 15px;
    border: 1px solid #E8E8E8;
}

#program_detail .prg_spo_item {
    width: 100% !important;
}

#program_detail .prg_spo_item figure {
    width: 120px;
}

#program_detail .prg_spo_item figure img {
    border: 1px solid #E8E8E8;
}

#program_detail .prg_spo_item dl {
    width: calc(100% - 140px);
}

#program_detail .prg_spo_item dl dt {
    font-size: 1.1em;
    color: #2f443c;
}

.prg_sum_subcom_cont {
    /*分科会レイアウト*/
    width: 100%;
    margin-top: 30px;
}

.prg_sum_subcom_item {}

.map_link {
    color: #0E2367;
    text-decoration: underline;
    margin-left: 5px;
}

@media screen and (max-width: 768px) {
    #program_detail .prg_spk_item {
        width: 48.5%;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(2) {
        margin-top: 0;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(n+3) {
        margin-top: 30px;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(3n) {
        border-right: 1px solid #efefef;
        padding-right: 2%;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(2n) {
        border-right: none;
        padding-right: 0;
    }

    #program_detail .prg_spo_item dl dt {
        font-size: 1em;
        width: 72%;
    }
}

@media screen and (max-width: 480px) {
    #program_detail .under_ttl h2 {
        font-size: 1.5em;
    }

    #program_detail .prg_spk_item {
        width: 100%;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(n+2) {
        margin-top: 30px;
    }

    #program_detail .prg_spk_area .prg_spk_item:nth-child(n) {
        border-right: none;
        padding-right: 0;
    }

    #program_detail .prg_spk_item figure {
        width: 100px;
    }

    #program_detail .prg_spo_item dl {
        width: calc(100% - 120px);
    }
}


/*--------------------------------------------------abm_list & speaker_list*/

#abm_list {}

#abm_list .att_text {
    margin-bottom: 30px;
}

#speaker_list .att_text {
    margin-bottom: 30px;
}

#speaker_list {}

.par_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
}

.par_list_item {
    width: 19%;
    /*1列5人*/
    /*width: 23%; /*1列4人*/
    margin-right: 1.25%;
    /*1列5人*/
    /*margin-right: 2.6%;*/
    /*1列4人*/
    /*margin-bottom: 130px;*/
    margin-bottom: 3%;
    margin-top: 10%;
}


#abm_list .par_list_item {
    /*width: 19%; 1列5人*/
    width: 23%;
    /*1列4人*/
    margin-right: 2.6%;
}


/*.par_list .par_list_item:nth-child(4n), /*1列4人*/

.par_list .par_list_item:nth-child(5n),
#abm_list .par_list .par_list_item:nth-child(4n),
.par_list .par_list_item:last-child {
    margin-right: 0;
}

.par_list .par_list_item:nth-child(n+6),

/*1列5人*/


/*.par_list .par_list_item:nth-child(n+5)1列4人*/


#abm_list .par_list .par_list_item:nth-child(n+5) {
    margin-top: 10%;
}

.par_list_item a {
    display: block;
    width: 100%;
    background-color: #3a4548;
    color: #fff;
    text-align: center;
    padding: 15px;
    height: 100%;
    position: relative;
    padding-bottom: 40%;
}

.par_list .par_list_item:nth-child(even) a {
    /* background-color: #82999f; */
}

.par_list_item figure {
    margin-top: -50%;
}

.par_list_item figure img {
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 30%));
    border-radius: 200px;
}

.par_list_item dl {
    margin-top: 15px;
}

.par_list_item dt {
    margin-bottom: 5px;
    font-size: 1.1em;
}

.par_list_item dd {
    font-size: .8em;
}

.par_list_item dd.prg_spk_logo {
    margin-top: 15px;
    background: #fff;
    position: absolute;
    bottom: 15px;
    margin: auto;
    width: calc(100% - 30px);
}

.par_list_item dd.prg_spk_logo img {
    width: 50%;
    margin: auto;
}



/* アドバイザリーボードの声 */
#top_voice_abm .par_list_item {
    width: 49%;
    margin-top: 0%;
    margin-bottom: 0;
    margin-right: 0;
}

#top_voice_abm .par_list_item figure {
    margin-top: 0;
    margin-right: 10px;
    width: 30%;
}

#top_voice_abm .par_list_item a {
    display: flex;
    align-items: center;
    padding-bottom: inherit;
    height: fit-content;
    padding: 15px;
    min-height: 210px;
}

#top_voice_abm .voice_cont {
    /* position: relative; */
}

#top_voice_abm .balloon1-top {
    position: relative;
    /* display: inline-block; */
    margin: 0em 0 1.5em;
    padding: 15px;
    font-size: 16px;
    background: #e7eff9;
    /* min-height: 315px; */
    /* height: 100%; */
    display: flex;
    align-items: center;
}

#top_voice_abm .balloon1-top:before {
    content: "";
    position: absolute;
    top: -28px;
    left: 20px;
    border: 15px solid transparent;
    border-bottom: 15px solid #e7eff9;
}

#top_voice_abm .prg_spk_voice {
    color: #000;
    font-size: .9em;
    position: relative;
    z-index: 1;
}

#top_voice_abm .par_list_item dd.prg_spk_logo {
    position: relative;
    bottom: 0;
    margin-top: 10px;
    background: none;
    width: auto;
}

#top_voice_abm .par_list {
    justify-content: space-between;
    margin-top: 5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    /*← ここを追加 */
}

#top_voice_abm .par_list_item {
    display: flex;
    flex-direction: column;
}

#top_voice_abm .par_list_item .voice_cont {
    flex: 1 0 auto;
    display: flex;
    /* 中でさらにフレックスにして… */
    flex-direction: column;
    /* …必要なら縦方向に */
}

/* バルーン部分を残りスペースにフィット */
#top_voice_abm .par_list_item .balloon1-top {
    flex: 1 0 auto;
    /* もともとの min-height:315px は残して OK */
}

#top_voice_abm .par_list_item .balloon1-top:after {
    content: "";
    background-image: url(../images/speaker/wq_start_wh.svg);
    background-position: bottom right;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    opacity: 0.6;
    position: absolute;
    width: 50px;
    height: 50px;
    bottom: 15px;
    right: 15px;
}


#top_voice_abm .par_list_item dl {
    margin-top: 0;
    width: calc(70% - 20px);
    text-align: left;
    margin-left: 20px;
}

#top_voice_abm .par_list_item dd.prg_spk_logo img {
    max-width: 100px;
}

#top_voice_abm .par_list_item dl dd {
    font-size: 0.7rem;
}

@media screen and (max-width: 768px) {
    .par_list_item {
        width: 32% !important;
        margin-right: 2% !important;
        margin-bottom: 20px;
    }

    .par_list .par_list_item:nth-child(3n),
    .par_list .par_list_item:last-child {
        margin-right: 0 !important;
    }

    .par_list .par_list_item:nth-child(n+4) {
        margin-top: 15% !important;
    }

    #top_voice_abm .par_list_item {
        width: 48% !important;
        margin-top: 0%;
    }

    #top_voice_abm .par_list .par_list_item:nth-child(n+4) {
        margin-top: 0% !important;
    }
}

@media screen and (max-width: 600px) {
    #top_voice_abm .par_list_item {
        width: 100% !important;
        margin-top: 0%;
    }

    #top_voice_abm .prg_spk_voice {
        font-size: .8em;
    }

    #top_voice_abm .par_list_item a {
        height: max-content;
        min-height: inherit;
        padding-bottom: 20px;
    }

    #top_voice_abm .balloon1-top {
        min-height: inherit;
    }

    #top_voice_abm .par_list .par_list_item:nth-child(n+4) {
        margin-top: 0% !important;
    }
}

@media screen and (max-width: 480px) {
    #abm_list .att_text {
        margin-bottom: 40px;
    }

    .par_list_item,
    .par_list .par_list_item:nth-child(3n) {
        width: 49% !important;
        margin-right: 2% !important;
        margin-bottom: 0 !important;
    }

    #top_voice_abm .par_list_item {
        margin-right: 0% !important;
    }

    .par_list .par_list_item:nth-child(2n),
    .par_list .par_list_item:last-child {
        margin-right: 0 !important;
    }

    .par_list .par_list_item:nth-child(n+3) {
        margin-top: 22% !important;
    }

    #top_voice_abm .par_list .par_list_item:nth-child(n+3) {
        margin-top: 0 !important;
    }
}


/*--------------------------------------------------abm_detail & speaker_detail*/

#abm_detail {}

#speaker_detail {}

.per_detail {}

.per_detail_ttl {
    padding-bottom: 300px;
}

.per_detail_photo {
    width: 250px;
    margin: auto;
    margin-top: -290px;
}

.per_detail_photo img {
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 30%));
    border-radius: 200px;
}

.per_detail_logo {
    width: 150px;
    margin: auto;
    margin-top: 20px;
}

.per_detail h2 {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 10px;
    margin-top: 20px;
}

.per_detail_com,
.per_detail_pos {
    text-align: center;
    margin-top: 5px;
    font-weight: 700;
    font-size: 1.1em;
}

.per_detail_txt {
    margin-top: 20px;
}

.per_ssn {
    padding: 20px;
    margin-top: 30px;
}

.per_ssn p {
    width: 8.7em;
}

.per_ssn ul {
    border-left: 1px solid #000;
    padding-left: 1.5em;
    width: calc(100% - 9.3em);
}

@media screen and (max-width: 480px) {
    .per_detail_ttl {
        padding-bottom: 60%;
    }

    .per_detail_photo {
        min-width: 150px;
        width: 50%;
        margin: auto;
        margin-top: -65%;
    }

    .per_detail_logo {
        min-width: 150px;
        width: 50%;
    }

    .per_ssn p {
        width: 100% !important;
    }

    .per_ssn ul {
        border-left: none;
        padding-left: 0;
        width: 100% !important;
        ;
        border-top: 1px solid #000;
        padding-top: 1em;
        margin-top: 1em;
    }
}


/*--------------------------------------------------spo_par_list*/

#spo_par_list {}

#spo_par_list h3 {
    text-align: center;
    margin-bottom: 30px;
}

.spo_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 100px;
}

section .spo_list:last-child {
    margin-bottom: 0;
}

.spo_list li {
    margin-right: 5%;
}

.spo_list li:last-child {
    margin-right: 0;
}

.spo_list li a {
    display: block;
    text-align: center;
}

.spo_list li a img {
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 20%));
    border-radius: 5px;
}

.spo_list li a h4 {
    font-family: 'M PLUS 1p', sans-serif;
    margin-top: 20px;
    font-weight: 400;
    font-size: 1em;
}

.pre_spo li {
    width: 38%;
}

.pre_spo li:nth-child(2n) {
    margin-right: 0;
}

.gld_spo li {
    width: 27%;
}

.gld_spo li:nth-child(3n) {
    margin-right: 0;
}

.nml_spo li {
    width: 23%;
}

.nml_spo li:nth-child(3n) {
    margin-right: 0;
}

.pre_spo li:nth-child(n+3),
.gld_spo li:nth-child(n+4),
.nml_spo li:nth-child(n+4) {
    margin-top: 3%;
}

#partner_list {
    margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
    .spo_list {
        margin-bottom: 60px;
    }

    .pre_spo li {
        width: 50%;
    }

    .gld_spo li {
        /*width: 40%;*/
    }

    .gld_spo li,
    .nml_spo li {
        width: 30%;
    }
}

@media screen and (max-width: 480px) {
    .spo_list {
        margin-bottom: 60px;
    }

    .pre_spo li {
        width: 75%;
        margin-right: 0 !important;
    }

    .nml_spo li,
    .gld_spo li {
        width: 47.5%;
        margin-right: 5% !important;
    }

    .nml_spo li:nth-child(2n),
    .gld_spo li:nth-child(2n) {
        margin-right: 0 !important;
    }

    .pre_spo li:nth-child(n+2),
    .gld_spo li:nth-child(n+3),
    .nml_spo li:nth-child(n+3) {
        margin-top: 3%;
    }
}


/*--------------------------------------------------sponsor_detail*/

#sponsor_detail {}

#sponsor_detail h2 {
    font-family: 'M PLUS 1p', sans-serif;
}

#sponsor_detail .per_detail_logo {
    max-width: 325px;
    width: 50%;
    margin: auto;
    margin-top: -250px;
}

#sponsor_detail .per_detail_logo img {
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 20%));
}

#sponsor_detail h2 {
    font-size: 1.5em;
    margin-bottom: 15px;
    margin-top: 30px;
}

#sponsor_detail .feature_list {
    justify-content: center;
}

#sponsor_detail .per_ssn p {
    width: 10em;
}

#sponsor_detail .per_ssn ul {
    width: calc(100% - 10em);
}

@media screen and (max-width: 480px) {
    #sponsor_detail h2 {
        font-size: 1.2em;
    }

    #sponsor_detail .per_detail_logo {
        min-width: 150px;
        width: 60%;
        margin-top: -60%;
    }
}


/*--------------------------------------------------download*/

#download {}

.dl_list {
    justify-content: space-between;
}

.dl_list_item {
    width: 48%;
    justify-content: space-between;
}

.dl_list .dl_list_item:nth-child(n+3) {
    margin-top: 4%;
}

.dl_list_item .col2_l {
    width: 25%;
}

.dl_list_item .col2_l img {
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
}

.dl_list_item .col2_r {
    width: 70%;
}

.dl_list_item .col2_r h3 {
    font-size: 1.2em;
    margin-bottom: 5px;
}

.dl_list_item .col2_r p {}

@media screen and (max-width: 768px) {
    .dl_list_item {
        width: 100%;
    }

    .dl_list .dl_list_item:nth-child(n+2) {
        margin-top: 30px;
    }
}


/*--------------------------------------------------access*/

#access {}

#flight {}

#flight h4.outbound {
    color: #000000;
    padding: 10px;
    font-size: 1.2em;
    background-color: #c8d5ff;
    text-align: center;
    margin-bottom: 30px;
}

.flight_list {
    justify-content: space-between;
}

.flight_list_item {
    width: 48%;
}

.flight_list .flight_list_item:nth-child(n+3) {
    margin-top: 3%;
}

.flight_list_item dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.flight_list_item dt {
    width: 100%;
    font-size: 1.2em;
    border-left: 3px solid #2f443c;
    padding-left: .8em;
    margin-bottom: .8em;
    line-height: 1.5;
}

.flight_list_item dd {
    margin-bottom: 10px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.flight_label {
    background: #e6ecff;
    color: #2f443c;
    font-weight: 700;
    padding: 5px 10px;
    margin-right: 1em;
    display: inline-block;
    height: max-content;
}

.jet_cont {
    text-align: center;
    padding: 40px 20px;
}

.jet_cont p {
    font-weight: 700;
    font-size: 1.1em;
}

.jet_cont p span {
    font-weight: 400;
    font-size: .8em;
    display: block;
}

#venue {}

.venue_list {}

.venue_list_item {
    justify-content: space-between;
}

.venue_list .venue_list_item:nth-child(n+2) {
    margin-top: 3%;
}

.venue_list_item iframe {
    /*width: 37%;*/
    width: 50%;
    height: 300px;
}

.venue_list_item .col2_r {
    width: 47%;
}

@media screen and (max-width: 480px) {
    .flight_list_item {
        width: 100%;
    }

    .flight_list .flight_list_item:nth-child(n+2) {
        margin-top: 5%;
    }

    .venue_list_item iframe {
        width: 100%;
    }

    .venue_list_item .col2_r {
        width: 100%;
        margin-top: 30px;
    }

    .venue_list .venue_list_item:nth-child(n+2) {
        margin-top: 50px;
    }
}


/*--------------------------------------------------sitemap*/

#sitemap {}

#sitemap .footer_link {
    justify-content: space-between;
}

#sitemap .footer_link:after {
    content: '';
    display: block;
    width: 32%;
}

#sitemap .footer_link li {
    width: 32%;
}

@media screen and (max-width: 480px) {
    #sitemap .footer_link:after {
        width: 48%;
    }

    #sitemap .footer_link li {
        width: 48%;
    }
}


/*--------------------------------------------------report*/

#report {}

#report .under_ttl h2 {
    font-size: 2em;
}

#report .under_ttl a {
    color: #fff;
}

#report .bg_gr {
    padding: 30px;
}

#report h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
}

#report p {
    margin-bottom: 20px;
}


/*--------------------------------------------------sponsorship*/

#sponsorship {}

.sponsor_table {
    width: 100%;
}

.sponsor_table thead {
    background: #2f443c;
    color: #fff;
}

.sponsor_table th,
.sponsor_table td {
    vertical-align: middle;
    padding: 10px 15px;
}

.sponsor_table thead th {
    text-align: center;
    font-weight: 900;
    vertical-align: middle;
    padding: 10px 15px;
    /*border-right: 1px solid #4d5258;*/
}

.sponsor_table tbody tr {
    border-bottom: 1px solid #E0E0E0;
}

.sponsor_table tbody td {
    padding: 10px 15px;
    vertical-align: middle;
    /*border-right: 1px solid #f7f7f7;*/
}

.sponsor_table tbody td span {
    font-size: .8rem;
}

tbody .spo_menu,
tbody .par_menu {
    font-weight: 900;
    background-color: #f7f7f7;
}

.spo_slot,
.spo_pass {
    text-align: center;
}

.sponsor_table_ship {}

.sponsor_table_par {}

#sponsorship .col2.btn_cont {
    justify-content: space-between;
}

#sponsorship .btn {
    width: 48%;
}

@media screen and (max-width: 600px) {
    .table_cont {
        overflow-x: scroll;
        width: 100%;
    }

    .sponsor_table {
        width: 800px;
    }
}

@media screen and (max-width: 480px) {
    #sponsorship .btn {
        width: 100%;
    }

    #sponsorship .col2.btn_cont .btn:nth-child(2) {
        margin-top: 15px;
    }
}


/*--------------------------------------------------voice_list*/

#top_voice h2 {
    font-size: 1.7em;
}

.voice_list {
    justify-content: space-between;
}

.voice_list li {
    border: 1px solid #e7e6e6;
    width: 49%;
    margin-top: 30px;
}

.voice_list li .person_block figure {
    width: 22%;
    min-width: 90px;
    position: relative;
    margin: 0;
    height: max-content;
}

.voice_list li .person_block figure span {
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    text-align: center;
    background: #2f443c;
    color: #fff;
    border-radius: 30px;
    font-family: 'Barlow', 'M PLUS 1p', sans-serif;
    font-weight: 900;
    font-size: .8em;
    width: 100%;
    padding: 0 10px;
    text-transform: uppercase;
    width: 80%;
    min-width: max-content;
    bottom: -10px;
}

/* .voice_list li .person_block.sponsor figure span {
    background-color: #3c3ca8;
} */

.voice_list li .person_block {
    display: flex;
    justify-content: space-between;
    background-color: #E3EFEB;
    padding: 5%;
    font-size: .9em;
}

/* .voice_list li .person_block.sponsor {
    display: flex;
    background-color: #d0dbfb;
} */

.voice_list li dl {
    margin-top: 0;
    width: 73%;
}

.voice_list .par_list_item dt {
    font-size: 1.3em;
    color: #2f443c;
}

.voice_list li dl dd {
    font-size: 1em;
}

.voice_list .prg_spk_logo {
    width: 65% !important;
    max-width: 80px;
    margin-top: 5px !important;
    border: 1px solid #E8E8E8;
    position: initial !important;
    margin: 5px 0 0 !important;
}

.voice_list li p {
    display: block;
    margin: 5%;
}

.voice_list .par_list_item {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    background-color: #ffffff99;
}

.voice_list .par_list_item:nth-child(1) .person_block {
    min-height: 183px;
}

.voice_list .par_list_item:nth-child(2) .person_block {
    /* min-height: 207px; */
}

.voice_list .par_list_item:nth-child(3) .person_block {
    min-height: 207px;
}

.voice_list .par_list_item figure img {
    filter: none;
}

.voice_list .par_list_item dd.prg_spk_logo img {
    width: 100%;
}

.voice_list .sp {
    display: none;
}

@media screen and (max-width: 1032px) {
    .voice_list .par_list_item:nth-child(1) .person_block {
        min-height: 180px;
    }

    .voice_list .par_list_item:nth-child(3) .person_block {
        min-height: 227px;
    }
}

@media screen and (max-width: 834px) {
    .voice_list .par_list_item:nth-child(1) .person_block {
        min-height: 194px;
    }

    .voice_list .par_list_item:nth-child(3) .person_block {
        min-height: 217px;
    }
}

@media screen and (max-width: 768px) {
    .voice_list {
        flex-wrap: wrap;
    }

    .voice_list li {
        width: 100% !important;
    }

    .par_list.voice_list .par_list_item:nth-child(n+4) {
        margin-top: 30px !important;
    }

    .voice_list li .person_block {
        padding: 3%;
    }

    .voice_list li .person_block figure {
        width: 16%;
    }

    .voice_list li dl {
        width: 78%;
    }

    .voice_list li p {
        margin: 3%;
    }

    #top_voice h2 {
        font-size: 1.2em;
    }

    .voice_list .par_list_item dt {
        margin-bottom: 0;
        font-size: 1.1em;
    }

    .voice_list .pc {
        display: none;
    }

    .voice_list .par_list_item:nth-child(1) .person_block {
        min-height: 160px;
    }

    .voice_list .par_list_item:nth-child(2) .person_block {
        min-height: initial;
    }

    .voice_list .par_list_item:nth-child(3) .person_block {
        min-height: initial;
    }
}

@media screen and (max-width: 600px) {
    #top_voice .sp {
        display: block;
    }

    .voice_list .par_list_item:nth-child(1) .person_block {
        min-height: 140px;
    }
}

@media screen and (max-width: 480px) {
    .voice_list .par_list_item {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .voice_list.par_list .par_list_item:nth-child(n+3) {
        margin-top: 30px !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    .voice_list li dl {
        width: calc(95% - 90px);
    }

    .voice_list .par_list_item:nth-child(1) .person_block {
        min-height: 140px;
    }
}


/*--------------------------------------------------COVID19 */

#covid19_measures .border_ttl {
    font-weight: 900;
    border-left: 3px solid;
    padding-left: 1em;
    margin-bottom: 1em;
}

#covid19_measures .border_ttl {
    border-color: #2f443c;
}

#covid19_measures h3 span {}

#covid19_measures h3 {
    font-size: 1.2em;
}

.guideline_block {
    display: block;
    background-color: #efefef;
    text-align: center;
    padding: 20px;
}

.guideline_block a.btn {
    margin-top: 15px;
}

#covid19_measures h2 span {
    display: block;
    font-size: .9rem;
}


/*--------------------------------------------------FAQ*/

#faq {}

.faq_list {}

.faq_list_item {}

.faq_list_item:nth-child(n+2) {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #E0E0E0;
}

.faq_ttl {
    font-size: 1.2em;
    align-items: flex-start;
}

.faq_ttl:before {
    content: 'Q';
    background-color: #000;
    color: #fff;
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
    line-height: 30px;
    margin-right: 15px;
}

.faq_ttl span {
    font-family: 'M PLUS 1p', sans-serif;
    width: calc(100% - 45px);
}

.faq_txt {}

.faq_list_item .txt_bold {
    color: #000f04;
}


/*--------------------------------------------------固定ボタン*/

#fix_share {
    position: fixed;
    top: 100px;
    right: 0;
    background: rgba(0, 0, 0, 0.25);
    width: 50px;
    border-radius: 20px 0 0 20px;
    z-index: 30;
}

#fix_share ul {
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    padding: 10px 0;
    align-items: center;
}

#fix_share ul li {
    width: 30px;
    height: 30px;
    filter: drop-shadow(0px 0px 5px rgb(0 0 0 / 30%));
}

#fix_share ul li:nth-child(2) {
    margin-top: 10px;
}

#fix_share ul li a {
    display: block;
}

#fix_share ul li img {
    width: 100%;
}

@media screen and (max-width: 1000px) {
    #fix_share {
        top: 80px;
        width: 60px;
    }

    #fix_share ul li {
        width: 25px;
        height: 25px;
    }

    #fix_share ul li:nth-child(2) {
        margin-top: 15px;
    }
}


/*--------------------------------------------------ページアップ*/

#page_top {
    position: fixed;
    bottom: 2vw;
    right: 2vw;
    display: block;
    z-index: 999;
    border-radius: 100px;
    overflow: hidden;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 30%);
}

#page_top a {
    background-color: #000;
    color: #fff;
    text-align: center;
    width: 50px;
    height: 50px;
    display: block;
}

#page_top a:before {
    line-height: 48px;
    font-size: 20px;
}


/*--------------------------------------------------footer*/

footer {}

footer .c_wrap {
    border-top: 1px solid #B5B5B5;
    justify-content: space-between;
}

footer .col2_l {
    width: 35%;
}

footer .col2_l>a {
    display: block;
    width: 60%;
}

footer .col2_l address {
    margin-top: 30px;
    font-size: .8em;
}

footer .col2_r {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
}

footer .col2_r .foot_link_cont:nth-child(1) {
    width: 100%;
}

footer .col2_r .foot_link_cont:nth-child(2) {
    width: 33%;
    margin-top: 1.5em;
}

footer .col2_r .foot_link_cont:nth-child(3) {
    width: 66%;
    margin-top: 1.5em;
}

footer h5 {
    margin-bottom: 1em;
}

.footer_link {
    justify-content: space-between;
}

.foot_link_cont:nth-child(1) .footer_link:after {
    display: block;
    content: "";
    width: 33%;
}

.footer_link li {
    color: #236DD3;
}

footer .col2_r .foot_link_cont:nth-child(1) li {
    width: 33%;
}

footer .col2_r .foot_link_cont:nth-child(2) li,
footer .col2_r .foot_link_cont:nth-child(3) li {
    width: 100%;
}

.footer_link li a {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    align-items: baseline;
    line-height: 1.1rem;
    margin: 0.5rem 0;
}

.footer_link li a:before {
    font-family: 'summit_icon';
    content: "\e902";
    width: 1em;
    font-size: .8em;
    margin-right: .5em;
}

footer .bg {
    color: #fff;
    position: relative;
    background-image: url(/images/common/footer_bg.webp);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    /*height: 250px;*/
    padding: 60px 10px;
    padding-top: 150px;
    font-weight: 900;
    font-size: .75em;
}

.browser_support {
    border: 1px solid #444;
    font-weight: 400;
    background: #00000080;
    padding: 20px;
    display: block;
    max-width: 900px;
    margin: auto;
    margin-bottom: 30px;
}

.browser_support span {
    font-weight: 700;
    margin-top: 10px;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    footer .col2_l {
        width: 100%;
    }

    footer .col2_l>a {
        width: 30%;
        min-width: 150px;
    }

    footer .col2_r {
        width: 100%;
        margin-top: 30px;
    }

    footer .col2_r .foot_link_cont:nth-child(1) li {
        width: 49%;
    }

    .foot_link_cont:nth-child(1) .footer_link:after {
        content: none;
    }

    footer .col2_r .foot_link_cont:nth-child(2),
    footer .col2_r .foot_link_cont:nth-child(3) {
        width: 49%;
    }
}

@media screen and (max-width: 480px) {
    footer .c_wrap {
        padding-bottom: 30px;
    }

    footer .col2_r .foot_link_cont:nth-child(1) li {
        width: 100%;
    }

    footer .col2_r .foot_link_cont:nth-child(2),
    footer .col2_r .foot_link_cont:nth-child(3) {
        width: 100%;
    }

    footer .bg {
        /*height: 200px;*/
        /*padding: 0 10px;*/
        /*padding-top: 120px;*/
        padding: 30px 10px;
        padding-top: 60px;
    }

    .browser_support {
        text-align: left;
    }
}


/*--------------------------------------------------font*/

@font-face {
    font-family: 'summit_icon';
    src: url('/fonts/summit_icon.eot?a2871a');
    src: url('/fonts/summit_icon.eot?a2871a#iefix') format('embedded-opentype'), url('/fonts/summit_icon.ttf?a2871a') format('truetype'), url('/fonts/summit_icon.woff?a2871a') format('woff'), url('/fonts/summit_icon.svg?a2871a#summit_icon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="ico_"],
[class*=" ico_"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'summit_icon', 'Barlow', 'M PLUS 1p', sans-serif;
    speak: never;
    /*font-style: normal;*/
    font-weight: 900;
    font-variant: normal;
    text-transform: none;
    /*line-height: 1;*/
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ico_elect:before {
    content: "\e906";
}

.ico_apparel:before {
    content: "\e907";
}

.ico_map:before {
    content: "\e905";
}

.ico_arrow_u:before {
    content: "\e901";
}

.ico_arrow_l:before {
    content: "\e900";
}

.ico_arrow_r:before {
    content: "\e902";
}

.ico_arrow_r.disable:before {
    display: none;
}

.ico_arrow_d:before {
    content: "\e903";
}

.ico_cart:before {
    content: "\f07a";
}

.ico_food:before {
    content: "\e9a3";
}

.ico_plus:before {
    content: "\e904";
    font-size: 0.65rem;
}



/* ============================================================
    プログラムの時刻表示関連
   ============================================================ */
/* ↓時間を非表示にしたいときはnot allの「not」を消す・表示させたいときは「not all」に変更する↓ */
@media not all {

    /* --- トップページの公式セションの時間を非表示 --- */
    #official_session .prg_date_area {
        height: 65px;
    }

    #official_session .prg_date_area span:nth-child(2) {
        display: none;
    }

    /* --- プログラム詳細ページの時間を非表示中 --- */
    .prg_sub .prg_date {
        display: none;
    }


    @media screen and (max-width: 480px) {

        /* --- トップページの公式セションの時間を非表示（SPの指定） --- */
        #official_session .prg_date_area {
            height: 40px;
        }
    }
}

/* ============================================================
    Basic認証　鍵アイコン
   ============================================================ */
.fa-key:before {
    margin-right: 3px;
}

#top_program .fa-key:before {
    margin-right: 6px;
}

@media screen and (max-width: 900px) {
    #top_program .fa-key:before {
        margin-right: 8px;
    }
}


#official_session .fa-key:before {
    margin-right: 6px;
}

@media screen and (max-width: 900px) {
    #official_session .fa-key:before {
        margin-right: 8px;
    }
}