@charset "utf-8";

#contents {
    padding-top: 100px;
}

#contents>* {
    margin-bottom: 100px;
}

.col03 {
    display: flex;
    flex-wrap: wrap;
    gap: 34px 2.5%;
}

.col03>li {
    flex: 0 0 calc((100% - 5%) / 3);
}

.col03 + .col03{
	margin-top: 34px;
}

.col04 {
    display: flex;
    flex-wrap: wrap;
    gap: 26px 2.2%;
}

.col04>li {
    width: 23.4166%;
    max-width: 280px;
}

.col05 {
    display: flex;
    flex-wrap: wrap;
    gap: 26px 2.0833%;
}

.col05>li {
    width: 18.4444%;
    max-width: 220px;
}

.col03>li a:hover img,
.col04>li a:hover img,
.col05>li a:hover img{
    filter: brightness(1.25);
}

.col03>li span,
.col04>li span,
.col05>li span{
	display: inline-block;
	padding-top: 6px;
}


.partnershipHeadBl {
    position: relative;
    z-index: 1;
}

.partnershipHeadBl::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: min(calc((748 / 1000)* 100vw), 748px);
    height: min(calc((352 / 1000)* 100vw), 352px);
    z-index: -1;
    background: url(../img/partner/partnership/bg_light.png) no-repeat center/cover;
}

.partnershipHeadTtl {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: var(--line-height-base03);
    text-align: center;
    margin: 0 0 40px 0;
    word-break: keep-all;
}

.partnershipHeadTxt {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: var(--line-height-base04);
    text-align: center;
    word-break: keep-all;
}


.hostGameInner {
    background: var(--color-text);
    padding: 80px;
}

.hostGameFlex {
    display: flex;
    justify-content: space-between;
    gap: 3.1%;
    margin-bottom: 30px;
}

.hostGameSeason {
    flex: 1;
    max-width: 325px;
    border: 5px solid var(--color-green01);
}

.hostGameFlexTtl {
    background: var(--color-green01);
    line-height: var(--line-height-base01);
    color: var(--color-text);
    text-align: center;
    font-size: 1.4375rem;
    font-weight: 800;
    padding: 3px 10px 8px;
    margin: 0;
}

.hostGameFlexTtl::before,
.hostGameFlexTtl::after {
    display: none;
}

.hostGameSeasonBody {
    padding: 45px 20px 35px;
    text-align: center;
}

.hostGameSeasonPic {
    width: 37%;
    max-width: 101px;
    margin: 0 auto 17px;
}

.hostGameSeasonPic img {
    width: 100%;
    height: auto;
}

.hostGameSeasonNum {
    font-size: min(calc((70 / 1200)* 100vw), 70px);
    /* font-size: 4.375rem; */
    font-weight: 700;
    color: var(--color-green01);
    margin: 0;
    line-height: 1;
    white-space: nowrap;
}

.hostGameSeasonNum span {
    font-size: min(calc((24 / 1200)* 100vw), 24px);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-gray01);
    margin-left: min(calc((8 / 1200)* 100vw), 8px);
}

.hostGameHistory {
    flex: 2;
    border: 5px solid var(--color-green01);
}

.hostGameHistoryBody {
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100% - 49px);
    box-sizing: border-box;
}

.hostGameHistoryPic {
    width: 100%;
    max-width: 439px;
}

.hostGameHistoryPic img {
    width: 100%;
    height: auto;
}

.hostGameSns {
    border: 5px solid var(--color-green01);
    box-sizing: border-box;
}

.hostGameSnsFlex {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 33px 20px 18px;
    gap: 50px;
}

.hostGameSnsGraph {
    flex: 1;
    max-width: 479px;
}

.hostGameSnsGraph img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.hostGameSnsGraphNote {
    font-size: .8125rem;
    line-height: var(--line-height-base02);
    color: var(--color-bg);
    margin: 0;
}

.hostGameSnsExplain {
    flex: 1;
    max-width: 350px;
}

.hostGameSnsExplainTxt {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: var(--line-height-base05);
    color: var(--color-bg);
    margin: 0;
}


.partnerProgramInner {
    background: var(--color-text);
    padding: 80px;
}

.programSec {
    margin-bottom: 70px;
}

