@charset "utf-8";

/*=============
   Page Common
==============*/
footer .flex.space-b {
    justify-content: space-between;
}

.mb-20 {
    margin-bottom: 20px;
}

.text-under span {
    display: inline;
    border-bottom: 1px solid #231815;
}

.pc-max-640 {
    max-width: 640px;
    width: 100%;
}

.exhibitor .sec4 .flex {
    display: block;
}

.exhibitor .sec4 .flex p,
.exhibitor .sec5 .flex p {
    line-height: 1.5;
    font-weight: bold;
    width: 100%;
}

.exhibitor .sec4 .flex div {
    margin: 0 auto;
}

.exhibitor .sec6 .flex {
    display: block;
}

.exhibitor .sec6 .flex .mb {
    margin-bottom: 75px;
}

.exhibitor .sec6 .flex > div {
    width: 100%;
}

.exhibitor .sec6 .flex-box {
    display: flex;
    align-items: center;
}

.exhibitor .sec6 .flex-box p.lk_blank {
    margin: 0 22px 0 0;
    max-width: 575px;
    width: 100%;
}

.exhibitor .sec6 .flex-box .right {
    margin: 0 0 9px 0;
}

@media screen and (max-width: 767px) {
    .exhibitor .sec6 .flex-box p.lk_blank {
        margin: 0 12px 0 0;
    }

    .exhibitor .sec6 .flex p.border.sp-left {
        margin: 0 0 8px 0;
    }

    .exhibitor .sec6 .flex .mb-sp-0 {
        margin-bottom: 0;
    }

    .exhibitor .sec6 .flex .mb-sp-20 {
        margin-bottom: 20px;
    }
}

/* =============================
  協賛のご案内 
============================= */
.sponsor .sec3 p.lk_blank {
    max-width: 429px;
    width: 100%;
    margin: 0;
}

.sponsor .sec3 p.lk_blank a {
    height: 86px;
    line-height: 84px;
}

.sponsor .sec3 .flex {
    margin: 0 0 80px;
}

.sponsor .sec3 .mb-pc-80 {
    margin-bottom: 80px;
}

.sponsor .sec3 .mb-pc-30 {
    margin-bottom: 30px;
}

.sponsor.exhibitor .sec4 .flex {
    display: flex;
}

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

@media screen and (max-width: 767px) {
    .sponsor.exhibitor .sec4 .flex {
        display: block;
    }

    .sponsor .sec3 p.lk_blank a {
        height: 44px;
        line-height: 42px;
    }

    .sponsor .sec3 .mb-sp-14 {
        margin-bottom: 14px;
    }

    .sponsor .sec3 .mb-sp-48 {
        margin-bottom: 48px;
    }
}

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

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

/* =============================
  留学生スピーチコンテスト参加者募集
============================= */
.chirashi-img {
    margin-top: 30px;
    max-width: 500px;
    width: 100%;
}

.contest .sec4 dl dd.doc p.entry-example-text {
    display: inline-block;
    padding-left: 15px;
    text-indent: 0;
    margin: 0 !important;
}

.contest .sec4 dl dd.doc p.lk_blank.lk2 {
    max-width: 642px;
    width: 100%;
    margin: 0 !important;
}

.contest .sec4 .flex-box {
    display: flex;
    align-items: center;
    margin-bottom: 22px;
}

@media screen and (max-width: 767px) {
    .contest .sec4 .flex-box {
        display: block;
    }
}

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

/* =============================
  2024 月間ページ
============================= */
.month_2024 .t-l-indent {
    text-align: left !important;
}

.month_2024 .t-l-indent .indent {
    display: inline-block;
    position: relative;
    padding-left: 7.5em;
}

