:root {
    --ft-open: "Open Sans", sans-serif;
    --main-color: #d61980;
}
main {
    background: #fff;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.pc2 {
    display: block;
}
.sp2 {
    display: none;
}
.pc-inline {
    display: inline;
}
.sp-inline {
    display: none;
}
.pc2-inline {
    display: inline;
}
.sp2-inline {
    display: none;
}
@media screen and (max-width: 968px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block;
    }
    .pc-inline {
        display: none;
    }
    .sp-inline {
        display: inline;
    }
}
@media screen and (max-width: 768px) {
    .pc2 {
        display: none !important;
    }
    .sp2 {
        display: block;
    }
    .pc2-inline {
        display: none;
    }
    .sp2-inline {
        display: inline;
    }
}
/* fv */
.fv {
    background: url(../images/athtag2/1-1.png) no-repeat;
    background-position: center;
    background-size: cover;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 570px;
    position: relative;
    width: 100%;
}
.fv::before,
.fv::after {
    border-style: solid;
    border-top: 257px solid transparent;
    border-bottom: 257px solid transparent;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    bottom: -257px;
    width: 0;
}
.fv::before {
    border-left: 245px solid var(--main-color);
    border-right: 0;
    left: 0;
}
.fv::after {
    border-right: 245px solid var(--main-color);
    border-left: 0;
    right: 0;
}
.fv-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 auto;
    width: 92%;
    max-width: 1220px;
}
.fv-text h1 {
    margin: 0 0 35px;
}
.fv-text p {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
}
.fv-text {
    width: 50%;
}
.logos {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 35px 0 0;
}
.logos img {
    width: 258px;
}
@media screen and (max-width: 1368px) {
    .fv::before,
    .fv::after {
        border-top: 130px solid transparent;
        border-bottom: 130px solid transparent;
        bottom: -130px;
    }
    .fv::before {
        border-left: 100px solid var(--main-color);
    }
    .fv::after {
        border-right: 100px solid var(--main-color);
    }
}
@media screen and (max-width: 968px) {
    .fv-text {
        width: 80%;
    }
    .fv-text p {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .fv-text {
        width: 90%;
    }
    .fv-text p {
        font-size: 14px;
    }
}
@media screen and (max-width: 568px) {
    .fv::before,
    .fv::after {
        border-top: 90px solid transparent;
        border-bottom: 90px solid transparent;
        bottom: -90px;
    }
    .fv::before {
        border-left: 75px solid var(--main-color);
    }
    .fv::after {
        border-right: 75px solid var(--main-color);
    }
}

/* page-blockhead */
.page-blockhead {
    margin: 0 0 45px;
    text-align: center;
}
.page-blockhead h2 span {
    color: var(--main-color);
    display: block;
    font-family: var(--ft-open);
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 15px;
}
.page-blockhead h2 p {
    color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-weight: 600;
}
.page-blockhead h2 p.line::before,
.page-blockhead h2 p.line::after {
    background: var(--main-color);
    content: "";
    flex: 1;
    height: 2px;
    width: 100%;
}
.page-blockhead h2 p.line::before {
    margin-right: 20px;
}
.page-blockhead h2 p.line::after {
    margin-left: 20px;
}
@media screen and (max-width: 968px) {
    .page-blockhead {
        margin: 0 0 35px;
    }
    .page-blockhead h2 span {
        font-size: 26px;
    }
    .page-blockhead h2 p {
        font-size: 18px;
    }
    .page-blockhead h2 p.line::before {
        margin-right: 15px;
    }
    .page-blockhead h2 p.line::after {
        margin-left: 15px;
    }
}
@media screen and (max-width: 768px) {
    .page-blockhead h2 span {
        font-size: 21px;
    }
    .page-blockhead h2 p {
        font-size: 14px;
    }
    .page-blockhead h2 p.line::before {
        margin-right: 12px;
    }
    .page-blockhead h2 p.line::after {
        margin-left: 12px;
    }
}
/* content */
.content {
    background: url(../images/athtag2/1-3.png) no-repeat, url(../images/athtag2/1-2.png) no-repeat;
    background-position: left 20% top 30%, right 20% top;
    background-size: 207px, 181px;
    padding: 75px 0;
}
.content-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1220px;
}
.content-txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8em;
    text-align: center;
}
.content-list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    margin: 50px 0 0;
}
.content-list__item {
    line-height: 0;
    width: calc((100% - (20px * 2)) / 3);
}
@media screen and (max-width: 1368px) {
    .content {
        background-position: left 5% top 20%, right 5% top;
        background-size: 180px, 160px;
    }
}
@media screen and (max-width: 968px) {
    .content-list {
        gap: 15px;
    }
    .content-list__item {
        width: calc((100% - (15px * 2)) / 3);
    }
}
@media screen and (max-width: 768px) {
    .content {
        background: none;
        padding: 45px 0;
    }
    .content-txt {
        font-size: 14px;
    }
    .content-list {
        margin-top: 35px;
    }
    .content-list__item {
        text-align: center;
        width: 100%;
    }
}