.programSec:last-child {
    margin-bottom: 0;
}

.programSecTtl {
    font-size: 1.6875rem;
    font-weight: 900;
    color: var(--color-bg);
    margin-bottom: 40px;
    padding-left: 13px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--color-green01);
    line-height: var(--line-height-base02);
}

.programSecTtl::before,
.programSecTtl::after {
    display: none;
}

.programSecList {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 3.1%;
}

.programSecList.col02 .programSecItem {
    width: calc((100% - 3.1%) / 2);
}

.programSecList.col03 .programSecItem {
    width: calc((100% - 6.2%) / 3);
}

.programSecItem {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.programSecItemTtl {
    background: var(--color-green01);
    line-height: var(--line-height-base07);
    color: var(--color-text);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 14px 10px 14px 22px;
    position: relative;
    overflow: hidden;
}

.programSecItemTtl.abcOrder {
    padding-left: 66px;
}

.programSecItemTtl::before {
    content: '';
    display: block;
    width: 8px;
    height: 100%;
    background: var(--color-bg);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.programSecItemTtl.abcOrder::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 15px solid var(--color-bg);
    border-right: 0;
    position: absolute;
    left: 44px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.programSecItemTtl.abcOrder span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 51px;
    height: 100%;
    background: var(--color-bg);
    color: var(--color-text);
    font-size: 1.625rem;
    flex-shrink: 0;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.programSecItemPic {
    margin-top: 5px;
}

.programSecItemDesc {
    font-size: 1rem;
    font-weight: 500;
    line-height: var(--line-height-base02);
    color: var(--color-bg);
    padding: 0;
    margin: 13px 0 5px;
    flex-grow: 1;
}

.programSecNoteList {
    margin-top: 34px;
}

.programSecNoteItem {
    font-size: .875rem;
    font-weight: 500;
    line-height: var(--line-height-base06);
    color: var(--color-bg);
    text-indent: -2.6em;
    padding-left: 2.6em;
}

.programSecNoteItem+.programSecNoteItem {
    margin-top: 7px;
}

.partnerbtnBl .btnFlex {
    display: flex;
    gap: 0 27px;
    justify-content: center;
}

#contents>.partnerbtnBl {
    margin-bottom: 0;
}

.partnerbtnBl .btnFlex .btnDesign {
    width: 410px;
}

.partnerbtnBl .btnFlex .btnDesign:nth-child(1) span::after {
    content: '';
    background: url(../img/common/icn_dl_white.png) no-repeat center/contain;
    width: 25px;
    height: 21px;
    display: inline-block;
}

.partnerbtnBl .btnFlex .btnDesign:nth-child(1):hover span:after {
    background: url(../img/common/icn_dl_black.png) no-repeat center/contain;
}

.partnerbtnBl .btnFlex .btnDesign:nth-child(2) span::after {
    content: '';
    background: url(../img/common/icn_window_white.svg) no-repeat center / contain;
    width: 26px;
    height: 22px;
    display: inline-block;
}

.partnerbtnBl .btnFlex .btnDesign:nth-child(2):hover span:after {
    background: url(../img/common/icn_window.svg) no-repeat center / contain;
}


@media screen and (max-width: 1000px) {
    .hostGameInner {
        padding: 40px;
    }

    .partnerProgramInner {
        padding: 40px;
    }

    .programSecList.col03 .programSecItem {
        width: calc((100% - 3.1%) / 2);
    }

    .partnerbtnBl .btnFlex {
        gap: 30px 0;
        flex-direction: column;
        align-items: center;
    }
}


@media screen and (max-width: 767px) {

    #contents {
        padding-top: calc(120vw / 7.5);
    }

    #contents>* {
        margin-bottom: calc(100vw / 7.5);
    }

    .col03,
    .col04,
	.col05{
        position: relative;
        gap: calc(30vw / 7.5) 4vw;
    }

    .col03>li {
        flex: 0 0 calc((100% - 4vw) / 2);
        max-width: inherit;
    }
	
	.col03 + .col03{
		margin-top: calc(30vw / 7.5);
	}

    .col04>li,
	.col05>li {
        width: calc((100% - (2 * calc(30vw / 7.5))) / 3);
        max-width: inherit;
    }
	
	.col03>li span,
	.col04>li span,
	.col05>li span{
		font-size: 14px;
	}

    .partnershipHeadBl::before {
        width: calc(682vw / 7.5);
        height: calc (337vw / 7.5);
    }

    .hostGameFlexTtl {
        font-size: calc(36vw / 7.5);
        padding: calc(3vw / 7.5) calc(10vw / 7.5) calc(12vw / 7.5);
    }

    .partnershipHeadTtl {
        font-size: calc(36vw / 7.5);
        margin: 0 0 calc(40vw / 7.5) 0;
    }

    .partnershipHeadTxt {
        font-size: calc(30vw / 7.5);
    }

    .hostGameInner {
        padding: calc(60vw / 7.5) calc(37vw / 7.5);
    }

    .hostGameFlex {
        display: block;
        margin-bottom: calc(60vw / 7.5);
    }

    .hostGameSeason {
        max-width: inherit;
    }

    .hostGameSeasonBody {
        padding: calc(40vw / 7.5) calc(20vw / 7.5);
    }

    .hostGameSeasonPic {
        width: calc(160vw / 7.5);
        max-width: inherit;
        margin: 0 auto calc(10vw / 7.5);
    }

    .hostGameSeasonNum {
        font-size: calc(116vw / 7.5);
    }

    .hostGameSeasonNum span {
        font-size: calc(43vw / 7.5);
        margin-left: calc(7vw / 7.5);
    }

    .hostGameHistory {
        margin-top: calc(60vw / 7.5);
    }

    .hostGameHistoryBody {
        padding: calc(40vw / 7.5) calc(20vw / 7.5);
        height: inherit;
    }

    .hostGameSnsFlex {
        display: block;
        padding: calc(40vw / 7.5) calc(20vw / 7.5);
    }

    .hostGameSnsExplainTxt {
        font-size: calc(30vw / 7.5);
        margin-top: calc(12vw / 7.5);
    }

    .hostGameSnsGraphNote {
        font-size: calc(20vw / 7.5);
    }

    .partnerProgramInner {
        padding: calc(60vw / 7.5) calc(37vw / 7.5);
    }

    .programSec {
        margin-bottom: calc(60vw / 7.5);
    }

    .programSecList {
        display: block;
    }

    .programSecList.col02 .programSecItem,
    .programSecList.col03 .programSecItem {
        width: auto;
    }

    .programSecList.col02 .programSecItem+.programSecItem,
    .programSecList.col03 .programSecItem+.programSecItem {
        margin-top: calc(55vw / 7.5);
    }

    .programSecTtl {
        font-size: calc(38vw / 7.5);
        margin-bottom: calc(40vw / 7.5);
        padding-left: calc(13vw / 7.5);
        padding-bottom: calc(4vw / 7.5);
    }

    .programSecItemPic {
        margin-top: calc(10vw / 7.5);
    }

    .programSecItemTtl {
        font-size: calc(32vw / 7.5);
        padding: calc(11vw / 7.5) calc(11vw / 7.5) calc(12vw / 7.5) calc(28vw / 7.5);
    }

    .programSecItemTtl::before {
        width: calc(10vw / 7.5);
    }

    .programSecItemDesc {
        font-size: calc(24vw / 7.5);
        margin: calc(13vw / 7.5) 0 0;
    }

    .programSecNoteList {
        margin-top: calc(47vw / 7.5);
    }

    .programSecNoteItem {
        font-size: calc(22vw / 7.5);
    }

    .programSecNoteItem+.programSecNoteItem {
        margin-top: calc(14vw / 7.5);
    }

    .partnerbtnBl .btnFlex {
        gap: calc(35vw / 7.5) 0;
    }

    .partnerbtnBl .btnFlex .btnDesign {
        width: calc(645vw / 7.5);
    }

    .partnerbtnBl .btnFlex .btnDesign:nth-child(1) span::after {
        width: calc(40vw / 7.5);
        height: calc(33vw / 7.5);
    }

    .partnerbtnBl .btnFlex .btnDesign:nth-child(2) span::after {
        width: calc(40vw / 7.5);
        height: calc(33vw / 7.5);
    }
}