@charset "UTF-8";

/*---------------------------------

base

---------------------------------*/

:root {
    --layout-width-inner: 518px;
    --z-index-hamburger: 10000;
    --z-index-spmenu: 1000;
    --z-index-header: 100;
    --z-index-to-top: 10;
    --main-font: "M PLUS 1p", sans-serif;
    --color-primary: #03796C;
    --color-black: #000;
    --color-white: #FFF;
    --bg-color-primary: rgb(3 121 108 / 0.57);
}
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
    vertical-align: baseline;
}
header, footer, nav, section, article, aside, figure, figcaption, main {
    display: block;
}
body {
    color: var(--color-black);
    font-family: var(--main-font);
    font-weight: 500;
    line-height: 1.75;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}
li, dd {
    list-style-type: none;
}
img {
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: bottom;
}
.only-screen-reader {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {

    a[href^="tel:"] {
        pointer-events: none;
    }

}
@media (min-width: 768px) {

    .only-sp {
        display: none !important;
    }

}
@media (max-width: 767px) {

    .only-pc {
        display: none !important;
    }

}


/*---------------------------------

common

---------------------------------*/

.wrapper {
    display: flex;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}
.fixed-area {
    width: 50%;
    height: inherit;
    background-color: var(--color-primary);
}
.main-area {
    position: relative;
    width: 50%;
    height: inherit;
    overflow-y: auto;
}
.bg-primary {
    background-color: var(--bg-color-primary);
}
.inner {
    max-width: var(--layout-width-inner);
	margin-inline: auto;
    padding-inline: 25px;
}
.movie-wrap {
    position: relative;
    background-image: url(../images/movie-frame02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.movie-wrap::before {
    display: block;
    padding-top: 62%;
    content: "";
}
.movie-wrap__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 83%;
    height: 83.8%;
}
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.movie-wrap.movie-wrap--lg {
    background-image: url(../images/movie-frame.png);
}
.movie-wrap.movie-wrap--lg::before {
    padding-top: 56.3%;
}
.movie-wrap.movie-wrap--lg .movie-wrap__inner {
    width: 75.4%;
}
.box {
    padding: 30px 30px 24px;
    border-radius: 30px;
    border: 4px solid var(--color-primary);
    box-shadow: 12px 5px var(--color-primary);
    background-color: var(--color-white);
}
.box.box--p0 {
    padding: 0;
}
@media (max-width: 1000px) {

    .wrapper {
        flex-direction: column;
        height: auto;
    }
    .fixed-area {
        order: 1;
        width: 100%;
        margin-top: 100px;
    }
    .main-area {
        display: contents;
    }
    .main {
        order: 2;
    }

}
@media (max-width: 767px) {

    .fixed-area {
        margin-top: 70px;
    }
    .movie-wrap::before {
        padding-top: 61.5%;
    }
    .movie-wrap.movie-wrap--lg {
        background-image: url(../images/movie-frame02.png);
    }
    .movie-wrap.movie-wrap--lg::before {
        padding-top: 61.5%;
    }
    .movie-wrap__inner {
        width: 84%;
    }
    .movie-wrap.movie-wrap--lg .movie-wrap__inner {
        width: 80.8%;
    }
    .box {
        padding: 30px 20px 24px;
        box-shadow: 10px 5px var(--color-primary);
    }

}


/*---------------------------------

header

---------------------------------*/

.header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-header);
    height: 100px;
    background-color: var(--color-primary);
}
.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: inherit;
    padding-inline: 35px 40px;
}
.header__logo {
    width: 180px;
}
.header__logo a {
    display: block;
    transition: opacity 0.3s;
}
.header__logo a:focus-visible {
    opacity: 0.7;
}
.header__hamburger {
    position: relative;
    z-index: var(--z-index-hamburger);
    width: 82px;
}
.header__hamburger span {
    display: none;
}
.header__hamburger.is-active {
    width: 36px;
    height: 36px;
}
.header__hamburger.is-active img {
    display: none;
}
.header__hamburger.is-active span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 47px;
    height: 4px;
    border-radius: 2px;
    background-color: var(--color-white);
}
.header__hamburger.is-active span:first-of-type {
    rotate: 45deg;
}
.header__hamburger.is-active span:last-of-type {
    rotate: -45deg;
}
.drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-index-spmenu);
    width: 50%;
    background-color: var(--color-primary);
    transition: opacity 0.3s, visibility 0.3s ease-out;
}
.drawer[aria-hidden=true] {
    opacity: 0;
	visibility: hidden;
    pointer-events: none;
}
.drawer__inner {
    height: 100%;
    overflow-y: auto;
    padding: 20px 30px;
    text-align: center;
}
.drawer__icon {
    width: 82px;
    margin-top: 5px;
    margin-left: 15px;
    translate: 0;
    transition: translate 0.3s;
}
.drawer[aria-hidden=true] .drawer__icon {
    translate: 100px;
}
.drawer__logo {
    width: 180px;
    margin-top: 10.5vh;
    margin-inline: auto;
}
.drawer__logo a {
    display: block;
    transition: opacity 0.3s;
}
.drawer__logo a:focus-visible {
    opacity: 0.7;
}
.drawer__nav {
    width: fit-content;
    margin-top: 11.5vh;
    margin-inline: auto;
    color: var(--color-white)
}
.drawer__item + .drawer__item {
    margin-top: 6.8vh;
}
.drawer__item a {
    display: inline-block;
    font-size: 1.3125rem;
    letter-spacing: 0.18em;
    transition: opacity 0.3s;
}
.drawer__item a:focus-visible {
    opacity: 0.7;
}
.drawer__child-items {
    margin-top: 1rem;
    text-align: left;
}
.drawer__child-item + .drawer__child-item {
    margin-top: 1rem;
}
.drawer__child-item a {
    display: inline-flex;
    column-gap: 1em;
    font-size: 1rem;
    letter-spacing: 0;
}
.drawer__child-item a::before {
    flex-shrink: 0;
    display: inline-block;
    content: "-";
}
@media (hover: hover) and (pointer: fine) {

    .header__logo a:hover {
        opacity: 0.7;
    }
    .drawer__logo a:hover {
        opacity: 0.7;
    }
    .drawer__item a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1000px) {

    .header {
        order: 0;
        position: fixed;
        width: 100%;
    }
    .drawer {
        width: 100%;
    }

}
@media (max-width: 767px) {

    .header {
        height: 70px;
    }
    .header__inner {
        padding-inline: 32px 35px;
    }
    .header__logo {
        width: 136px;
    }
    .header__hamburger {
        width: 48px;
    }
    .header__hamburger.is-active {
        translate: -50% 50%;
    }

}