/* about */
.about {
    border-top: 8px solid var(--main-color);
    padding: 65px 0;
}
.about-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1220px;
}
.about-head.bottom-head {
    margin-top: 65px;
}
.about-top__blocklist,
.about-bottom__blocklist {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
}
.about-blocks.topblocks {
    margin-top: 80px;
}
.about-block {
    position: relative;
    width: calc((100% - (20px * 2)) / 3);
}
.about-block.gold::after,
.about-block.silver::after,
.about-block.bronze::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 137px;
    position: absolute;
    left: 0;
    top: -35px;
    width: 137px;
}
.about-block.gold::after {
    background-image: url(../images/athtag2/gold.png);
}
.about-block.silver::after {
    background-image: url(../images/athtag2/silver.png);
}
.about-block.bronze::after {
    background-image: url(../images/athtag2/bronze.png);
}
.about-block__text {
    padding: 5px 20px 0;
}
.about-block.big .about-block__name {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin: 0 0 10px;
}
.about-block.big .about-block__name .name {
    font-size: 22px;
    font-weight: 600;
}
.about-block.big .about-block__name .player {
    font-size: 16px;
    font-weight: 600;
    margin-left: 4px;
}
.about-block.big .about-block__name .sport {
    font-size: 14px;
    font-weight: 600;
    margin-left: 15px;
}
.about-block__comment {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}
.about-block__image {
    position: relative;
    z-index: 1;
}
.about-block__img {
    line-height: 0;
}
.about-block.small1 .about-block__name,
.about-block.small2 .about-block__name {
    position: absolute;
    right: 0;
    top: 25%;
    width: max-content;
}
.about-block.small1 .about-block__name .name,
.about-block.small2 .about-block__name .sport {
    display: block;
}
.about-block.small1 .about-block__name .kind {
    color: var(--main-color);
    font-size: 22px;
    font-weight: 600;
}
.about-block.small1 .about-block__name .name {
    font-size: 18px;
    font-weight: 600;
}
.about-block.small1 .about-block__name .player {
    font-size: 14px;
    font-weight: 600;
}
.about-block.small2 .about-block__name .name {
    font-size: 18px;
    font-weight: 600;
}
.about-block.small2 .about-block__name .player {
    font-size: 14px;
    font-weight: 600;
}
.about-block.small2 .about-block__name .sport {
    font-size: 16px;
    font-weight: 600;
}
@media screen and (max-width: 968px) {
    .about-head.bottom-head {
        margin-top: 50px;
    }
    .about-blocks.topblocks {
        margin-top: 60px;
    }
    .about-block {
        width: calc((100% - (20px * 1)) / 2);
    }
    .about-block.gold::after,
    .about-block.silver::after,
    .about-block.bronze::after {
        height: 100px;
        top: -5px;
        width: 100px;
    }
    .about-block__text {
        padding: 5px 15px 0;
    }
    .about-block.big .about-block__name .name {
        font-size: 20px;
    }
    .about-block.big .about-block__name .player {
        font-size: 14px;
    }
    .about-block.big .about-block__name .sport {
        font-size: 12px;
        margin-left: 10px;
    }
    .about-block__comment {
        font-size: 14px;
    }
    .about-block.small1 .about-block__name,
    .about-block.small2 .about-block__name {
        top: 25%;
    }
    .about-block.small1 .about-block__name .kind {
        font-size: 20px;
    }
    .about-block.small1 .about-block__name .name {
        font-size: 16px;
    }
    .about-block.small1 .about-block__name .player {
        font-size: 12px;
    }
    .about-block.small2 .about-block__name .name {
        font-size: 16px;
    }
    .about-block.small2 .about-block__name .player {
        font-size: 12px;
    }
    .about-block.small2 .about-block__name .sport {
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {
    .about {
        padding: 45px 0;
    }
    .about-head h2 span {
        font-size: 21px;
    }
    .about-head h2 p {
        font-size: 14px;
    }
    .about-head h2 p::before {
        margin-right: 12px;
    }
    .about-head h2 p::after {
        margin-left: 12px;
    }
    .about-block {
        width: 100%;
    }
    .about-top__blocklist .about-block:nth-child(2),
    .about-top__blocklist .about-block:nth-child(3) {
        margin-top: 20px;
    }
    .about-block.gold::after,
    .about-block.silver::after,
    .about-block.bronze::after {
        height: 85px;
        width: 85px;
    }
}

/* past(2025)  */
.athlist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2em;
}
.athlist-item__copy {
    color: #D2007C;
    font-family: 'Shippori Mincho', serif;
    font-weight: 700;
}
.athlist-item__name {
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .athlist {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.4em;
    }
}