.tournament-archive  {
    position: relative;
    padding: 4.5rem 0;
}

.tournament-archive.tournament-archive--page{
    padding: 5rem 0 7.5rem;
}

.tournament-archive__inner{
    position: relative;
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
}

.tournament-archive__deco-left {
    position: absolute;
    content: '';
    background-image: url(../images/top-tournament-archive-deco01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
    width: 486px;
    aspect-ratio: 486 / 504;
    left: -91px;
    bottom: 0;
}

.tournament-archive__deco-right {
    position: absolute;
    content: '';
    background-image: url(../images/top-tournament-archive-deco02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
    width: 388px;
    aspect-ratio: 388 / 509;
    right: -60px;
    bottom: -3%;
}

.tournament-archive__title {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 50px;
}

.tournament-archive__title-ja {
    font-family: var(--font-noto-sans-jp);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.03em;
}

.tournament-archive__cards {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 15px;
    column-gap: 15px;
    row-gap: 30px;
    margin-top: 30px;
    z-index: 1;
    padding: 0 30px;
}

.tournament-archive__cards.tournament-archive__cards--page{
    margin-top: 80px;
}

.tournament-archive-card__body {
    display: flex;
    flex-direction: column;
}

.tournament-archive-card__thumb a:hover{
    opacity: 0.8;
}

.tournament-archive-card__img {
    width: 100%;
}

.tournament-archive-card__link {
    background-color: #000;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-weight: bold;
    text-decoration: none;
    padding: 30px;
}

.tournament-archive-card__link-text{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-main-orange);
}

.tournament-archive-card__link-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.0rem;
    height: 2.0rem;
    border: 1px solid #fff;
    border-radius: 50%;
    flex-shrink: 0;
}

.tournament-archive-card__link:hover{
    opacity: 1;
}

/* → の部分をCSSで作る */
.tournament-archive-card__link-icon::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

/* hover時：〇ごと右へスライド */
.tournament-archive-card__link:hover .tournament-archive-card__link-icon {
    transform: translateX(5px);
    transition: transform 0.3s ease;
    opacity: 1;
}

/* hover時：矢印を右にスライド */
/* .tournament-archive-card__link:hover .tournament-archive-card__link-icon::after {
    transform: translateX(3px) rotate(45deg);
    opacity: 1;
} */
@media screen and (max-width: 1200px) {
    .tournament-archive__title {
        gap: 30px;
    }
    .tournament-archive__title-ja {
        font-size: calc(30vw / 1200 * 100);
    }    
    .tournament-archive__title-en{
        width: calc(882vw / 1200 * 100);
    }
}
@media screen and (max-width: 768px) {
    .tournament-archive__inner{
        padding: 0 calc(60vw / 768 * 100);
    }
    .tournament-archive__title {
        flex-direction: column-reverse;
        align-items: center;
        gap: 30px;
    }
    .tournament-archive__title-ja {
        font-size: calc(40vw / 768 * 100);
    }
    .tournament-archive__title-en{
        width: 83%;
    }
    .tournament-archive__cards {
        grid-template-columns: 1fr;
        margin-top: 36px;
        row-gap: 10px;
        padding: 0;
    }
    .tournament-archive-card__body {
        flex-direction: row;
        align-items: center;
    }
    /* .tournament-archive-card__img{
        width: 45%;
        aspect-ratio: 139 / 119;
    } */
    .tournament-archive-card__thumb {
        width: 45%;
        aspect-ratio: 139 / 119;
        overflow: hidden;
    }
    .tournament-archive-card__thumb img {
        width: 100%;
        object-fit: cover;
    }
    /* .tournament-archive-card__body {
        display: grid;
        grid-template-columns: 45% 1fr;
        align-items: stretch;
    }
    .tournament-archive-card__img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    } */
    .tournament-archive-card__link{
        flex: 1;
        align-items: end;
    }
    .tournament-archive-card__link-text{
        font-size: calc(32vw / 768 * 100);
    }    
    .tournament-archive__deco-left {
        width: calc(354vw / 768 * 100);
        left: calc(-1 * (60vw / 768 * 100));
        bottom: 12%;
    }
    .tournament-archive__deco-right {
        width: calc(242vw / 768 * 100);
        right: 0;
        top: -6%;
    }
}

@media screen and (max-width: 430px) {
    .tournament-archive-card__link {
        padding: 0.75rem;
    }
    .tournament-archive-card__link-icon{
        width: 1.5rem;
        height: 1.5rem;
    }
    .tournament-archive-card__link-icon::after {
        width: 5px;
        height: 5px;
    }
}

.tournament-archive-content{
    max-width: 62.5rem;
    margin-inline: auto;
    padding-bottom: 7.5rem;
}

.archive-title{
    /* font-family: var(--font-roboto-noto-sans); */
    font-family: "Roboto", "Yu Mincho", "游明朝", serif;
    font-size: 54px;
    font-weight: 500;
    text-align: center;
}

/* 全体 */
.archive-nav-buttons {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	background-color: #000;
	gap: 20px;
    margin-top: 5rem;
}

/* 左側の戻るボタンエリア */
.archive-nav-buttons__left {
	display: flex;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
}

/* ======================
戻るボタン共通
====================== */
.archive-nav-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
    font-weight: 500;
	line-height: 1.8;
	color: #fff;
	text-decoration: none!important;
	border: none;
	gap: 10px;
	transition: all 0.3s ease;
}

/* 丸アイコン部分 */
.archive-nav-button__icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid #fff;
	border-radius: 50%;
	flex-shrink: 0;
}

/* ← の矢印（疑似要素で作成） */
.archive-nav-button__icon::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(-135deg); /* ← 方向 */
	transition: transform 0.3s ease;
}

/* ホバー時：〇ごと左へスライド */
.archive-nav-button:hover .archive-nav-button__icon {
	transform: translateX(-5px);
	transition: transform 0.3s ease;
}

/* テキスト */
.archive-nav-button__text {
	color: #fff;
}

/* =========================================
   Instagramボタン
   ========================================= */
.archive-nav-button--insta img {
	display: block;
	width: 178px;
	height: auto;
	transition: opacity 0.3s ease;
    margin-bottom: 0;
}

.archive-nav-button--insta:hover img {
	opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .archive-nav-buttons {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.875rem;
    }
    .archive-nav-buttons__left {
        gap: 1.25rem;
    }
}