/* ------------------------------------------------
PAGE:メディアページ - media -
------------------------------------------------ */
/* メディア掲載 */

.media-intro {
    --min-size: 52;
    --max-size: 127;
    padding-bottom: var(--clamp-size);
    position: relative;
}

.media-intro__inner {
    text-align: center;
}

.media-intro__title {
    font-size: var(--fontSize-xl);
    font-weight: var(--fontWeight-semi-bold);
    color: #004B79;
    display: flex;
    align-items: center;
    justify-content: center;
    --min-size: 16;
    --max-size: 40;
    gap: var(--clamp-size);
    margin-bottom: 10px;
}

.media-intro__title::before,
.media-intro__title::after {
    content: "";
    display: block;
    --min-size: 40;
    --max-size: 85;
    width: var(--clamp-size);
    height: 1px;
    background: #D7D7D7;
    display: inline-block;
}

.media-intro__subtitle {
    font-weight: var(--fontWeight-bold);
    line-height: var(--lineHeight-150);
    --min-size: 22;
    --max-size: 30;
    margin-bottom: var(--clamp-size);
}

.media-intro__copy {
    --min-size: 22;
    --max-size: 32;
    font-size: var(--clamp-size);
    font-weight: var(--fontWeight-bold);
    margin-bottom: var(--space-xl);
}

.media-intro__text {
    line-height: var(--lineHeight-150);
    max-width: 650px;
    margin-inline: auto;
}

.media-intro::after {
    content: "MEDIA";
    display: block;
    /* グラデーションテキスト */
    background: var(--gradient-light);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    --min-size: 52;
    --max-size: 147;
    font-size: var(--clamp-size);
    font-family: var(--fontFamily-en);
    font-weight: var(--fontWeight-semi-bold);
    line-height: 0.9;

    position: absolute;
    z-index: 0;
    bottom: 0;
    right: 3%;
    z-index: -1;
}

@media (width < 768px) {

    .media-intro {
        padding-bottom: clamp(40px, 17vw, 127px);
        position: relative;
    }

    .media-intro::after {
        font-size: clamp(52px, 20vw, 147px);
    }
}

/* メディア出演内容の共通部分
-----------------------------------------*/
/* 共通タイトル */
.youtube__heading,
.journal__heading,
.radio__heading,
.magazine__heading {
    --min-size: 28;
    --max-size: 40;
    font-size: var(--clamp-size);
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding-left: 0.5em;
    padding-bottom: 10px;
    margin-bottom: var(--space-2xl);
    border-bottom: 1px solid #EAEAEA;
}

.youtube__heading,
.radio__heading {
    color: var(--color-white);
    border-bottom: 1px solid currentColor;
}


.youtube__heading::before,
.journal__heading::before,
.radio__heading::before,
.magazine__heading::before {
    content: "";
    display: block;
    background: url(../../img/page/media/icon_youtube.svg) no-repeat center/contain;
    margin-top: 0.15em;
    width: 1em;
    height: 1em;
}

/* 新聞アイコン */
.journal__heading::before {
    background: url(../../img/page/media/icon_journal.svg) no-repeat center/contain;
}

/* 雑誌掲載アイコン */
.magazine__heading::before {
    background: url(../../img/page/media/icon_magazine.svg) no-repeat center/contain;
}

.youtube,
.radio {
    background: var(--gradient2);
}

.youtube__area,
.journal__area {
    display: flex;
    flex-direction: column;
    gap: var(--space-4xl)
}

/* YouTube出演
-----------------------------------------*/
.youtube__article {
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-2xl);
}

.youtube__video {
    flex: 6;
}

.youtube__embed iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    vertical-align: middle;
}

.youtube__btn {
    width: 100%;
    height: auto;
    display: block;
    color: var(--color-white);
    margin-top: -1px;
    padding: 0.5em 1em;
    background-color: var(--color-base);
    --min-size: 22;
    --max-size: 32;
    font-size: var(--clamp-size);
}


/* 丸に矢印が入ったボタン */
.btn-arrow:is(.youtube__btn) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
    transition: all 0.2s ease-in-out;
}

.btn-arrow:is(.youtube__btn) .arrow {
    background-color: var(--color-white);
    border-radius: 999px;
    border: 2px solid var(--color-white);
    width: 2em;
    height: 2em;
    position: relative;
    transition: all 0.2s ease-in-out;
}

.btn-arrow:is(.youtube__btn) .arrow::after {
    content: none;
}