/*---------------------------------

footer

---------------------------------*/

.footer {
    position: relative;
    background-color: var(--bg-color-primary);
}
.footer::before {
    position: absolute;
    top: -109px;
    right: 130px;
    width: 76px;
    height: 115px;
    background-image: url(../images/page-top01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
@keyframes kick {
    0% {
        translate: 0;
    }
    50% {
        translate: -10px;
    }
    90% {
        translate: -10px;
    }
    100% {
        translate: 5px;
    }
}
.footer.is-active::before {
    animation: kick 1s linear;
}
.footer__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 25px;
    max-width: 437px;
    padding: 10px 25px;
    margin-inline: auto;
}
.footer__item a {
    display: block;
    transition: opacity 0.3s;
}
.footer__item a:focus-visible {
    opacity: 0.7;
}
.footer__copy {
    padding: 20px 25px;
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
}
.footer__copy small {
    font-size: 0.75rem;
}
@media (hover: hover) and (pointer: fine) {

    .footer__item a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1100px) {

    .footer::before {
        top: -81px;
        right: 98px;
        width: 63px;
        height: 96px;
    }

}
@media (max-width: 1000px) {

    .footer {
        order: 3;
    }
    .footer::before {
        right: 113px;
    }

}
@media (max-width: 767px) {

    .footer::before {
        top: -81px;
        right: 79px;
        width: 48px;
    }
    .footer__list {
        gap: 8px;
        padding: 10px;
    }
    .footer__copy {
        padding: 11px;
    }
    .footer__copy small {
        font-size: 0.625rem;
        letter-spacing: -0.05em;
        white-space: nowrap;
    }

}


/*---------------------------------

Component

---------------------------------*/

/*  
    section-title
---------------------------------*/

.section-title {
    position: relative;
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}
.section-title::before {
    display: inline-block;
    position: absolute;
    top: -1.3rem;
    left: 50%;
    translate: calc(-50% + -1.23rem);
    width: 15.375rem;
    height: 9.125rem;
    background-image: url(../images/signboard.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.section-title span {
    position: relative;
    z-index: 1;
}
@media (max-width: 767px) {

    .section-title {
        font-size: 1.125rem;
    }
    .section-title::before {
        top: -0.8rem;
        translate: calc(-50% + -0.83rem);
        width: 10.5rem;
        height: 6.25rem;
    }

}

/*  
    border-title
---------------------------------*/

.border-title {
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}
.border-title span {
    display: inline-block;
    padding-inline: 0.2em;
    border-bottom: 6px solid var(--color-primary);
}
@media (max-width: 767px) {

    .border-title {
        font-size: 1.3125rem;
    }
    .border-title span {
        border-width: 4px;
    }

}

/*  
    text
---------------------------------*/

.text {
    font-size: 1rem;
}

/*  
    button
---------------------------------*/

.button {
    display: inline-grid;
    place-items: center;
    width: 400px;
    height: 90px;
    border: 4px solid currentColor;
    border-radius: 9999px;
    box-shadow: 11px 7px var(--color-primary);
    background-color: var(--color-white);
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    transition: opacity 0.3s;
}
.button:focus-visible {
    opacity: 0.7;
}
.button span {
    display: inline-flex;
    align-items: center;
    column-gap: 0.9em;
}
.button span::after {
    display: inline-block;
    width: 12px;
    height: 24px;
    background-image: url(../images/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.button.button--download span::after {
    width: 23px;
    height: 22px;
    background-image: url(../images/icon_download.svg);
}
@media (hover: hover) and (pointer: fine) {

    .button:hover {
        opacity: 0.7;
    }

}
@media (max-width: 767px) {

    .button {
        width: 100%;
        height: 60px;
        box-shadow: 8px 5px var(--color-primary);
        font-size: 1.3125rem;
    }
    .button.button--download span::after {
        width: 14px;
        height: 15px;
    }

}

/*  
    to-top
---------------------------------*/

.to-top {
    display: inline-block;
    position: fixed;
    right: 45px;
    bottom: 126px;
    z-index: var(--z-index-to-top);
    opacity: 0;
    visibility: hidden;
    width: 144px;
    height: 91px;
    background-image: url(../images/page-top02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: opacity 0.3s, visibility 0.3s ease-out;
}
.to-top span {
    position: absolute;
    top: 35px;
    right: 47px;
    color: var(--color-white);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    line-height: 1.23;
    text-transform: uppercase;
    text-align: center;
}
.to-top.is-active {
    opacity: 1;
    visibility: visible;
}
.to-top.is-active:focus-visible {
    opacity: 0.7;
}
@media (hover: hover) and (pointer: fine) {

    .to-top.is-active:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1100px) {

    .to-top {
        right: 30px;
        bottom: 118px;
        width: 120px;
        height: 75px;
    }
    .to-top span {
        top: 28px;
        right: 39px;
        font-size: 0.6875rem;
    }

}
@media (max-width: 1000px) {

    .to-top {
        order: 4;
    }

}
@media (max-width: 767px) {

    .to-top {
        right: 15px;
        bottom: 100px;
        width: 92px;
    }
    .to-top span {
        top: 31px;
        right: 30px;
        font-size: 0.5rem;
    }

}


/*---------------------------------

slider-wrap

---------------------------------*/

.slider-wrap {
    display: grid;
    place-items: center;
    height: inherit;
    padding: 32px 25px 45px;
}
.slider-wrap__inner {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding-bottom: max(135px, 17vh);
    margin-right: 30px;
}
.slider-wrap__content {
    max-width: 440px;
    margin-left: auto;
}
.slider-wrap__content .splide__slide {
    display: grid;
    place-items: center;
}
.slider-wrap__content .splide__arrow {
    top: unset;
    bottom: -119px;
    width: 22px;
    height: 23px;
    opacity: 1;
    transform: unset;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: opacity 0.3s;
}
.slider-wrap__content .splide__arrow.splide__arrow--prev {
    left: calc(50% - 108px);
    background-image: url(../images/icon_slide-arrow-left.svg);
}
.slider-wrap__content .splide__arrow.splide__arrow--next {
    right: calc(50% - 113px);
    background-image: url(../images/icon_slide-arrow-right.svg);
}
.slider-wrap__content .splide__arrow svg {
    display: none;
}
.slider-wrap__content .splide__pagination {
    bottom: -115px;
}
.slider-wrap__content .splide__pagination__page {
    opacity: 1;
    width: 12px;
    height: 12px;
    margin: 0 6px;
    background-color: var(--color-white);
}
.slider-wrap__content .splide__pagination__page.is-active {
    transform: unset;
    margin: 0 25px;
}
.slider-wrap__content .splide__pagination__page.is-active::before {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 52px;
    height: 52px;
    background-image: url(../images/soccer-ball.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.slider-wrap__illust {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 170px;
}
.slider-wrap__illust02 {
    position: absolute;
    bottom: -6px;
    right: 0;
    width: 92px;
}
@media (hover: hover) and (pointer: fine) {

    .slider-wrap__content .splide__arrow:hover:not(:disabled) {
        opacity: 1;
    }

}
@media (max-width: 767px) {

    .slider-wrap {
        padding: 10px 25px 30px;
    }
    .slider-wrap__inner {
        width: 95%;
        padding-bottom: 90px;
        margin-right: 0;
    }
    .slider-wrap__content {
        max-width: 286px;
        margin-inline: auto;
    }
    .slider-wrap__illust {
        width: 97px;
    }
    .slider-wrap__illust02 {
        width: 62px;
    }
    .slider-wrap__content .splide__pagination {
        bottom: -85px;
        left: 15px;
    }
    .slider-wrap__content .splide__pagination__page {
        width: 7px;
        height: 7px;
        margin: 0 4px;
    }
    .slider-wrap__content .splide__pagination__page.is-active {
        margin: 0 16px;
    }
    .slider-wrap__content .splide__pagination__page.is-active::before {
        width: 30px;
        height: 30px;
    }
    .slider-wrap__content .splide__arrow {
        bottom: -87px;
        width: 14px;
        height: 14px;
    }
    .slider-wrap__content .splide__arrow.splide__arrow--prev {
        left: calc(50% - 54px);
    }
    .slider-wrap__content .splide__arrow.splide__arrow--next {
        right: calc(50% - 70px);
    }

}


/*---------------------------------

intro

---------------------------------*/

.intro {
    padding-block: 4rem 6rem;
}
.intro .inner {
    max-width: 490px;
}
.intro__title {
    color: var(--color-primary);
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}
.intro__title img {
    display: inline-block;
    translate: 0 -0.5rem;
    width: 11.25rem;
}
.intro__title span {
    margin-left: 0.2rem;
    font-weight: 900;
}
.intro__text {
    margin-top: 1rem;
}
.intro__movie {
    position: relative;
    margin-top: 1.5rem;
}
.intro__movie::before {
    position: absolute;
    bottom: -62px;
    left: -39px;
    z-index: 1;
    width: 124px;
    height: 180px;
    background-image: url(../images/illust02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.intro__movie::after {
    position: absolute;
    bottom: -82px;
    right: -42px;
    z-index: 1;
    width: 155px;
    height: 185px;
    background-image: url(../images/illust03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
@media (max-width: 1100px) {

    .intro__movie::before {
        left: -24px;
        width: 114px;
        height: 165px;
    }
    .intro__movie::after {
        right: -24px;
        width: 136px;
        height: 164px;
    }

}
@media (max-width: 767px) {

    .intro {
        padding-block: 2.6rem 15rem;
    }
    .intro .inner {
        max-width: 340px;
    }
    .intro__title {
        font-size: 1.125rem;
    }
    .intro__title img {
        translate: 0 -0.3rem;
        width: 7.75rem;
    }
    .intro__title span {
        font-size: 1.3125rem;
    }
    .intro__movie {
        margin-top: 1.7rem;
        margin-inline: -10px;
    }
    .intro__movie::before {
        bottom: -112px;
        left: -15px;
        width: 96px;
        height: 138px;
    }
    .intro__movie::after {
        right: -19px;
        bottom: -122px;
        width: 122px;
        height: 147px;
    }

}


/*---------------------------------

information

---------------------------------*/

.information {
    padding-block: 7rem 0;
}
.information__heading {
    position: relative;
    z-index: 1;
}
.information__heading::before {
    position: absolute;
    top: -67px;
    right: calc(50% + 3.3rem);
    width: 162px;
    height: 205px;
    background-image: url(../images/illust04.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.information__block {
    position: relative;
    margin-top: 1.5rem;
}
.information__block + .information__block {
    margin-top: 3rem;
}
.information__block:nth-child(2)::before {
    position: absolute;
    bottom: -34px;
    right: 3px;
    width: 144px;
    height: 91px;
    background-image: url(../images/soccer-ball02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.information__block:nth-child(3),
.information__block:nth-child(4) {
    border-radius: 9999px;
    transition: border-radius 0s 0.3s;
}
.information__block:nth-child(3):has(.toggle-button.is-open),
.information__block:nth-child(4):has(.toggle-button.is-open) {
    border-radius: 30px;
    transition-delay: 0s;
}
.information__block:nth-child(4)::before {
    position: absolute;
    bottom: -95px;
    left: -35px;
    width: 177px;
    height: 194px;
    background-image: url(../images/illust05.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.information__list {
    padding-block: 3rem 1rem;
}
.information__list-item {
    display: flex;
    color: var(--color-primary);
    font-size: 1rem;
}
.information__list-item + .information__list-item {
    margin-top: 0.1rem;
}
.information__list-name {
    flex-shrink: 0;
    font-weight: 500;
}
.information__list-text {
    flex: 1;
    margin-left: 1.5em;
}
.toggle-button {
    width: 100%;
    padding: 30px 30px 24px;
    border-radius: 30px;
}
.toggle-button::before,
.toggle-button::after {
    position: absolute;
    top: 44px;
    right: 38px;
    width: 24px;
    height: 4px;
    background-color: var(--color-primary);
    content: "";
}
.toggle-button::after {
    rotate: 90deg;
}
.toggle-button.is-open::after {
    display: none;
}
.information__detail {
    overflow: hidden;
}
.information__detail-inner {
    display: none;
    padding: 0 30px 24px;
}
.information__block:nth-child(4) .information__detail-inner {
    padding: 0 30px 110px;
}
@media (max-width: 1100px) {

    .information__heading::before {
        top: -47px;
        width: 142px;
        height: 181px;
    }
    .information__block:nth-child(4)::before {
        bottom: -80px;
        left: -24px;
        width: 157px;
        height: 176px;
    }

}
@media (max-width: 767px) {

    .information {
        position: relative;
        padding-block: 7rem 0;
        margin-top: -7rem;
    }
    .information::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 7rem;
        background-color: var(--color-white);
        content: "";
    }
    .information__heading {
        translate: 0 -1.4rem;
    }
    .information__heading::before {
        top: -52px;
        right: calc(50% + 2.2rem);
        width: 111px;
        height: 141px;
    }
    .information__block {
        margin-top: -0.5rem;
    }
    .information__block:nth-child(2) {
        padding: 30px 13px 24px;
    }
    .information__block:nth-child(2)::before {
        right: 15px;
        width: 92px;
        height: 58px;
    }
    .information__block:nth-child(4)::before {
        bottom: -66px;
        left: -8px;
        width: 124px;
        height: 138px;
    }
    .information__list {
        padding-block: 0;
    }
    .information__list-item {
        display: block;
        line-height: 1.4;
        text-align: center;
    }
    .information__list-item + .information__list-item {
        margin-top: 1rem;
    }
    .information__list-name {
        font-size: 1.125rem;
    }
    .information__list-text {
        margin-top: 0;
        margin-left: 0;
        font-size: 0.9375rem;
        letter-spacing: -0.05em;
    }
    .toggle-button {
        padding: 16px 20px 15px;
    }
    .toggle-button::before,
    .toggle-button::after {
        top: 30px;
        right: 22px;
        width: 15px;
        height: 3px;
    }
    .information__detail-inner {
        padding: 0 20px 15px;
    }
    .information__block:nth-child(4) .information__detail-inner {
        padding: 0 20px 80px;
    }

}


/*---------------------------------

ambassador

---------------------------------*/

.ambassador {
    padding-block: 6.4rem 0;
}
.ambassador__movie {
    margin-top: 1.5rem;
}
.ambassador__block {
    padding: 30px 30px 45px;
}
.ambassador__list {
    width: 77%;
    margin-top: 2.5rem;
    margin-inline: auto;
}
.ambassador__item + .ambassador__item {
    margin-top: 1.25rem;
}
.media {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    column-gap: 24px;
}
.media__img {
    flex: 0 0 124px;
}
.media__title {
    font-size: 0.875rem;
    font-weight: 500;
}
.media__title span {
    font-size: 1.125rem;
}
.media__text {
    font-feature-settings: "palt";
    font-size: 0.75rem;
    line-height: 1.4;
}
.media__text + .media__text {
    margin-top: 0.8rem;
}
.ambassador__button-wrap {
    position: relative;
    padding-top: 138px;
}
.ambassador__button-wrap::before {
    position: absolute;
    top: -36px;
    left: 50%;
    translate: -50%;
    width: 322px;
    height: 176px;
    background-image: url(../images/illust06.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.ambassador__button {
    position: relative;
    z-index: 1;
    text-align: center;
}
.ambassador__button + .ambassador__button {
    margin-top: 1rem;
}
.ambassador__button-text {
    margin-top: 1.5rem;
    color: var(--color-primary);
    font-size: 0.875rem;
    line-height: 1.35;
    text-align: center;
}
@media (max-width: 767px) {

    .ambassador {
        padding-block: 4rem 0;
    }
    .ambassador__block {
        padding: 16px 30px 30px;
    }
    .ambassador__movie {
        margin-inline: -22px;
    }
    .ambassador__list {
        width: 98%;
    }
    .media {
        column-gap: 14px;
    }
    .media__img {
        flex: 0 0 115px;
    }
    .media__text {
        font-size: 0.6875rem;
        line-height: 1.7;
    }
    .media__text + .media__text {
        margin-top: 0;
    }
    .ambassador__button-wrap {
        padding-top: 82px;
    }
    .ambassador__button-wrap::before {
        width: 214px;
        height: 117px;
    }
    .ambassador__button-text {
        margin-top: 0.8rem;
        font-size: 0.75rem;
    }

}


/*---------------------------------

digest

---------------------------------*/

.digest {
    position: relative;
    padding-block: 4.4rem 11.8rem;
}
.digest::after {
    position: absolute;
    bottom: 16px;
    left: 50%;
    translate: -50%;
    width: 355px;
    height: 122px;
    background-image: url(../images/illust07.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.digest__block {
    border-width: 7px;
    box-shadow: 12px 20px var(--color-primary);
}
.digest__movie {
    margin-top: 1.5rem;
}
.digest__scene {
    margin-top: 5rem;
}
.digest__scene .section-title::before {
    top: -2.2rem;
}
.digest__scene-img {
    margin-top: 6.5rem;
}
.img-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}
@media (max-width: 767px) {

    .digest {
        padding-block: 4rem 10.8rem;
    }
    .digest::after {
        bottom: 40px;
        width: 270px;
        height: 92px;
    }
    .digest__block {
        padding: 16px 20px 20px;
        box-shadow: 6px 16px var(--color-primary);
    }
    .digest__movie {
        margin-inline: -14px;
    }
    .digest__scene {
        margin-top: 2.5rem;
    }
    .digest__scene .section-title::before {
        top: -1.6rem;
    }
    .digest__scene-img {
        margin-top: 4.2rem;
    }
    .img-list {
        gap: 20px;
    }

}


/*---------------------------------

past-competitions

---------------------------------*/

.past-competitions {
    padding-block: 4.5rem 1.8rem;
}
.past-competitions .inner {
    max-width: 660px;
}
.past-competitions__heading {
    position: relative;
}
.past-competitions__heading::before {
    position: absolute;
    top: -31px;
    left: calc(50% + 3.5rem);
    z-index: 1;
    width: 155px;
    height: 185px;
    background-image: url(../images/illust03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.past-competitions__heading .section-title::before {
    top: -2.2rem;
}
.past-competitions__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 6px;
    position: relative;
    z-index: 1;
    margin-top: 9rem;
}
.past-competitions__item {
    width: 32%;
    height: 324px;
}
.past-competitions__item.past-competitions__item--dummy {
    opacity: 0;
    visibility: hidden;
}
.past-competitions__item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: 100%;
    padding: 20px 10px 16px;
    border-radius: 0 0 20px 20px;
    background-image: url(../images/past-competitions_bg.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
    transition: opacity 0.3s;
}
.past-competitions__item a:focus-visible {
    opacity: 0.7;
}
.past-competitions__item.past-competitions__item--no-link a {
    pointer-events: none;
}
.past-competitions__item.past-competitions__item--no-link a:focus-visible {
    opacity: 1;
}
.past-competitions__item-title {
    position: relative;
    padding-bottom: 1.2rem;
    color: var(--color-primary);
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
}
.past-competitions__item-title::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50%;
    width: 1rem;
    height: 1rem;
    background-image: url(../images/icon_external-link.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.past-competitions__item.past-competitions__item--no-link .past-competitions__item-title {
    padding-bottom: 0.7rem;
}
.past-competitions__item.past-competitions__item--no-link .past-competitions__item-title::after {
    content: none;
}
.past-competitions__item-img {
    flex: 1;
    display: grid;
    place-items: center;
    margin-top: 0.6rem;
}
.past-competitions__item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.past-competitions__item.past-competitions__item--cancel .past-competitions__item-img-inner {
    position: relative;
}
.past-competitions__item.past-competitions__item--cancel .past-competitions__item-img-inner::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgb(0 0 0 / 0.5);
    content: "";
}
.past-competitions__item.past-competitions__item--cancel .past-competitions__item-img-inner::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    translate: -50% -50%;
    color: var(--color-white);
    font-size: 1.625rem;
    white-space: nowrap;
    content: "開催中止";
}
@media (hover: hover) and (pointer: fine) {

    .past-competitions__item a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1200px) {

    .past-competitions__item {
        width: 48%;
        height: 440px;
    }
    .past-competitions__item.past-competitions__item--dummy + .past-competitions__item.past-competitions__item--dummy {
        display: none;
    }

}
@media (max-width: 1100px) {

    .past-competitions__item {
        height: 400px;
    }

}
@media (max-width: 1000px) {

    .past-competitions__item {
        width: 32%;
        height: 324px;
    }
    .past-competitions__item.past-competitions__item--dummy + .past-competitions__item.past-competitions__item--dummy {
        display: block;
    }

}
@media (max-width: 767px) {

    .past-competitions {
        padding-block: 3.8rem 1rem;
    }
    .past-competitions .inner {
        padding-inline: 16px;
    }
    .past-competitions__heading::before {
        top: -27px;
        left: calc(50% + 2.4rem);
        width: 106px;
        height: 127px;
    }
    .past-competitions__heading .section-title::before {
        top: -1.6rem;
    }
    .past-competitions__list {
        gap: 13px 5px;
        max-width: 400px;
        margin-top: 5rem;
        margin-inline: auto;
    }
    .past-competitions__item {
        height: 213px;
    }
    .past-competitions__item a {
        padding: 11px 8px 12px;
        border-radius: 0 0 10px 10px;
    }
    .past-competitions__item-title {
        padding-bottom: 0.9rem;
        font-size: 0.75rem;
    }
    .past-competitions__item-title::after {
        width: 0.7rem;
        height: 0.7rem;
    }
    .past-competitions__item-img {
        margin-top: 0.3rem;
    }
    .past-competitions__item.past-competitions__item--cancel .past-competitions__item-img-inner::after {
        font-size: 1rem;
    }

}
@media (max-width: 400px) {

    .past-competitions__item {
        height: 186px;
    }

}