.month_2024 .t-l-indent .indent .date {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.month_wrap.month_2024 ul.shopList li.li1 .img {
    background-image: url(../images/2024/month_i1_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li2 .img {
    background-image: url(../images/2024/month_i2_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li3 .img {
    background-image: url(../images/2024/month_i3_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li4 .img {
    background-image: url(../images/2024/month_i4_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li5 .img {
    background-image: url(../images/2024/month_i5_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li6 .img {
    background-image: url(../images/2024/month_i6_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li7 .img {
    background-image: url(../images/2024/month_i7_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li8 .img {
    background-image: url(../images/2024/month_i8_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li9 .img {
    background-image: url(../images/2024/month_i9_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li10 .img {
    background-image: url(../images/2024/month_i10_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li11 .img {
    background-image: url(../images/2024/month_i11_2024.html);
}

.month_wrap.month_2024 ul.shopList li.li12 .img {
    background-image: url(../images/2024/month_i12_2024.html);
}

.month_wrap.month_2024 ul.shopList > li .txt dl dd.dd4 {
    letter-spacing: normal;
}

.month_wrap.month_2024 ul.shopList > li.li1 .txt h3,
.month_wrap.month_2024 ul.shopList > li.li11 .txt h3 {
    letter-spacing: -0.01em;
}

.month_wrap.month_2024 ul.shopList > li.li6 .txt h3 {
    letter-spacing: 0;
}

.month_wrap.month_2024 ul.shopList > li.li4 .txt dl dd.dd4,
.month_wrap ul.shopList > li.li5 .txt dl dd.dd4 {
    font-size: 2.4rem;
}

.month_wrap.month_2024 ul.shopList > li.li7 .txt dl dd.dd4,
.month_wrap.month_2024 ul.shopList > li.li10 .txt dl dd.dd4 {
    font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
    .month_wrap.month_2024 ul.shopList li.li1 .img {
        background-image: url(../images/2024/month_i1_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li2 .img {
        background-image: url(../images/2024/month_i2_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li3 .img {
        background-image: url(../images/2024/month_i3_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li4 .img {
        background-image: url(../images/2024/month_i4_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li5 .img {
        background-image: url(../images/2024/month_i5_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li6 .img {
        background-image: url(../images/2024/month_i6_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li7 .img {
        background-image: url(../images/2024/month_i7_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li8 .img {
        background-image: url(../images/2024/month_i8_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li9 .img {
        background-image: url(../images/2024/month_i9_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li10 .img {
        background-image: url(../images/2024/month_i10_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li11 .img {
        background-image: url(../images/2024/month_i11_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li12 .img {
        background-image: url(../images/2024/month_i12_sp_2024.html);
    }

    .month_wrap.month_2024 ul.shopList li.li12 .dd4 a + a {
        display: block;
    }

    .month_wrap.month_2024 ul.shopList > li.li4 .txt dl dd.dd4,
    .month_wrap.month_2024 ul.shopList > li.li5 .txt dl dd.dd4,
    .month_wrap.month_2024 ul.shopList > li.li7 .txt dl dd.dd4 {
        font-size: 1.2rem;
    }
}

/* =============================
  2024新デザイン用
============================= */

/********** 月間ページ ***********/

.vietnam_month .page-ttl {
    position: relative;
    margin: 80px 0 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.vietnam_month .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .vietnam_month .page-ttl {
        margin: 44px auto 0;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .vietnam_month .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .vietnam_month .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .vietnam_month header h1 {
        max-width: 85px;
    }
}

/********** 協賛企業ページ ***********/
.sponsor_company .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.sponsor_company .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.sponsor_company h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin: 0 auto 80px;
}

.sponsor_company h2.ud {
    position: relative;
    padding-bottom: 16px;
    margin-bottom: 40px;
}

.sponsor_company .sec1 h2.ud::after {
    content: "";
    width: 100%;
    max-width: 200px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.sponsor_company .sec5 h2.ud::after {
    content: "";
    width: 100%;
    max-width: 56px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.company-top-lists {
    max-width: 820px;
    margin: 0 auto 80px;
}

.company-top-lists .company-bnr-list {
    max-width: 400px;
    width: 100%;
}

.company-top-lists .flex-box {
    display: flex;
    flex-wrap: wrap;
}

.sponsor_company .company-top-lists .bnr-caption {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    padding: 3px 0 5px;
    background-color: #202020;
    margin-bottom: 20px;
}

.sponsor_company .company-top-lists .bnr-caption.gray {
    background-color: #c0c0c0;
    color: #000000;
}

.sponsor_company .company-top-lists .bnr-caption span {
    display: block;
}

.company-top-lists .bnr-text {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
}

.company-top-lists .company-bnr-list:nth-child(even) {
    margin-left: 20px;
}

.company-top-lists .company-bnr-list:nth-child(n + 3) {
    margin-top: 40px;
}

.company-top-lists .company-bnr-list.gray:nth-child(n + 3) {
    margin-top: 80px;
}

.company-bottom-lists {
    max-width: 1000px;
    margin: 0 auto 80px;
}

.company-bottom-lists .flex-box {
    display: flex;
    flex-wrap: wrap;
}

.company-bottom-lists .company-bnr-list {
    max-width: 320px;
    width: 100%;
}

.company-bottom-lists .company-bnr-list,
.company-cooperation-lists .company-bnr-list {
    max-width: 320px;
    width: 100%;
    margin-right: 20px;
}

.company-bottom-lists .company-bnr-list:nth-of-type(3n) {
    margin-right: 0;
}

.sponsor_company .company-bottom-lists .bnr-caption {
    font-size: 18px;
    font-weight: 700;
    margin: 20px 0;
    text-align: center;
}

.sponsor_company .company-bottom-lists .bnr-text {
    font-size: 14px;
    padding: 0 6px;
    line-height: 1.5;
    font-weight: 700;
}

.sponsor_company .company-bottom-lists .company-bnr-list:nth-child(n + 4) {
    margin-top: 40px;
}

.sponsor_company .sec4 {
    padding: 80px 0;
    position: relative;
}

.sponsor_company .sec4 .inner {
    max-width: 880px;
    margin: 0 auto;
}

.sponsor_company .sec4 .p1 {
    font-size: 16px;
    line-height: 2;
    font-weight: 700;
    text-align: center;
}

.sponsor_company .sec5 {
    padding: 80px 0;
    position: relative;
}

.company-cooperation-lists {
    max-width: 660px;
    margin: 0 auto;
}

.company-cooperation-lists .flex-box {
    display: flex;
    flex-wrap: wrap;
}

.company-cooperation-lists .company-bnr-list:nth-of-type(2n) {
    margin-right: 0;
}

.sponsor_company .company-cooperation-lists .bnr-caption {
    font-size: 18px;
    font-weight: 700;
    margin: 20px 0;
    text-align: center;
}

.sponsor_company .company-cooperation-lists .bnr-text {
    font-size: 14px;
    padding: 0 6px;
    line-height: 1.5;
    font-weight: 700;
}

.sponsor_company br.sp {
    display: none;
}

.sponsor_company .font-type {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro",
        "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック",
        "MS PGothic", sans-serif !important;
}

@media screen and (max-width: 1000px) {
    .company-bottom-lists {
        width: 1000px;
    }
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .sponsor_company .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 820px) {
    .company-top-lists {
        width: 820px;
    }
}

@media screen and (max-width: 768px) {
    .sponsor_company .page-ttl {
        margin: 44px auto 60px;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .sponsor_company br.sp {
        display: block;
    }

    .sponsor_company br.pc {
        display: none;
    }

    .sponsor_company .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .sponsor_company .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .sponsor_company h2.ud {
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        padding-bottom: 10px;
        margin: 0 auto 40px;
    }

    .sponsor_company .sec1 h2.ud::after {
        max-width: 164px;
    }

    .sponsor_company .sec5 h2.ud::after {
        content: "";
        width: 100%;
        max-width: 44px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .company-top-lists {
        max-width: 352px;
        width: 100%;
        margin: 0 auto 40px;
    }

    .company-top-lists .company-bnr-list:nth-child(n + 2) {
        margin-top: 40px;
    }

    .company-top-lists .company-bnr-list.gray:nth-child(n + 2) {
        margin-top: 40px;
    }

    .company-top-lists .company-bnr-list:nth-child(even) {
        margin-left: 0;
    }

    .sponsor_company .company-top-lists .bnr-caption {
        display: block;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
        line-height: 1;
        padding: 3px 0 5px;
        background-color: #202020;
        margin-bottom: 20px;
    }

    .company-top-lists .bnr-text {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 700;
        padding: 0 15px;
    }

    .company-bottom-lists {
        width: 100%;
        max-width: 352px;
        margin: 0 auto 60px;
    }

    .company-bottom-lists .company-bnr-list,
    .company-cooperation-lists .company-bnr-list {
        max-width: 352px;
        width: 100%;
        margin-right: 0;
    }

    .company-bottom-lists .company-bnr-list .bnr-img img {
        width: 100%;
    }

    .sponsor_company .company-bottom-lists .company-bnr-list:nth-child(n + 2) {
        margin-top: 40px;
    }

    .sponsor_company .company-bottom-lists .bnr-caption {
        font-size: 16px;
        font-weight: 700;
        margin: 20px 0;
        text-align: center;
    }

    .sponsor_company .company-bottom-lists .bnr-caption.mb-0 {
        margin: 20px 0 0;
    }

    .sponsor_company .company-bottom-lists .bnr-text {
        font-size: 12px;
        padding: 0 14px;
        line-height: 1.5;
        font-weight: 700;
    }

    .sponsor_company .sec4 {
        padding: 60px 0;
        position: relative;
    }

    .sponsor_company .sec4 .inner {
        max-width: 720px;
        margin: 0 auto;
        width: 100%;
        padding: 0 26px;
    }

    .sponsor_company .sec4 .p1 {
        font-size: 14px;
        line-height: 2;
        text-align: center;
        font-weight: 700;
    }

    .sponsor_company .sec5 {
        padding: 60px 0;
        position: relative;
    }

    .company-cooperation-lists {
        max-width: 352px;
        margin: 0 auto;
    }

    .sponsor_company .company-cooperation-lists .bnr-caption {
        font-size: 16px;
        font-weight: 700;
        margin: 20px 0;
        text-align: center;
    }

    .sponsor_company .company-cooperation-lists .bnr-text {
        font-size: 12px;
        padding: 0 14px;
        line-height: 1.5;
        font-weight: 700;
    }

    .company-cooperation-lists .company-bnr-list:last-child {
        margin-top: 40px;
    }
}

/********** 開催概要ページ ***********/
.page_overview section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto 80px;
    font-size: 3.2rem;
    font-weight: 500;
}

.page_overview .overview {
    padding: 0;
}

.page_overview .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.page_overview .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.page_overview .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.page_overview h2.ud span {
    display: inline-block;
    padding: 0 4px;
    position: relative;
}

.page_overview h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.page_overview h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 40px;
}

.page_overview h2.ud::after {
    content: "";
    width: 100%;
    max-width: 100px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.page_overview .sec1 p {
    margin: 0 auto;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

.page_overview .sec1 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 74px;
}

.page_overview .overview ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.page_overview .overview ul li p {
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    max-width: calc(100% - 240px);
    display: block;
}

.page_overview .overview ul li:last-child p {
    letter-spacing: 0;
    font-feature-settings: normal;
}

.page_overview .overview ul li:first-child {
    height: 110px;
}

.page_overview .overview ul li:first-child p {
    font-size: 16px;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    text-align: center;
}

.page_overview .overview ul li:last-child {
    margin-top: 4px;
}

.page_overview .overview ul li span.sml {
    display: block;
    font-weight: 400;
    margin: 3px auto 0;
    font-size: 16px;
}

.page_overview .sec1 {
    margin-bottom: 80px;
}

.page_overview h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.page_overview .sec2 {
    margin-bottom: 80px;
}

.page_overview .sec2 .map {
    margin: 0 auto;
    text-align: center;
}

.page_overview .sec2 p.p1 {
    font-size: 16px;
    margin-bottom: 40px;
    font-weight: 700;
    text-align: center;
}

.page_overview .sec3 p.p1 {
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    margin-bottom: 40px;
}

.page_overview .sec3 h4 {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: 0;
}

.page_overview .sec3 p.p2 {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

.page_overview .sec4 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .page_overview .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .page_overview .page-ttl img {
        max-width: 100%;
    }

    .page_overview .page-contents {
        padding: 0 11.5px;
    }

    .page_overview header h1 {
        max-width: 85px;
    }

    .page_overview .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .page_overview .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .page_overview .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .page_overview .page-ttl::after {
        height: 64px;
    }

    .page_overview h2.ud::after {
        max-width: 80px;
    }

    .page_overview h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 40px;
    }

    .speech h2.ud::after {
        content: "";
        width: 100%;
        max-width: 244px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .page_overview section {
        margin: 0 auto 40px;
    }

    .page_overview .sec1 p {
        margin: 0 auto;
        letter-spacing: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
    }

    .page_overview .sec1 {
        margin-bottom: 40px;
    }

    .page_overview section {
        font-size: 20px;
    }

    .page_overview h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .page_overview .overview ul li:last-child {
        margin-top: 20px;
    }

    .page_overview .sec2 {
        margin-bottom: 40px;
    }

    .page_overview .overview ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .page_overview .overview ul li:first-child {
        height: auto;
    }

    .page_overview .overview ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .page_overview .overview ul li + li {
        margin-top: 20px;
    }

    .page_overview .overview ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .page_overview .overview ul li p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 7px 0;
    }

    .page_overview .overview ul li:first-child p {
        height: 90px;
    }

    .page_overview .overview ul li p span {
        font-size: 16px;
    }

    .page_overview .overview ul li span.sml {
        font-size: 14px;
        margin: 4px auto 0;
    }

    .page_overview .sec2 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }

    .page_overview .sec3 h4 {
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1;
        padding-left: 15px;
        padding-right: 15px;
    }

    .page_overview .sec3 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }

    .page_overview .sec3 p.p2 {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
        letter-spacing: 0;
    }

    .page_overview .sec4 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/********** SNS運用ポリシーページ ***********/
.sns-policy section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    font-size: 3.2rem;
    font-weight: 500;
}

.sns-policy main {
    padding-bottom: 0;
}

.sns-policy .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.sns-policy .page-ttl > span {
    position: relative;
    z-index: 100;
    max-width: 880px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

.sns-policy .page-ttl span.pc-ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 128px;
}

.sns-policy .page-ttl span.pc-ttl > span {
    max-width: 360px;
    width: 100%;
    display: block;
    margin: 0;
}

.sns-policy .ttl-top {
    margin-bottom: 20px;
    max-width: 720px;
    width: 100%;
    display: block;
}

.sns-policy .page-ttl > span {
    position: relative;
    height: 100%;
    z-index: 100;
    flex-wrap: wrap;
    width: 100%;
    display: flex;
    margin: 0 auto;
}

.sns-policy .page-ttl > span > span {
    display: block;
    width: 100%;
}

.sns-policy .page-ttl span.pc-ttl > span:last-child {
    max-width: 440px;
}

.sns-policy .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.sns-policy h2.ud span {
    display: inline-block;
    padding: 0 4px;
    position: relative;
}

.sns-policy h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.sns-policy h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 80px;
}

.sns-policy h2.ud::after {
    content: "";
    width: 100%;
    max-width: 193px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.sns-policy section {
    margin-bottom: 80px;
}

.sns-policy section h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.sns-policy section p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: left;
    margin: 0 auto 40px;
}

.sns-policy .sec1 ul li {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-indent: -1em;
    letter-spacing: 0;
    padding-left: 1em;
}

.sns-policy .sec1 ul li + li {
    margin-top: 20px;
}

.sns-policy .sec2 ul li {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    text-indent: -1.25em;
    padding-left: 1.25em;
}

.sns-policy .sec2 ul li + li {
    margin-top: 20px;
}

.sns-policy .sec2 ul li ul {
    margin-top: 10px;
    letter-spacing: 0;
}

.sns-policy .sec2 ul li ul li {
    font-weight: 400;
    font-size: 14px;
}

.sns-policy .sec2 ul li ul li + li {
    margin-top: 10px;
}

.sns-policy .sec3 ul li {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-indent: -1.25em;
    padding-left: 1.25em;
    letter-spacing: 0;
}

.sns-policy .sec3 ul li + li {
    margin-top: 20px;
}

.sns-policy .sec4 p.p1 {
    font-weight: 700;
    line-height: 1.5;
    font-size: 16px;
    margin: 0 0 40px;
    font-feature-settings: normal;
}

.sns-policy .sec4 .link {
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 400 !important;
}

.sns-policy .sec4 .green-link {
    font-weight: 400 !important;
    font-size: 16px;
    letter-spacing: 0;
    display: inline !important;
    color: #00a0a0;
    margin-top: 5px;
    line-height: 1.5 !important;
    border-bottom: 1px solid #95cdcd;
    padding-bottom: 4px;
    font-weight: 400;
}

.sns-policy .sec4 h4 {
    font-size: 20px;
    line-height: 1;
    text-align: left;
    font-weight: 700;
    margin-bottom: 16px;
}

.sns-policy .sec4 .url-text {
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    line-height: 1.5;
    display: inline-block;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .sns-policy .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 920px) {
    .sns-policy .page-ttl > span {
        max-width: 920px;
        padding: 0 20px;
        width: 920px;
    }
}

@media screen and (max-width: 768px) {
    .sns-policy .sec4 .link {
        line-height: 2.2;
    }

    .sns-policy .sec4 .green-link {
        font-size: 14px !important;
        color: #00a0a0 !important;
        margin-top: 10px !important;
        letter-spacing: -0.05em !important;
        font-weight: 700 !important;
        line-height: 2.2;
    }

    .sns-policy .page-ttl img {
        max-width: 100%;
    }

    .sns-policy .page-contents {
        padding: 0 11.5px;
    }

    .sns-policy header h1 {
        max-width: 85px;
    }

    .sns-policy .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        height: 128px;
        border-bottom: 4px solid #c0c040;
    }

    .sns-policy .ttl-top {
        margin-bottom: 10px;
        width: 100%;
        display: block;
    }

    .sns-policy .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .sns-policy .page-ttl::after {
        height: 124px;
    }

    .sns-policy .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .sns-policy .page-ttl {
        margin: 44px auto 60px;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .sns-policy .page-ttl > span {
        max-width: 100%;
        padding: 0;
        width: 100%;
    }

    .sns-policy .page-ttl span {
        display: block;
    }

    .sns-policy .page-ttl span.pc-ttl {
        display: none;
    }

    .sns-policy .page-ttl span.sp-ttl {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .sns-policy .page-ttl span.sp-ttl {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 66px;
    }

    .sns-policy .page-ttl span.sp-ttl > span {
        max-width: 142px;
        width: 100%;
        display: block;
    }

    .sns-policy .page-ttl span.sp-ttl > span:last-child {
        max-width: 182px;
        margin: 0 0 0 21px;
    }

    .sns-policy .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .sns-policy .page-ttl span.sp-ttl > span:last-child {
        max-width: 182px;
        margin: 0 0 0 21px;
    }

    .sns-policy .page-ttl::after {
        height: 64px;
    }

    .sns-policy h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 40px;
    }

    .sns-policy h2.ud::after {
        content: "";
        width: 100%;
        max-width: 161px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .sns-policy .sec1 p.p1 {
        margin: 0 auto 20px;
        letter-spacing: 0;
        font-size: 14px;
        text-align: left;
        font-weight: 700;
        line-height: 1.5;
    }

    .sns-policy .sec1 {
        margin-bottom: 40px;
    }

    .sns-policy section {
        font-size: 20px;
    }

    .sns-policy section h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .sns-policy .sec1 ul li {
        font-size: 14px;
    }

    .sns-policy .sec2,
    .sns-policy .sec3,
    .sns-policy .sec4 {
        margin-bottom: 40px;
    }

    .sns-policy .sec2 ul li {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
        text-indent: -1.25em;
        padding-left: 1.25em;
    }

    .sns-policy .sec2 ul li ul li {
        font-weight: 400;
        font-size: 12px;
    }

    .sns-policy .sec3 ul li {
        font-size: 14px;
        font-weight: 700;
    }

    .sns-policy .sec4 p.p1 {
        font-size: 14px;
        font-weight: 700;
        text-align: left;
        margin-bottom: 40px;
    }

    .sns-policy .sec4 h4 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1.5;
    }

    .sns-policy .sec4 .url-text {
        font-size: 14px;
        font-weight: 700;
        text-align: left;
        line-height: 1.5;
        display: inline-block;
    }
}

/********** 協賛のご案内ページ ***********/
.sponsor section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
}

.sponsor .sec0 .speech-end-text p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 auto 60px;
    line-height: 1.5;
    font-size: 16px;
    border-radius: 0;
    content: "";
    color: #e00010;
    padding: 20px;
    width: 100%;
    border: 2px solid rgb(224, 0, 16);
}

.sponsor .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    z-index: 100;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.sponsor .page-ttl > span {
    position: relative;
    z-index: 100;
    max-width: 880px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

.sponsor .page-ttl span.pc-ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 128px;
}

.sponsor .page-ttl span.pc-ttl > span {
    max-width: 360px;
    width: 100%;
    display: block;
    margin: 0;
}

.sponsor .page-ttl span.pc-ttl > span:last-child {
    max-width: 440px;
}

.sponsor .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.sponsor h2.ud span {
    display: inline-block;
    padding: 0 4px;
    position: relative;
}

.sponsor h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.sponsor h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 40px;
}

.sponsor h2.ud::after {
    content: "";
    width: 100%;
    max-width: 148px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.sponsor .sec1 p {
    margin: 0 auto;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

.sponsor .sec1 {
    margin-bottom: 80px;
}

.sponsor h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.sponsor .sec2 {
    margin-bottom: 80px;
}

.sponsor .sec2 p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1;
    font-feature-settings: normal;
}

.sponsor .sec3 p.p1 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
}

.sponsor .sec3 .red-btn,
.sponsor .sec4 .red-btn {
    display: block;
    border-radius: 20px;
    padding: 6px 0 6px;
    text-align: center;
    width: 100%;
    font-weight: 700;
    line-height: 1;
    max-width: 320px;
    font-size: 20px;
    color: #fff;
    margin: 20px auto 0;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url(../images/2024/btn-arrow.html);
    background-color: #e00010;
}

.sponsor .sec4 .red-btn {
    margin: 20px auto;
}

.sponsor .sec4 p.p1 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

.sponsor .sec4 .contact-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sponsor .sec4 .contact-text span {
    font-size: 16px;
    display: block;
    font-weight: 700;
}

.sponsor .sec4 a.blu {
    display: block;
    margin: 20px auto 27px auto;
    max-width: 650px;
    text-align: center;
    background: #00a199;
    color: #fff;
    font-size: 20px;
    max-width: 320px;
    width: 100%;
    font-weight: 700;
    padding: 6px;
    border-radius: 20px;
    line-height: 1;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url(../images/2024/btn-arrow.html);
    letter-spacing: 0;
}

.sponsor .box-bg {
    padding: 40px;
    border-radius: 15px;
    background-color: #fff0f0;
}

.sponsor .sec4 h4 {
    line-height: 1;
    margin-bottom: 9px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.sponsor .sec4 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 20px;
    line-height: 1.5;
}

.sponsor .sec4 p.p2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #808080;
}

.sponsor .sec4 p.p3 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

.sponsor .sec5 {
    padding-top: 80px;
    position: relative;
}

.sponsor .sec5 .gradi_01 {
    width: 100%;
    height: 80px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    background: -moz-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: -webkit-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: linear-gradient(
        to bottom,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
}

.sponsor .sec5 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: left;
    margin: 0 auto 16px;
    line-height: 1.5;
}

.sponsor .sec5 .cau li {
    font-size: 16px;
    text-align: left;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom: 0;
    line-height: 1.5;
    font-feature-settings: normal;
}

.sponsor .sec5 ul.cau li .u-red {
    font-weight: 400;
    font-size: 16px;
}

.sponsor .sec5 ul.ul2 li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 74px;
}

.sponsor .sec5 ul.ul2 li:last-child {
    width: 100%;
    margin-top: 4px;
}

.sponsor .sec5 ul.ul2 li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.sponsor .sec5 ul.ul2 li p {
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    max-width: calc(100% - 240px);
    display: block;
    letter-spacing: 0;
    font-feature-settings: normal;
}

.sponsor .sec5 ul.ul2 li:last-child p {
    margin: 0 auto;
}

.sponsor .sec5 .note {
    font-size: 16px;
    font-weight: 400;
    margin-top: 14px;
    letter-spacing: 0;
    padding-left: 1em;
    text-indent: -1em;
}

.sponsor .sec5 .note + .note {
    margin-top: 0;
}

.sponsor .sec6 {
    margin-bottom: 80px;
}

.sponsor .sec6 p.p1 {
    font-weight: 700;
    line-height: 1.5;
    font-size: 16px;
    margin: 0;
    font-feature-settings: normal;
}

.sponsor .sec7 p.p1 {
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0;
}

.sponsor .sec7 p.p2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
}

.sponsor .sec7 {
    position: relative;
    padding-top: 80px;
    margin-bottom: 80px;
}

.sponsor .sec7 .gradi_01 {
    width: 100%;
    height: 80px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    background: -moz-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: -webkit-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: linear-gradient(
        to bottom,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .sponsor .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 920px) {
    .sponsor .page-ttl > span {
        max-width: 920px;
        padding: 0 20px;
        width: 920px;
    }
}

@media screen and (max-width: 768px) {
    .sponsor .page-ttl img {
        max-width: 100%;
    }

    .sponsor .sec0 {
        max-width: 720px;
        width: 100%;
        margin: 0 auto 40px !important;
        padding: 0 11.5px !important;
    }

    .sponsor .sec0 .speech-end-text p {
        margin: 0 auto 40px;
    }

    .sponsor .page-contents {
        padding: 0 11.5px;
    }

    .sponsor header h1 {
        max-width: 85px;
    }

    .sponsor .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        height: 128px;
        border-bottom: 4px solid #c0c040;
    }

    .sponsor .ttl-top {
        margin-bottom: 10px;
        width: 100%;
        display: block;
    }

    .sponsor .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .sponsor .page-ttl::after {
        height: 124px;
    }

    .sponsor .page-ttl {
        margin: 44px auto 60px;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .sponsor .page-ttl > span {
        max-width: 100%;
        padding: 0;
        width: 100%;
    }

    .sponsor .page-ttl span {
        display: block;
    }

    .sponsor .page-ttl span.pc-ttl {
        display: none;
    }

    .sponsor .page-ttl span.sp-ttl {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .sponsor .page-ttl span.sp-ttl {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 66px;
    }

    .sponsor .page-ttl span.sp-ttl > span {
        max-width: 142px;
        width: 100%;
        display: block;
    }

    .sponsor.page-ttl span.sp-ttl > span:last-child {
        max-width: 182px;
        margin: 0 0 0 21px;
    }

    .sponsor .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .sponsor .page-ttl span.sp-ttl > span:last-child {
        max-width: 182px;
        margin: 0 0 0 21px;
    }

    .sponsor .page-ttl::after {
        height: 64px;
    }

    .sponsor h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 12px;
    }

    .sponsor h2.ud::after {
        content: "";
        width: 100%;
        max-width: 128px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .sponsor .sec1 p {
        margin: 0 auto;
        letter-spacing: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
    }

    .sponsor .sec1 {
        margin-bottom: 40px;
    }

    .sponsor section {
        font-size: 20px;
    }

    .sponsor h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .sponsor .sec2 {
        margin-bottom: 40px;
    }

    .sponsor .sec2 p.p1 {
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.5;
        margin: 0 auto 40px;
    }

    .sponsor br.pc {
        display: none;
    }

    .sponsor .sec2 p.p2 {
        padding: 0 13px;
        text-align: left;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.5;
        margin: 0 auto;
        font-size: 14px;
        width: 100%;
        display: table;
    }

    .sponsor .sec3 p.p1 {
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 20px;
    }

    .sponsor .sec3 .mb-sp-48 {
        margin-bottom: 40px;
    }

    .sponsor .sec3 .red-btn,
    .sponsor .sec4 .red-btn {
        margin: 12px auto 6px;
        font-size: 14px;
        max-width: 240px;
        background-position: center right 10px;
        background-size: 5px 8px;
        margin: 10px auto 0;
    }

    .sponsor .sec4 .red-btn {
        margin: 12px auto 40px;
    }

    .sponsor .sec4 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    .sponsor .box-bg {
        padding: 40px 19px;
        border-radius: 15px;
        margin: 0 -5px;
        background-color: #fff0f0;
    }

    .sponsor .box-bg h4 {
        line-height: 1;
        margin-bottom: 10px;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
    }

    .sponsor .box-bg p.p1 {
        font-size: 16px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 10px;
        line-height: 1;
    }

    .sponsor .box-bg a.blu {
        display: block;
        margin: 10px auto 40px auto;
        max-width: 650px;
        text-align: center;
        background: #00a199;
        color: #fff;
        font-size: 14px;
        max-width: 240px;
        width: 100%;
        font-weight: 700;
        padding: 5px 0;
        border-radius: 20px;
        line-height: 1;
        background-position: center right 10px;
        background-size: 5px 8px;
        background-repeat: no-repeat;
        background-image: url(../images/2024/btn-arrow.html);
        letter-spacing: 0;
    }

    .sponsor .box-bg p.p2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid #808080;
    }

    .sponsor .box-bg p.p3 {
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
    }

    .sponsor .sec5 {
        padding-top: 60px;
        padding-bottom: 0;
        margin-bottom: 40px;
        position: relative;
    }

    .sponsor .sec5 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }

    .sponsor .sec5 ul.ul2 li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .sponsor .sec5 ul.ul2 li:last-child {
        margin-top: 20px;
    }

    .sponsor .sec5 ul.ul2 li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .sponsor .sec5 ul.ul2 li p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 7px 0;
    }

    .sponsor .sec5 ul.cau {
        padding-left: 15px;
        padding-right: 15px;
        margin: 0 0 20px;
    }

    .sponsor .sec5 .cau li {
        font-size: 12px;
        text-align: left;
        font-weight: 400;
        letter-spacing: 0;
        margin-bottom: 0;
        line-height: 1.5;
        font-feature-settings: normal;
    }

    .sponsor .sec5 ul.cau li .u-red {
        font-weight: 400;
        font-size: 12px;
    }

    .sponsor .sec5 .note {
        font-size: 12px;
        font-weight: 400;
        margin-top: 14px;
        padding-left: 1em;
        text-indent: -1em;
    }

    .sponsor .sec6 {
        margin-bottom: 40px;
    }

    .sponsor .sec6 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }

    .sponsor .sec7 p.p1 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 15px;
    }

    .sponsor .sec7 p.p2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
    }

    .sponsor .sec7 p.p2 + .p2 {
        margin-top: 7px;
        margin-bottom: 0;
    }

    .sponsor .sec7 {
        padding-top: 60px;
        margin-bottom: 40px;
    }

    .sponsor .sec7 h3.bg {
        position: relative;
        z-index: 1000;
    }
}

/********** ブース出展者募集ページ ***********/
.exhibitor_2.exhibitor section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 0;
    font-size: 3.2rem;
    font-weight: 500;
}

.exhibitor_2.exhibitor .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    z-index: 100;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.exhibitor_2.exhibitor .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.gradi_02 {
    width: 100%;
    height: 80px;
    position: absolute;
    top: 208px;
    left: 0;
    background: -moz-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: -webkit-linear-gradient(
        top,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
    background: linear-gradient(
        to bottom,
        rgba(248, 248, 248, 1) 0%,
        rgba(248, 248, 248, 0) 100%
    );
}

.exhibitor_2.exhibitor h2.ud span::after {
    content: none;
}

.exhibitor_2.exhibitor h2.ud span {
    display: block;
    color: #28c651;
    font-size: 20px;
    letter-spacing: 0.04em;
}

.exhibitor_2.exhibitor section p {
    letter-spacing: 0;
    font-feature-settings: normal;
}

.exhibitor_2.exhibitor .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.exhibitor_2.exhibitor h2.ud span {
    padding: 0 4px;
    position: relative;
}

.exhibitor_2.exhibitor h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.exhibitor_2.exhibitor h2.ud {
    position: relative;
    padding-bottom: 16px;
    margin-bottom: 40px;
}

.exhibitor_2.exhibitor h2.ud::after {
    content: "";
    width: 100%;
    max-width: 296px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.exhibitor_2.exhibitor .sec1 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 40px;
}

.exhibitor_2.exhibitor h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.exhibitor_2.exhibitor .sec1 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
}

.exhibitor_2.exhibitor .sec1 .right-text-box {
    max-width: calc(100% - 240px);
    width: 100%;
}

.exhibitor_2 .sec0 p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 auto 60px;
    line-height: 1.5;
    font-size: 16px;
    border-radius: 0;
    content: "";
    color: #e00010;
    padding: 20px;
    width: 100%;
    border: 2px solid #e00010;
}

.exhibitor_2.exhibitor .sec1 ul li {
    height: 54px;
}

.exhibitor_2.exhibitor .sec1 ul li p.p1 {
    font-size: 20px;
    margin: 0 auto;
}

.exhibitor_2.exhibitor .sec1 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    font-weight: bold;
    height: 100%;
    margin: 0;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.exhibitor_2.exhibitor .sec1 ul li p {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0;
    line-height: 1.5;
    text-align: center;
}

.exhibitor_2.exhibitor .sec2 .red-text,
.exhibitor_2.exhibitor .sec5 .red-text {
    color: #e00010;
    font-size: 16px;
    line-height: 2;
    font-weight: 700;
    margin: 0 auto 40px;
    letter-spacing: 0;
    text-align: center;
}

.exhibitor_2.exhibitor .sec2 ul {
    margin-bottom: 80px;
}

.exhibitor_2.exhibitor .sec2 ul li {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    text-indent: -1.25em;
    padding-left: 1.25em;
}

.exhibitor_2.exhibitor .sec2 ul li span {
    font-weight: 400;
}

.exhibitor_2.exhibitor .sec3 p.p1 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
}

.exhibitor_2.exhibitor .sec3 .flex-box,
.exhibitor_2.exhibitor .sec6 .flex-box {
    display: flex;
}

.exhibitor_2.exhibitor .sec3 .flex-box > div,
.exhibitor_2.exhibitor .sec6 .flex-box > div {
    padding: 0 20px;
    width: 50%;
}

.exhibitor_2.exhibitor .sec3 .flex-box .red-btn,
.exhibitor_2.exhibitor .sec4 .red-btn,
.exhibitor_2.exhibitor .sec6 .red-btn {
    display: block;
    border-radius: 20px;
    padding: 6px 0 6px;
    text-align: center;
    width: 100%;
    font-weight: 700;
    line-height: 1;
    max-width: 320px;
    font-size: 20px;
    color: #fff;
    margin: 20px auto 0;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url(../images/2024/btn-arrow.html);
    background-color: #e00010;
}

.exhibitor_2.exhibitor.speech .sec4-bottom .sec-bottom-right .red-btn {
    margin: 37px auto 16px;
}

.exhibitor_2.exhibitor.speech .sec4 .red-btn {
    margin: 18px auto 16px;
}

.exhibitor_2.exhibitor .sec3 .flex-box h4,
.exhibitor_2.exhibitor .sec6 .flex-box h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 3px;
    text-align: center;
}

.exhibitor_2.exhibitor .sec3 .flex-box p.p2,
.exhibitor_2.exhibitor .sec6 .flex-box p.p2 {
    font-size: 16px;
    text-align: center;
    font-weight: 700;
}

.exhibitor_2.exhibitor .sec4 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 40px;
}

.exhibitor_2.exhibitor .sec4 h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0;
    text-align: center;
}

.exhibitor_2.exhibitor .sec4 {
    margin-bottom: 80px;
    padding: 0;
}

.exhibitor_2.exhibitor .sec5 {
    padding-bottom: 0;
    padding-top: 80px;
    position: relative;
}

.exhibitor_2.exhibitor .sec5 .gradi_01,
.exhibitor_2.exhibitor .sec7 .gradi_01,
.exhibitor_2.exhibitor .sec10 .gradi_01 {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.exhibitor_2 .box-bg {
    padding: 40px;
    border-radius: 15px;
    background-color: #fff0f0;
}

.exhibitor_2.exhibitor .sec5 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 20px;
    line-height: 1;
}

.exhibitor_2.exhibitor .sec5 h4 {
    line-height: 1;
    margin-bottom: 9px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.exhibitor_2.exhibitor .sec5 a.blu {
    display: block;
    margin: 0 auto 40px auto;
    max-width: 650px;
    text-align: center;
    background: #00a199;
    color: #fff;
    font-size: 20px;
    max-width: 320px;
    width: 100%;
    font-weight: 700;
    padding: 6px;
    border-radius: 20px;
    line-height: 1;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url(../images/2024/btn-arrow.html);
    letter-spacing: 0;
}

.exhibitor_2.exhibitor .sec5 p.p2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #808080;
}

.exhibitor_2.exhibitor .sec5 p.p3 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
}

.exhibitor_2.exhibitor .sec6 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto;
}

.exhibitor_2.exhibitor .sec6 p.p2 {
    font-size: 16px;
    text-align: center;
    font-weight: 400;
    margin-bottom: 38px;
}

.exhibitor_2.exhibitor .sec6 ul {
    margin-top: 40px;
    margin-bottom: 80px;
}

.exhibitor_2.exhibitor .sec6 .flex-box p.p2 {
    margin-bottom: 20px;
}

.exhibitor_2.exhibitor .sec6 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
}

.exhibitor_2.exhibitor .sec6 .right-text-box {
    max-width: calc(100% - 240px);
    width: 100%;
}

.exhibitor_2.exhibitor .sec6 ul li:first-child,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) {
    height: 131px;
}

.exhibitor_2.exhibitor .sec6 ul li:last-child {
    height: 74px;
}

.exhibitor_2.exhibitor .sec6 ul li + li {
    margin-top: 4px;
}

.exhibitor_2.exhibitor .sec6 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    line-height: 1.5;
    font-weight: bold;
    height: 100%;
    margin: 0;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.exhibitor_2.exhibitor .sec6 ul li p {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0;
    line-height: 1.5;
    text-align: center;
}

.exhibitor_2.exhibitor .sec6 ul li:first-child p.p1,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p1 {
    border-bottom: 1px solid #808080;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.exhibitor_2.exhibitor .sec6 ul li.li4 {
    height: 78px;
}

.exhibitor_2.exhibitor .sec6 ul li.li4 .sml {
    display: block;
    font-size: 16px;
    font-weight: 400;
}

.exhibitor_2.exhibitor .sec6 ul li:first-child p.p2,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p2 {
    height: 53px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exhibitor_2.exhibitor .sec6 ul li:first-child p.p1,
.exhibitor_2.exhibitor .sec6 ul li:first-child p.p2,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p1,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p2,
.exhibitor_2.exhibitor .sec6 ul li:last-child p.p1 {
    font-size: 20px;
    margin: 0;
    font-weight: 700;
}

.exhibitor_2.exhibitor .sec6 ul li:first-child p.p1 span.sml,
.exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p1 span.sml {
    display: block;
    font-weight: 400;
    margin: 8px auto 0;
    font-size: 16px;
}

.exhibitor_2.exhibitor .sec6 h4 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.exhibitor_2.exhibitor .sec7 {
    padding-bottom: 0;
    padding-top: 80px;
    position: relative;
}

.exhibitor_2.exhibitor .sec7 p.p1,
.exhibitor_2.exhibitor .sec9 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: left;
    margin: 0 auto 20px;
    line-height: 1.5;
}

.exhibitor_2.exhibitor .sec7 p.p1 .red {
    color: #e00010;
}

.exhibitor_2.exhibitor .sec8 p.p1 {
    font-size: 16px;
    margin-bottom: 40px;
    font-weight: 700;
    text-align: center;
}

.exhibitor_2.exhibitor .sec8 .right-text-box {
    max-width: calc(100% - 240px);
    width: 100%;
}

.exhibitor_2.exhibitor .sec8 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
}

.exhibitor_2.exhibitor .sec8 ul li {
    height: 78px;
}

.exhibitor_2.exhibitor .sec8 ul li:last-child {
    height: 207px;
}

.exhibitor_2.exhibitor .sec8 ul li + li {
    margin-top: 4px;
}

.exhibitor_2.exhibitor .sec8 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    line-height: 1.5;
    font-weight: bold;
    height: 100%;
    margin: 0;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.exhibitor_2.exhibitor .sec8 ul li p {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0;
    line-height: 1.5;
    text-align: center;
}

.exhibitor_2.exhibitor .sec8 ul li:first-child p.p1 {
    margin-bottom: 0;
    font-size: 20px;
    letter-spacing: 0;
}

.exhibitor_2.exhibitor .sec8 ul li:first-child p.p1 .sml {
    font-size: 16px;
    font-weight: 400;
    display: block;
}

.exhibitor_2.exhibitor .sec8 ul li:last-child p.p1 {
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    font-size: 20px;
    letter-spacing: 0;
}

.exhibitor_2.exhibitor .sec8 ul li:last-child p.p1 .sml {
    font-size: 16px;
    font-weight: 400;
    display: block;
}

.exhibitor_2.exhibitor .sec8 ul li .green-link {
    font-size: 16px;
    display: block;
    color: #00a0a0;
    margin-top: 5px;
    border-bottom: 1px solid #95cdcd;
    padding-bottom: 4px;
    font-weight: 400;
}

.exhibitor_2.exhibitor .sec8 ul li:last-child p.p2 {
    border-top: 1px solid #808080;
    font-size: 16px;
    height: 97px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.exhibitor_2.exhibitor .sec10 {
    padding-top: 80px;
    position: relative;
}

.exhibitor_2.exhibitor .sec10 h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 22px;
    line-height: 1;
}

.exhibitor_2.exhibitor .sec10 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

.exhibitor_2.exhibitor .page-ttl span.sp-ttl {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .exhibitor_2.exhibitor .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .exhibitor_2.exhibitor .page-ttl img {
        max-width: 100%;
    }

    .exhibitor_2.exhibitor .page-contents {
        padding: 0 11.5px;
    }

    .exhibitor_2 .sec0 {
        margin: 0 auto 40px !important;
        padding: 0 11.5px !important;
    }

    .exhibitor_2 .sec0 p {
        margin: 0 auto;
    }

    .exhibitor_2.exhibitor header h1 {
        max-width: 85px;
    }

    .exhibitor_2.exhibitor .page-ttl img {
        max-width: 100%;
    }

    .exhibitor_2.exhibitor .page-contents {
        padding: 0 11.5px;
    }

    .exhibitor_2.exhibitor header h1 {
        max-width: 85px;
    }

    .exhibitor_2.exhibitor .page-ttl {
        margin: 44px auto 60px;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .exhibitor_2.exhibitor .page-ttl > span {
        max-width: 100%;
        padding: 0;
        width: 100%;
    }

    .exhibitor_2.exhibitor .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .exhibitor_2.exhibitor .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .exhibitor_2.exhibitor .page-ttl::after {
        height: 64px;
    }

    .exhibitor_2.exhibitor .page-ttl::after {
        height: 64px;
    }

    .gradi_02 {
        top: 110px;
    }

    .exhibitor_2.exhibitor h2.ud {
        font-size: 20px;
        padding-bottom: 10px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 40px;
    }

    .exhibitor_2.exhibitor h2.ud::after {
        content: "";
        width: 100%;
        max-width: 244px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .exhibitor h2.ud span {
        display: block;
        color: #28c651;
        font-size: 16px;
        letter-spacing: 0;
    }

    .exhibitor_2.exhibitor .sec1 {
        padding: 0 14.5px;
        margin-bottom: 60px;
    }

    .exhibitor_2.exhibitor .sec1 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 40px;
    }

    .exhibitor_2.exhibitor .sec1 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .exhibitor_2.exhibitor .sec1 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .exhibitor_2.exhibitor .sec1 ul li p.p1 {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1;
        padding: 0;
    }

    .exhibitor_2.exhibitor .sec1 .right-text-box {
        max-width: 100%;
        width: 100%;
        padding: 10px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .exhibitor_2.exhibitor .sec2 {
        margin: 0 auto 60px;
    }

    .exhibitor_2.exhibitor .sec2 ul {
        margin-bottom: 60px;
        padding-left: 14px;
        padding-right: 18px;
    }

    .exhibitor_2.exhibitor .sec2 ul li {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
        text-indent: -1.25em;
        padding-left: 1.25em;
    }

    .exhibitor_2.exhibitor .sec2 ul li + li {
        margin-top: 20px;
    }

    .exhibitor_2.exhibitor h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .exhibitor_2.exhibitor .sec3 p.p1 {
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 40px;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box,
    .exhibitor_2.exhibitor .sec6 .flex-box {
        display: block;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box > div,
    .exhibitor_2.exhibitor .sec6 .flex-box > div {
        padding: 0;
        width: 100%;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box h4,
    .exhibitor_2.exhibitor .sec6 .flex-box h4 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 3px;
        text-align: center;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box p.p2,
    .exhibitor_2.exhibitor .sec6 .flex-box p.p2 {
        font-size: 14px;
        text-align: center;
        font-weight: 700;
        line-height: 1;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box h4,
    .exhibitor_2.exhibitor .sec6 .flex-box h4 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 10px;
        text-align: center;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box .red-btn,
    .exhibitor_2.exhibitor .sec4 .red-btn,
    .exhibitor_2.exhibitor .sec6 .red-btn {
        margin: 12px auto 6px;
        font-size: 14px;
        max-width: 240px;
        background-position: center right 10px;
        background-size: 5px 8px;
        margin: 10px auto 0;
    }

    .exhibitor_2.exhibitor .sec3 .flex-box .left-box {
        margin-bottom: 40px;
    }

    .exhibitor_2.exhibitor .sec3 {
        margin: 0 auto 60px;
    }

    .exhibitor_2.exhibitor .sec4 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 40px;
    }

    .exhibitor_2.exhibitor .sec4 h4 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 0;
        text-align: center;
    }

    .exhibitor_2.exhibitor .sec4 {
        margin-bottom: 60px;
    }

    .exhibitor_2.exhibitor .sec5 {
        padding-bottom: 0;
        padding-top: 60px;
        margin: 0 auto 60px;
        position: relative;
    }

    .exhibitor .sec5 h3.bg {
        position: relative;
        z-index: 1000;
    }

    .exhibitor_2.exhibitor .sec2 .red-text,
    .exhibitor .sec5 .red-text {
        font-size: 14px;
    }

    .exhibitor_2 .box-bg {
        padding: 40px 19px;
        border-radius: 15px;
        margin: 0 -5px;
        background-color: #fff0f0;
    }

    .exhibitor_2.exhibitor .sec5 h4 {
        line-height: 1;
        margin-bottom: 10px;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
    }

    .exhibitor_2.exhibitor .sec5 p.p1 {
        font-size: 16px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 10px;
        line-height: 1;
    }

    .exhibitor_2.exhibitor .sec5 a.blu {
        display: block;
        margin: 10px auto 40px auto;
        max-width: 650px;
        text-align: center;
        background: #00a199;
        color: #fff;
        font-size: 14px;
        max-width: 240px;
        width: 100%;
        font-weight: 700;
        padding: 5px 0;
        border-radius: 20px;
        line-height: 1;
        background-position: center right 10px;
        background-size: 5px 8px;
        background-repeat: no-repeat;
        background-image: url(../images/2024/btn-arrow.html);
        letter-spacing: 0;
    }

    .exhibitor_2.exhibitor .sec5 p.p2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid #808080;
    }

    .exhibitor_2.exhibitor .sec5 p.p3 {
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
    }

    .exhibitor_2.exhibitor .sec6 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 15px;
    }

    .exhibitor_2.exhibitor .sec6 p.p2 {
        font-size: 14px;
        line-height: 20px;
        text-align: center;
        font-weight: 400;
        margin-bottom: 40px;
    }

    .exhibitor_2.exhibitor .sec6 .flex-box p.p2 {
        margin-bottom: 10px;
    }

    .exhibitor_2.exhibitor .sec6 .flex-box .left-box {
        margin-bottom: 40px;
    }

    .exhibitor_2.exhibitor .sec6 ul {
        margin-top: 60px;
        margin-bottom: 60px;
    }

    .exhibitor_2.exhibitor .sec6 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto !important;
    }

    .exhibitor_2.exhibitor .sec6 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .exhibitor_2.exhibitor .sec6 ul li p.p1 {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1;
        padding: 0;
    }

    .exhibitor_2.exhibitor .sec6 .right-text-box {
        max-width: 100%;
        width: 100%;
        padding: 0;
        display: block;
        align-items: center;
        justify-content: center;
    }

    .exhibitor_2.exhibitor .sec6 ul li:first-child p.p1,
    .exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p1 {
        height: 61px;
        font-size: 16px;
    }

    .exhibitor_2.exhibitor .sec6 ul li:last-child p.p1 {
        font-size: 16px;
        align-items: center;
        justify-content: center;
        display: flex;
        height: 38px;
    }

    .exhibitor_2.exhibitor .sec6 ul li:first-child p.p1 span.sml,
    .exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p1 span.sml {
        font-size: 14px;
        margin: 10px auto 0;
    }

    .exhibitor_2.exhibitor .sec6 ul li:first-child p.p2,
    .exhibitor_2.exhibitor .sec6 ul li:nth-child(2) p.p2 {
        font-size: 16px;
        height: 38px;
    }

    .exhibitor_2.exhibitor .sec6 ul li + li {
        margin-top: 20px;
    }

    .exhibitor_2.exhibitor .sec6 ul.ul2 {
        margin-bottom: 60px;
        margin-top: 40px;
    }

    .exhibitor_2.exhibitor .sec6 p.p1.p3 {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 15px;
    }

    .exhibitor_2.exhibitor .sec6 p.p5 {
        font-size: 14px;
        line-height: 20px;
        text-align: left;
        font-weight: 400;
        margin-bottom: 20px;
        text-indent: -1em;
        padding-left: 1em;
    }

    .exhibitor_2.exhibitor .sec6 h4 {
        font-size: 16px;
        font-weight: 700;
        text-align: center;
    }

    .exhibitor_2.exhibitor .sec6 p.p4 {
        font-size: 16px;
        line-height: 20px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 61px;
        margin-bottom: 0;
    }

    .exhibitor_2.exhibitor .sec6 ul li.li4 .sml {
        display: block;
        font-size: 14px;
        margin-top: 10px;
        font-weight: 400;
        line-height: 1;
    }

    .exhibitor_2.exhibitor .sec6 {
        margin: 0 auto 60px;
    }

    .exhibitor_2.exhibitor .sec7 {
        padding-bottom: 0;
        margin-bottom: 60px;
        padding-top: 60px;
        position: relative;
    }

    .exhibitor_2.exhibitor .sec7 h3.bg,
    .exhibitor_2.exhibitor .sec10 h3.bg {
        position: relative;
        z-index: 1000;
    }

    .exhibitor_2.exhibitor .sec7 p.p1,
    .exhibitor_2.exhibitor .sec9 p.p1 {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        text-align: left;
        margin: 0 auto 20px;
        line-height: 1.5;
        padding-left: 15px;
        padding-right: 15px;
    }

    .exhibitor_2.exhibitor .sec8 p.p1 {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 40px;
        font-weight: 700;
        text-align: left;
        padding-left: 15px;
    }

    .exhibitor_2.exhibitor .sec9 {
        margin-bottom: 60px;
    }

    .exhibitor_2.exhibitor .sec10 {
        padding-top: 60px;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
        margin-bottom: 60px;
    }

    .exhibitor_2.exhibitor .sec10 h4 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 20px;
        line-height: 1;
    }

    .exhibitor_2.exhibitor .sec10 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
    }

    .exhibitor_2.exhibitor .sec8 {
        margin: 0 auto 60px;
    }

    .exhibitor_2.exhibitor .sec8 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto !important;
    }

    .exhibitor_2.exhibitor .sec8 .right-text-box {
        max-width: 100%;
        width: 100%;
        padding: 10px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .exhibitor_2.exhibitor .sec8 ul .li2 .right-text-box {
        display: block;
    }

    .exhibitor_2.exhibitor .sec8 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .exhibitor_2.exhibitor .sec8 ul li p.p1 {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1;
        padding: 0;
    }

    .exhibitor_2.exhibitor .sec8 ul li + li {
        margin: 20px 0 0;
    }

    .exhibitor_2.exhibitor .sec8 ul li:first-child p.p1 {
        margin-bottom: 0;
        font-size: 16px;
        letter-spacing: 0;
    }

    .exhibitor_2.exhibitor .sec8 ul li.li1 .sml {
        display: block;
        font-size: 14px;
        margin-top: 10px;
        font-weight: 400;
        line-height: 1;
    }

    .exhibitor_2.exhibitor .sec8 ul li.li2 p.p1 {
        height: 85px;
        font-size: 16px;
    }

    .exhibitor_2.exhibitor .sec8 ul li.li2 p.p2 {
        height: 98px;
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
        padding: 0 14px;
    }

    .exhibitor_2.exhibitor .sec8 ul li:last-child p.p1 .sml {
        font-size: 14px;
        margin-top: 10px;
        font-weight: 400;
        display: block;
    }

    .exhibitor_2.exhibitor .sec8 ul li:last-child .right-text-box {
        padding: 0;
    }

    .exhibitor_2.exhibitor .sec8 ul li .green-link {
        font-size: 14px;
        display: block;
        color: #00a0a0;
        margin-top: 10px;
        letter-spacing: -0.05em;
        font-weight: 700;
    }
}

/********** よさこいページ ***********/
.yosakoi section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 0;
    font-size: 3.2rem;
    font-weight: 500;
}

.yosakoi .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.yosakoi .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.yosakoi h2.ud span::after {
    content: none;
}

.yosakoi h2.ud span {
    display: block;
    color: #28c651;
    font-size: 20px;
    letter-spacing: 0.04em;
}

.yosakoi section p {
    letter-spacing: 0;
    font-feature-settings: normal;
}

.yosakoi .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.yosakoi h2.ud span {
    padding: 0 4px;
    position: relative;
}

.yosakoi h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.yosakoi h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 40px;
}

.yosakoi h2.ud::after {
    content: "";
    width: 100%;
    max-width: 296px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.yosakoi .sec1 p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 5px;
}

.yosakoi .lg_viet,
.yosakoi section p.lg_viet {
    font-family: "Noto Sans JP", Helvetica, Helvetica Neue, serif;
    color: #a000a0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
}

.yosakoi h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.yosakoi .sec2 p.p1 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 14px;
}

.yosakoi .sec2 p.p1 span {
    font-size: 16px;
    vertical-align: 1px;
}

.yosakoi .sec2 p.p2 {
    letter-spacing: 0;
}

.yosakoi .sec2 p.cau {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0;
    padding-left: 0;
    text-indent: 0;
    margin: 0 0 15px;
}

.yosakoi .sec2 p.p3 {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0;
    padding-left: 0;
    line-height: 1.5;
}

.yosakoi h3.bg .lg_viet {
    display: inline-block;
    margin: 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0;
    position: relative;
    color: #fff;
    padding: 0;
}

.yosakoi .sec3 h3.bg .lg_viet::before,
.yosakoi .sec3 h3.bg .lg_viet::after {
    content: none;
}

.yosakoi .sec3 p.p1 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin: 0 auto 15px;
}

.yosakoi .sec3 p.p2 {
    letter-spacing: 0;
}

.yosakoi .sec4 {
    margin-bottom: 40px;
}

.yosakoi h3.bg .lg_viet::before,
.yosakoi h3.bg .lg_viet::after {
    content: none !important;
}

.yosakoi .sec4 > p.p1,
.yosakoi .sec4 > p.p3 {
    text-align: center;
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 700;
}

.yosakoi .sec4 > p.lg_viet {
    letter-spacing: 0;
    margin: 0 auto 38px;
}

.yosakoi .sec4 > p.p4.lg_viet {
    margin: 0 auto 27px;
}

.yosakoi .sec4 ul,
.yosakoi .sec5 ul {
    display: block;
    width: 100%;
}

.yosakoi .sec4 ul li,
.yosakoi .sec5 ul li,
.yosakoi .sec7 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
}

.yosakoi .sec4 .right-text-box,
.yosakoi .sec5 .right-text-box,
.yosakoi .sec7 .right-text-box {
    max-width: calc(100% - 240px);
    width: 100%;
}

.yosakoi .sec4 ul li:first-child {
    height: 89px;
}

.yosakoi .sec4 ul li:nth-child(2) {
    height: 164px;
}

.yosakoi .sec4 ul li + li {
    margin: 4px auto 0;
}

.yosakoi .sec4 ul li h4,
.yosakoi .sec5 ul li h4,
.yosakoi .sec7 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    font-weight: bold;
    height: 100%;
    margin: 0;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.yosakoi .sec4 ul li p,
.yosakoi .sec5 ul li p,
.yosakoi .sec7 ul li p {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.yosakoi .sec4 ul li h4::before {
    content: none;
}

.yosakoi .sec4 ul li h4 span,
.yosakoi .sec5 ul li h4 span,
.yosakoi .sec7 ul li h4 span {
    display: block;
    letter-spacing: 0;
    text-indent: 0;
    width: 100%;
    line-height: 1;
    background: none;
}

.yosakoi .sec4 ul li h4 span .lg_viet,
.yosakoi .sec5 ul li h4 span .lg_viet {
    margin-top: 3px;
}

.yosakoi .sec4 ul li.li1 p.p1 {
    margin: 0;
}

.yosakoi .sec4 ul li.li1 p.p1 .cau {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1;
    display: block;
    padding-left: 0;
}

.yosakoi .sec4 ul li.li1 p.p2 {
    margin-top: 2px;
}

.yosakoi .sec4 ul li p.lg_viet,
.yosakoi .sec7 ul li p.lg_viet {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    padding-left: 0 !important;
    letter-spacing: 0 !important;
}

.yosakoi .sec4 ul li h5 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

.yosakoi .sec4 ul li h5.lg_viet {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    text-align: center;
    text-indent: 0;
}

.yosakoi .sec4 ul li.li2 p.p1 {
    margin: 0 0 7px;
    line-height: 1.2;
}

.yosakoi .sec4 ul li.li2 p.p1 .sml {
    font-size: 16px;
}

.yosakoi .sec4 ul li.li2 p.p3 {
    margin: 0;
}

.yosakoi .sec4 ul li p.p3.lg_viet {
    margin-top: 2px;
}

.yosakoi .sec4 ul li.li2 p.p3 a {
    color: #28c651;
    letter-spacing: 0;
}

.yosakoi .sec4 .link,
.yosakoi .sec8 .link {
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 400 !important;
}

.yosakoi .sec8 .link {
    font-size: 0 !important;
    text-align: center !important;
}

.yosakoi .sec4 .green-link,
.yosakoi .sec8 .green-link {
    font-weight: 400 !important;
    font-size: 16px;
    letter-spacing: 0;
    display: inline !important;
    color: #00a0a0 !important;
    margin-top: 5px;
    line-height: 1.5 !important;
    border-bottom: 1px solid #95cdcd;
    padding-bottom: 4px;
    font-weight: 400;
}

.yosakoi .sec5 {
    padding: 0;
}

.yosakoi .sec5 ul li {
    height: 74px;
}

.yosakoi .sec5 ul li + li {
    margin: 6px auto 0;
}

.yosakoi .sec5 p.p1,
.yosakoi .sec7 ul li p.p1 {
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 5px;
}

.yosakoi .sec7 ul li p.p1 {
    margin: 0 0 10px;
}

.yosakoi .sec5 p.p2.lg_viet,
.yosakoi .sec7 ul li p.p2.lg_viet {
    margin: 0;
    line-height: 1;
    font-size: 16px;
}

.yosakoi .sec6 {
    padding: 0;
}

.yosakoi .sec7 ul li {
    height: 89px;
}

.yosakoi .sec7 ul {
    margin-bottom: 32px;
}

.yosakoi .sec7 p.p3 {
    text-align: center;
    font-weight: 700;
    line-height: 1;
    font-size: 20px;
    margin: 0 auto 20px;
}

.yosakoi .sec7 p.p4 {
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    font-size: 20px;
    margin: 0 auto 34px;
}

.yosakoi .sec7 .lg_viet {
    font-family: "Noto Sans JP", Helvetica, Helvetica Neue, serif;
    color: #a000a0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    line-height: 1.5;
}

.yosakoi .sec7 .p5.lg_viet {
    margin-bottom: 7px;
}

.yosakoi .sec6 h3.bg,
.yosakoi .sec8 h3.bg,
.yosakoi .sec9 h3.bg {
    margin: 0 auto 16px;
}

.yosakoi .sec6 p.p1,
.yosakoi .sec8 p.p1,
.yosakoi .sec9 p.p1 {
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    font-size: 20px;
    margin: 0 auto 16px;
}

.yosakoi .sec8 .border {
    font-size: 20px;
    line-height: 1;
    border: 3px solid #202020;
}

.yosakoi .sec8 .border a {
    font-size: 20px;
    line-height: 1;
    display: block;
    padding: 7px 0;
    font-weight: 700;
    text-align: center;
}

.yosakoi .sec9 p.p1 {
    line-height: 1;
}

.yosakoi .sec7,
.yosakoi .sec9 {
    margin: 0 auto 78px;
}

.yosakoi .sec7 h3.bg .lg_viet,
.yosakoi .sec8 h3.bg .lg_viet,
.yosakoi .sec9 h3.bg .lg_viet {
    padding: 0 0 0 11px;
}

.yosakoi .sec8 p.p2.lg_viet,
.yosakoi .sec9 p.p2.lg_viet {
    margin: 0;
    text-align: center;
    line-height: 1;
    font-size: 16px;
}

.yosakoi .sec8 p.p2.lg_viet {
    margin-bottom: 18px;
}

.yosakoi h2.ud span.sec-1-green-text {
    color: #a000a0;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .yosakoi .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .yosakoi .sec4 .link,
    .yosakoi .sec8 .link {
        line-height: 2.2;
        word-break: break-all;
        text-indent: 0 !important;
        padding-left: 0 !important;
    }

    .yosakoi .sec4 .green-link,
    .yosakoi .sec8 .green-link {
        text-indent: 0 !important;
        padding-left: 0 !important;
        font-size: 14px !important;
        color: #00a0a0 !important;
        margin-top: 10px !important;
        letter-spacing: -0.05em !important;
        font-weight: 700 !important;
        line-height: 2.2;
        word-break: break-all;
    }

    .yosakoi .page-ttl img {
        max-width: 100%;
    }

    .yosakoi .page-contents {
        padding: 0 11.5px;
    }

    .yosakoi header h1 {
        max-width: 85px;
    }

    .yosakoi .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .yosakoi .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .yosakoi .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .yosakoi .page-ttl::after {
        height: 64px;
    }

    .yosakoi h2.ud {
        font-size: 20px;
        padding-bottom: 11px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 11px;
    }

    .yosakoi h2.ud::after {
        content: "";
        width: 100%;
        max-width: 244px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .yosakoi h2.ud span {
        display: block;
        color: #28c651;
        font-size: 16px;
        letter-spacing: 0;
    }

    .yosakoi .sec1 p.p1 {
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
        letter-spacing: 0;
        text-align: center;
        margin: 0 auto 10px;
    }

    .yosakoi .sec1 p.p2.lg_viet {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0;
    }

    .yosakoi h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .yosakoi section.sec1 {
        margin: 0 auto 37px;
    }

    .yosakoi .sec2 p.p1 {
        font-size: 14px;
        line-height: 20px;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0;
        margin: 0 auto 10px;
    }

    .yosakoi .sec2 p.p1 span {
        font-size: 14px;
        display: block;
        line-height: 20px;
    }

    .yosakoi .sec2 p.p2 {
        font-size: 14px;
        text-align: center;
        margin-bottom: 25px;
        letter-spacing: 0;
        font-weight: 500;
    }

    .yosakoi .sec2 p.cau {
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        text-align: center;
        letter-spacing: 0;
        padding-left: 0;
        text-indent: 0;
        margin: 0 0 10px;
    }

    .yosakoi .sec2 p.p3 {
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        padding-left: 0;
        font-weight: 500;
        line-height: 20px;
    }

    .yosakoi section.sec2 {
        margin: 0 auto 54px;
    }

    .yosakoi section.sec3 {
        margin: 0 auto 70px;
    }

    .yosakoi .sec3 p.p1 {
        font-size: 14px;
        margin: 0 auto 10px;
    }

    .yosakoi .sec3 p.p2 {
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        padding-left: 0;
        font-weight: 500;
    }

    .yosakoi .sec4 {
        margin-bottom: 50px;
    }

    .yosakoi .sec4 > p.p1,
    .yosakoi .sec4 > p.p3 {
        font-size: 14px;
        line-height: 20px;
    }

    .yosakoi .sec4 > p.p3 {
        margin-bottom: 10px;
    }

    .yosakoi .sec4 > p.lg_viet {
        font-weight: 500;
        font-size: 14px;
        margin: 0 auto 26px;
    }

    .yosakoi .sec4 > p.p4.lg_viet {
        margin: 0 auto 18px;
    }

    .yosakoi .sec4 p {
        text-align: center;
        font-size: 14px;
        letter-spacing: 0;
        font-weight: 700;
        margin: 0 auto 40px;
    }

    .yosakoi .sec4 ul li,
    .yosakoi .sec5 ul li,
    .yosakoi .sec7 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .yosakoi .sec4 ul li h4,
    .yosakoi .sec5 ul li h4,
    .yosakoi .sec7 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .yosakoi .sec4 ul li h4 > span,
    .yosakoi .sec5 ul li h4 > span,
    .yosakoi .sec7 ul li h4 > span {
        display: flex;
        justify-content: center;
        font-size: 14px;
        align-items: center;
    }

    .yosakoi .sec4 ul li h4 span .lg_viet,
    .yosakoi .sec5 ul li h4 span .lg_viet,
    .yosakoi .sec7 ul li h4 span .lg_viet {
        width: auto;
        margin-top: 0;
        font-size: 12px;
        margin-left: 5px;
    }

    .yosakoi .sec5 ul li h4 span .lg_viet {
        margin-left: 0;
    }

    .yosakoi .sec4 ul li h4 span span {
        width: auto;
    }

    .yosakoi .sec4 ul p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 0;
    }

    .yosakoi .sec4 .right-text-box,
    .yosakoi .sec5 .right-text-box,
    .yosakoi .sec7 .right-text-box {
        max-width: 100%;
        width: 100%;
        padding: 10px 0;
    }

    .yosakoi .sec5 .right-text-box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .yosakoi .sec4 ul li,
    .yosakoi .sec5 ul li {
        height: auto !important;
    }

    .yosakoi .sec4 ul li.li1 p.p1 {
        margin: 0;
        font-size: 16px;
        line-height: 1.2;
    }

    .yosakoi .sec4 ul li.li1 p.p1 .cau {
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1;
        display: block;
        margin-top: 6px;
        padding-left: 0;
    }

    .yosakoi .sec4 ul li.li1 p.p2.lg_viet {
        padding-left: 10px;
        font-size: 14px;
        font-weight: 400;
        margin-top: 0;
    }

    .yosakoi .sec4 ul li h5 {
        margin-bottom: 9px;
    }

    .yosakoi .sec4 ul li.li2 p.p1 {
        margin: 0 0 7px;
        line-height: 1.2;
        font-size: 16px;
    }

    .yosakoi .sec4 ul li.li2 p.p1 .sml {
        font-size: 12px;
        margin-top: 7px;
        display: block;
        letter-spacing: 0;
    }

    .yosakoi .sec4 ul li h5.lg_viet {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1.2;
        margin: 0 0 7px;
        text-align: center;
        text-indent: 0;
    }

    .yosakoi .sec4 ul li.li2 p.p2 {
        padding-left: 0;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        margin: 0 0 6px;
    }

    .yosakoi .sec4 ul li p.p3.lg_viet {
        margin-top: 2px;
        font-weight: 400;
        text-indent: 0;
        font-size: 14px;
    }

    .yosakoi h3.bg .lg_viet {
        font-size: 14px;
    }

    .yosakoi .sec5 h3.bg {
        margin: 0 auto 28px;
    }

    .yosakoi .sec5 p.p1 {
        font-size: 16px;
        margin-bottom: 0;
    }

    .yosakoi .sec5 p.p2.lg_viet {
        font-size: 14px;
        padding-left: 4px;
        font-weight: 500;
    }

    .yosakoi .sec5 ul li + li {
        margin: 20px auto 0;
    }

    .yosakoi .sec5 {
        margin: 0 0 40px;
    }

    .yosakoi .sec6 h3.bg .lg_viet {
        margin-top: 5px;
        transform: scale(0.9, 1);
        transform-origin: top left;
        width: 111.11%;
    }

    .yosakoi .sec6 h3.bg {
        margin: 0 auto 20px;
    }

    .yosakoi .sec6 p.p1 {
        font-size: 14px;
        margin: 0 auto 9px;
    }

    .yosakoi .sec6 p.p2.lg_viet {
        letter-spacing: 0;
        font-size: 14px;
        font-weight: 500;
        line-height: 20px;
    }

    .yosakoi .sec6 {
        padding: 0;
        margin-bottom: 38px;
    }

    .yosakoi .sec6 h3.bg,
    .yosakoi .sec8 h3.bg,
    .yosakoi .sec9 h3.bg {
        margin: 0 auto 20px;
    }

    .yosakoi .sec7 ul {
        margin-bottom: 28px;
    }

    .yosakoi .sec7 h3.bg .lg_viet,
    .yosakoi .sec8 h3.bg .lg_viet,
    .yosakoi .sec9 h3.bg .lg_viet {
        padding: 0 0 0 5px;
    }

    .yosakoi .sec7 h3.bg {
        margin: 0 auto 28px;
    }

    .yosakoi .sec7 ul li p.p1 {
        margin: 0 0 8px;
        font-size: 16px;
    }

    .yosakoi .sec7 ul li p.p2.lg_viet {
        font-size: 14px;
        margin: 0 0 10px;
        font-size: 16px;
        padding-left: 0;
        font-weight: 500;
    }

    .yosakoi .sec7 p.p3 {
        text-align: center;
        font-weight: 700;
        line-height: 1;
        font-size: 14px;
        margin: 0 auto 8px;
    }

    .yosakoi .sec7 {
        margin: 0 auto 38px;
    }

    .yosakoi .sec7 p.p4 {
        text-align: center;
        font-weight: 700;
        line-height: 20px;
        font-size: 14px;
        margin: 0 auto 22px;
        padding: 0 15px;
    }

    .yosakoi .sec7 .p5.lg_viet {
        margin-bottom: 6px;
        font-weight: 500;
        font-size: 14px;
    }

    .yosakoi .sec7 .p6.lg_viet {
        margin-bottom: 7px;
        font-weight: 500;
        padding: 0 10px;
        font-size: 14px;
    }

    .yosakoi .sec9 p.p1 {
        line-height: 1;
        font-size: 14px;
    }

    .yosakoi .sec8 {
        margin-bottom: 40px;
    }

    .yosakoi .sec8 .border {
        font-size: 20px;
        line-height: 1;
        border: 2px solid #202020;
    }

    .yosakoi .sec8 .border a {
        font-size: 14px;
        line-height: 1;
        display: block;
        padding: 3px 0;
        font-weight: 700;
        text-align: center;
    }

    .yosakoi .sec8 p.p2.lg_viet,
    .yosakoi .sec9 p.p2.lg_viet {
        margin: 0;
        text-align: center;
        font-weight: 500;
        line-height: 1;
        font-size: 14px;
    }

    .yosakoi .sec8 p.p1 {
        font-size: 14px;
        line-height: 20px;
        margin: 0 auto 8px;
    }

    .yosakoi .sec8 p.p2.lg_viet {
        margin-bottom: 18px;
    }

    .yosakoi .sec9 {
        margin: 0 auto 47px;
    }
}

/********** スピーチコンテストページ ***********/
.speech section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    font-size: 3.2rem;
    font-weight: 500;
}

.speech .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.speech .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.speech .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.speech h2.ud span {
    display: inline-block;
    padding: 0 4px;
    position: relative;
}

.speech.contest h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.speech.contest h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 40px;
}

.speech h2.ud::after {
    content: "";
    width: 100%;
    max-width: 296px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.speech.exhibitor .sec1 p {
    margin: 0 auto;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

.speech.exhibitor .sec1 {
    margin-bottom: 80px;
}

.speech h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.speech.contest .sec2 {
    margin-bottom: 80px;
}

.speech.contest .sec2 p.p1 {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 auto 38px;
}

.speech.contest .sec2 p.p2 {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2;
    margin: 0 auto;
    font-size: 16px;
    font-feature-settings: normal;
}

.speech .sec3.overview {
    padding: 0;
    margin-bottom: 80px;
}

.speech .overview ul {
    display: block;
    width: 100%;
}

.speech .sec3.overview ul li,
.speech .sec4 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 74px;
}

.speech .sec4 ul li + li {
    margin-top: 4px;
}

.speech .sec4 ul li:first-child {
    height: 80px;
}

.speech .sec4 ul li:nth-child(3) {
    height: 286px;
}

.speech .sec3.overview ul li:last-child {
    width: 100%;
    margin-top: 4px;
}

.speech .sec4 ul li:last-child p {
    font-size: 16px;
}

.speech .overview ul li h4,
.speech .sec4 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.speech .sec3.overview ul li h4::before {
    content: none;
}

.speech .sec4 ul li h4 .middle-text {
    font-weight: 400;
    display: block;
    margin-top: 14px;
    line-height: 1.5;
}

.speech .sec3.overview p {
    text-align: center;
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 700;
    margin: 0 auto 38px;
}

.speech .sec3.overview ul li p,
.speech .sec4 p {
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    max-width: calc(100% - 240px);
    display: block;
    letter-spacing: 0;
    font-feature-settings: normal;
}

.speech .sec4 .right-text-box {
    width: 100%;
    font-size: 16px;
    max-width: calc(100% - 240px);
}

.speech .sec4 .right-text-box p {
    font-size: 16px;
    max-width: 100%;
}

.speech .sec4 .right-text-box p {
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #808080;
}

.speech .sec4 .right-text-box p:nth-child(2),
.speech .sec4 .right-text-box p:last-child {
    height: 49px;
}

.speech .sec4 .right-text-box p:nth-child(3) {
    height: 93px;
}

.speech .sec4 .right-text-box p:nth-child(4) {
    height: 98px;
}

.speech .sec4 .right-text-box p:last-child {
    border-bottom: none;
}

.sec4-bottom {
    padding: 0 20px;
    margin-top: 27px;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sec4-bottom h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sec4-bottom h3 .middle-text {
    font-size: 16px;
    display: block;
}

.sec-bottom-left,
.sec-bottom-right {
    max-width: 320px;
    width: 100%;
}

.sec4-bottom .red-btn {
    display: block;
    border-radius: 20px;
    padding: 6px 0 6px;
    text-align: center;
    width: 100%;
    line-height: 1;
    max-width: 320px;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    margin: 20px auto 16px;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url("../images/2024/btn-arrow.html");
    background-color: #e00010;
}

.sec4-bottom .sec-bottom-right .red-btn {
    margin: 37px auto 16px;
}

.speech .sec4 .sec-bottom-left p {
    max-width: 100%;
}

.speech .sec4 .sec-bottom-left p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.speech .sec4 .sec-bottom-left .green-note {
    color: #00a0a0;
    line-height: 1;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    padding: 0;
}

.speech .sec4 .sec-bottom-left .green-note a {
    color: #00a0a0;
}

.speech .sec4 {
    padding: 0 0 77px;
}

.speech .page-contents .sec4 {
    padding: 0;
    margin-bottom: 78px;
}

.speech .sec5 {
    padding: 0;
    margin-bottom: 80px;
}

.speech .sec5 .p1 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 26px;
}

.speech .sec5 .p2 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.speech.exhibitor .sec5 p.p2 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
    line-height: 1;
}

.speech .sec5 .p2 span {
    display: table;
    margin: 8px auto 0;
    font-size: 16px;
}

.speech .sec5 p a.blu {
    display: block;
    margin: 20px auto 27px auto;
    max-width: 650px;
    text-align: center;
    background: #00a199;
    color: #fff;
    font-size: 20px;
    max-width: 320px;
    width: 100%;
    font-weight: 700;
    padding: 6px;
    border-radius: 20px;
    line-height: 1;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url("../images/2024/btn-arrow.html");
    letter-spacing: 0;
}

.speech .sec5 li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 120px;
}

.speech .sec5 .right-text-box p {
    font-size: 16px;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
}

.speech .sec6 li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
}

.speech .sec6 ul li:first-child,
.speech .sec6 ul li:nth-child(2) {
    height: 120px;
}

.speech .sec6 ul li:last-child {
    height: 80px;
}

.speech .sec5 li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    margin-bottom: 0;
    border-right: 1px solid #808080;
}

.speech .sec5 li .right-text-box {
    margin: 0 auto;
}

.speech .sec6 {
    padding: 0 0 90px;
}

.speech.exhibitor .sec6 ul {
    margin-top: 0;
    margin-bottom: 0;
}

.speech .sec6 ul li + li {
    margin-top: 5px;
}

.speech .sec6 li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.speech .sec6 li .right-text-box {
    width: 100%;
}

.speech .sec6 li .right-text-box p {
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.speech .sec6 li:first-child p,
.speech .sec6 li:nth-child(2) p {
    height: 60px;
}

.speech .sec6 li:first-child p:first-child,
.speech .sec6 li:nth-child(2) p:first-child {
    border-bottom: 1px solid #808080;
}

.other-text {
    font-size: 16px;
    font-weight: 700;
    margin-top: 14px;
}

.speech .sec4 .right-text-box .middle-text-sp {
    display: none;
}

.speech .sec4-bottom h3 .middle-text-sp {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .speech .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .volunteer .page-ttl img {
        max-width: 100%;
    }

    .speech .page-contents {
        padding: 0 11.5px;
    }

    .speech header h1 {
        max-width: 85px;
    }

    .speech .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .speech .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .speech .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .speech .page-ttl::after {
        height: 64px;
    }

    .speech.contest h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 12px;
    }

    .speech h2.ud::after {
        content: "";
        width: 100%;
        max-width: 244px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .speech.exhibitor .sec1 p {
        margin: 0 auto;
        letter-spacing: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
    }

    .speech.exhibitor .sec1 {
        margin-bottom: 40px;
    }

    .speech section {
        font-size: 20px;
    }

    .speech h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .speech.contest .sec2 {
        margin-bottom: 40px;
    }

    .speech.contest .sec2 p.p1 {
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.5;
        margin: 0 auto 40px;
    }

    .speech br.pc {
        display: none;
    }

    .speech.contest .sec2 p.p2 {
        padding: 0 13px;
        text-align: left;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.5;
        margin: 0 auto;
        font-size: 14px;
        width: 100%;
        display: table;
    }

    .speech .sec3.overview p {
        text-align: center;
        font-size: 14px;
        letter-spacing: 0;
        font-weight: 700;
        margin: 0 auto 40px;
    }

    .speech .sec3.overview ul li,
    .speech .sec4 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .speech.exhibitor .sec3.overview ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .speech .sec3.overview ul li p,
    .speech .sec4 p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 7px 0;
    }

    .speech .sec3.overview ul li:last-child {
        width: 100%;
        margin-top: 20px;
    }

    .speech .sec3.overview {
        padding: 0;
        margin-bottom: 40px;
    }

    .speech .sec4 ul li:first-child {
        height: auto;
    }

    .speech .sec4 ul li:nth-child(3) {
        height: auto;
    }

    .speech .overview ul li h4,
    .speech .sec4 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .speech .sec4 ul li + li {
        margin-top: 20px;
    }

    .speech .sec4 ul li h4 .middle-text {
        display: none;
    }

    .speech .sec4 .right-text-box p {
        font-size: 14px;
        padding: 4px 0;
        max-width: 100%;
    }

    .speech .sec4 .right-text-box .middle-text-sp {
        display: block;
        font-size: 12px;
        font-weight: 400;
        padding: 9px 0;
        line-height: 1;
    }

    .speech .sec4 .right-text-box {
        width: 100%;
        font-size: 16px;
        max-width: 100%;
    }

    .speech .sec4 .right-text-box p:first-child,
    .speech .sec4 .right-text-box p:last-child {
        height: auto;
    }

    .speech .sec4 .right-text-box p:nth-child(2) {
        height: auto;
    }

    .speech .sec4 .right-text-box p:nth-child(3),
    .speech .sec4 .right-text-box p:nth-child(4) {
        height: auto;
        padding: 6px 0;
    }

    .speech .sec4 .right-text-box p:last-child {
        padding: 6px 0;
    }

    .sec4-bottom {
        padding: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        display: block;
    }

    .sec-bottom-left,
    .sec-bottom-right {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }

    .sec4-bottom h3 {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
    }

    .sec4-bottom h3 .middle-text {
        display: none;
    }

    .speech .sec4-bottom h3 .middle-text-sp {
        display: block;
        font-size: 14px;
        line-height: 1;
        margin-top: 5px;
    }

    .exhibitor.speech .sec4-bottom .sec-bottom-left .red-btn,
    .exhibitor.speech .sec4-bottom .sec-bottom-right .red-btn {
        margin: 12px auto 6px;
        font-size: 14px;
        max-width: 240px;
        background-position: center right 10px;
        background-size: 5px 8px;
    }

    .exhibitor.speech .sec4-bottom .sec-bottom-right .red-btn {
        margin: 10px auto 0;
    }

    .speech .sec4 .sec-bottom-left .green-note {
        color: #00a0a0;
        line-height: 1;
        margin-bottom: 7px;
        font-size: 14px;
        padding: 5px;
        font-weight: 700;
        padding: 0;
        text-align: center;
    }

    .speech .sec4 .sec-bottom-left p {
        font-size: 12px;
        text-align: left;
        font-weight: 400;
        padding: 0;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .sec4-bottom .sec-bottom-right .red-btn {
        margin: 10px auto 0;
    }

    .speech .page-contents .sec4 {
        padding: 0 0 40px;
        margin-bottom: 0;
    }

    .speech .sec5 {
        margin-bottom: 40px;
    }

    .speech .sec5 .p1 {
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 20px;
    }

    .speech .sec5 .p2,
    .speech.exhibitor .sec5 p.p2 {
        font-size: 16px;
        font-weight: 700;
        text-align: center;
        line-height: 1;
    }

    .speech .sec5 .p2 span {
        display: table;
        margin: 10px auto 0;
        font-size: 14px;
    }

    .speech .sec5 p a.blu {
        display: block;
        margin: 10px auto 20px auto;
        max-width: 650px;
        text-align: center;
        background: #00a199;
        color: #fff;
        font-size: 14px;
        max-width: 240px;
        width: 100%;
        font-weight: 700;
        padding: 5px 0;
        border-radius: 20px;
        line-height: 1;
        background-position: center right 10px;
        background-size: 5px 8px;
        background-repeat: no-repeat;
        background-image: url(../images/2024/btn-arrow.html);
        letter-spacing: 0;
    }

    .speech .sec5 li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #808080;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .speech .sec5 li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        line-height: 1;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .speech .sec6 li .right-text-box {
        width: 100%;
        max-width: 100%;
    }

    .speech .sec5 .right-text-box p {
        padding: 10px 0;
    }

    .speech .sec6 {
        padding: 0 0 62px;
    }

    .exhibitor.speech .sec6 li {
        display: block;
    }

    .speech .sec6 ul li:first-child,
    .speech .sec6 ul li:nth-child(2) {
        height: auto;
    }

    .exhibitor.speech .sec6 li:first-child h4 {
        line-height: 1.5;
    }

    .exhibitor.speech .sec6 li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
        line-height: 1;
    }

    .other-text {
        font-size: 12px;
        font-weight: 400;
        margin-top: 7px;
    }

    .speech .sec6 ul li + li {
        margin-top: 20px;
    }

    .speech .sec6 li:first-child p,
    .speech .sec6 li:nth-child(2) p {
        height: auto;
        padding: 7px 0;
    }

    .speech .sec6 ul li:last-child {
        height: auto;
    }

    .speech .sec6 ul li:last-child p {
        padding: 7px 0;
    }
}

/********** ボランティアページ ***********/
.volunteer section {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    font-size: 3.2rem;
    font-weight: 500;
}

.volunteer .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.volunteer .sec0 {
    margin: 0 auto 80px;
}

.volunteer .sec0 .speech-end-text p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 auto 60px;
    line-height: 1.5;
    font-size: 16px;
    border-radius: 0;
    content: "";
    color: #e00010;
    padding: 20px;
    width: 100%;
    border: 2px solid rgb(224, 0, 16);
}

.volunteer .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.volunteer .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.volunteer h2.ud span {
    display: inline-block;
    padding: 0 4px;
    position: relative;
}

.volunteer h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.volunteer h2.ud {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 40px;
}

.volunteer h2.ud::after {
    content: "";
    width: 100%;
    max-width: 296px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.volunteer .sec1 p {
    margin: 0 auto;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

.volunteer .sec1 {
    margin-bottom: 80px;
}

.volunteer h3.bg {
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}

.volunteer .sec2 {
    margin-bottom: 80px;
}

.volunteer .sec2 p.p1 {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 auto 38px;
}

.volunteer .sec2 p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1;
    font-feature-settings: normal;
}

.volunteer section.overview {
    padding: 0;
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
    margin-bottom: 80px;
    font-weight: 500;
}

.volunteer .sec3 ul {
    margin: 0 auto 0;
}

.volunteer .sec3.overview ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 74px;
}

.volunteer .sec3.overview ul li:nth-child(2),
.volunteer .sec3.overview ul li:nth-child(3),
.volunteer .sec3.overview ul li:last-child {
    height: 80px;
}

.volunteer .sec3.overview ul li:nth-child(3) p span {
    font-size: 14px;
    padding-left: 8px;
    margin-top: -1px;
    display: inline-block;
    vertical-align: 2px;
}

.volunteer .sec3 ul li:last-child p {
    font-size: 16px;
}

.volunteer .overview ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.volunteer .overview ul li h4::before {
    content: none;
}

.volunteer .sec3.overview ul li p {
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    max-width: calc(100% - 240px);
    display: block;
    letter-spacing: 0;
    font-feature-settings: normal;
}

.volunteer .sec3.overview ul li + li {
    margin-top: 4px;
}

.volunteer .sec4 {
    margin-bottom: 80px;
    padding: 0;
}

.volunteer .sec4 .link {
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 400 !important;
}

.volunteer .sec4 .green-link {
    font-weight: 400 !important;
    font-size: 16px;
    letter-spacing: 0;
    display: inline !important;
    color: #00a0a0;
    margin-top: 5px;
    line-height: 1.5 !important;
    border-bottom: 1px solid #95cdcd;
    padding-bottom: 4px;
    font-weight: 400;
}

.volunteer .sec4 h3.bg {
    margin: 0 auto 40px;
}

.volunteer .sec4 ul li {
    font-feature-settings: normal !important;
}

.volunteer .sec4 ul.ul1 li {
    margin: 0 auto 20px;
    font-weight: bold;
    font-size: 20px;
}

.volunteer .sec4 ul.ul1 li span {
    font-size: 16px;
    padding-left: 0;
    display: block;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0;
    margin-top: 10px;
}

.volunteer .sec4 .recruitment-middle-text {
    font-size: 16px;
    font-weight: 700;
}

.volunteer .sec4 .group-text {
    margin-top: 40px;
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 700;
}

.volunteer .sec4 ul.ul2 li {
    font-weight: bold;
    font-size: 20px;
}

.volunteer .sec4 .sec4-bottom-box {
    margin-top: 42px;
}

.volunteer .sec4 .sec4-bottom-box .cau li {
    letter-spacing: 0;
    text-align: left;
}

.volunteer .sec4 .sec4-bottom-box h4 {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    margin-bottom: 26px;
}

.volunteer .sec4 .sec4-bottom-box li {
    font-size: 16px;
    margin-bottom: 0;
    line-height: 30px;
}

.volunteer .sec5 {
    padding: 0;
    margin-bottom: 80px;
}

.volunteer .sec5 p {
    font-feature-settings: normal;
    line-height: 1.5;
    letter-spacing: 0;
    font-size: 20px;
    font-weight: 700;
}

.volunteer .sec5 p.note {
    font-size: 16px;
    font-weight: 400;
    margin-top: 10px;
}

.volunteer .sec3 ul {
    margin: 0 auto 0;
}

.volunteer .sec6 {
    margin-bottom: 80px;
}

.exhibitor.volunteer .page-contents .sec6 ul li {
    padding-left: 0;
    text-indent: 0;
    margin: 0;
    border: 1px solid #808080;
    width: 100%;
    display: flex;
    align-items: center;
    height: 74px;
}

.exhibitor.volunteer .page-contents .sec6 ul li + li {
    margin-top: 4px;
}

.exhibitor.volunteer .sec6 ul {
    margin-bottom: 0;
    margin-top: 0;
}

.volunteer .sec6 ul li h4 {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    font-weight: bold;
    height: 100%;
    max-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f8f8f8;
    border-right: 1px solid #808080;
}

.volunteer .sec6 ul li p {
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    max-width: calc(100% - 240px);
    display: block;
    letter-spacing: 0;
    font-feature-settings: normal;
}

.exhibitor.volunteer .sec7 {
    padding-top: 0;
}

.volunteer .sec7 {
    margin-bottom: 80px;
}

.volunteer .sec7 p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    font-size: 20px;
    line-height: 1.5;
    margin: 0 auto;
}

.volunteer .sec7 p .sml {
    font-size: 16px;
    font-weight: 400;
    display: block;
}

.volunteer .sec8 {
    margin-bottom: 80px;
}

.volunteer .sec8 h4 {
    line-height: 1;
    letter-spacing: 0;
    margin: 0 auto 15px;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
}

.volunteer ul.cau li {
    padding-left: 0;
    border: 0;
    display: block;
    text-indent: 0;
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
    font-feature-settings: normal;
    text-align: center;
    height: auto !important;
}

.volunteer .sec8 ul.cau {
    margin: 0 0 40px;
}

.volunteer .sec8 .contect-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.volunteer .sec8 .contect-text span {
    font-size: 16px;
    display: block;
    font-weight: 700;
}

.volunteer .sec8 p a.blu {
    display: block;
    margin: 20px auto 27px auto;
    max-width: 650px;
    text-align: center;
    background: #00a199;
    color: #fff;
    font-size: 20px;
    max-width: 320px;
    width: 100%;
    font-weight: 700;
    padding: 6px;
    border-radius: 20px;
    line-height: 1;
    background-position: center right 12px;
    background-size: 6px 10px;
    background-repeat: no-repeat;
    background-image: url(../images/2024/btn-arrow.html);
    letter-spacing: 0;
}

.volunteer .sec9 {
    margin-bottom: 80px;
}

.volunteer .sec9 p.p1 {
    font-weight: 700;
    line-height: 1.5;
    font-size: 16px;
    margin: 0;
    font-feature-settings: normal;
}

.volunteer .sec10 {
    max-width: 100%;
    position: relative;
    padding-top: 80px;
    margin-bottom: 80px;
}

.volunteer .sec10 .inner {
    max-width: 720px;
    width: 100%;
}

.volunteer .sec10 h3.bg {
    max-width: 720px;
}

.volunteer .sec10 p.p1 {
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 15px;
}

.volunteer .sec10 p.p2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
    .volunteer .page-ttl img {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .volunteer .sec4 .link {
        line-height: 2.2;
        word-break: break-all;
        text-indent: 0 !important;
        padding-left: 0 !important;
    }

    .volunteer .sec4 .green-link {
        text-indent: 0 !important;
        padding-left: 0 !important;
        font-size: 14px !important;
        color: #00a0a0 !important;
        margin-top: 10px !important;
        letter-spacing: -0.05em !important;
        font-weight: 700 !important;
        line-height: 2.2;
        word-break: break-all;
    }

    .volunteer .sec0 .speech-end-text p {
        margin: 0 auto 40px;
    }

    .volunteer .sec0 {
        max-width: 720px;
        width: 100%;
        margin: 0 auto 40px !important;
        padding: 0 11.5px !important;
    }

    .volunteer .page-contents {
        padding: 0 11.5px;
    }

    .volunteer .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .volunteer .page-ttl {
        padding: 0;
    }

    .volunteer .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .volunteer .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .volunteer .page-ttl::after {
        height: 64px;
    }

    .volunteer header h1 {
        max-width: 85px;
    }

    .volunteer .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        border-bottom: 4px solid #c0c040;
    }

    .volunteer h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 12px;
    }

    .volunteer h2.ud::after {
        content: "";
        width: 100%;
        max-width: 244px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .volunteer .sec1 p {
        margin: 0 auto;
        letter-spacing: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 2;
    }

    .volunteer .sec1 {
        margin-bottom: 40px;
    }

    .volunteer h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
    }

    .volunteer .sec4 h3.bg {
        margin: 0 auto 20px;
    }

    .volunteer .sec2 {
        margin-bottom: 40px;
    }

    .volunteer .sec2 p {
        text-align: center;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 2;
        margin: 0 auto;
        font-size: 14px;
        line-height: 1;
        font-feature-settings: normal;
    }

    .volunteer .sec3 h3.bg {
        margin: 0 auto 28px;
    }

    .volunteer section.overview {
        margin-bottom: 40px;
    }

    .volunteer .sec3.overview p {
        text-align: center;
        font-size: 14px;
        letter-spacing: 0;
        font-weight: 700;
        margin: 0 auto 40px;
    }

    .volunteer .sec3.overview ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .volunteer .sec3.overview ul li:nth-child(2),
    .volunteer .sec3.overview ul li:nth-child(3),
    .volunteer .sec3.overview ul li:last-child {
        height: auto;
    }

    .volunteer .sec3.overview ul li + li {
        margin-top: 20px;
    }

    .volunteer .sec3.overview ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .volunteer .sec3.overview ul li p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 7px 0;
    }

    .volunteer .sec3.overview ul li:nth-child(3) p span {
        font-size: 12px;
        padding-left: 6px;
        margin-top: -1px;
        display: inline-block;
        vertical-align: 1px;
    }

    .volunteer .sec4 {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .volunteer .sec4 ul.ul1 {
        margin: 0 auto 18px;
        padding-left: 15px;
        padding-right: 10px;
    }

    .volunteer .sec4 ul.ul2 {
        padding-left: 15px;
        padding-right: 10px;
    }

    .volunteer .sec4 ul.ul1 li {
        margin: 0 auto 20px;
        font-weight: bold;
        font-size: 14px;
        line-height: 20px;
    }

    .volunteer .sec4 ul.ul1 li span {
        font-size: 12px;
        padding-left: 0;
        display: block;
        font-weight: 400;
        font-feature-settings: "palt";
        letter-spacing: 0;
        margin-top: 5px;
    }

    .volunteer .sec4 .group-text {
        margin-top: 18px;
        padding-left: 15px;
        font-size: 14px;
        margin-bottom: 20px;
        font-weight: 700;
    }

    .volunteer .sec4 ul.ul2 li {
        font-weight: bold;
        font-size: 14px;
    }

    .volunteer ul.cau {
        padding-right: 10px;
    }

    .volunteer .sec4 .sec4-bottom-box {
        margin-top: 27px;
        padding-left: 15px;
    }

    .volunteer .sec4 .sec4-bottom-box li {
        font-size: 12px;
        margin-bottom: 0;
        line-height: 20px;
    }

    .volunteer .sec4 .sec4-bottom-box h4 {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .volunteer .sec5 {
        margin-bottom: 40px;
    }

    .volunteer .sec5 p {
        line-height: 1.5;
        letter-spacing: 0;
        font-size: 14px;
        text-align: left;
        font-weight: 700;
        padding-left: calc(15px + 1em);
        text-indent: -1em;
        padding-right: 12px;
    }

    .volunteer .sec5 p.note {
        font-size: 12px;
        font-weight: 400;
        margin-top: 5px;
        padding-left: 15px;
        text-indent: 0;
    }

    .volunteer .sec6 {
        margin-bottom: 40px;
    }

    .volunteer .sec6 h3.bg {
        margin: 0 auto 28px;
    }

    .exhibitor.volunteer .page-contents .sec6 ul li {
        padding-left: 0;
        text-indent: 0;
        margin: 0;
        border: 1px solid #000000;
        width: 100%;
        display: block;
        align-items: center;
        height: auto;
    }

    .volunteer .sec6 ul li {
        height: auto;
    }

    .exhibitor.volunteer .page-contents .sec6 ul li + li {
        margin-top: 20px;
    }

    .volunteer .sec6 ul li h4 {
        font-size: 14px;
        width: 100%;
        margin: 0;
        background-color: #f0f0f0;
        height: auto;
        padding: 7px 0;
        border-bottom: 1px solid #000000;
        max-width: 100%;
        border-right: none;
    }

    .volunteer .sec6 ul li p {
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
        line-height: 1.5;
        padding: 7px 0;
    }

    .volunteer .sec7 {
        margin-bottom: 42px;
    }

    .volunteer .sec7 p {
        text-align: center;
        font-weight: 700;
        letter-spacing: 0;
        font-size: 14px;
        line-height: 1.5;
        margin: 0 auto;
    }

    .volunteer .sec7 p .sml {
        font-size: 12px;
        font-weight: 400;
        display: block;
    }

    .volunteer .sec8 {
        margin-bottom: 40px;
    }

    .volunteer .sec8 h4 {
        line-height: 20px;
        letter-spacing: 0;
        margin: 0 auto 9px;
        font-weight: bold;
        text-align: center;
        font-size: 14px;
    }

    .volunteer .sec8 ul.cau {
        margin: 0 0 20px;
        padding-right: 0;
    }

    .volunteer .sec8 ul.cau li {
        font-size: 12px;
        line-height: 20px;
    }

    .volunteer .sec8 .contect-text {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
    }

    .volunteer .sec8 .contect-text span {
        margin-top: 5px;
        font-size: 14px;
        display: block;
        font-weight: 700;
    }

    .volunteer .sec8 p a.blu {
        display: block;
        margin: 10px auto 20px auto;
        max-width: 650px;
        text-align: center;
        background: #00a199;
        color: #fff;
        font-size: 14px;
        max-width: 240px;
        width: 100%;
        font-weight: 700;
        padding: 5px 0;
        border-radius: 20px;
        line-height: 1;
        background-position: center right 10px;
        background-size: 5px 8px;
        background-repeat: no-repeat;
        background-image: url(../images/2024/btn-arrow.html);
        letter-spacing: 0;
    }

    .volunteer .sec9 {
        margin-bottom: 40px;
    }

    .volunteer .sec9 p.p1 {
        font-weight: 700;
        line-height: 20px;
        font-size: 14px;
        padding-left: 15px;
        padding-right: 15px;
        font-feature-settings: normal;
        margin: 0;
    }

    .volunteer .sec10 {
        padding-top: 60px;
        margin-bottom: 50px;
    }

    .volunteer .sec10 .gradi_01 {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
    }

    .volunteer .sec10 .inner {
        position: relative;
        z-index: 1000;
        padding-left: 14px;
        padding-right: 14px;
    }

    .volunteer .sec10 h3 {
        position: relative;
        z-index: 1000;
    }

    .volunteer .sec10 p.p1 {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 15px;
    }

    .volunteer .sec10 p.p2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
    }

    .volunteer .sec10 p.p2 + .p2 {
        margin-top: 7px;
    }
}

/* =============================
  20240808追記
============================= */
.speech.exhibitor .sec0 {
    margin: 0 auto 80px;
}

.speech.exhibitor .sec0 .speech-end-text p {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 auto 60px;
    line-height: 1.5;
    font-size: 16px;
    border-radius: 0;
    content: "";
    color: #e00010;
    padding: 20px;
    width: 100%;
    border: 2px solid rgb(224, 0, 16);
}

@media screen and (max-width: 768px) {
    .speech.exhibitor .sec0 {
        max-width: 720px;
        width: 100%;
        margin: 0 auto 40px !important;
        padding: 0 11.5px !important;
    }

    .speech.contest h2.ud {
        margin: 0 auto 20px;
    }

    .speech.exhibitor .sec0 .speech-end-text p {
        margin: 0 auto 40px;
    }
}

/* 240822追記 */
.company-top-lists {
    max-width: 560px;
    margin: 0 auto 80px;
}

.company-top-lists .flex-box {
    display: block;
}

.company-top-lists .company-bnr-list {
    max-width: 560px;
    width: 100%;
}

.company-top-lists .company-bnr-list:nth-child(n + 2) {
    margin-top: 40px;
}

.company-top-lists .company-bnr-list:nth-child(even) {
    margin-left: 0;
}

.company-top-lists .company-bnr-list .bnr-img img {
    width: 100%;
    max-width: 100%;
}

.sponsor_company .bnr-img a {
    display: block;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .company-top-lists {
        max-width: 352px;
        width: 100%;
        margin: 0 auto 40px;
    }
}

/* 240822 grayのみ横並び */
.company-top-lists.gray {
    max-width: 820px;
    margin: 0 auto 80px;
}

.company-top-lists.gray .company-bnr-list {
    max-width: 400px;
    width: 100%;
}

.company-top-lists.gray .flex-box {
    display: flex;
    flex-wrap: wrap;
}

.company-top-lists.gray .company-bnr-list:nth-child(even) {
    margin-left: 20px;
}

.company-top-lists.gray .company-bnr-list:nth-child(2) {
    margin-top: 0;
}

.company-top-lists.gray .company-bnr-list:nth-child(n + 3) {
    margin-top: 40px;
}

.sponsor_company .ootsuka {
    display: inline-block;
}

.sponsor_company .ootsuka img {
    width: 250px;
    vertical-align: -2px;
    height: auto;
}

.se5-bottom {
    max-width: 720px;
    margin: 40px auto 0;
    padding-top: 40px;
    border-top: 1px solid #808080;
}

.se5-bottom p {
    font-size: 16px;
    line-height: 2;
    font-weight: 700;
    text-align: center;
}

.se5-bottom p br.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .company-top-lists.gray {
        max-width: 352px;
        width: 100%;
        margin: 0 auto 40px;
    }

    .company-top-lists.gray .company-bnr-list:nth-child(n + 2) {
        margin-top: 40px;
    }

    .company-top-lists.gray .company-bnr-list:nth-child(even) {
        margin-left: 0;
    }

    .sponsor_company .ootsuka img {
        width: 220px;
        vertical-align: -2px;
        height: auto;
    }

    .se5-bottom p {
        font-size: 14px;
        line-height: 2;
        font-weight: 700;
        text-align: center;
    }

    .se5-bottom p br.sp {
        display: block;
    }
}

/* 240822　月間ページ新デザイン */
.month_2024.month_wrap {
    background: url(../images/2024/month_2024-bg.html) repeat;
    padding: 78px 0 78px;
}
.month_2024.month_wrap .lead h2 {
    line-height: 1;
    color: #000000;
    font-size: 32px;
    padding: 0 0 6px;
    font-weight: 700;
    margin: 0 auto 10px;
    letter-spacing: 0;
}
.month_2024.month_wrap .lead h2 {
    position: relative;
}
.month_2024.month_wrap .lead h2::after {
    content: "";
    width: 100%;
    max-width: 540px;
    height: 5px;
    background: #dd302b;
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
}
.month_2024.month_wrap .lead {
    background: url(../images/2024/month_lead_bg_2024.html) no-repeat;
    background-size: 100% 100%;
    padding: 16px 0 18px;
    position: relative;
    text-align: center;
    max-width: 720px;
    margin: 0 auto 78px;
}
.month_2024.month_wrap .lead p {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    line-height: 32px;
    letter-spacing: 0;
    font-weight: 500;
}
.month_2024.month_wrap .lead::before,
.month_2024.month_wrap .lead::after {
    background: none;
}
.month_2024.month_wrap ul.shopList > li {
    display: block;
    margin: 0 auto 40px;
    max-width: 720px;
    width: 100%;
}
.month_2024.month_wrap ul.shopList > li h3 {
    color: #fff;
    padding: 10px 0;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    background-color: #d1ab62;
}
.month_2024.month_wrap ul.shopList > li .txt {
    width: 100%;
    background: #fff;
    padding: 26px 0 0;
}
.month_2024.month_wrap ul.shopList > li .img {
    max-width: 720px;
    width: 100%;
    background-size: cover;
    height: 405px;
    background-position: center;
}
.month_wrap.month_2024 ul.shopList li.li1 .img {
    background-image: url(../images/2024/month_i1_sp_2024.html);
}
.month_2024.month_wrap ul.shopList > li .txt dl > div {
    display: flex;
    height: 75px;
    align-items: center;
}
.month_2024.month_wrap ul.shopList > li .txt dl > div dt {
    max-width: 102px;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    height: 100%;
    letter-spacing: 0;
    margin: 0;
    background-color: #f8f8f8;
}
.month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd2 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
}
.month_2024.month_wrap ul.shopList > li.li1 .txt dl > div dd.dd2 {
    flex-flow: column;
}
.month_2024.month_wrap ul.shopList > li.li2 .txt dl dd.dd4 {
    font-size: 16px;
}
.month_wrap.month_2024 ul.shopList > li.li7 .txt dl dd.dd4,
.month_wrap.month_2024 ul.shopList > li.li10 .txt dl dd.dd4 {
    font-size: 16px;
}
.month_2024.month_wrap ul.shopList > li.li12 .txt dl dd.dd3 {
    font-size: 16px;
}
.month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd1,
.month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd3,
.month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd4 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
}
.month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd1 .sml {
    font-size: 16px;
    font-weight: 400;
    padding-left: 15px;
}
.month_2024.month_wrap ul.shopList > li.li7 .txt dl > div:nth-child(2),
.month_2024.month_wrap ul.shopList > li.li12 .txt dl > div:nth-child(2) {
    height: 120px;
}
.month_2024.month_wrap ul.shopList > li .txt p {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 20px;
    font-weight: 700;
    line-height: 2;
    padding: 0 16px;
}
.month_2024.month_wrap ul.shopList > li .txt dl dt span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: none;
    position: relative;
    height: 100%;
    z-index: 1;
}
.month_2024.month_wrap ul.shopList > li .txt dl > div:last-child dt,
.month_2024.month_wrap ul.shopList > li .txt dl > div:last-child dd {
    border-bottom: 1px solid #808080;
}
.month_2024.month_wrap ul.shopList > li .txt dl dt,
.month_2024.month_wrap ul.shopList > li .txt dl dd {
    border-top: 1px solid #808080;
    border-left: 1px solid #808080;
    height: 100%;
}
.month_2024.month_wrap ul.shopList > li .txt dl dd {
    max-width: calc(100% - 102px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #808080;
    width: 100%;
    height: 100%;
}

.month_2024.month_wrap ul.shopList > li .txt dl dd.dd4 a {
    font-weight: 400 !important;
    font-size: 16px;
    letter-spacing: 0;
    display: inline !important;
    color: #00a0a0;
    margin-top: 5px;
    line-height: 1.5 !important;
    border-bottom: 1px solid #95cdcd;
    padding-bottom: 4px;
    font-weight: 400;
}

.month_2024.month_wrap ul.shopList > li .txt dl dt::before {
    content: none;
}
.month_2024.month_wrap ul.shopList > li.li8 .txt dl dd {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #808080;
    width: 100%;
    height: 100%;
}
.month_2024.month_wrap ul.shopList > li.li12 .txt dl dd.dd4 {
    display: flex;
    line-height: 1.5;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #808080;
    width: 100%;
    font-size: 16px;
    height: 100%;
}
.month_2024.month_wrap p.cau1 {
    max-width: 720px;
    margin: 0 auto;
}
.month_wrap.month_2024 ul.shopList li.li12 .img {
    background-image: url(../images/2024/month_i12_2024_new.html);
}
.month_2024.month_wrap ul.shopList > li.li12 .img {
    height: 405px;
}
.month_2024.month_wrap ul.shopList > li br.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .month_2024.month_wrap {
        background: url(../images/2024/month_2024-bg.html) repeat;
        padding: 62px 0 78px;
    }
    .month_2024.month_wrap .lead h2 {
        line-height: 1;
        color: #000000;
        font-size: 18px;
        padding: 0 0 4px;
        font-weight: 700;
        margin: 0 auto 4px;
        letter-spacing: 0;
    }
    .month_2024.month_wrap .lead h2 {
        position: relative;
    }
    .month_2024.month_wrap .lead h2::after {
        content: "";
        width: 100%;
        max-width: 205px;
        height: 2px;
        background: #dd302b;
        position: absolute;
        bottom: -2px;
        left: 50%;
        transform: translateX(-50%);
    }
    .month_2024.month_wrap .lead {
        background: url(../images/2024/month_lead_bg_2024.html) no-repeat;
        background-size: 100% 100%;
        padding: 8px 0 6px;
        position: relative;
        text-align: center;
        max-width: 720px;
        margin: 0 auto 44px;
    }
    .month_2024.month_wrap .lead p {
        font-size: 10px;
        font-weight: 700;
        color: #000000;
        line-height: 16px;
        letter-spacing: 0;
        font-weight: 500;
    }
    .month_2024.month_wrap ul.shopList > li h3 {
        color: #fff;
        padding: 12px 0 14px;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        line-height: 24px;
        background-color: #d1ab62;
    }
    .month_2024.month_wrap ul.shopList > li br.sp {
        display: block;
    }
    .month_2024.month_wrap .inner {
        max-width: 100%;
        width: calc(100% - 23px);
        margin: 0 auto;
    }
    .month_2024.month_wrap ul.shopList > li .img {
        max-width: 100%;
        width: 100%;
        background-size: cover;
        height: inherit;
        background-position: center;
        aspect-ratio: 16 / 9; /* 16:9のアスペクト比 */
    }
    .month_2024.month_wrap ul.shopList > li .txt p {
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        margin: 0 auto 15px;
        font-weight: 700;
        line-height: 1.5;
        padding: 0 21px;
    }
    .month_2024.month_wrap ul.shopList > li .txt {
        width: 100%;
        background: #fff;
        padding: 20px 0 0;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div {
        display: block;
        height: auto;
        align-items: center;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div dt {
        max-width: 100%;
        padding: 7px 0;
        width: 100%;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        height: 100%;
        letter-spacing: 0;
        margin: 0;
        background-color: #f8f8f8;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl dd {
        max-width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        border-right: 1px solid #808080;
        width: 100%;
        height: 100%;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl dd {
        max-width: 100%;
        display: block;
        justify-content: center;
        align-items: center;
        border-right: 1px solid #808080;
        width: 100%;
        height: 100%;
        padding: 13px 0;
        font-size: 14px !important;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl dt,
    .month_2024.month_wrap ul.shopList > li .txt dl dd {
        border-right: 1px solid #808080;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd1 .sml {
        font-size: 10px;
        display: block;
        font-weight: 400;
        padding-left: 0;
        margin-top: 5px;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div dd .address-sml {
        font-size: 10px;
    }
    .month_2024.month_wrap ul.shopList > li.li1 .txt dl > div dd.dd2 {
        line-height: 1.2;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div dd.dd4 {
        font-size: 12px !important;
    }
    .month_2024.month_wrap ul.shopList > li.li2 .txt dl dd.dd4 {
        font-size: 10px !important;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl > div:last-child dt {
        border-bottom: none;
    }
    .month_2024.month_wrap ul.shopList > li.li7 .txt dl > div:nth-child(2),
    .month_2024.month_wrap ul.shopList > li.li12 .txt dl > div:nth-child(2) {
        height: auto;
    }
    .month_2024.month_wrap ul.shopList > li.li12 .txt dl dd.dd3 {
        padding: 13px 10px;
    }
    .month_2024.month_wrap ul.shopList > li:last-child {
        margin: 0 auto;
    }
    .month_2024.month_wrap ul.shopList > li .txt dl dd.dd4 a {
        font-size: 12px;
    }
}
@media screen and (max-width: 470px) {
    .month_2024.month_wrap ul.shopList > li.li12 .img {
        height: 240px;
    }
}

.month_wrap.month_2024 ul.shopList li.li4 .img {
    background-image: url(../images/2024/gekkan-img_0.html);
}
/*
.month_wrap.month_2024 ul.shopList li.li4 .img {
    height: 405px;
}
*/

/* ベトナムコーヒーInstagram キャンペーン */
.coffee .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.coffee .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.coffee .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}


.page.coffee-2024 .coffeeCp {
    background: #FEFBC8 url(../images/2024/VF_instaCP_PC_back.html) repeat;
    background-size: 1080px auto;
    padding: 28px 0 175px;
}
.page.coffee-2024 .mainImg .sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .coffee .page-ttl {
        margin: 44px auto 0;
        height: 66px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }
    .page.coffee-2024 .page-ttl::after {
        height: 64px;
    }
    .page.coffee-2024 .img1 {
        text-align: center;
        margin: 0 auto 40px;
    }
    .page.coffee-2024 .mainImg .pc {
        display: none;
    }
    .page.coffee-2024 .mainImg .sp {
        display: block;
    }
    .page.coffee-2024 h2.mainImg {
        width: 135%;
    }
    .coffee .page-ttl img {
        max-width: 320px;
        width: 100%;
    }

    .coffee .page-ttl {
        padding: 0;
    }

    .coffee .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .coffee .page-ttl img {
        max-width: 182px;
        width: 100%;
    }
    .page.coffee-2024 .coffeeCp {
        background: #FEFBC8 url(../images/2024/VF_instaCP_SP_back.html) repeat;
        background-size: 1080px auto;
        padding: 28px 0 40px;
    }
}

.month_2024_new.month_wrap.month_2024 ul.shopList li.li1 .img {
    background-image: url(../images/2024/gekkan-img_1.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li2 .img {
    background-image: url(../images/2024/gekkan-img_2.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li3 .img {
    background-image: url(../images/2024/gekkan-img_3.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li4 .img {
    background-image: url(../images/2024/gekkan-img_4.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li5 .img {
    background-image: url(../images/2024/gekkan-img_5.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li6 .img {
    background-image: url(../images/2024/gekkan-img_6.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li7 .img {
    background-image: url(../images/2024/gekkan-img_7.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li8 .img {
    background-image: url(../images/2024/gekkan-img_8.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li9 .img {
    background-image: url(../images/2024/gekkan-img_9.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li10 .img {
    background-image: url(../images/2024/gekkan-img_10.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li11 .img {
    background-image: url(../images/2024/gekkan-img_11.html);
}
.month_2024_new.month_wrap.month_2024 ul.shopList li.li12 .img {
    background-image: url(../images/2024/gekkan-img_12.html);
}
.month_wrap.month_2024 ul.shopList > li .txt dl dd.dd4 {
    letter-spacing: normal;
}

/* =============================
 イベントページ
============================= */
.event-2024 .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.event-2024 .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.event-2024 .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}

.page.event-2024 main {
    background: none;
}

.event-2024 h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 85px;
}

.event-2024 h2.ud {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 40px;
}

.event-2024 h2.ud::after {
    content: "";
    width: 100%;
    max-width: 143px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.event-2024 h2.ud span::after {
    content: none;
}
.page.event-2024 .read {
    margin-bottom: 80px;
    padding: 0;
}
.page.event-2024 .read .inner {
    max-width: 720px;
    margin: 0 auto;
    width: 100%;
}
.page.event-2024 .read p.p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 16px;
    line-height: 2;
    font-weight: 700;
}
.page.event-2024 h3.bg {
    height: auto;
    background: #202020;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    padding: 6px 0;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 auto 20px;
}
.pamp-wrap {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}
.page.event-2024 .pamph .inner {
    max-width: 720px;
    margin: 0 auto;
    width: 100%;
}
.page.event-2024 .pamph .p1 {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 40px;
    line-height: 2;
    font-weight: 700;
}
.page.event-2024 .pamp-wrap .pamph ul.pamphList {
    display: flex;
    justify-content: flex-start;
    margin: 0 auto 40px;
}
.page.event-2024 .pamph .pamp-wrap ul.pamphList li {
    margin-left: 20px;
    max-width: 320px;
    width: 100%;
}
.page.event-2024 .pamph .pamp-wrap ul.pamphList li:first-child {
    margin-left: 0;
}

.page.event-2024 .pamph .green-link {
    font-size: 16px;
    margin: 40px auto 0;
    display: table;
    color: #029d8f;
    border-bottom: 1px solid #029d8f;
    font-weight: 400;
}

.page.event-2024 .ambassador {
    padding: 80px 0;
    position: relative;
}
.page.event-2024 .ambassador h3.bg {
    margin: 0 auto 40px;
    letter-spacing: 0;
}

.page.event-2024 .ambassador .inner,
.page.event-2024 .supporter .inner,
.page.event-2024 .guest .inner {
    max-width: 720px;
    margin: 0 auto;
    width: 100%;
}
.page.event-2024 .ambassador .flex-box {
    display: flex;
}
.page.event-2024 .ambassador .ambassador-inner,
.page.event-2024 .supporter .supporter-inner {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.page.event-2024 .guest .guest-inner {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.page.event-2024 .ambassador .ambassador-inner .txt-box {
    max-width: 540px;
    width: 100%;
    margin-top: 40px;
    padding-right: 55px;
    padding-top: 40px;
    padding-left: 100px;
    padding-bottom: 60px;
    margin-left: -40px;
    background-color: #fff0f0;
    border-radius: 20px;
}
.page.event-2024 .ambassador .ambassador-img {
    width: 100%;
    max-width: 300px;
    position: relative;
    z-index: 100;
}
.event-2024 h4.am-name {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.event-2024 h4.am-name {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.event-2024 h4.am-name::after {
    content: "";
    width: 100%;
    max-width: 98px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 0;
}
.event-2024 .ambassador .flex-name {
    display: flex;
    justify-content: space-between;
}
.event-2024 .red-text {
    font-size: 16px;
    font-weight: 700;
    color: #e00010;
    padding-top: 10px;
}
.event-2024 .ambassador .p1,
.event-2024 .ambassador .p2 {
    font-size: 16px;
    letter-spacing: 0;
    font-feature-settings: normal;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 30px;
}
.event-2024 .ambassador .p2 {
    margin-bottom: 0;
}
.event-2024 .ambassador .profile {
    font-size: 16px;
    color: #e00010;
    margin-bottom: 10px;
    font-weight: 700;
}
.page.event-2024 .supporter h3.bg,
.page.event-2024 .guest h3.bg {
    margin: 0 auto 40px;
    letter-spacing: 0;
}
.page.event-2024 .supporter {
    padding: 0 0 80px;
}
.page.event-2024 .supporter-img,
.page.event-2024 .guest-img {
    margin: 0 auto;
    text-align: center;
}
.supporter-bottom-text {
    text-align: center;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0;
    font-weight: 700;
    margin-top: 40px;
}
.page.event-2024 .supporter .txt-box {
    max-width: 800px;
    width: 100%;
    margin-top: -40px;
    padding-right: 80px;
    padding-top: 80px;
    padding-left: 80px;
    padding-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff0f0;
    border-radius: 20px;
}
.page.event-2024 .guest .txt-box {
    max-width: 560px;
    width: 100%;
    margin-top: -40px;
    padding-right: 38px;
    padding-top: 80px;
    padding-left: 38px;
    padding-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff0f0;
    border-radius: 20px;
}
.event-2024 .supporter-flex h4.am-name {
    margin-bottom: 20px;
}
.event-2024 .left h4.am-name::after {
    content: "";
    width: 100%;
    max-width: 75px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.event-2024 .right h4.am-name::after {
    content: "";
    width: 100%;
    max-width: 250px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.event-2024 .supporter-flex {
    display: flex;
    justify-content: center;
    max-width: 640px;
}
.event-2024 .supporter-flex .left,
.event-2024 .supporter-flex .right {
    max-width: 320px;
    width: 100%;
    text-align: center;
}
.event-2024 .supporter-flex .red-text {
    padding-top: 0;
    text-align: center;
}
.event-2024 .supporter-flex h4.am-name {
    text-align: center;
}
.event-2024 .supporter-flex {
    display: flex;
}
.page.event-2024 br.sp {
    display: none;
}
.event-2024 .guest-box .red-text {
    padding-top: 0;
    text-align: center;
}
.event-2024 .guest-box h4.am-name {
    margin-bottom: 20px;
    text-align: center;
}
.event-2024 .guest-box h4.am-name::after {
    left: 50%;
    max-width: 98px;
    transform: translateX(-50%);
}
.event-2024.page .guest {
    padding: 0 0 80px;
}
@media screen and (max-width: 1000px) {
    .page.event-2024 section {
        width: 1000px !important;
    }
}
@media screen and (max-width: 768px) {
    .page.event-2024 section {
        width: 100% !important;
    }

    .event-2024 header h1 {
        max-width: 85px;
    }

    .event-2024 .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .event-2024 .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .event-2024 .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .event-2024 .page-ttl::after {
        height: 64px;
    }

    .page.event-2024 .read h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 40px;
    }
    .page.event-2024 .read h2.ud::after {
        content: "";
        width: 100%;
        max-width: 125px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .page.event-2024 .read p.p1 {
        max-width: 345px;
        width: 100%;
        margin: 0 auto;
        text-align: left;
    }
    .page.event-2024  .pc {
        display: none;
    }
    .page.event-2024 .read {
        margin-bottom: 40px;
        padding: 0;
    }
    .page.event-2024 h3.bg {
        background: #202020;
        color: #fff;
        text-align: center;
        font-size: 16px;
        line-height: 1.25;
        padding: 4px 0;
        font-weight: bold;
        letter-spacing: 0;
        margin: 0 auto 20px;
        position: relative;
        z-index: 100;
    }
    .page.event-2024 br.sp {
        display: block;
    }
    .page.event-2024 .inner {
        padding: 0 11.5px !important;
    }
    .page.event-2024 .pamph .pamp-wrap ul.pamphList li {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .page.event-2024 .pamph .p1 {
        font-size: 14px;
        line-height: 2;
        text-align: center;
        font-weight: 700;
    }
    .page.event-2024 .pamph .green-link {
        font-size: 14px !important;
        color: #00a0a0 !;
        letter-spacing: -0.05em;
        font-weight: 700;
        line-height: 1.5;
    }
    .page.event-2024 .pamph {
        padding: 0 0 60px;
    }
    .page.event-2024 .ambassador {
        padding: 60px 0;
        position: relative;
    }
    .page.event-2024 .ambassador .flex-box {
        display: block;
    }
    .page.event-2024 .ambassador .ambassador-img {
        width: 100%;
        max-width: 225px;
        position: relative;
        z-index: 100;
        margin: 0 auto;
    }
    .page.event-2024 .ambassador .ambassador-inner .txt-box {
        max-width: 100%;
        width: 100%;
        margin-top: -40px;
        padding-right: 26px;
        padding-top: 80px;
        padding-left: 26px;
        padding-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
        background-color: #fff0f0;
        border-radius: 20px;
    }
    .page.event-2024 .ambassador .ambassador-inner {
        padding: 0 7.5px;
    }
    .event-2024 .ambassador .flex-name {
        display: block;
    }
    .event-2024 h4.am-name {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        letter-spacing: 0;
        margin-bottom: 20px;
    }
    .event-2024 h4.am-name::after {
        content: "";
        width: 100%;
        max-width: 125px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .event-2024 .ambassador h4.am-name::after {
        max-width: 83px;
    }
    .event-2024 .left h4.am-name::after {
        max-width: 67px;
    }
    .event-2024 .right h4.am-name::after {
        max-width: 122px;
    }
    .event-2024 .red-text {
        font-size: 14px;
        font-weight: 700;
        color: #e00010;
        padding-top: 0;
        text-align: center;
    }
    .event-2024 .ambassador .flex-name {
        display: block;
        margin-bottom: 40px;
    }
    .event-2024 .ambassador .p1,
    .event-2024 .ambassador .p2 {
    font-size: 14px;
    letter-spacing: 0;
    font-feature-settings: normal;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 40px;
    }
    .event-2024 .ambassador .p2 {
        margin-bottom: 0;
    }
    .page.event-2024 .supporter h3.bg,
    .page.event-2024 .guest h3.bg {
        margin: 0 auto 20px;
        letter-spacing: 0;
    }
    .page.event-2024 .supporter-img {
        margin: 0 -7.5px;
    }
    .page.event-2024 .supporter .supporter-inner,
    .page.event-2024 .guest-inner {
        padding: 0 7.5px;
    }
    .event-2024 .supporter-flex {
        width: 100%;
        max-width: 100%;
    }
    .event-2024 .supporter-flex .left, .event-2024 .supporter-flex .right {
        max-width: 50%;
        width: 100%;
        text-align: center;
    }
    .event-2024 .supporter-flex .left .am-name {
        padding-top: 1.5em;
    }
    .page.event-2024 .supporter .txt-box {
        max-width: 800px;
        width: 100%;
        margin-top: -40px;
        padding-right: 0;
        padding-top: 80px;
        padding-left: 0;
        padding-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
        background-color: #fff0f0;
        border-radius: 20px;
    }
    .supporter-bottom-text {
        text-align: left;
        font-size: 14px;
        line-height: 2;
        padding-left: 25px;
        padding-right: 25px;
        letter-spacing: 0;
        font-weight: 700;
        margin-top: 40px;
        font-feature-settings: normal;
        letter-spacing: 0;
    }
    .page.event-2024 .supporter {
        padding: 0 0 60px;
    }
    .page.event-2024 .guest-img {
        max-width: 225px;
        width: 100%;
    }
    .event-2024.page .guest {
        padding: 0 0 60px;
    }
    .page.event-2024 .guest .txt-box {
        max-width: 100%;
        width: 100%;
        margin-top: -40px;
        padding-right: 0;
        padding-top: 80px;
        padding-left: 0;
        padding-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
        background-color: #fff0f0;
        border-radius: 20px;
    }
}

/* =============================
 会場マップページ
============================= */
.map-2024 .page-ttl {
    position: relative;
    margin: 80px 0;
    height: 128px;
    padding: 0;
    border-bottom: 4px solid #c0c040;
    background: rgb(208, 0, 24);
    background: linear-gradient(
        180deg,
        rgba(208, 0, 24, 1) 50%,
        rgba(232, 88, 56, 1) 100%
    );
}

.map-2024 .page-ttl span {
    position: relative;
    z-index: 100;
    max-width: 360px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    height: 128px;
    align-items: center;
}

.map-2024 .page-ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 124px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../images/2024/page-ttl-pattern-bg.html");
    mix-blend-mode: multiply;
}
.page.map-2024 h2.ud {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto 40px;
}

.map-2024 h2.ud {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 40px;
}

.map-2024 h2.ud::after {
    content: "";
    width: 100%;
    max-width: 270px;
    height: 2px;
    background: #e00010;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.map-2024 h2.ud span::after {
    content: none;
}
.map-2024.page .sec-line .inner {
    max-width: 935px;
    margin: 0 auto;
    width: 100%;
}
.map-2024.page section .inner>h3 {
    margin: 0 auto 24px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    padding: 0 0 4px 20px;
    border-left: 2px solid #DC2414;
}
.map-2024.page table.boothList th {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    width: 7.8em;
    padding: 20px;
}
.map-2024.page table.boothList td {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    padding: 20px;
}
.map-2024.page .ngo table.boothList {
    margin: 0 auto 80px;
}
.map-2024.page table.boothList td span.star-type {
    color: #DC2414;
    font-size: 1.15em;
}
.map-2024.page .read p span.img {
    font-size: 0;
}
.map-2024.page .read p span.img img {
    vertical-align: -3px;
}
.map-2024.page table.boothList th span.type span.ccl {
    max-width: 45px;
}
@media screen and (max-width: 935px) {

.map-2024.page .sec-line .inner {
    max-width: 935px;
    width: 935px;
}
}
@media screen and (max-width: 768px) {

    .map-2024 header h1 {
        max-width: 85px;
    }
    .map-2024.page .sec-line .inner {
        max-width: 100%;
        width: 100%;
    }
    .map-2024 .page-ttl {
        margin: 44px auto 60px;
        height: 64px;
        padding: 0;
        border-bottom: 4px solid #c0c040;
    }

    .map-2024 .page-ttl span {
        height: 64px;
        justify-content: center;
    }

    .map-2024 .page-ttl img {
        max-width: 182px;
        width: 100%;
    }

    .map-2024 .page-ttl::after {
        height: 64px;
    }
    .page.map-2024 .read h2.ud {
        font-size: 20px;
        padding-bottom: 8px;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 auto 40px;
    }
    .map-2024 .read h2.ud::after {
        content: "";
        width: 100%;
        max-width: 225px;
        height: 2px;
        background: #e00010;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .map-2024.page .sec-line .inner {
        padding: 0 11.5px;
    }
    .map-2024.page section .inner>h3 {
        margin: 0 auto 20px;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0;
    }
    .map-2024.page table.boothList tr {
        margin-top: 20px;
        border: 1px solid #0ba29a;
    }
    .map-2024.page table.boothList tr:first-child {
        margin-top: 0;
    }
    .map-2024.page table.boothList {
        border: none;
    }
    .map-2024.page table.boothList td:nth-child(2) {
        padding-bottom: 0;
    }
    .map-2024.page table.boothList td {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
        padding: 12px;
    }
    .map-2024.page table.boothList th {
        padding: 12px;
        font-size: 14px;
        width: 100%;
    }
    .map-2024.page table.boothList td:last-child {
        font-weight: 400;
        font-size: 12px;
    }
}

/* =============================
 KB-1グランプリページ
============================= */
.kb1-img {
    margin: 0 auto;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .kb1-sec {
        margin-bottom: 80px !important;
    }
}