.btn-arrow:is(.youtube__btn) .arrow::before {
    content: "";
    display: block;
    background: url(../../img/page/media/icon_arrow_red.svg) no-repeat center/contain;
    width: 1em;
    height: 0.4em;
}


@media (hover: hover) and (pointer: fine) {
    .btn-arrow:hover {
        color: #e9e9e9;
        transition: all 0.3s ease-in-out;
    }

    .btn-arrow:hover .arrow::after {
        opacity: 0;
        transition: all 0.3s ease-in-out;
    }

    /* YouTubeボタンのホバーアクション */
    .btn-arrow:is(.youtube__btn):hover .arrow {
        background-color: transparent;
        border: 2px solid var(--color-white);
        transition: all 0.3s ease-in-out;
    }
}

.youtube__text {
    flex: 4;
    background-color: #004B79;
    padding: var(--space-xl) var(--space-md);
    color: var(--color-white);
}

.youtube__title {
    font-size: var(--fontSize-xl);
    margin-bottom: var(--space-xs);
}

.youtube__explain {
    line-height: var(--lineHeight-150);
    margin-bottom: var(--space-md);
}

.youtube__content {
    color: var(--color-base);
    background: var(--gradient-light);
    padding: 10px;
}

/* 新聞掲載・雑誌情報
-----------------------------------------*/
.journal__area,
.magazine__area {
    gap: var(--space-6xl)
}

.journal__article,
.magazine__article {
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-2xl);
    position: relative;
}

.journal__article::after,
.magazine__article::after {
    content: "";
    display: block;
    position: absolute;
    top: 3em;
    right: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(180deg, #E5FBF7, #E5F5FF);
    opacity: 1;
    /* 背景が強すぎる場合は調整 */
    z-index: -1;
    pointer-events: none;
}



/* 最後以外の要素にのみborder-bottomを適用 */
/* .journal__article:not(:last-child),
.magazine__article:not(:last-child) {
    border-bottom: 1px solid #EAEAEA;
    padding-bottom: var(--space-2xl);
} */

.journal__image,
.magazine__image {
    flex: 5.5;
    width: 100%;
    height: auto;
    position: relative;

    img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

.journal__text,
.magazine__text {
    flex: 4.5;
    margin-top: 7em;
    padding-right: var(--space-2xl);
}

@media (width < 768px) {

    .journal__article,
    .magazine__article {
        gap: 0;
    }

    .journal__article::after,
    .magazine__article::after {
        content: none;
    }

    .journal__text,
    .magazine__text {
        flex: 4.5;
        margin-top: 0;
        padding: var(--space-2xl) clamp(var(--padding-container), 5vw, 80px);
        background: linear-gradient(180deg, #E5FBF7, #E5F5FF);
    }
}

.journal__title,
.magazine__title {
    font-size: var(--fontSize-xl);
    margin-bottom: var(--space-xs);
    color: #004B79;
}

.journal__explain,
.magazine__explain {
    line-height: var(--lineHeight-150);
    /* margin-bottom: var(--space-md); */
}

/* 注釈をインライン表示に */
.journal__explain p {
    display: inline;
    margin: 0;
}

.journal__note p {
    display: inline;
    margin: 0;
    color: #B8B8B8;
    /* 注釈の色 */
    margin-left: 0.5em;
}

.journal__list,
.magazine__list {
    background: #004B79;
    padding: 10px;
    color: var(--color-white);
    line-height: var(--lineHeight-160);

    li {
        margin-left: 0.8em;
        font-weight: var(--fontWeight-medium);
    }
}

/* ラジオ出演
-----------------------------------------*/

.radio__article {
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4xl);
}

.radio__image {
    flex: 6;
    width: 100%;
    height: auto;
}

.radio__text {
    flex: 4;
    background-color: #004B79;
    padding: var(--space-xl) var(--space-md);
    color: var(--color-white);
}

.radio__title {
    font-size: var(--fontSize-xl);
    margin-bottom: var(--space-xs);
}

.radio__explain {
    line-height: var(--lineHeight-150);
    margin-bottom: var(--space-md);
}

.radio__dl {
    background: var(--gradient-light);
    padding: 10px;
    color: var(--color-base);
    line-height: var(--lineHeight-160);

    dt {
        width: 5em;
        font-weight: var(--fontWeight-medium);
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    dt::after {
        content: ":";
        margin-left: 0.5em;
        display: inline-block;
    }

    dd {
        flex: 1;
    }
}

.radio__item {
    display: flex;
    gap: 0.5em;

}