/*
Theme Name: Hokkaido_Marathon_2022
*/
@import url('https://fonts.googleapis.com/css2?family=Saira+Extra+Condensed:wght@500;700&display=swap');

/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
マージン
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.mT10 {
    margin-top: 10px !important;
}

.mT20 {
    margin-top: 20px !important;
}

@media all and (max-width: 1024px) {
    .mT20 {
        margin-top: 15px !important;
    }
}

.mT30 {
    margin-top: 30px !important;
}

@media all and (max-width: 1024px) {
    .mT30 {
        margin-top: 25px !important;
    }
}

.mT40 {
    margin-top: 40px !important;
}

@media all and (max-width: 1024px) {
    .mT40 {
        margin-top: 35px !important;
    }
}

.mT50 {
    margin-top: 50px !important;
}

@media all and (max-width: 1024px) {
    .mT40 {
        margin-top: 45px !important;
    }
}

.mT60 {
    margin-top: 60px !important;
}

@media all and (max-width: 1024px) {
    .mT40 {
        margin-top: 55px !important;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
全体
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
body {
    padding-top: 90px;
    font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ ゴシック',sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    background: #FFF;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

:lang(en) body,
:lang(ko) body,
:lang(zh-cn) body,
:lang(zh-tw) body {
    font-family: Helmet, Freesans, sans-serif;
}

body.is-fixed {
    overflow: hidden;
}

@media all and (max-width: 1024px) {
    body {
        padding-top: 62px;
    }
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
} 

.forSp {
    display: none;
}

button:active > *,
button:focus > * {
    position: relative;
}

@media all and (max-width: 1024px) {
    .forSp {
        display: block;
    }

    .forPc {
        display: none;
    }
}

.is-tab a[href^="tel:"],
.is-pc a[href^="tel:"] {
    pointer-events: none;
}

.is-pc a,
.is-pc button {
    transition: opacity 0.3s ease-in-out;
}

.is-pc a:hover,
.is-pc button:hover {
    opacity: 0.6;
}

strong {
    font-weight: bold;
}

.fullImg {
    width: 100%;
    height: auto;
}

@media all and (max-width: 1024px) {
    section:not(.wp) img {
        width: 100%;
        height: auto;
    }
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

/* SNS */
.sns {
    display: flex;
    align-items: center;
}

.sns a {
    width: 26px;
}

.sns a:nth-child(n + 2) {
    margin-left: 12px;
}

.sns img {
    width: 100%;
    height: auto;
}

.copyright {
    display: block;
    width: 100%;
    margin-top: 55px;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
}


@media all and (max-width: 1024px) {    
    .sns a {
        display: block;
        width: 32px;
    }

    .sns a:nth-child(n + 2) {
        margin-top: 16px;
        margin-left: 0;
    }

    .copyright {
        letter-spacing: 0;
    }
}

.nav__category {
    padding: 8px 10px 0;
    margin-top: 0;
    border-top: 1px solid #FFF;
}


.navAcd {
    position: relative;
    padding-right: 20px;
}

.navAcd::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    width: 12px;
    height: 8px;
    margin-top: -4px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-bottom.png") center center / contain no-repeat;
    transition: transform 0.3s ease-in-out;
}

.navAcd.is-active::after {
    transform: rotate(-180deg);
}

.navPage {
    display: none;
    font-weight: normal;
}


/* マージン */
.mt0 {
    margin-top: 0 !important;
}

/* レイアウト */
.contents {
    overflow: hidden;
}

.bgArea {
    position: relative;
    padding-bottom: 100px;
    background: url("/2025/wp-content/uploads/2025/02/bg-left.png") left top repeat-y,
                url("/2025/wp-content/uploads/2025/02/bg-right.png") right top repeat-y;
}

.shadow {
    background: #FFF;
    box-shadow: 10px 10px 20px rgba(0,0,0,0.16);
}

.scroll-bg {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
}
.scroll-bg::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    background: rgb(0,64,152);
    background: linear-gradient(90deg, rgba(0,64,152,1) 0%, rgba(0,161,215,1) 100%);
    transition: 500ms;
    transform-origin: right;
}

.scroll-bg.is-fadein.scroll-bg::after {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

.box {
    padding: 40px 50px;
}

.box--cGray {
    background-color: #F4F4F4;
}

.box > *:nth-child(n + 2),
.box__inner > *:nth-child(n + 2),
.box--03__inner > *:nth-child(n + 2),
.box--03__phArea > *:nth-child(n + 3) {
    margin-top: 20px;
}

.box__row {
    display: flex;
    justify-content: center;
}

.box__icon {
    margin-right: 20px;
    width: 90px;
    flex-shrink: 0;
}

.box__icon img {
    max-width: 100%;
    display: block;
}

.box .h2:nth-child(n + 2) {
    margin-top: 60px;
}

.box--02__title {
    padding: 10px 32px;
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    letter-spacing: 0.1em;
    background: #7FBE25;
}

.receptionTxt {
    padding: 10px 8px;
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    letter-spacing: 0.1em;
}

.box--02__inner {
    position: relative;
    padding: 25px 30px;
}

.box--02__schedule {
    position: relative;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.3;
    color: #003288;
}

.box--02__num {
    font-size: 50px;
}

.box--02__label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 6px;
    display: inline-block;
    margin-left: 10px;
    padding: 7px 20px;
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    background: #D83B20;
    vertical-align: top;
    letter-spacing: -0.01em;
}

.box--02__label p {
    color: #333333;
}

.box--02__txt {
    margin-top: 15px;
}

.box--02 .cs {
    position: absolute;
    right: 30px;
    z-index: 1;
    width: 200px;
    font-size: 30px;
}

.box--02.sky .box--02__title {
    background: #3CA2D0;
}

.box--02.pink .box--02__title {
    background: #E95295;
}

.box--02.yellow .box--02__title {
    background: #F4D429;
}

.box--02.hamanasu .box--02__title {
    background: #E67095;
}

.box--02.green .box--02__title {
    background: #A9C96A;
}

.box--02.blue .box--02__title {
    background: #2F56A1;
}

.box--02.orange .box--02__title {
    background: #EA7F3A;
}

.box--02.gray .box--02__title {
    background: #AAAAAA;
}

.box--02.navy .box--02__title {
    background: #002469;
}

.box--02.navy .box--02__title.sky {
    background: #3CA2D0;
}

.box--03__title {
    padding: 10px 32px;
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    letter-spacing: 0.1em;
    background: #E67095;
}

.box--03__inner {
    position: relative;
    padding: 25px 30px;
}

.container {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.container:nth-child(n + 2) {
    margin-top: 60px;
}

.container > *:nth-child(n + 2) {
    margin-top: 20px;
}

@media all and (max-width: 1024px) {
    .bgArea {
        padding: 30px 20px 50px;
        background-size: 240px auto;
        background-position-y: -30px;
    }

    .box {
        padding: 20px;
    }

    .box > *:nth-child(n + 2),
    .box__inner > *:nth-child(n + 2),
    .box--03__phArea > *:nth-child(n + 2) {
        margin-top: 15px;
    }

    .box__row {
        display: block;
    }
    
    .box__icon {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    .box__col:nth-child(n+2) {
        margin-top: 20px;
    }

    .box .h2:nth-child(n + 2) {
        margin-top: 30px;
    }

    .box--02__title,
    .box--03__title {
        padding: 10px 20px;
        font-size: 16px;
    }

    .box--02__inner,
    .box--03__inner {
        padding: 25px 20px;
    }

    .box--02__schedule {
        font-size: 20px;
    }

    .box--02__num {
        font-size: 36px;
    }

    .box--02__label {
        position: static;
        margin-top: 25px;
        margin-left: 0;
        padding: 5px 15px;
        font-size: 16px;
    }

    .box--02 .cs {
        position: static;
        display: inline-block;
        margin: 20px auto 0;
        text-align: center;
    }

    .container {
        max-width: 100%;
    }
}

/* 追加エントリー見出し */
.addTitle {
    display: flex;
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    letter-spacing: 0.1em;
    background: #F8AA5B;
}

.addTitle__sky {
    padding: 10px 32px;
    background: #3CA2D0;
}

.addTitle__orange {
    padding: 10px 32px;
}

.addTitle .note {
    margin-left: 4px;
    vertical-align: middle;
    letter-spacing: 0;
}

@media all and (max-width: 1024px) {
    .addTitle {
        display: block;
    }

    .addTitle__sky,
    .addTitle__orange {
        display: block;
        width: 100%;
        padding: 10px 20px;
        font-size: 16px;
    }
}

/* 見出し */
.sectionTitle {
    font-size: 50px;
    text-align: center;
    line-height: 1.2;
    color: #003288;
}

.sectionTitle--small {
    font-size: 37px;
}

.sectionTitle .ja--bold {
    display: inline-block;
    font-size: 35px;
    font-weight: 600;
}

.sectionTitle.white {
    color: #FFF;
}

.sectionTitle__jp {
    display: block;
    font-size: 14px;
    letter-spacing: 0.2em;
    line-height: 1.4;
}

.sectionTitle__jp.ls {
    letter-spacing: 0.1em;
}

.wheelchairLink__title .sectionTitle__jp {
    line-height: 2.5;
}


.borderTitle {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    font-size: 50px;
    color: #003288;
    line-height: 1.2;
}

.container .borderTitle:nth-child(n + 2) {
    margin-top: 50px;
}

.borderTitle::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100vw;
    height: 2px;
    background: #003288;
}

.borderTitle__jp {
    margin-left: 10px;
    font-size: 14px;
    letter-spacing: 0;
    vertical-align: middle;
}

.h2 {
    padding-bottom: 4px;
    font-size: 20px;
    font-weight: bold;
    color: #003288;
    border-bottom: 1px solid #003288;
}

.h2__en {
    margin-right: 10px;
    font-size: 30px;
}

.h2__red {
    font-size: 20px;
    color: #D83B20;
    font-weight: 600;
}

.h2__red .noBorder {
    border-bottom: none;
}

.h3 {
    padding-top: 10px;
    font-size: 16px;
    font-weight: bold;
}

@media all and (max-width: 1024px) {
    .sectionTitle {
        font-size: 40px;
    }

    .borderTitle {
        padding-bottom: 5px;
        font-size: 34px;
    }

    .borderTitle__jp {
        display: block;
        margin: 0 0 5px;
        font-size: 14px;
    }

    .h2__en {
        font-size: 26px;
    }

    .h2 {
        font-size: 16px;
    }

    .h2__red {
        font-size: 15px;
    }

    .sectionTitle .ja--bold {
        font-size: 23px;
    }

    .sectionTitle__jp {
        font-size: 12px;
        letter-spacing: 0.05em;
    }
}

/* パーツ */
.en {
    font-family: 'Saira Extra Condensed', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.en--bold {
    font-family: 'Saira Extra Condensed', sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.kv__title .jp--bold {
    font-family: 'Saira Extra Condensed', sans-serif;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.entry-attentionTxt .en--bold {
    font-size: 24px;
}

.link {
    color: #003288;
    text-decoration: underline;
}

.note {
    margin-top: 18px;
    font-size: 12px;
    line-height: 1.67;
}

.note li {
    padding-left: 1em;
    text-indent: -1em;
}

.note li::before {
    content: "\00203B";
}

ul.indent {
    padding-left: 1em;
}

.parentheses-num {
    counter-reset: item;
}

.parentheses-num li {
    padding-left: 1em;
    text-indent: -1em;
    list-style: none;
}

.parentheses-num li::before {
    counter-increment: item;
    content: "(" counter(item, decimal) ") ";
}


.bullet li {
    padding-left: 1em;
    text-indent: -1em;
}

.bullet li::before {
    content: "\2022"; 
}

.enPage .note li::before {
    content: "\2a";
}

.redTxt {
    color: #D83B20;
}

.blueTxt {
    color: #003288;
}

.rightTxt {
    text-align: right;
}

.boldTxt {
    font-weight: bold;
}

.centerTxt {
    text-align: center;
}

.indent {
    text-indent: 1em;
}

.ol,
.ol--num {
    counter-reset: number;
}

.ol > li,
.ol--num li {
    position: relative;
    padding-left: 2em;
}

.ol--num li {
    font-size: 12px;
}

.ol > li::before {
    counter-increment: number;
    content: counter(number)'.';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 1.8em;
    text-align: right;
}

.ol--num li::before {
    counter-increment: number;
    content: '※'counter(number)'.';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 1.8em;
    text-align: right;
}

.ol--num.enNum li::before {
    counter-increment: number;
    content: '*'counter(number)'.';
}

.inlineBlock {
    display: inline-block;
}

.del {
    text-decoration-line: line-through;
    text-decoration-style:double;
}

/* VIEW_MORE */
.more {
    position: relative;
    padding-right: 15px;
    font-family: 'Saira Extra Condensed', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #003288;
}

.more.white {
    color: #FFF;
}

.more::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 86px;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow.png") left top / 10px auto no-repeat;
    transform: translateY(-50%);
    transition: width 0.2s ease-in-out;
}

.anchor::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow.png") left top / 10px auto no-repeat;
    transform: rotate(90deg);
    transition: width 0.2s ease-in-out;
}


.is-pc .more::after {
    width: 2px;
}

.is-pc .more:hover {
    opacity: 1;
}

.is-pc .more:hover::after,
.is-pc .pageLinks a:hover .more::after,
.is-pc .pageLinks--small a:hover .more::after,
.is-pc .covid19Link:hover .more::after,
.is-pc .entryLink:hover .more::after,
.is-pc .news__list a:hover .more::after,
.is-pc .wheelchairLink:hover .more::after {
    width: 10px;
}

.circleMore {
    display: inline-block;
    margin-top: 30px;
    padding: 3.5px 12px 3.5px 15px;
    border-radius: 50px;
    background: #FFF;
}

.cs {
    position: absolute;
    top: 50%;
    right: 202px;
    z-index: 2;
    padding: 4px 20px;
    font-size: 25px;
    color: #FFF;
    border-radius: 50px;
    background: #AAA;
    transform: translateY(-50%);
}

.cs--static {
    position: static;
    display: inline-block;
    transform: none;
}

@media all and (max-width: 1024px) {
    .anchor::after {
        top: 30%;
    }

    .circleMore {
        margin-top: 10px;
    }

    .circleMore .more {
        font-size: 15px;
    }

    .circleMore .more::after {
        left: 76px;
    }

    .cs {
        position: static;
        display: inline-block;
        transform: none;
        margin-top: 10px;
    }

    .entry-attentionTxt .en--bold {
        font-size: 16px;
    }

    .entry-attentionTxt .sectionTitle__jp {
        letter-spacing: 0.01em;
    }
}


/* テーブル */
.table {
    width: 100%;
    border-top: 1px solid #003288;
    border-left: 1px solid #003288;
}

.table th,
.table td {
    padding: 10px;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #003288;
    border-bottom: 1px solid #003288;
}


.table .boldBorder{
    border-bottom-width: 2px;
}

.table th {
    color: #FFF;
    background: #4063A7;
}

.table--kanmon th {
    width: 25%;
}

.table--institution th {
    width: 16.66%;
}

.table .w60 {
    width: 60px;
}

.table .w80 {
    width: 68px;
}

.table .w90 {
    width: 90px;
}

.table .w100 {
    width: 100px;
}

.table .w150 {
    width: 150px;
}
.table .w200 {
    width: 200px;
}

.table .w230 {
    width: 230px;
}

.table .p22-26 {
    width: 22%;
}

.table .p33 {
    width: 33.33%;
}

.table .p35 {
    width: 35%;
}

.table .p50 {
    width: 50%;
}

.table.pink,
.table.pink th,
.table.pink td {
    border-color: #E67095;
}

.table.pink th {
    background: #EB92AE;
}

.table--entry {
    width: 400px;
    margin-top: 30px;
}

.table--entry02__item,
.table--entry02__item--w15 {
    width: 156px;
}

.table--entry02 th,
.table--entry02 td {
    vertical-align: middle;
}

.table__emp,
.table__emp--02 {
    position: relative;
    overflow: hidden;
    width: 156px;
}

.table__emp {
    height: 210px;
}

.table__emp--02 {
    height: 63px;
}

.table__emp::before,
.table__emp--02::before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    right: 0;
    z-index: 1;
    width: 280px;
    height: 1px;
    background: #003288;
    transform: rotate(-53.5deg);
    transform-origin: right top;
}

.table__emp--02::before {
    transform: rotate(-21deg);
}

.table .noBorder {
    border-bottom: none;
}


@media all and (max-width: 1024px) {
    .scroll {
        overflow-x: scroll;
    }

    .scroll .table {
        white-space: nowrap;
    }
    
    .table--entry {
        width: 100%;
    }

    .table--entry02 {
        min-width: 730px;
    }

    .table--entry02__item {
        width: auto;
    }
    
    .table__emp::before {
        transform: rotate(-56.5deg);
    }
    
    .table__emp--02::before {
        transform: rotate(-23deg);
    }

    .table .p22-26 {
        width: 26%;
    }
}

/* dl */
.dl {
    display: flex;
    flex-wrap: wrap;
}

.dl dt {
    width: 120px;
    padding-right: 10px;
    font-weight: bold;
}

.dl dd {
    width: calc(100% - 120px);
}

@media all and (max-width: 1024px) {
    .dl {
        display: block;
    }

    .dl dt {
        width: 100%;
        margin-top: 10px;
    }

    .dl dd {
        width: 100%;
    }
}

/* 画像とテキスト */
.phTxt,
.profile {
    float: right;
    width: 188px;
    margin-left: 42px;
}

@media all and (max-width: 1024px) {
    .phTxt,
    .profile {
        float: none;
        display: block;
        max-width: 100%;
        margin: 0 auto;
    }

    .subPage .phTxt {
        width: 225px;
    }

    .subPage .profile {
        width: 160px;
    }
}

/* figure */
.figure {
    float: right;
    width: 270px;
    margin-left: 40px;
    margin-bottom: 5px;
    padding: 15px;
    background: #F4F4F4;
}

.figure--col2 {
    margin-left: 15px;
}

.figure img {
    width: 100%;
}

.figure figcaption {
    margin-top: 10px;
    font-size: 12px;
}

@media all and (max-width: 1024px) {
    .figure {
        float: none;
        display: block;
        width: 100%;
        max-width: 310px;
        margin: 0 auto;
    }
}

/* アコーディオン */
.acd__title {
    position: relative;
    padding: 25px 50px 25px 72px;
    font-size: 20px;
    font-weight: bold;
    color: #003288;
    cursor: pointer;
}

.is-pc .acd__title {
    transition: opacity 0.3s ease-in-out;
}

.is-pc .acd__title:hover {
    opacity: 0.6;
}

.acd__title::before {
    content: "";
    position: absolute;
    top: 33px;
    left: 50px;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-blue.png") center center / contain no-repeat;
    transition: transform 0.3s ease-in-out;
}

.acd__title.is-active::before {
    transform: rotate(90deg);
}

.acd__contents {
    display: none;
    padding: 0 50px;
}

.acd__inner {
    padding: 30px 0;
    border-top: 1px solid #003288;
}

.acd__inner > *:nth-child(n + 2) {
    margin-top: 20px;
}

@media all and (max-width: 1024px) {
    .acd__title {
        padding: 20px 20px 20px 40px;
        font-size: 16px;
    }

    .acd__title::before {
        top: 25px;
        left: 20px;
    }

    .acd__contents {
        padding: 0 20px;
    }

    .acd__inner {
        padding: 20px 0;
    }

    .acd__inner > *:nth-child(n + 2) {
        margin-top: 15px;
    }
}

/* 動画 */
.subPage .movie {
    display: block;
    width: 580px;
    margin: 40px auto 0;
}

.youtube {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.iframeWrap {
  width: 100%;
  margin-top: 10px;
}

.iframeWrap iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: none;
  display: block;
}

@media all and (max-width: 1024px) {
    .subPage .movie {
        width: 100%;
        margin-top: 20px;
    }
}

/* リンク */
.subPage .anc {
    display: flex;
    flex-wrap: wrap;
}

.subPage .anc li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    margin-top: 5px;
    margin-right: 5px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    background: #FFF;
}

.subPage .anc li.is-active {
    padding: 5px 10px;
    color: #FFF;
    background: #003288;
}

.subPage .anc li.is-disabled {
    padding: 5px 10px;
    color: #FFF;
    background: #AAA;
}

.subPage .anc__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 5px 10px;
    color: #003288;
    border: 1px solid #003288;
}

@media all and (max-width: 1024px) {
    .subPage .anc li {
        width: calc(33.33% - 3.4px);
        margin-top: 5px;
    }

    .subPage .anc li:nth-child(3n) {
        margin-right: 0;
    }
}

/* ページ内リンク */
:target {
    scroll-margin-top: 90px;
}

/* 追従バナー */
/* ラッパー：左下に固定して縦に積む */
.floatingBnrWrapper {
  position: fixed;
  bottom: 25px;
  left: 25px;
  display: flex;
  flex-direction: column;
  gap: 10px;          /* バナー間の間隔 */
  z-index: 9999;
}

/* 各バナー */
.floatingBnr {
  position: relative; /* wrapperで固定しているので中身はrelative */
  width: 190px;
  height: 90px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  border-radius: 2px;
  overflow: hidden;
}

.floatingBnr img {
  width: 100%;
  display: block;
}

.floatingBnr-close {
  position: absolute;
  top: 1px;
  right: 2px;
  z-index: 1;
  background: transparent;
  border: none;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.floatingBnr-close.white {
    color: #fff;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ヘッダー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.header,
.menu__header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 90px;
    color: #003288;
    text-align: center;
    border-bottom: 2px solid #003288;
    background: #FFF;
}

.menu__header {
    background: #003288;
}

.header__right,
.header__left {
    display: flex;
    align-items: center;
}

.header__logo,
.menu__logo {
    width: 85px;
    margin-left: 30px;
}

.header__logo img,
.menu__logo img {
    width: 100%;
}

.header__logos {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.header__logos a {
    width: 74px;
}

.header__logos img {
    width: 100%;
}

.header__btn {
    position: relative;
    width: 90px;
    height: 88px;
    font-size: 0;
}

.header__btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 30px;
    height: 22px;
    border-top: 2px solid #003288;
    border-bottom: 2px solid #003288;
    transform: translate(-50%, -50%);
}

.header__btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 30px;
    height: 2px;
    background: #003288;
    transform: translate(-50%, -50%);
}

.timer {
    display: flex;
    align-items: center;
    margin-right: 22px;
}

.timer__txt {
    margin-top: 10px;
}

.timer__box {
    position: relative;
    min-width: 43px;
    height: 60px;
    margin-left: 10px;
    padding: 7px 3px 0;
    line-height: 1;
    color: #FFF;
    background: #003288;
}

.timer__mark {
    position: absolute;
    left: -8px;
    bottom: 5px;
    font-size: 36px;
    color: #003288;
}

.timer__en {
    display: block;
    font-size: 11px;
}

.timer__num {
    display: block;
    margin-top: 2px;
    font-size: 35px;
    letter-spacing: 0.05em;
}

@media all and (max-width: 1024px) {
    .header,
    .menu__header {
        height: 62px;
    }

    .header__right .sns a:nth-child(n + 2) {
        margin-top: 0;
        margin-left: 12px;
    }

    .header__logos,
    .header .sns {
        display: none;
    }

    .header__logo,
    .menu__logo {
        width: 64px;
        margin-left: 8px;
    }

    .header__logo img,
    .menu__logo img {
        width: 100%;
    }

    .header__btn {
        width: 60px;
    }

    .timer {
        margin-right: 0;
    }

    .timer__box {
        min-width: 35px;
        padding-top: 15px;
    }

    .timer__txt {
        font-size: 10px;
    }

    .timer__en {
        font-size: 10px;
        letter-spacing: 0.1em;
    }

    .timer__num {
        font-size: 20px;
    }
}

.menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 150;
    width: 100%;
    height: 100%;
    color: #FFF;
    background: #003288;
    overflow: auto;
    display: none;
}

.menu__inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1000px;
    margin: 0 auto;
    min-height: 100%;
    padding: 100px 0 50px;
}

.menu__contents {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 1000px;
}

.menu__contents .sns a:nth-child(n + 2) {
    margin-left: 20px;
}

.menu__btn {
    position: relative;
    width: 90px;
    height: 88px;
    font-size: 0;
}

.menu__btn::before {
    content: "";
    position: absolute;
    top: 35%;
    right: 30%;
    z-index: 1;
    width: 30px;
    height: 3px;
    background: #FFF;
    transform-origin: left top;
    transform: rotate(45deg);
}

.menu__btn::after {
    content: "";
    position: absolute;
    top: 35%;
    right: 42%;
    z-index: 1;
    width: 30px;
    height: 3px;
    background: #FFF;
    transform-origin: right top;
    transform: rotate(-45deg);
}

.menu .copyright {
    position: absolute;
    left: 0;
    bottom: 20px;
    z-index: 1;
    margin-top: 0;
}

.nav {
    width: 305px;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.nav:nth-child(n +2) {
    margin-left: 25px;
}

.nav li {
    font-size: 12px;
}

.nav__links li {
    margin-top: 8px;
    font-feature-settings: "palt";
}

.nav__links > li:first-child {
    margin-top: 0;
}

.nav__links a:hover {
    opacity: 0.5;
}

.nav__links:last-child {
    border-bottom: 1px solid #FFF;
    padding-bottom: 8px;
}

.nav__link {
    display: block;
}



@media all and (max-width: 1024px) {
    .nav {
        width: 100%;
        margin-left: 0;
    }

    .nav:nth-child(n +2) {
        margin-left: 0;
    }

    .nav:last-child {
        border-bottom: 1px solid #FFF;
    }

    .nav__links:last-child {
        border-bottom: none;
    }

    .nav__links li {
        font-size: 14px;
    }

    .menu__contents {
        display: block;
        margin: 0 auto;
        width: 350px;
    }

    .menu__inner {
        padding: 93px 20px 80px;
    }

    .menu__btn {
        width: 60px;
    }

    .menu__btn::before {
        width: 33px;
        right: 13%;
    }

    .menu__btn::after  {
        width: 33px;
        right: 32%;
    }

    .menu .copyright {
        bottom: 10px;
        line-height: 1.6;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
パンクず
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.breadcrumb {
    max-width: 1000px;
    margin: 0 auto;
    font-weight: 500;
    color: #003288;
}

.breadcrumb a {
    text-decoration: underline;
}

.breadcrumb > li {
    display: inline;
}

.breadcrumb li:nth-child(n + 2)::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 2px;
    margin: 0 3px;
    background: #003288;
    vertical-align: middle;
}

@media all and (max-width: 1024px) {
    .breadcrumb {
        max-width: 100%;
        padding: 0 20px;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
フッター
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.footer {
    padding: 24px 30px 10px 20px;
    color: #FFF;
    background: #003288;
}

/* .footer__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 920px;
    margin: 0 auto;
} */

.footer__logo {
    display: flex;
    width: 500px;
    margin: 20px auto 0;
}

.footer .menu__inner {
    padding-top: 50px;
}

.footer__contents {
    display: flex;
    align-items: flex-start;
    margin-top: 8px;
}

.footer__links {
    width: 213px;
    font-weight: bold;
    line-height: 1.428;
    letter-spacing: 0.1em;
}

.footer__links li {
    margin-top: 16px;
}

.footer__links > li:first-child {
    margin-top: 0;
}

.footer__logos {
    display: none;
}

.footer .sns {
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 0 15px;
    justify-content: flex-end;
}

.footer .sns a {
    width: 32px;
}

.footer .sns a:nth-child(n + 2) {
    margin-top: 0;
    margin-left: 16px;
}

@media all and (max-width: 1024px) {
    .footer {
        padding: 20px 20px 10px;
    }

    .footer .menu__inner {
        padding-bottom: 0;
    }

    .footer__logo {
        width: 295px;
    }

    .footer__inner {
        display: block;
    }

    .footer__contents {
        justify-content: space-between;
        margin-top: 20px;
    }

    .footer__links {
        width: calc(50% - 5px);
        font-size: 12px;
    }

    .footer .sns {
        justify-content: flex-start;
        max-width: 100%;
        margin: 30px 0 15px;
        padding: 0;
    }

    .footer__logos {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 5px 10px;
        background: #fff;
    }
    
    .footer__logos a {
        width: calc(20% - 3.75px);
    }
    
    .footer__logos img {
        width: 100%;
    }

    .footer .copyright {
        margin-top: 10px;
        line-height: 1.6;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
スポンサーシップ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.sponsorship {
    display: flex;
    flex-wrap: wrap;
    padding: 40px 46px 20px;
    background: #F4F4F4;
}

.sponsorship__first {
    width: 100%;
}

.sponsorship__section {
    width: 50%;
}

.sponsorship__section--col1 {
    width: 100%;
}

.sponsorship__section--kids {
    width: 100%;
}

.sponsorship__section--col2,
.sponsorship__section--col2Left {
    width: 50%;
}

.sponsorship__section--col3,
.sponsorship__section--col3Left {
    width: 33.33%;
}

.sponsorship__section,
.sponsorship__section--col1,
.sponsorship__section--kids,
.sponsorship__section--col2,
.sponsorship__section--col2Left,
.sponsorship__section--col3,
.sponsorship__section--col3Left {
    position: relative;
    padding: 15px 0 30px;
    border-top: 1px solid #003288;
}

.sponsorship__section:nth-child(odd),
.sponsorship__section--col2,
.sponsorship__section--col3 {
    border-left: 1px solid #003288;
}

.sponsorship__section:nth-child(odd)::before,
.sponsorship__section--col2::before,
.sponsorship__section--col3::before {
    content: "";
    position: absolute;
    top: -11px;
    left: -11px;
    z-index: 2;
    width: 20px;
    height: 20px;
    background: #F4F4F4;
}

.sponsorship__section--col2::after,
.sponsorship__section--col3::after {
    content: "";
    position: absolute;
    bottom: -11px;
    left: -11px;
    z-index: 2;
    width: 20px;
    height: 20px;
    background: #F4F4F4;
}

.sponsorship__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.sponsorship__row + .sponsorship__row {
    margin-top: 30px;
}

.sponsorship__row a {
    margin: 0 33px;
}

.sponsorship__supporters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.sponsorship__supporters--3col {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 522px;
    margin: 0 auto;
}

.sponsorship__supporters--4col {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 696px;
    margin: 0 auto;
}

.sponsorship__supporters a:nth-child(n + 6),
.sponsorship__supporters--3col a:nth-child(n + 4),
.sponsorship__supporters--4col a:nth-child(n + 5) {
    margin-top: 20px;
}

.sponsorship__bnr {
    display: block;
}

.sponsorship__bnr--min {
    display: block;
    width: 235px;
    margin: 0 auto;
}

.sponsorship__bnr--small,
.sponsorship__bnr--vehicle {
    display: block;
    width: 150px;
    margin: 0 12px;
}

.sponsorship__title {
    width: 100%;
    margin-bottom: 10px;
    font-size: 20px;
    color: #003288;
    text-align: center;
}

.sponsorship__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    /* justify-content: space-between;/ */
    justify-content: center;
    margin: 0 auto;
}

.sponsorship__item {
    width: calc(50% - 70px);
    padding-bottom: 30px;
    margin-left: 10px;
    margin-right: 10px;
}

.sponsorship img {
    width: 100%;
}

@media all and (max-width: 1024px) {
    .sponsorship {
        display: block;
        padding: 20px 20px 5px;
    }

    .sponsorship__first {
        padding: 0 5px 15px;
    }

    .sponsorship__section,
    .sponsorship__section--col1,
    .sponsorship__section--col2Left,
    .sponsorship__section--col2,
    .sponsorship__section--col3,
    .sponsorship__section--col3Left {
        width: 100%;
    }

    .sponsorship__section:nth-child(odd),
    .sponsorship__section--col2Left,
    .sponsorship__section--col2,
    .sponsorship__section--col3,
    .sponsorship__section--col3Left {
        border-left: none;
    }

    .sponsorship__section,
    .sponsorship__section--kids {
        padding-top: 20px;
    }

    .sponsorship__section:nth-child(odd)::before,
    .sponsorship__section--kids::before,
    .sponsorship__section--col2::before,
    .sponsorship__section--col2::after,
    .sponsorship__section--col3::before,
    .sponsorship__section--col3::after {
        content: none;
    }

    .sponsorship__row {
        display: block;
        padding: 0;
    }

    .sponsorship__row + .sponsorship__row {
        margin-top: 15px;
    }

    .sponsorship__row a {
        margin: 0 auto;
    }

    .sponsorship__row a:nth-child(n + 2) {
        margin-top: 15px;
    }

    .sponsorship__supporters--3col,
    .sponsorship__supporters--4col {
        max-width: 100%;
    }
    
    .sponsorship__supporters a:nth-child(n + 6),
    .sponsorship__supporters--3col a:nth-child(n + 4),
    .sponsorship__supporters--4col a:nth-child(n + 5) {
        margin-top: 15px;
    }

    .sponsorship__bnr--min {
        width: calc(100% - 110px);
    }

    .sponsorship__bnr--small,
    .sponsorship__bnr--vehicle {
        width: calc(50% - 27.5px);
        margin: 0 10px;
    }

    .sponsorship__bnr--small:nth-child(n + 3),
    .sponsorship__bnr--vehicle:nth-child(n + 3) {
        margin-top: 15px;
    }

    .sponsorship__inner {
        display: block;
    }

    .sponsorship__title {
        margin-bottom: 15px;
    }

    .sponsorship__item {
        width: 100%;
        padding: 0;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 15px;
    }

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ティザー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.teaserPage .main {
    width: 100%;
}

.teaserPage .kv {
    position: relative;
}

.teaserPage .link2022 {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: 243px;
}

.teaserPage .link2022 img {
    width: 100%;
}

.teaserPage .sns {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
}

@media all and (max-width: 1024px) {
    .teaserPage .link2022 {
        width: 38.4vw;
    }

    .teaserPage .sns {
        left: 5.1vw;
        bottom: 2.5vw;
        transform: none;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
TOPページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
@keyframes lineAnime {
    0% {
        transform-origin: left top;
        transform: scaleX(0);
    }
    4.9% {
        transform-origin: left top;
        transform: scaleX(1);
    }
    5% {
        transform-origin: right top;
        transform: scaleX(1);
    }
    9.9% {
        transform-origin: right top;
        transform: scaleX(0);
    }
    10% {
        transform-origin: left top;
        transform: scaleX(0);
    }
    14.9% {
        transform-origin: left top;
        transform: scaleX(1);
    }
    15% {
        transform-origin: right top;
        transform: scaleX(1);
    }
    19.9% {
        transform-origin: right top;
        transform: scaleX(0);
    }
    20% {
        transform-origin: left top;
        transform: scaleX(0);
    }
    24.9% {
        transform-origin: left top;
        transform: scaleX(1);
    }
    25% {
        transform-origin: right top;
        transform: scaleX(1);
    }
    29% {
        transform-origin: right top;
        transform: scaleX(0);
    }
    100% {
        transform-origin: left top;
        transform: scaleX(0);
    }
}

.topPage {
    padding-top: 0;
}

.topPage .bgArea {
    background: none;
}

.topPage .scrollBg,
.topPage .scrollBg--right {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 684px;
    height: 100%;
    background: url("/2025/wp-content/uploads/2025/02/bg-left.png") left top / 100% auto repeat-y;
}

.topPage .scrollBg--right {
    left: auto;
    right: 0;
    background: url("/2025/wp-content/uploads/2025/02/bg-right.png") right top / 100% auto repeat-y;
}

.topPage .kv {
    margin-top: 90px;
}

.topPage .kv__scroll {
    height: 70px;
    font-size: 20px;
    text-align: center;
    color: #003288;
}

.topPage .kv__scroll a {
    position: relative;
    padding-bottom: 7px;
}

.topPage .kv__scroll a::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-scroll.png") left top / 10px auto no-repeat;
    transition: height 0.2s ease-in-out;
    transform: translateX(-50%);
}

.is-pc .kv__scroll a::after {
    height: 2px;
}

.is-pc .kv__scroll a:hover {
    opacity: 1;
}

.is-pc .kv__scroll a:hover::after {
    height: 14px;
}

.topPage .firstKv {
    position: relative;
    width: 100%;
    height: calc(100vh - 160px);
    min-height: 640px;
    background: url("/2025/wp-content/uploads/2024/12/bg-kv-top.jpg") center top / cover no-repeat;
}

/* @media all and (max-width: 1024px) {
.topPage .firstKv {
    position: relative;
    width: 100%;
    height: calc(100vh - 160px);
    min-height: 640px;
    background: url("/2025/wp-content/uploads/2023/12/bg-kv-top-sp.jpg") center top / cover no-repeat;
    }
} */

.topPage .firstKv img {
    opacity: 1;
}

/* タイトル アニメーション*/
.topPage .firstKv.is-active .firstKv__txt img {
    opacity: 1;
    transition: opacity .5s ease-in-out;
}

@media all and (max-width: 1024px) {
    /* コラボKV アニメーション*/
    .topPage .secondKv .secondKv__txt02 {
        opacity: 0;
        transition: opacity .5s ease-in-out;
    }

}
    
/* タイトル */
.topPage .firstKv__txt {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0 80px;
    z-index: 2;
    transform: translate(-50%,-50%);
    width: 100%;
    max-width: 1300px;
    text-align: center;
}

.topPage .firstKv .firstKv__txt img,
.topPage .firstKv .firstKv__img--01 img,
.topPage .firstKv .firstKv__img--02 img,
.topPage .firstKv .firstKv__img--03 img,
.topPage .firstKv .firstKv__img--04 img,
.topPage .collaboKv .collaboKv__txt img,
.topPage .collaboKv .collaboKv__txt02 img,
.topPage .secondKv .secondKv__txt img,
.topPage .secondKv .secondKv__txt02 img {
    display: inline-block;
    max-width: 100%;
    /* width: 100%; */
}

.firstKv__txt img {
    filter: drop-shadow(2px 2px 5px rgba(20, 100, 60, 0.8));
}

.firstKv__txt span:nth-child(n + 2) img {
    margin-top: 30px;
}

.firstKv__txt01 img {
    max-height: 140px;
}

.firstKv__txt02 {
    max-width: 526px;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
}

.firstKv__txt02__Link img {
    transition: opacity 0.3s ease;
}

.firstKv__txt02__Link img:hover {
    opacity: 0.7;
}

.topPage .collaboKv {
    position: relative;
    width: 100%;
    height: calc(100vh - 160px);
    min-height: 640px;
    background: url("/2025/wp-content/uploads/2024/12/bg-kv-top.jpg") center top / cover no-repeat;
}

.topPage .collaboKv__txt {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0 80px;
    z-index: 2;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
}

.topPage .collaboKv__txt02 {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
}


.secondKv__txt02__Link img:hover {
    opacity: 1;
}

.topPage .secondKv {
    position: relative;
    width: 100%;
    height: calc(100vh - 160px);
    min-height: 640px;
    background: url("/2025/wp-content/uploads/2024/12/bg-kv-top.jpg") center top / cover no-repeat;
}

.topPage .secondKv__txt {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0 80px;
    z-index: 2;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
}

.topPage .secondKv__txt02 {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
}

.topPage .thirdKv {
    position: relative;
    width: 100%;
    height: calc(100vh - 160px);
    min-height: 640px;
    line-height: 1;
    background: url("/2025/wp-content/uploads/2025/02/bg-kv-top-02.jpg") center top / cover no-repeat;
}

.topPage .thirdKv__txt {
    position: absolute;
    top: 10%;
    left: 18.52%;
    z-index: 10;
    letter-spacing: 0.1em;
}

.topPage .thirdKv__txt--bottom {
    position: absolute;
    bottom: 5.4%;
    right: 27%;
    z-index: 10;
    font-size: 18px;
    letter-spacing: 0.15em;
}

.topPage .lineTxt {
    position: relative;
    display: inline-block;
    width: 0%;
    font-weight: bold;
    color: #FFF;
    transition: 0.8s 1s width ease-in-out;
    overflow: hidden;
}

.topPage .thirdKv.is-active .lineTxt {
    width: 100%;
}

.topPage .lineTxt::before {
    width: 100%;
}

.topPage .lineTxt:nth-child(n + 2) {
    margin-top: 15px;
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(n + 2) {
    margin-top: 25px;
}

.topPage .lineTxt.white .lineTxt__inner {
    padding: 5px 10px;
    color: #003288;
    background: #FFF;
}

.topPage .lineTxt__inner {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 5px;
    white-space: nowrap;
    background: #003288;
}

.topPage .thirdKv__txt .lineTxt:nth-child(3) {
    margin-left: 30px;
    /* transition-delay: 1.3s; */
    transition-delay: 10.3s;
    /* transition-delay: 15.3s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(5) {
    /* transition-delay: 1.6s; */
    transition-delay: 10.6s;
    /* transition-delay: 15.6s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(7) {
    margin-left: 30px;
    /* transition-delay: 1.9s; */
    transition-delay: 10.9s;
    /* transition-delay: 15.9s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(9) {
    margin-left: 60px;
    /* transition-delay: 2.2s; */
    transition-delay: 11.2s;
    /* transition-delay: 16.2s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(11) {
    margin-left: 90px;
    /* transition-delay: 2.5s; */
    transition-delay: 11.5s;
    /* transition-delay: 16.5s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(13) {
    margin-left: 80px;
    /* transition-delay: 2.8s; */
    transition-delay: 11.8s;
    /* transition-delay: 16.8s; */
}

.topPage .thirdKv__txt .lineTxt:nth-child(15) {
    margin-left: 10px;
    /* transition-delay: 2.1s; */
    transition-delay: 12.1s;
    /* transition-delay: 17.1s; */
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(1) {
    /* transition-delay: 2.7s; */
    transition-delay: 12.7s;
    /* transition-delay: 17.7s; */
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(3) {
    margin-left: 25px;
    /* transition-delay: 3.0s; */
    transition-delay: 13.0s;
    /* transition-delay: 18.0s; */
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(5) {
    margin-left: 50px;
    /* transition-delay: 3.3s; */
    transition-delay: 13.3s;
    /* transition-delay: 18.3s; */
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(7) {
    margin-left: 50px;
    /* transition-delay: 3.6s; */
    transition-delay: 13.6s;
    /* transition-delay: 18.6s; */
}

.topPage .thirdKv__txt--bottom .lineTxt:nth-child(9) {
    margin-left: 50px;
    /* transition-delay: 3.9s; */
    transition-delay: 13.9s;
    /* transition-delay: 18.9s; */
}

.topPage .line {
    position: absolute;
    top: 4.2%;
    left: -30px;
    z-index: 1;
    width: 238px;
}

.topPage .line--02 {
    top: auto;
    left: auto;
    right: 25%;
    bottom: 39%;
}

.topPage .line--03 {
    top: 8%;
    left: auto;
    right: 9%;
}

.topPage .line div {
    width: 63%;
    height: 2px;
    margin-top: 7px;
    background: #003288;
    transform-origin: left top;
    transform: scaleX(0);
}

.topPage .line.is-active div {
    animation: lineAnime 4s ease-in-out 0s infinite;
}

.topPage .line div:nth-child(1) {
    margin-left: 36%;
}

.topPage .line div:nth-child(2) {
    margin-top: 2px;
    animation-delay: 1.2s;
}

.topPage .line div:nth-child(3) {
    width: 43%;
    margin-top: 13px;
    margin-left: 20%;
    animation-delay: 0.5s;
}

.topPage .line div:nth-child(4) {
    margin-top: 7px;
    margin-left: 2%;
    animation-delay: 0.3s;
}

.topPage .line div:nth-child(5) {
    width: 76%;
    margin-top: 6px;
    margin-left: 6.7%;
    animation-delay: 1.5s;
}

.topPage .line div:nth-child(6) {
    width: 57%;
    margin-top: 2px;
    animation-delay: 0.5s;
}

.topPage .line div:nth-child(7) {
    width: 47%;
    margin-left: 22%;
    animation-delay: 0.8s;
}

.topPage .deco {
    position: absolute;
    top: 0;
    left: 52%;
    width: 0;
    height: 13px;
    background: linear-gradient(90deg, rgba(0,64,152,1) 0%, rgba(0,161,215,1) 100%);
    opacity: 0.5;
    transition: width 0.3s ease-in-out;
}

.topPage .thirdKv.is-active .deco {
    width: 230px;
}

.topPage .deco--02 {
    position: absolute;
    bottom: 10%;
    left: 31%;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(0,64,152,1) 0%, rgba(0,161,215,1) 100%);
    opacity: 0.9;
    transition: width 0.3s ease-in-out;
}

.topPage .thirdKv.is-active .deco--02 {
    width: 150px;
}

.topPage .deco--03 {
    position: absolute;
    bottom: 5%;
    left: 23%;
    width: 0;
    height: 15px;
    background: linear-gradient(90deg, rgba(0,64,152,1) 0%, rgba(0,161,215,1) 100%);
    opacity: 0.9;
    transition: width 0.3s ease-in-out;
}

.topPage .thirdKv.is-active .deco--03 {
    width: 230px;
}

.topPage .deco--04 {
    position: absolute;
    bottom: 26%;
    left: 0;
    width: 0px;
    height: 80px;
    background: url("/2025/wp-content/uploads/2025/02/bg-kv-top-03.jpg") center left / 190px auto no-repeat;
    transition: width 0.3s 0.3s ease-in-out;
}

.topPage .thirdKv.is-active .deco--04 {
    width: 190px;
}

.topPage .deco--05 {
    position: absolute;
    bottom: 0;
    left: calc(100% - 683px);
    width: 0;
    height: 219px;
    background: url("/2025/wp-content/uploads/2025/02/bg-kv-top-04.jpg") center left / 683px auto no-repeat;
    transition: width 0.3s 0.3s ease-in-out;
}

.topPage .thirdKv.is-active .deco--05 {
    width: 683px;
}

.YellowBg {
    background-color: #F4D429;
}

@media all and (max-width: 1024px) {
    .topPage .scrollBg,
    .topPage .scrollBg--right {
        width: 240px;
    }

    .topPage .kv {
        margin-top: 62px;
    }

    .topPage .firstKv,
    .topPage .collaboKv,
    .topPage .secondKv,
    .topPage .thirdKv {
        height: 430px;
        min-height: auto;
    }

    .topPage .thirdKv {
        background-image: url("/2025/wp-content/uploads/2025/02/bg-kv-top-02-sp.jpg");
    }

    /* タイトル */
    .topPage .firstKv__txt {
        padding: 20px;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 344px;
    }

    .topPage .collaboKv__txt,
    .topPage .collaboKv__txt02 {
        padding: 10px;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 370px;
    }

    .topPage .collaboKv__txt02 {
        opacity: 0;
        transition: opacity 1s ease;
    }

    .topPage .secondKv__txt {
        padding: 10px;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 370px;
    }
    
    .topPage .secondKv__txt02 {
        padding: 10px;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 374px;
    }

    .topPage .firstKv__txt span:nth-child(n + 2) img {
        margin-top: 0;
    }

    .topPage .kv__scroll {
        height: 50px;
        padding-top: 3px;
    }

    .topPage .line {
        top: 23px;
        left: auto;
        right: -21px;
        transform: scale(0.48);
        transform-origin: top right;
    }

    .topPage .line--02,
    .topPage .line--03,
    .topPage .deco--02,
    .topPage .deco--03 {
        display: none;
    }

    .topPage .thirdKv__txt {
        top: 30px;
        left: 20px;
        font-size: 12px;
    }

    .topPage .thirdKv__txt--bottom {
        bottom: 28px;
        left: 20px;
        right: auto;
        font-size: 15px;
        letter-spacing: 0.1em;
    }

    .topPage .lineTxt.white .lineTxt__inner {
        padding: 5px 7px;
    }

    .topPage .lineTxt:nth-child(n + 2),
    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(n + 2) {
        margin-top: 8px;
    }

    .topPage .thirdKv__txt .lineTxt:nth-child(3) {
        margin-left: 30px;
    }

    .topPage .thirdKv__txt .lineTxt:nth-child(5) {
        margin-left: 0;
    }

    .topPage .thirdKv__txt .lineTxt:nth-child(11) {
        margin-left: 80px;
    }

    .topPage .thirdKv__txt .lineTxt:nth-child(13) {
        margin-left: 30px;
    }

    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(1) {
        margin-left: 25px;
    }

    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(3) {
        margin-left: 46px;
    }

    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(5) {
        margin-left: 0;
    }

    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(7) {
        margin-left: 46px;
    }

    .topPage .thirdKv__txt--bottom .lineTxt:nth-child(9) {
        margin-left: 66px;
    }
    
    .topPage .thirdKv.is-active .deco {
        height: 9px;
    }
    
    .topPage .thirdKv.is-active .deco {
        width: 133px;
    }

    .topPage .deco--04 {
        bottom: 197px;
        left: -60px;
        height: 50px;
        background-size: auto 100%;
        background-position: center left;
    }

    .topPage .thirdKv.is-active .deco--04 {
        width: 119px;
    }

    .topPage .deco--05 {
        left: calc(100% - 360px);
        bottom: 15px;
        height: 115px;
        background-size: auto 100%;
    }

    .topPage .thirdKv.is-active .deco--05 {
        width: 360px;
    }

    .firstKv__txt02  {
        margin-top: 20px;
    }

}

/* 全体 */
.topPage .generalSection {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 120px auto 0;
}

.topPage .generalSection > *:nth-child(n + 2) {
    margin-top: 30px;
}

@media all and (max-width: 1024px) {
    .topPage .generalSection {
        margin-top: 80px;
    }

    .topPage .generalSection > *:nth-child(n + 2) {
        margin-top: 20px;
    }
}

/* ニュース */
.topPage .news {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 40px auto 0;
}

.topPage .news__list {
    margin-top: 20px;
    color: #003288;
    background: url("/2025/wp-content/uploads/2025/02/line-news.jpg") top left / 3px auto repeat-y,
                url("/2025/wp-content/uploads/2025/02/line-news.jpg") top right / 3px auto repeat-y;
    background-color: #FFF;
}

.topPage .news__list li {
    border-bottom: 1px solid #003288;
}

.topPage .news__list a {
    display: block;
    padding: 22px 50px;
}

.topPage .news__date {
    font-weight: bold;
    display: inline-block;
}

/* タブメニュー */
.news__tabs {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.news__tabs .tab {
    padding: 10px 20px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: background 0.3s ease, border 0.3s ease, color 0.3s ease;
    font-weight: bold;
    border-radius: 30px;
    font-size: 14px;
    background-color: #fff;
}

.news__tabs .tab:nth-child(n +2) {
    margin-left: 10px;
}

.news__tabs .tab[data-target="all"] {
    border-color: #333333;
    color: #333333;
}

.news__tabs .tab[data-target="info"] {
    border-color: #985DA2;
    color: #985DA2;
}

.news__tabs .tab[data-target="runner"] {
    border-color: #2F56A1;
    color: #2F56A1;
}

.news__tabs .tab[data-target="supporter"] {
    border-color: #38AFE5;
    color: #38AFE5;
}

.news__tabs .tab[data-target="partner"] {
    border-color: #43B693;
    color: #43B693;
}

.news__tabs .tab[data-target="event"] {
    border-color: #EA7F3A;
    color: #EA7F3A;
}

/* アクティブ時のスタイル（背景色 & 白文字 & 枠線なし） */
.news__tabs .tab.active {
    border: none;
    color: #fff;
}

.news__tabs .tab.active[data-target="all"] {
    background-color: #333333;
}

.news__tabs .tab.active[data-target="info"] {
    background-color: #985DA2;
}

.news__tabs .tab.active[data-target="runner"] {
    background-color: #2F56A1;
}

.news__tabs .tab.active[data-target="supporter"] {
    background-color: #38AFE5;
}

.news__tabs .tab.active[data-target="partner"] {
    background-color: #43B693;
}

.news__tabs .tab.active[data-target="event"] {
    background-color: #EA7F3A;
}

.news__tags {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #FFF;
}

.news__tags span {
    margin-left: 10px;
}

.news__tags .tag-info {
    background-color: #985DA2;
    padding: 5px 15px;
    border-radius: 20px;
}

.news__tags .tag-runner {
    background-color: #2F56A1;
    padding: 5px 15px;
    border-radius: 20px;
}

.news__tags .tag-supporter {
    background-color: #38AFE5;
    padding: 5px 15px;
    border-radius: 20px;
}

.news__tags .tag-partner {
    background-color: #43B693;
    padding: 5px 15px;
    border-radius: 20px;
}

.news__tags .tag-event {
    background-color: #EA7F3A;
    padding: 5px 15px;
    border-radius: 20px;
}

.topPage .news__txt {
    display: block;
    width: 100%;
    margin-top: 7px;
}

.topPage a .news__txt {
    text-decoration: underline;
}

@media all and (max-width: 1024px) {
    .topPage .news {
        margin-top: 0;
        max-width: 100%;
    }

    .topPage .news__date {
        display: block;
    }

    .news__date .news__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 8px;
        margin-top: 8px;
    }

    .topPage .news__list a {
        padding: 15px 22px;
    }

    .news__tabs {
        flex-wrap: wrap;
    }

    .news__tabs .tab {
        margin-bottom: 10px;
    }

    .news__tags {
        margin-top: 10px;
    }

    .news__tags span:first-child,
    .news__tags span:nth-child(5) {
        margin-left: 0;
    }

    .news__tags span {
        margin: 0;
        display: inline-flex;
        align-items: center;
        white-space: nowrap;
        line-height: 1;
    }
    
}

/* トークショー */
.talkshow {
    position: relative;
    z-index: 2;
    display: block;
    width: 490px;
    margin: 50px auto 0;
}

.talkshow img {
    width: 100%;
}

@media all and (max-width: 1024px) {
    .talkshow {
        width: 100%;
    }
}

/* 完走メダルフレーム */
.bnrArea.medal {
    margin-top: 0px;
}

/* プレス申請 */
.pressForm {
    display: flex;
    margin: 0 auto;
    max-width: 795px;
}

.pressForm .checkArea {
    position: static;
    width: 100%;
    margin-top: 20px;
}

.pressForm .checkArea.is-ok {
    transform: none;
}

.pressForm .checkArea__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}

.pressForm input {
    margin-bottom: 0;
}

.pressForm .checkArea__error {
    width: 100%;
    margin-top: 10px;
}

.box--02__inner .checkArea .generalBtn {
    position: static;
    display: none;
    transform: none;
    margin: 0 auto;
}

.box--02__inner .checkArea.is-ok .generalBtn {
    display: block;
}

@media all and (max-width: 1024px) {
    .pressForm {
        display: block;
        max-width: 100%;
    }
    
    .pressForm .checkArea__inner {
        display: block;
    }

    .pressForm input {
        margin-bottom: 17px;
    }
}

/* バナー */
.bnrArea {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    max-width: 1000px;
    margin: 0 auto;
}

.topPage .bnrArea + .bnrArea {
    margin-top: 20px;
}

.bnrArea a,
.bnrArea div {
    width: 309px;
    margin-right: 35px;
}

.bnrArea a:nth-child(n + 4),
.bnrArea div:nth-child(n + 4) {
    margin-top: 20px;
}

.bnrArea a:nth-child(3n),
.bnrArea div:nth-child(3n),
.bnrArea a:last-child,
.bnrArea div:last-child {
    margin-right: 0;
}

.bnrArea img {
    width: 100%;
    height: auto;
}

.bnrArea__link {
    position: relative;
}

.bnrArea__txt {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    color: #fff;
    text-align: center;
    transform: translateY(-50%);
}

.bnrArea__txt--traffic {
    padding-top: 8px;
}

.bnrArea__txt--info {
    padding-top: 12px;
}

.bnrArea__en {
    font-size: 50px;
    line-height: 1;
}

.bnrArea__en--traffic {
    font-size: 40px;
    line-height: 1;
}

.bnrArea__en--info {
    font-size: 35px;
    line-height: 1;
    letter-spacing: 0.02em;
}

.bnrArea__en--info.fz46 {
    font-size: 46px;
}

.bnrArea__jp {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: 0.2em;
}

.bnrArea__jpOnly {
    display: inline-block;
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 1.2;
    font-weight: bold;
}

.bigbnrArea__jpOnly {
    display: inline-block;
    font-size: 25px;
    letter-spacing: 0.2em;
    line-height: 1.4;
    font-weight: bold;
}

.maxbnrArea__jpOnly {
    display: inline-block;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-weight: bold;
}

.trafficTitle .bigbnrArea__jpOnly {
    letter-spacing: 0.1em;
}

.trafficTitle .wheelchair__jp {
    font-size: 14px;
    line-height: 1.2;
    margin-top: 4px;
}

.trafficTitle .open {
    font-size: 11px;
    letter-spacing: 0.1em;
}


.furusatoTitle {
    display: inline-block;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-weight: bold;
}

.myPageBtn {
    width: 200px;
    padding: 10px 10px 10px 22px;
    font-size: 20px;
    color: #FFF;
    letter-spacing: 0.1em;
    text-align: left;
    background: url("/2025/wp-content/uploads/2022/02/line-mypage-left.png") top left / 3px auto repeat-y,
                url("/2025/wp-content/uploads/2022/02/line-mypage-right.png") top right / 3px auto repeat-y;
    background-color: #003288;
}

span.myPageBtn {
    padding: 10px;
    background-color: #AAA;
    text-align: center;
}

.myPageBtn__jp {
    position: relative;
    margin-left: 5px;
    padding-right: 15px;
    font-size: 14px;
    letter-spacing: 0;
}

span.myPageBtn__jp {
    padding-right: 0;
}

a .myPageBtn__jp::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 80px;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-white.png") left top / 10px auto no-repeat;
    transform: translateY(-50%);
    transition: width 0.2s ease-in-out;
}

.is-pc .myPageBtn__jp::after {
    width: 2px;
}

.is-pc .myPageBtn:hover {
    opacity: 1;
}

.is-pc .myPageBtn:hover .myPageBtn__jp::after {
    width: 10px;
}

.carb {
    letter-spacing: -0.005em;
}

@media all and (max-width: 1024px) {
    .bnrArea {
        display: block;
        max-width: 100%;
    }

    .topPage .bnrArea + .bnrArea {
        margin-top: 15px;
    }

    .bnrArea a,
    .bnrArea div {
        display: block;
        width: 100%;
    }

    .bnrArea a:nth-child(n + 2),
    .bnrArea div:nth-child(n + 2) {
        margin-top: 15px;
    }
    
    .bnrArea__txt--traffic,
    .bnrArea__txt--info {
        padding-top: 0;
    }

    .bnrArea__en {
        font-size: 40px;
    }

    .bnrArea__en--traffic {
        font-size: 35px;
    }

    .bnrArea__en--info {
        font-size: 38px;
    }

    .bigbnrArea__jpOnly {
        font-size: 19px;
    }
    
    .maxbnrArea__jpOnly {
        font-size: 26px;
    }

    .furusatoTitle {
        font-size: 14px;
    }

    .carb {
        letter-spacing: 0.01em;
    }

    .trafficTitle .wheelchair__jp {
        font-size: 12px;
    }
    
    .trafficTitle .open {
        font-size: 11px;
        letter-spacing: 0.05em;
    }
}


/* Information */

.topPage .information .generalBtn {
    position: static;
    transform: translate(0);
    margin: 0 0 0 40px;
    max-width: 200px;
}

.topPage .information .generalBtn__txt.en {
    font-size: 30px;
    font-weight: bold;
    line-height: 1;
}

.topPage .information .information__btn {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 20px;
    width: 280px;
    font-size: 30px;
    border-radius: 50px;
    text-align: center;
    color: #FFF;
    background: #AAA;
}

@media all and (max-width: 1024px) {
    .topPage .information .generalBtn {
        margin: 15px auto 0;
        max-width: 310px;
    }
}

.pageLinks {
    display: flex;
    flex-wrap: wrap;
}

.pageLinks.center {
    justify-content: center;
}

.pageLinks a,
.pageLinks .smallBanner {
    position: relative;
    width: calc(50% - 10px);
    margin-right: 20px;
}

.pageLinks a:nth-child(even),
.pageLinks .smallBanner:nth-child(even) {
    margin-right: 0;
}

.pageLinks a:nth-child(n + 3) ,
.pageLinks .smallBanner:nth-child(n + 3) {
    margin-top: 20px;
}

.pageLinks__txtWrap {
    position: absolute;
    bottom: 28px;
    left: 0;
    z-index: 2;
    width: 100%;
    color: #FFF;
    text-align: center;
}

.pageLinks__txtWrap--center {
    bottom: 32px;
}

.otherLinks__txtWrap--center{
    transform: translate(50%);
}

.pageLinks__txtWrap.b10 {
    bottom: 10%;
}

.pageLinks__en {
    font-size: 50px;
    line-height: 1.3;
    letter-spacing: 0.1em;
}

.pageLinks__jp {
    letter-spacing: 0.2em;
}

.pageLinks__bg {
    position: relative;
    z-index: 1;
    width: 100%;
}

.pageLinks--small__item {
    position: relative;
    display: block;
    width: 500px;
    margin: 20px auto 0;
}

.pageLinks--small .pageLinks__txtWrap {
    padding: 0 190px 0 40px;
}

.pageLinks--small .pageLinks__txtWrap--noPadding {
    padding: 0;
}

.pageLinks--small .circleMore,
.pageLinks--small .cs {
    position: absolute;
    top: 50%;
    right: 43px;
    z-index: 2;
    margin-top: 0;
    transform: translateY(-50%);
}

.pageLinks--small .circleMore--static {
    position: static;
    transform: translateY(0);
}

.pageLinks--small .cs {
    right: 28px;
    font-size: 18px;
}

.topPage .entryLink{
    position: relative;
    display: block;
}

.topPage .entryLink .sectionTitle {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.topPage .entryLink__txt {
    margin-top: 28px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.2em;
}

.topPage .entryLink__yellow {
    display: inline;
    color: #FFE96E;
}

.topPage .entryLink__txtWrap {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    padding: 0 15px;
    text-align: center;
    color: #FFF;
    transform: translateY(-50%);
}

.topPage .entryLink .circleMore {
    margin-top: 40px;
}
.topPage .smallBanner .pageLinks__txtWrap .sectionTitle{
    font-size: 0;
}

.topPage .smallBanner .pageLinks__txtWrap {
    bottom: 20px;
}

.topPage .smallBanner .ja--bold {
    margin-top: 10px;
    font-size: 30px;
}

.topPage .smallBanner .cs--static {
    display: inline-block;
    margin-top: 10px;
    padding: 3.5px 12px 3.5px 15px;
    width: 125px;
    font-size: 18px;
    border-radius: 50px;
    background: #AAA;
}



.topPage .pageLinks--small + .pageLinks {
    margin-top: 20px;
}

.sm--ls {
    letter-spacing: 0.03em;
}

.en--bold.ls {
    letter-spacing: -0.01em;
}

@media all and (max-width: 1024px) {
    .pageLinks a,
    .pageLinks .smallBanner {
        width: 100%;
        margin-right: 0;
    }

    .pageLinks a:nth-child(n + 2),
    .pageLinks .smallBanner:nth-child(n + 2) {
        margin-top: 20px;
    }

    .pageLinks__txtWrap,
    .pageLinks__txtWrap--center,
    .pageLinks__txtWrap.b10{
        bottom: 54%;
        transform: translateY(50%);
    }

    .entry-attentionTxt {
        bottom: 52%;
    }

    .pageLinks--small__item {
        width: 100%;
    }

    .pageLinks--small .pageLinks__txtWrap {
        padding: 0;
    }

    .pageLinks--small .circleMore,
    .pageLinks--small .cs {
        position: static;
        transform: none;
        margin-top: 10px;
    }

    .topPage .entryLink .sectionTitle {
        font-size: 26px;
    }

    .topPage .entryLink__txt {
        margin-top: 15px;
        font-size: 13px;
        letter-spacing: 0;
    }

    .topPage .entryLink .circleMore {
        margin-top: 30px;
    }

    .topPage .smallBanner .pageLinks__txtWrap {
        bottom: 50%;
    }

    .topPage .smallBanner .ja--bold {
        font-size: 23px;
    }
}

/* 下層リンク */
.topPage .pageLinks--small {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    margin-top: 0 !important;
}

.topPage .pageLinks--small__item {
    width: calc(50% - 10px);
    margin: 20px 0 0;
}

.topPage .pageLinks--small__item:nth-child(n + 2) {
    margin-left: 20px;
}

.topPage .pageLinks--small__item img {
    max-width: 100%;
}

.topPage .pageLinks--small .pageLinks__txtWrap {
    padding-left: 30px;
}

.topPage .pageLinks--small .pageLinks__txtWrap--noPadding {
    padding-left: 0;
}

.otherLinks {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.otherLinks a {
    width: calc(50% - 10px);
    margin-top: 20px;
}

.covid19Link {
    position: relative;
    display: block;
    text-align: center;
}

.covid19Link .covid19Link__inner {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    padding-left: 20px;
    text-align: left;
    color: #FFF;
    transform: translateY(-50%);
}

.covid19Link .covid19Link__txtWrap {
    width: 300px;
    text-align: center;
}

.covid19Link .covid19Link__title {
    font-size: 42px;
    letter-spacing: 0.07em;
    line-height: 1.2;
}

.covid19Link__txt {
    margin-top: 15px;
    font-weight: bold;
}

.covid19Link__bg {
    width: 100%;
    height: auto;
}

.covid19Link .circleMore {
    position: absolute;
    top: 50%;
    right: 28px;
    z-index: 2;
    margin-top: 0;
    transform: translateY(-50%);
}

.sdgsBnr {
    display: block;
    margin-top: 20px;
}

.sdgsBnr img {
    width: 100%;
}

.wheelchairLink {
    position: relative;
    display: block;
    width: 490px;
    margin: 20px 0 0;
}

.wheelchairLink__bg {
    position: relative;
    z-index: 1;
    width: 100%;
}

.wheelchairLink__txtWrap ,.wheelchairLink__txtWrap--02 {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    padding: 0 190px 0 40px;
    color: #FFF;
    text-align: center;
    transform: translateY(-50%);
}

.wheelchairLink__title {
    font-size: 46px;
    line-height: 0.89;
}

.wheelchair__jp {
    display: block;
    margin-top: 12px;
    font-size: 14px;
    letter-spacing: 0.2em;
}

.wheelchairLink .circleMore {
    position: absolute;
    top: 50%;
    right: 43px;
    z-index: 2;
    margin-top: 0;
    transform: translateY(-50%);
}

.wheelchairLink__txtWrap .cs {
    right: 40px;
    font-size: 18px;
}

.wheelchairLink__txtWrap--02 .cs {
    right: 40px;
    font-size: 18px;
}

.runSupportLink__txtWrap .cs {
    right: 28px;
    font-size: 18px;
}

.improvements__title {
    font-size: 37px;
    letter-spacing: 0.1em;
}

.partnership__title {
    font-size: 35px;
    letter-spacing: -0.007em;
}

.runSupportLink__txtWrap {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    padding: 0 190px 0 40px;
    color: #FFF;
    text-align: center;
    transform: translateY(-50%);
}

@media all and (max-width: 1024px) {
    .topPage .pageLinks--small {
        display: block;
    }
    
    .topPage .pageLinks--small__item {
        width: 100%
    }

    .topPage .pageLinks--small__item:nth-child(n + 2) {
        margin-left: 0;
    }
    
    .topPage .pageLinks--small .pageLinks__txtWrap {
        padding-left: 0;
    }

    .otherLinks {
        display: block;
    }

    .otherLinks a {
        width: 100%;
        margin-top: 20px;
    }

    .covid19Link .covid19Link__inner {
        padding: 0;
        text-align: center;
    }

    .covid19Link .covid19Link__txtWrap {
        width: 100%;
    }

    .covid19Link .covid19Link__title {
        font-size: 40px;
        letter-spacing: 0.1em;
    }

    .covid19Link__jp {
        letter-spacing: 0.2em;
    }

    .covid19Link__txt {
        margin-top: 10px;
    }

    .covid19Link .circleMore {
        position: static;
        transform: none;
        margin-top: 10px;
    }

    .wheelchairLink {
        width: 100%;
        margin-top: 20px;
    }

    .wheelchairLink__txtWrap {
        padding: 0;
    }

    .wheelchairLink__txtWrap--02 {
        padding: 0;
        top:75%
    }

    .runSupportLink__txtWrap {
        padding: 0;
    }

    .wheelchairLink__title {
        font-size: 35px;
        line-height: 1.2;
    }

    .wheelchair__jp {
        margin-top: 0;
        font-size: 12px;
    }

    .wheelchairLink .circleMore {
        position: static;
        transform: none;
        margin-top: 10px;
    }
}

/* プレス */
.pageLinks--3col {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1000px;
    margin: 30px auto 0 !important;
}

.pageLinks--center {
    justify-content: center;
}

.pageLinks--3col__link {
    position: relative;
    width: 309px;
}

.pageLinks--3col img {
    width: 100%;
    height: auto;
}

.pageLinks--3col__txt {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    letter-spacing: 0.2em;
    transform: translateY(-50%);
}

.pageLinks--3col .en {
    font-size: 22px;
}

@media all and (max-width: 1024px) {
    .pageLinks--3col {
        display: block;
        margin-top: 0 !important;
    }

    .pageLinks--3col__link {
        display: block;
        width: 100%;
        margin-top: 20px;
    }
}

/* ヒストリー */
.topPage .historyTxt {
    width: 500px;
    margin: 26px auto 0;
}

.topPage .history {
    position: relative;

}

.topPage .history__txt {
    position: absolute;
    top: 55px;
    left: 50%;
    z-index: 2;
    font-size: 120px;
    color: #FFF;
    white-space: nowrap;
    transform: translateX(-50%);

}

.topPage .history__slide {
    left: 50%;
    width: 3600px;
    transform: translateX(-50%);
}

.topPage .history__slide .slick-slide img {
    display: inline-block;
}

.topPage .history .circleMore {
    position: absolute;
    top: auto;
    bottom: 30px;
    left: 50%;
    right: auto;
    z-index: 3;
    margin-top: 0;
    transform: translateX(-50%);
}

@media all and (max-width: 1024px) {
    .topPage .historyTxt {
        width: 100%;
        margin-top: 20px;
    }

    .topPage .history__txt {
        top: 10px;
        font-size: 60px;
    }

    .topPage .history__slide {
        width: 1800px;
    }

    .topPage .history__slide .slick-slide img {
        width: 900px;
    }

    .topPage .history .cs {
        position: absolute;
        bottom: 15px;
    }
}

/* お問い合わせ */
.topPage .contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    padding: 40px 190px;
    color: #FFF;
    background: #003288;
}

.topPage .contact__name {
    font-size: 20px;
    letter-spacing: 0.1em;
}

.topPage .contact__tel {
    font-size: 40px;
    line-height: 1.2;
}

.topPage .contact__num {
    font-size: 50px;
}

.topPage .contact__txt {
    width: 100%;
    text-align: right;
}

@media all and (max-width: 1024px) {
    .topPage .contact {
        display: block;
        padding: 20px;
        text-align: center;
    }

    .topPage .contact__tel {
        margin-top: 10px;
        font-size: 30px;
    }

    .topPage .contact__num {
        font-size: 40px;
    }

    .topPage .contact__txt {
        text-align: center;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
下層ページ共通
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.subPage .contents {
    margin-top: 30px;
}

@media all and (max-width: 1024px) {
    .subPage .contents {
        margin-top: 10px;
    }
}

.subPage .kv {
    position: relative;
    margin: 30px 0 80px;
}

.subPage .kv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: calc(100% - 183px);
    min-width: 1183px;
    height: 100%;
    background: url("/2025/wp-content/uploads/2024/12/kv-all.jpg") center center / cover no-repeat;
}

.subPage .kv[data-bg="overview"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-overview.jpg");
}

.subPage .kv[data-bg="entry"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-entry.jpg");
}

.subPage .kv[data-bg="charity"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-charity.jpg");
}

.subPage .kv[data-bg="schedule"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-schedule.jpg");
}

.subPage .kv[data-bg="ambassador"]::before {
    background-image: url("/2025/wp-content/uploads/2022/02/kv-ambassador.jpg");
}

.subPage .kv[data-bg="faq"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-faq.jpg");
}

.subPage .kv[data-bg="course"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-course.jpg");
}

.subPage .kv[data-bg="logomark"]::before {
    background-image: url("/2025/wp-content/uploads/2023/02/kv-logomark.jpg");
}

.subPage .kv[data-bg="weblink"]::before {
    background-image: url("/2025/wp-content/uploads/2025/12/kv-weblink.jpg");
}

.subPage .kv[data-bg="news"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-news.jpg");
}

.subPage .kv[data-bg="history"]::before {
    background-image: url("/2025/wp-content/uploads/2025/12/kv-weblink.jpg");
}

.subPage .kv[data-bg="data"]::before {
    background-image: url("/2025/wp-content/uploads/2025/12/kv-weblink.jpg");
}

.subPage .kv[data-bg="wheelchair"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-wheelchair.jpg");
}

.subPage .kv[data-bg="covid19"]::before {
    background-image: url("/2025/wp-content/uploads/2023/02/kv-covid19.jpg");
}

.subPage .kv[data-bg="song"]::before {
    background-image: url("/2025/wp-content/uploads/2024/03/kv-song.jpg");
}

.subPage .kv[data-bg="volunteer"]::before {
    background-image: url("/2025/wp-content/uploads/2022/05/kv-volunteer.jpg");
}

.subPage .kv[data-bg="traffic"]::before {
    background-image: url("/2025/wp-content/uploads/2024/06/kv-traffic.jpg");
}

.subPage .kv[data-bg="invited"]::before {
    background-image: url("/2025/wp-content/uploads/2025/07/kv-invited.jpg");
}

.subPage .kv[data-bg="wheelchairInvited"]::before {
    background-image: url("/2025/wp-content/uploads/2025/07/kv-wheelchairInvited.jpg");
}

.subPage .kv[data-bg="guest"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-guest.jpg");
}

.subPage .kv[data-bg="yutai"]::before {
    background-image: url("/2025/wp-content/uploads/2022/08/kv-yutai.jpg");
}

.subPage .kv[data-bg="memories"]::before {
    background-image: url("/2025/wp-content/uploads/2025/10/kv-memories.jpg");
}

.subPage .kv[data-bg="improvements"]::before {
    background-image: url("/2025/wp-content/uploads/2024/02/kv-improvements.jpg");
}

.subPage .kv[data-bg="report"]::before {
    background-image: url("/2025/wp-content/uploads/2024/02/kv-report.jpg");
}

.subPage .kv[data-bg="overseasEntry"]::before {
    background-image: url("/2025/wp-content/uploads/2024/02/kv-overseasEntry.jpg");
}

.subPage .kv[data-bg="runningEvents"]::before {
    background-image: url("/2025/wp-content/uploads/2024/04/kv-runningEvents.jpg");
}

/* .subPage .kv[data-bg="winning-run"]::before {
    background-image: url("/2025/wp-content/uploads/2023/02/kv-winning-run.jpg");
} */

.subPage .kv[data-bg="awmm"]::before {
    background-image: url("/2025/wp-content/uploads/2024/05/kv-awmm.jpg");
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #F5F5F5;
}

@media all and (max-width: 1024px) {
    .subPage .kv[data-bg="awmm"]::before {
        background-image: url("/2025/wp-content/uploads/2024/05/kv-awmm-sp.jpg");
        background-repeat: no-repeat;
        background-size: contain;
        background-color: #F5F5F5;
    }
}

.subPage .kv[data-bg="collaboration"]::before {
    background-image: url("/2025/wp-content/uploads/2024/03/kv-collaboration.jpg");
}

.subPage .kv[data-bg="present"]::before {
    background-image: url("/2025/wp-content/uploads/2023/03/kv-present.jpg");
}

.subPage .kv[data-bg="goods"]::before {
    background-image: url("/2025/wp-content/uploads/2023/07/kv-goods.jpg");
}

.subPage .kv[data-bg="cheerteam"]::before {
    background-image: url("/2025/wp-content/uploads/2025/02/kv-cheerteam.jpg");
}

.subPage .kv[data-bg="carbohydrateLoadingParty"]::before {
    background-image: url("/2025/wp-content/uploads/2024/06/kv-carbohydrate-loading-party.jpg");
}

.subPage .kv[data-bg="furusato"]::before {
    background-image: url("/2025/wp-content/uploads/2024/05/kv-furusato.jpg");
}

.subPage .kv[data-bg="heatmeasures"]::before {
    background-image: url("/2025/wp-content/uploads/2024/08/kv-heat_measures.jpg");
}

.subPage .kv[data-bg="hm2025"]::before {
    background-image: url("/2025/wp-content/uploads/2024/10/kv-2025.jpg");
}

.subPage .kv__title {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-bottom: 10px;
    font-size: 80px;
    color: #FFF;
}

.subPage .kv__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 1000px;
    height: 500px;
    margin: 0 auto;
    padding-left: 50px;
}

.subPage .kv__jp {
    margin-left: 20px;
    font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ ゴシック',sans-serif;
    font-size: 16px;
    letter-spacing: 0.2em;
}

.subPage .container--sponsorship {
    margin-top: 40px;
}

/* .runsupportPage .kv__title {
    font-size: 40px;
} */


@media all and (max-width: 1024px) {
    .subPage .kv {
        margin: 10px 0 0;
    }

    .subPage .kv::before {
        width: 100%;
        min-width: 100%;
    }

    .subPage .kv__inner {
        height: 220px;
        padding: 0 40px;
    }

    .subPage .kv__title {
        font-size: 44px;
        line-height: 1;
    }

    .subPage .kv__jp {
        display: block;
        margin: 10px 0 0;
        font-size: 14px;
    }

    /* .runsupportPage .kv__title {
        font-size: 22px;
        line-height: 1.4;
    } */
}

/* テキスト画像２カラム */
.imgCol2 {
    display: flex;
    align-items: flex-start;
}

.imgCol2__left {
    width: 470px;
}

.imgCol2__right {
    width: 400px;
    margin-left: 30px;
}

.imgCol2__cap {
    margin-top: 10px;
    text-align: center;
}

@media all and (max-width: 1024px) {
    .imgCol2 {
        display: block;
    }
    
    .imgCol2__left {
        width: 100%;
    }
    
    .imgCol2__right {
        width: 100%;
        margin: 15px 0 0;
    }
}

/* カラム */
.row {
    display: flex;
}

.row .col:first-child {
    order: 1;
    margin-left: 50px;
    width: 44.44%;
}

.row .col img {
    max-width: 100%;
}

.row .col:last-child {
    width: 50%;
}

.row--2col,
.row--3col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    position: relative;
}

.row--2col .col {
    width: calc(50% - 60px);
}

.row--2col .col:nth-child(n+3) {
    margin-top: 40px;
}

/* .row--3col::before {
    content: "";
    width: calc(33.33% - 30px);
    height: 1px;
    order: 1;
} */

/* .row--3col::after {
    content: "";
    width: calc(33.33% - 30px);
    height: 1px;
    order: 2;
} */

.row--3col .col {
    width: calc(33.33% - 30px);
}

.row--3col .col:nth-child(n+4) {
    margin-top: 40px;
}

.ttl {
    margin-top: 20px;
    font-size: 14px;
    font-weight: bold;
    color: #3CA2D0;
}
.ph img {
    max-width: 100%;
}

.ph__dummy {
    max-width: 100%;
    height: 200px;
    background-color: #AAAAAA;
    
    display: flex;
    justify-content: center;
    align-items: center; 
}

.ph__dummy p {
    color: #FFFFFF;
    font-size: 26px;
    font-weight: bold;
}

.name {
    margin-top: 20px;
    font-size: 20px;
    color: #003288;
    font-weight: bold;
}

.name span {
    display: inline-block;
    margin-left: 10px;
    font-size: 14px;
}

.txt {
    margin-top: 10px;
}

@media (max-width: 1024px) {
    .row {
        display: block;
    }

    .row .col:first-child {
        order: 0;
        margin-left: 0;
        width: 100%;
    }

    .row .col:last-child {
        margin-top: 20px;
        width: 100%;
    }
    
    .row--2col,
    .row--3col {
        display: block;
    }

    .row--2col .col,
    .row--3col .col {
        width: 100%
    }

    .row--2col .col:nth-child(n+2),
    .row--3col .col:nth-child(n+2) {
        margin-top: 40px;
    }

    .ph__dummy {
        height: 150px;
    }

    .ph__dummy p {
        font-size: 24px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
エントリーページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.entryPage .howToEntry {
    padding: 25px 50px 40px;
    color: #FFF;
    background: #003288;
}

.entryPage .howToEntry__title {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
}

.entryPage .howToEntry__note {
    display: inline-block;
    margin-top: 10px;
    font-size: 16px;
}

.entryPage .box--02__label {
    top: 98px;
}

.entryBtn {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 50px;
    padding: 2px 0 2px 64px;
    font-size: 30px;
    color: #FFF;
    text-align: left;
    border-radius: 25px;
    background: #3CA2D0;
}

.entryBtn.blue {
    background: #003288;
}

.entryBtn--pdf {
    padding-left: 80px;
}

.box--02__inner .entryBtn,
.box--02__inner .generalBtn {
    position: absolute;
    top: 50%;
    right: 30px;
    z-index: 1;
    transform: translateY(-50%);
}

.box--02__inner .generalBtn {
    margin-top: 0;
}

.entryBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 132px;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow.png") left top / 10px auto no-repeat;
    transform: translateY(-50%);
    transition: width 0.2s ease-in-out;
}

.entryBtn--view {
    padding: 2px 0 2px 27px;
    font-weight: bold;
}

.entryBtn--view.entryBtn::after {
    left: 171px;
}


.is-pc .entryBtn::after {
    width: 2px;
}

.is-pc .entryBtn:hover::after {
    width: 10px;
}

.entryBtn--close {
    padding-left: 54px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 46px;
}

.entryBtn--close::after {
    left: 148px;
}

.officialHp--entryBtn .tp40 {
    top: 40%;
}

.officialHp--entryBtn .entryBtn--jp {
    display: flex;
    padding-left: 22px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    align-items: center;
}

.officialHp--entryBtn .pL30 {
    padding-left: 30px;
}

.officialHp--entryBtn .pL45 {
    padding-left: 45px;
}

/* 実業団 */
.checkArea {
    position: absolute;
    top: 90px;
    right: 30px;
    z-index: 1;
    width: 200px;
}

.checkArea__error {
    display: none;
    margin-top: 15px;
    color: #D83B20;
}

.checkArea .entryBtn {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
}

.checkArea > .entryBtn {
    display: none;
}

.entryBtn--jp {
    display: block;
    padding-left: 80px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.checkArea .entryBtn--jp {
    display: block;
}

.input {
    display: block;
    width: 100%;
    margin: 5px 0 17px;
    padding: 5px 10px;
    border: 1px solid #707070;
    border-radius: 0;
}

.checkArea.is-ok {
    top: 50%;
    transform: translateY(-50%);
}

.checkArea.is-ok .checkArea__inner {
    display: none;
}

.checkArea.is-ok .entryBtn {
    display: block;
}

.bib {
    padding: 0 12px;
}

.bib h3 {
    margin-bottom: 10px;
}

.bib__inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 20px;
}

.nn__bib__inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 0;
}

.bib__item {
    width: 262px;
}

.bib__item:nth-child(2) {
    margin-left: 30px;
}

.bib__item:nth-child(3) {
    margin-left: 30px;
}

.bib__item img {
    width: 100%;
}

.bib__txt {
    margin-bottom: 20px;
}

.nickname_bg {
    background-color: rgba(0, 50, 136, 10%);
    padding: 20px;
    margin-bottom: 20px;
}

.tag {
    display: flex;
    align-items: flex-start;
}

.tag__img {
    width: 262px;
}

.tag__txtWrap {
    width: calc(100% - 262px);
    padding-left: 25px;
}

.entryList {
    margin-top: 30px;
}

.entryList .more {
    position: relative;
    font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ ゴシック',sans-serif;
    color: #003288;
    font-size: 18px;
    font-weight: bold;
}

.entryList .more::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #003288;
    width: calc(100% - 15px);
    height: 1px;
}

.entryList li:nth-child(n + 2) {
    margin-top: 20px;
}

.entryList .more::after {
    left: 100%;
}

@media all and (max-width: 1024px) {
    .entryPage .howToEntry {
        padding: 20px;
    }

    .entryPage .howToEntry__title {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .entryPage .howToEntry__note  {
        font-size: 15px;
    }

    .entryBtn {
        display: block;
        width: 100%;
        margin: 20px auto 0;
        padding: 2px 15px 2px 0;
        text-align: center;
    }

    .box--02__inner .entryBtn,
    .box--02__inner .generalBtn {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
    }

    .box--02__inner .generalBtn {
        margin-top: 20px;
    }

    .entryBtn::after {
        left: calc(50% + 30px);
    }

    .entryBtn--pdf::after {
        left: calc(50% + 20px);
    }

    .entryBtn--close::after {
        left: calc(50% + 42px);
    }

    .entryList .more {
        width: 100%;
        max-width: 560px;
        display: block;
    }

    .entryList .more::after {
        right: 0;
    }

    .box--02 .cs.tAutoSp {
        top: auto;
    }

    .entryPage .entryBtn {
        max-width: 200px;
    }

    .entryPage .entryBtn::after {
        left: calc(50% + 70px);
    }

    /* 実業団 */
    .checkArea {
        position: static;
        width: 100%;
        margin-top: 20px;
    }

    .entryBtn--jp::after {
        left: calc(50% + 22px);
    }

    .checkArea.is-ok {
        transform: none;
    }

    .bib__inner {
        display: block;
    }
    
    .nn__bib__inner {
        display: block;
    }

    .bib__item {
        width: 100%;
    }

    .bib__item:nth-child(n + 2) {
        margin-top: 20px;
    }
    
    .bib__item:nth-child(2) {
        margin-left: 0;
    }
    
    .bib__item:nth-child(3) {
        margin-left: 0;
    }
    
    .tag {
        display: block;
    }

    .tag__txtWrap {
        width: 100%;
        margin-top: 15px;
        padding-left: 0;
    }

    .receptionTxt {
        text-align: center;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会公式アプリダウンロード案内
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.entryApp {
    display: flex;
    justify-content: space-evenly;
    max-width: 633px;
}

.entryApp__item {
    display: flex;
    align-items: center;
    width: calc(50% - 20px);
}

.entryApp__item img {
    max-width: 100%;
}

.entryApp__link {
    width: 187px;
}

.entryApp__qr {
    margin-left: 20px;
    width: 90px;
}


@media all and (max-width: 1024px) {
    .entryApp {
        display: block;
        max-width: none;
    }
    
    .entryApp__item {
        justify-content: center;
        width: 100%;
    }

    .entryApp__item:nth-child(n+2) {
        margin-top: 30px;
    }

    .entryApp__qr {
        display: none;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会概要ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.overviewPage .awards dt {
    margin-top: 20px;
    font-weight: bold;
}

.overviewPage .terms {
    margin: 5px 0;
}

.overviewPage .generalBtn--overview {
    margin-right: auto;
    margin-left: 0;
}

.overviewPage .conventionName {
    font-size: 10px;
}

.entry_bib {
    padding: 0 12px;
}

.entry_bib h3 {
    margin-bottom: 10px;
}

.entry_bib__inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 20px;
}

.entry_bib__item {
    width: 262px;
}

.entry_bib__item:nth-child(2) {
    margin-left: 60px;
}

.entry_bib__item img {
    width: 100%;
}

.bib__txt {
    margin-bottom: 20px;
}

@media all and (max-width: 1024px) {
    .overviewPage .awards dt {
        margin-top: 10px;
    }

    .entry_bib__inner {
        display: block;
    }

    .entry_bib__item {
        width: 100%;
    }

    .entry_bib__item:nth-child(n + 2) {
        margin-top: 20px;
    }
    
    .entry_bib__item:nth-child(2) {
        margin-left: 0;
    }
    
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
スケジュールページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.scheduleTable {
    width: 100%;
    font-size: 20px;
}

.scheduleTable tr:nth-child(even) {
    background: #F4F4F4;
}

.scheduleTable th,
.scheduleTable td {
    padding: 15px 20px;
    border-bottom: 1px solid #078FCC;
    vertical-align: middle;
}

.scheduleTable th {
    width: 185px;
    font-weight: bold;
    color: #3CA2D0;
}

.scheduleTable td {
    position: relative;
}

.scheduleTable td:after {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    z-index: 1;
    width: 1px;
    height: calc(100% - 10px);
    border-right: 1px dashed #3CA2D0;
}

@media all and (max-width: 1024px) {
    .scheduleTable {
        display: block;
        font-size: 16px;
    }

    .scheduleTable tbody,
    .scheduleTable tr,
    .scheduleTable th,
    .scheduleTable td {
        display: block;
    }

    .scheduleTable th {
        width: 100%;
        padding: 10px 12px;
        border-bottom: none;
    }

    .scheduleTable td:after {
        width: calc(100% - 20px);
        height: 1px;
        top: 0;
        left: 10px;
        border-right: none;
        border-bottom: 1px dashed #3CA2D0;
    }

    .scheduleTable td {
        padding: 10px 10px 20px;
    }

    .scheduleTable .note {
        margin-top: 5px;
        display: inline-block;
        line-height: 1.5;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ロゴページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.logoPage .michi {
    width: 250px;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
アーカイブページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.archives {
    display: flex;
    flex-wrap: wrap;
}

.archives a {
    position: relative;
    display: block;
    width: calc(50% - 20px);
    padding-left: 150px;
    background: #FFF;
}

.archives a:nth-child(n + 3) {
    margin-top: 40px;
}

.archives a:nth-child(even) {
    margin-left: 40px;
}

.archives__txt {
    position: absolute;
    top: 50%;
    left: 0;
    width: 150px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #003288;
    transform: translateY(-50%);
}

.archives img {
    width: 100%;
}

@media all and (max-width: 1024px) {
    .archives {
        display: block;
    }

    .archives a {
        width: 100%;
        margin-top: 20px;
        padding-left: 120px;
    }

    .archives a:nth-child(n + 3) {
        margin-top: 20px;
    }

    .archives a:nth-child(even) {
        margin-left: 0;
    }

    .archives__txt {
        width: 120px;
        font-size: 16px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
NEWS一覧ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.newsListPage .news {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 30px auto 0;
}

.newsListPage .news__list {
    margin-top: 20px;
    color: #003288;
    background: url("/2025/wp-content/uploads/2025/02/line-news.jpg") top left / 3px auto repeat-y,
                url("/2025/wp-content/uploads/2025/02/line-news.jpg") top right / 3px auto repeat-y;
    background-color: #FFF;
}

.newsListPage .news__list li {
    border-bottom: 1px solid #003288;
}

.newsListPage .news__list a {
    display: block;
    padding: 22px 34px 16px 50px;
    color: #333;
}

.newsListPage .news__title {
    display: inline-block;
    font-weight: bold;
    color: #003288;
}

.newsListPage .news__date {
    display: inline-block;
    margin-top: 5px;
}

.newsListPage .news__txt {
    display: inline-block;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    width: 100%;
    max-height: 3em;
    margin: 5px 0 2px;
}

.newsListPage .navigation {
    position: relative;
    z-index: 3;
    margin-top: 30px;
}

.newsListPage .navigation h2 {
    display: none;
}

.newsListPage .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.newsListPage .page-numbers {
    font-family: 'Saira Extra Condensed', sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin: 0 5px;
    color: #003288;
    line-height: 1;
    letter-spacing: 0;
    border: 1px solid #003288;
    background: #FFF;
}

.newsListPage .navigation .dots {
    width: auto;
    border: none;
}

.newsListPage .navigation .prev,
.newsListPage .navigation .next {
    font-size: 0;
}

.newsListPage .navigation .prev::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 4px;
    border-left: 1px solid #003288;;
    border-bottom: 1px solid #003288;
    transform: rotate(45deg);
}

.newsListPage .navigation .next::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 4px;
    border-right: 1px solid #003288;;
    border-top: 1px solid #003288;
    transform: rotate(45deg);
}

.newsListPage .navigation .current {
    color: #FFF;
    background: #003288;
}

@media all and (max-width: 1024px) {
    .newsListPage .news {
        margin-top: 0;
        max-width: 100%;
    }

    .newsListPage .news__list a {
        padding: 15px 22px;
    }

    .newsListPage .postMeta {
        display: block;
    }
    
    .newsListPage .postMeta .news__date {
        display: block;
        margin-top: 5px;
    }

    .newsListPage .postMeta .news__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 8px;
        margin-top: 8px;
    }

    .newsListPage .postMeta .news__tags span {
        margin: 0;
        display: inline-flex;
        align-items: center;
        white-space: nowrap;
        line-height: 1;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
NEWSページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.newsPage .postDate {
    font-size: 10px;
}

.newsPage .wp img {
    max-width: 100%;
    height: auto;
}

.newsPage .wp a {
    color: #003288;
    text-decoration: underline;
}

.newsPage .pagination {
    margin-top: 10px;
    padding: 0 15px;
    color: #003288;
}

.newsPage .pagination__prev {
    float: left;
}

.newsPage .pagination a {
    position: relative;
}

.newsPage .pagination a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(4em + 6px);
    z-index: 1;
    width: 7px;
    height: 10px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-blue.png") left top / 7px auto no-repeat;
    transform: translateY(-50%);
    transition: width 0.2s ease-in-out;
}

.is-pc .newsPage .pagination a:hover {
    opacity: 1;
}

.is-pc .newsPage .pagination a::after {
    width: 2px;
}

.is-pc .newsPage .pagination a:hover::after {
    width: 7px;
}

.newsPage .pagination__prev a {
    padding-left: 14px;
}

.newsPage .pagination__prev a::after {
    left: auto;
    right: calc(4em + 6px);
    transform: translateY(-50%) rotate(180deg);
}

.newsPage .pagination__next {
    float: right;
}

.newsPage .pagination__next a {
    padding-right: 14px;
}

.newsPage .ph3col {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.newsPage .postContent {
    display: flow-root;
}

.newsPage .postContent p {
    margin: 20px 0;
}

.newsPage .postContent > *:first-child {
    margin-top: 0;
}

.newsPage .postContent p.wp-block-paragraph {
    margin: 20px 0;
}

@media all and (max-width: 1024px) {
    .newsPage .ph3col {
        display: block;
    }

    .newsPage .ph3col img {
        display: block;
        margin: 0 auto;
    }

    .newsPage .postContent p {
        margin: 15px 0;
    }

    .newsPage .postContent p.wp-block-paragraph {
        margin: 15px 0;
    }

    .newsPage .postMeta {
        display: block;
    }

    .newsPage .postMeta .postDate {
        display: block;
    }

    .newsPage .postMeta .news__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 8px;
        margin-top: 8px;
    }

    .newsPage .postMeta .news__tags span {
        margin: 0;
        display: inline-flex;
        align-items: center;
        white-space: nowrap;
        line-height: 1;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
チャリティーページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
@media all and (max-width: 1024px) {
    .charityPage th {
        width: 80px;
    }

    .charityPage .entryBtn {
        padding: 2px 2px 2px 0;
        width: 200px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
はまなす車いすマラソンページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.wheelchairPage .banner {
    display: flex;
    max-width: 653px;
    margin-left: auto;
    margin-right: auto;
    /* flex-direction: column; */
    align-items: center;
}

.wheelchairPage .banner__item:last-child {
    margin-left: 35px;
}

.wheelchairPage .banner a,
.wheelchairPage .banner span {
    display: flex;
    max-width: 309px;
}

.wheelchairPage .banner a img,
.wheelchairPage .banner span img {
    max-width: 100%;
}

.wheelchairPage th {
    width: 150px;
}

.wheelchairPage td {
    text-align: left;
}

.wheelchairPage .sponsorship__section--col2Left .sponsorship__bnr--vehicle {
    min-width: 235px;
}

.wheelchairPage .sponsorship__section--col2 img {
    margin-top: 10px;
}

.wheelchairPage .sponsorship__section--col2Left,
.wheelchairPage .sponsorship__section--col2 {
    padding: 0 0 20px;
    border-top: none;
}

.wheelchairPage .sponsorship__section--col1 {
    border-top: none;
    padding-top: 0;
}

@media all and (max-width: 1024px) {
    .wheelchairPage .banner {
        display: block;
    }
    
    .wheelchairPage .banner__item:last-child {
        margin-top: 20px;
        margin-left: 0;
    }

    .wheelchairPage .banner a,
    .wheelchairPage .banner span {
        width: 100%;
        max-width: none;
    }    

    .wheelchairPage th {
        width: 80px;
    }

    .wheelchairPage .sponsorship__section--col2 {
        padding-top: 15px;
        border-top: 1px solid #003288;
    }

    .wheelchairPage .sponsorship__section--col2 img {
        margin-top: 0;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
covid19ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.covid19Page .kv__title {
    font-size: 75px;
}

.covid19Page .borderBox {
    padding: 13px 10px;
    border: 1px solid #003288;
}

.covid19Page .attention,
.topPage .attention {
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 30px;
    text-align: center;
    color: #D83B20;
    letter-spacing: 0.1em;
    border: 2px solid #D83B20;
    background: #fff;
}

.topPage .attention {
    display: block;
}

.covid19Page .attention__txt,
.topPage .attention__txt {
    margin-bottom: 5px;
    font-size: 20px;
    font-weight: bold;
}

.topPage .attention__txt {
    text-decoration: underline;
}

@media all and (max-width: 1024px) {
    .covid19Page .kv__title {
        font-size: 37px;
    }

    .covid19Page .kv__jp {
        font-size: 13px;
    }

    .covid19Page .attention,
    .topPage .attention {
        max-width: calc(100% - 40px);
        margin-top: 20px;
        padding: 20px;
    }

    .topPage .attention {
        max-width: 100%;
    }

    .covid19Page .attention__txt,
    .topPage .attention__txt {
        font-size: 16px;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
SDGsページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.sdgsPage .kv::before {
    background: rgba(241,241,241,0.75);
}

.sdgsPage .kv__title {
    color: #003288;
}

.sdgsPage .kv__inner {
    z-index: 2;
    background: url("/2025/wp-content/uploads/2022/04/kv-sdgs.png") center right -57px / 618px auto no-repeat;
}

.sdgsBlock {
    display: flex;
    padding-top: 20px;
}

.sdgsBlock__iconWrap {
    width: 185px;
}

.sdgsBlock__iconWrap img {
    width: 100%;
}

.sdgsBlock__iconWrap img:nth-child(n + 2) {
    margin-top: 10px;
}

.sdgsBlock__contents {
    width: calc(100% - 185px);
    padding-left: 45px;
}

.sdgsBlock__contents > *:nth-child(n + 2) {
    margin-top: 20px;
}

.sdgsBlock__contents .phMargin{
    margin-top: 40px;
}

.sdgsBlock__contents .sdgsBlock__ph {
    width: 560px;
}

.sdgsBlock__2col {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.sdgsBlock__2col img {
    width: calc(50% - 5px);
}

.sdgsBlock__2col img:nth-child(n + 3) {
    margin-top: 10px;
}

.sdgsBlock__smallPh {
    width: 223px;
}

@media all and (max-width: 1024px) {
    .sdgsPage .kv {
        background-color: rgba(241,241,241,0.75);
    }

    .sdgsPage .kv__inner {
        display: block;
        height: 430px;
        padding-top: 50px;
        text-align: center;
        background-position: center bottom 30px;
        background-size: 335px auto;
    }

    .sdgsPage .kv__title {
        font-size: 80px;
    }

    .sdgsPage .kv__jp {
        font-size: 16px;
    }

    .sdgsPage .kv[data-bg="sdgs"]::before {
        content: none;
    }

    .sdgsBlock {
        display: block;
        padding-top: 0;
    }

    .sdgsBlock__iconWrap {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: center;
        width: 100%;
        margin-bottom: 20px;
    }

    .sdgsBlock__iconWrap img {
        margin-right: 8px;
    }

    .sdgsBlock__iconWrap img:nth-child(n + 2) {
        margin-top: 0;
    }

    .sdgsBlock__iconWrap img:nth-child(n + 3) {
        margin-top: 8px;
    }

    .sdgsBlock__iconWrap img:last-child {
        margin-right: 0;
    }

    .sdgsBlock .sdgsBlock__iconWrap img {
        width: 92.5px;
    }

    .sdgsBlock__contents {
        width: 100%;
        padding-left: 0;
    }

    .sdgsBlock__contents .sdgsBlock__ph {
        width: 100%;
    }

    .sdgsBlock__contents .phMargin {
         margin-top: 20px;
    }

    .sdgsBlock__2col {
        display: block;
    }

    .sdgsBlock__2col img:nth-child(2) {
        margin-top: 10px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
SDGsレポートページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.reportPage .kv::before {
    background: rgba(241,241,241,0.75);
}

.reportPage .kv__title {
    color: #003288;
}

.reportPage .kv__inner {
    z-index: 2;
    background: url("/2025/wp-content/uploads/2022/12/kv-report.png") center right -37px / 398px auto no-repeat;
}

@media all and (max-width: 1024px) {
    .reportPage .kv {
        background-color: rgba(241,241,241,0.75);
    }

    .reportPage .kv__inner {
        display: block;
        height: 430px;
        padding-top: 50px;
        text-align: center;
        background-position: center bottom 30px;
        background-size: 260px auto;
    }

    .reportPage .kv[data-bg="sdgs"]::before {
        content: none;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
テーマソングページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.songImg {
    float: right;
    width: 400px;
    margin-left: 50px;
}

@media all and (max-width: 1024px) {
    .songImg {
        float: none;
        display: block;
        max-width: 100%;
        margin: 0 auto;
    }
}

.songPage .generalBtn {
    max-width: 280px;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ウイニングランページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.winningKv {
    position: relative;
    margin: 30px 0 80px;
}

.winningKv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: calc(100% - 183px);
    min-width: 1183px;
    height: 100%;
    background: url("/2025/wp-content/uploads/2022/05/bg-winning.png") left top repeat-x,
                url("/2025/wp-content/uploads/2022/05/bg-winning.png") left bottom repeat-x;
    background-color: #F5F5F5;
}

.winningKv img {
    width: 100%;
}

.winningKv__inner {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
}

@media all and (max-width: 1024px) {
    .winningKv {
        margin: 10px 0 0;
    }

    .winningKv::before {
        content: none;
    }

    .winningKv__inner {
        max-width: none;
    }
}

.winningInfo {
    position: relative;
}

.winningInfo__ph {
    display: block;
    width: 401px;
    margin-left: auto;
    margin-right: 0;
}

.winningInfo__topTxt {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.winningInfo__bottomTxt {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.winningInfo__present {
    position: absolute;
    bottom: -14px;
    right: 420px;
    z-index: 1;
    width: 218px;
}

.winningInfo .note {
    font-size: 10px;
}

.winning__guest {
    width: 100%;
}

.box .winning__guest__wrap {
    padding: 0;
}

.winningPage td {
    text-align: left;
}

.winningPage .entryBtn,
.cheerteamPage .entryBtn,
.guestPage .entryBtn,
.partnershipPage .entryBtn {
    max-width: 200px;
}

@media all and (max-width: 1024px) {
    .winningInfo__ph {
        width: 100%;
    }
    
    .winningInfo__topTxt {
        position: static;
        margin-top: 15px;
    }
    
    .winningInfo__bottomTxt {
        position: static;
        margin-top: 15px;
    }
    
    .winningInfo__present {
        position: static;
        display: block;
        margin: 0 auto;
    }

    .winningInfo .note {
        font-size: 12px;
    }

    .winningPage th {
        white-space: nowrap;
    }

    .winningPage .cs {
        display: block;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ボランティアページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.volunteerApp {
    text-align: center;
}

.volunteerApp__limit {
    margin-top: 20px;
    font-size: 30px;
    font-weight: bold;
    color: #003288;
}

.volunteerApp__num {
    font-size: 50px;
}

.volunteerApp__txtWrap {
    display: inline-block;
    margin-top: 5px;
    text-align: left;
}

@media all and (max-width: 1024px) {
    .volunteerApp__limit {
        font-size: 20px;
    }

    .volunteerApp__num {
        font-size: 36px;
    }
}

.generalBtn {
    display: block;
    width: 280px;
    margin: 50px auto 0;
    padding: 10px 0;
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
    border-radius: 25px;
    background-color: #A9C96A;
}

.generalBtn.sky {
    background-color: #3CA2D0;
}

.generalBtn__txt {
    position: relative;
    padding: 0 24px;
}

.generalBtn__txt::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    z-index: 1;
    width: 15px;
    height: 21px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow.png") left top / 15px auto no-repeat;
    transform: translate(-15px, -50%);
    transition: width 0.2s ease-in-out;
}

.is-pc .generalBtn__txt::after {
    width: 3px;
}

.is-pc .generalBtn:hover .generalBtn__txt::after {
    width: 15px;
}

@media all and (max-width: 1024px) {
    .generalBtn {
        width: 100%;
    }
}

.generalBtn__txt--end::before,
.generalBtn__txt--end::after {
    content: none;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
交通規制
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.linkBox {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 490px;
    height: 100px;
    padding: 0 10px;
    margin: 0 auto 50px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.2em;
    text-align: center;
    color: #fff;
    white-space: nowrap;
    background: #003288;
}

@media all and (max-width: 1024px) {
    .linkBox {
        width: 100%;
        height: 80px;
        font-size: 16px;
    }
}

.box--02__inner .linkBox.gray {
    background: #AAA;
}

.linkBox::before,
.linkBox::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    width: 2px;
    height: 100%;
    background: url(/2025/wp-content/uploads/2025/07/line-traffic.png) left top repeat-x;
    background-size: auto 100%;
}

.linkBox::before {
    left: 0;
}

.linkBox::after {
    right: 0;
    background-image: url(/2025/wp-content/uploads/2025/07/line-traffic.png);
}

.boxLinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

@media all and (max-width: 1024px) {
    .boxLinks {
        display: block;
    }
}

.boxLinks a,
.boxLinks span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(25% - 15px);
    height: 60px;
    margin-right: 20px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.28;
    letter-spacing: 0.2em;
    background: #003288;
}

.boxLinks.bus a,
.boxLinks.bus span {
    width: calc(20% - 16px);
}

@media all and (max-width: 1024px) {
    .boxLinks a,
    .boxLinks span,
    .boxLinks.bus a,
    .boxLinks.bus span {
        width: 100%;
        margin-top: 10px;
        margin-right: 0;
    }
}

.boxLinks a:last-child,
.boxLinks span:last-child {
    margin-right: 0;
}

.boxLinks span {
    background: #AAA;
}

.trafficPage .generalSection {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 80px auto 70px;
}

.trafficPage .generalSection > *:nth-child(n + 2) {
    margin-top: 30px;
}

.trafficPage .contact {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    padding: 40px 189px;
    color: #FFF;
    background: #003288;
}

.trafficPage .contact::before,
.trafficPage .contact::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    width: 2px;
    height: 100%;
}

.trafficPage .contact::before {
    left: 0;
    background: url(/2025/wp-content/uploads/2025/07/line-traffic.png) left top repeat-x;
    background-size: auto 100%;
}

.trafficPage .contact::after {
    right: 0;
    background-image: url(/2025/wp-content/uploads/2025/07/line-traffic.png);
    background-size: auto 100%;
}

.trafficPage .contact__name {
    font-size: 20px;
    letter-spacing: 0.1em;
}

.trafficPage .contact__tel {
    font-size: 50px;
    line-height: 1.2;
}

.trafficPage .contact__txt {
    width: 100%;
    text-align: center;
    font-size: 18px;
}

@media all and (max-width: 1024px) {
    .trafficPage .generalSection {
        margin-bottom: 35px;
    }

    .trafficPage .contact {
        display: block;
        padding: 20px;
        text-align: center;
    }

    .trafficPage .generalSection > *:nth-child(n + 2) {
        margin-top: 20px;
    }

    .trafficPage .contact__tel {
        margin-top: 10px;
        font-size: 40px;
    }

    .trafficPage .contact__txt {
        font-size: 14px;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
招待競技者
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.invited {
    display: flex;
    flex-wrap: wrap;
}

.invited__item {
    display: flex;
    align-items: flex-start;
    width: calc(50% - 10px);
}

.invited__item:nth-child(even) {
    margin-left: 20px;
}

.invited__item:nth-child(n + 3) {
    margin-top: 50px;
}

.invited__ph {
    width: 150px;
}

.invited__txtWrap {
    width: calc(100% - 150px);
    padding-left: 20px;
    font-weight: bold;
}

.invited__name {
    margin-top: 2px;
    font-size: 20px;
    color: #003288;
}

.invited__label__wrap {
    margin-bottom: 6px;
}

.invited__label {
    padding: 2px 5px;
    font-size: 1.4em;
    color: #D83B20;
    border: 1px solid #D83B20;
}

.invited__kana {
    line-height: 1.2;
    color: #003288;
}

.invited__en {
    color: #3CA2D0;
    margin-bottom: 8px;
}

.invited__mt {
    margin-top: 1em;
}


@media all and (max-width: 1024px) {
    .invited {
        display: block;
    }

    .invited__item {
        width: 100%;
    }

    .invited__item:nth-child(even) {
        margin-left: 0;
    }

    .invited__item:nth-child(n + 2) {
        margin-top: 20px;
    }

    .invited__ph {
        width: 80px !important;
    }

    .invited__txtWrap {
        width: calc(100% - 80px);
        padding-left: 15px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ゲストランナー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.guest {
    display: flex;
    align-items: flex-start;
}

.guest + .guest {
    margin-top: 60px;
}

.guest__ph {
    width: 225px;
}

.guest__txtWrap {
    width: calc(100% - 225px);
    padding-left: 40px;
}

.guest__txtWrap p {
    letter-spacing: -0.02em;
}

.guest__name {
    font-size: 20px;
    font-weight: bold;
    color: #003288;
}

.guest dl {
    font-weight: bold;
}

.guest__timeline {
    margin-top: 20px;
}

.guest__comment {
    margin-top: 20px;
    font-weight: bold;
    color: #3CA2D0;
}

.guest__ja {
    letter-spacing: -0.01em;
}

.guest__specialTxt {
    max-width: 720px;
    margin: auto;
}

.guest.pageLinks--center {
    margin-top: 30px;
}

.guest .entryBtn {
    margin-top: 10px;
}

@media all and (max-width: 1024px) {
    .guest {
        display: block;
    }

    .guest__ph {
        display: block;
        width: 180px !important;
        margin: 0 auto 20px;
    }

    .guest__txtWrap {
        width: 100%;
        padding-left: 0;
    }

    .guest__timeline,
    .guest__comment {
        margin-top: 15px;
    }

    .guestPage .sns a:nth-child(n + 2) {
        margin-top: 0;
        margin-left: 12px;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
優待
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.yutaiPage .generalBtn {
    width: 490px;
    border-radius: 50px;
}

.yutaiPage .generalBtn__txt {
    display: inline-block;
}

@media all and (max-width: 1024px) {
    .yutaiPage .generalBtn {
        width: 100%;
        font-size: 14px;
    }
}

.yutai {
    display: flex;
    align-items: flex-start;
}

.yutai__left {
    width: calc(100% - 319px);
    padding-right: 32px;
}


.yutai__left img {
    display: block;
    width: 401px;
    margin: 40px auto 0;
}

.yutai__right {
    width: 319px;
}

@media all and (max-width: 1024px) {
    .yutai {
        display: block;
    }
    
    .yutai__left {
        width: 100%;
        padding-right: 0;
    }
    
    
    .yutai__left img {
        display: block;
        width: 100%;
        margin: 40px auto 0;
    }
    
    .yutai__right {
        width: 100%;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ボランティア活動記録
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.memoriesPage .lead {
    text-align: center;
    color: #003288;
    letter-spacing: 0.2em;
}

.memoriesPage .box {
    position: relative;
    margin-top: 110px;
    min-height: 420px;
}

.memoriesPage .box .h2 {
    margin-top: 0;
}

.memoriesPage .box:nth-of-type(even) .h2 {
    padding-left: 532px;
}

.memoriesPage .col2Txt {
    width: 368px;
}
.memoriesPage .col2Txt img {
    width: 100%;
}

.memoriesPage .h2 + .col2Txt {
    padding-top: 50px;
}

.memoriesPage .box:nth-of-type(even) .col2Txt {
    margin-left: auto;
}

.memoriesPage .ph {
    position: absolute;
    top: -45px;
    right: 7px;
    z-index: 1;
    margin-top: 0;
    width: 542px;
}

.memoriesPage .box:nth-of-type(even) .ph {
    right: auto;
    left: 0;
}

.memoriesPage .circleWrap {
    position: absolute;
    top: -28px;
    right: 507px;
    z-index: 2;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-start;
    width: 218px;
    margin-top: 0;
    text-align: right;
}

.memoriesPage .box:nth-of-type(even) .circleWrap {
    right: 12px;
}

.memoriesPage .circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 109px;
    height: 109px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 100%;
    background-color: #003288;
}

.memoriesPage .circle:nth-child(2) {
    position: relative;
    margin-top: 48px;
    margin-right: -16px;
    z-index: 2;
}

.memoriesPage .circle.sky {
    background-color: #3CA2D0;
}

.memoriesPage .comment {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
    line-height: 1.78;
}

.memoriesPage .comment:nth-of-type(2) {
    flex-direction: row-reverse;
}

.memoriesPage .comment__txtWrap {
    margin: 0 57px;
}

.memoriesPage .comment span {
    display: inline-block;
    padding: 0 6px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.15em;
    background-color: #003288;
}

.memoriesPage .comment span:nth-child(n + 2) {
    margin-top: 15px;
}

.memoriesPage .line--02 {
    margin-left: 5em;
}

.memoriesPage .line--03 {
    margin-left: 2.14em;
}

.memoriesPage .line--04 {
    margin-left: 0.7em;
}

.memoriesPage .line--05 {
    margin-left: 9.8em;
}

.memoriesPage .line--06 {
    margin-left: 7.8em;
}

.memoriesPage .h2 .sb-ttl {
    position: relative;
    top: -7px;
    display: inline-block;
    font-size: 14px;
}

.memoriesPage .h2 {
    font-size: 18px;
}

@media all and (max-width: 1024px) {
    .memoriesPage .box {
        margin-top: 40px;
        min-height: auto;
    }
    
    .memoriesPage .box:nth-of-type(even) .h2 {
        padding-left: 0;
    }
    
    .memoriesPage .col2Txt {
        width: 100%;
    }

    .memoriesPage .col2Txt img {
        padding: 10px 20px;
    }
    
    .memoriesPage .h2 + .col2Txt {
        padding-top: 0;
    }
    
    .memoriesPage .ph {
        position: static;
        margin-top: -40px;
        width: 100%;
    }
    
    .memoriesPage .circleWrap {
        position: relative;
        top: auto;
        right: -10px;
        width: 100%;
        margin-top: -60px;
    }

    .memoriesPage .box:nth-of-type(even) .circleWrap {
        right: -10px;
    }
    
    .memoriesPage .circle {
        width: 70px;
        height: 70px;
        font-size: 10px;
    }
    
    .memoriesPage .circle:nth-child(2) {
        margin-top: 30px;
        margin-right: -12px;
    }
    
    .memoriesPage .comment {
        display: block;
        margin: 60px 0;
        text-align: center;
    }
    
    .memoriesPage .comment__txtWrap {
        display: inline-block;
        margin: 0;
        font-size: 12px;
        text-align: left;
    }

    .memoriesPage .comment__ph {
        display: block;
        width: 225px;
        margin: 20px auto;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
3時間30分以内で申告する方
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.report__row {
    display: flex;
    justify-content: center;
}

.report__grayBg {
    position: relative;
    width: 100%;
    height: 100%;
}

.report__grayBg::after {
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(112, 112, 112, 40%);
}

.report__col {
    display: block;
    width: calc(50% - 30px);
}

.report__col:first-child {
    max-width: 300px;
}

.report__col:last-child {
    max-width: 409px;
}

.report__col:nth-child(n + 2) {
    margin-left: 60px;
}

.report__col img {
    max-width: 100%;
}

.underline {
    text-decoration: underline;
}

@media all and (max-width: 1024px) {
    .report__row {
        display: block;
    }

    .report__col {
        width: 100%;
        margin: 0 auto;
    }

    .report__col:nth-child(n + 2) {
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
    }

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会公式アプリ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.appPage .registration {
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    margin: 40px auto 0;
}

.appPage .registration .ol--num li {
    font-size: 14px;
}

.appPage .registration .ol--num li::before {
    content: '※'counter(number);
}

.appPage .registration__col {
    max-width: 280px;
}

.appPage .registration__txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 20px;
}

.appPage .registration__img img {
    display: block;
    max-width: 100%;
}

.appPage .registration__and__wrap {
    background-color: #F4F4F4;
    padding: 15px 25px 25px;
}


.appPage .registration__and__wrap .registration {
    margin-top: 25px;
}

.appPage .registration__and__col {
    max-width: 125px;
}

.appPage .registration__and__txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 20px;
    letter-spacing: -0.01em;
    text-align: center;
}

.appPage .registration__and__img img {
    display: block;
    max-width: 100%;
}



@media all and (max-width: 1024px) {
    .appPage .registration {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .appPage .registration__txt,
    .appPage .registration__img {
        width: 100%;
        max-width: none;
    }
    
    .appPage .registration__img {
        margin-top: 20px;
        margin-left: 0;
    }
    
    .appPage .registration__col:nth-child(n+2) {
        margin-top: 10px;
    }

    .appPage .registration__and__wrap {
        margin-top: 40px;
    }

    .appPage .registration__and__img {
        margin-left: 0;
    }

    .appPage .registration__and__wrap .registration {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        align-items: start;
    }

    .appPage .registration__and__col {
        max-width: none;
    }

    .appPage .registration__and__img {
        display: flex;
        justify-content: center;
    }

    .appPage .registration__and__img img {
        width: 125px;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        align-self: flex-start;
    }

    .appPage .registration__and__txt {
        letter-spacing: -0.11em;
    }

    

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コラボレーション
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.collaborationPage .collaboration__row {
    display: flex;
}
@media all and (max-width: 1024px) {
    .collaborationPage .collaboration__row {
        display: block;
    }
}

@media all and (max-width: 1024px) {    
    .collaborationPage .collaboration__col:nth-child(n + 2) {
        margin-top: 20px;
    }
}

.collaborationPage .collaboration__col p+p {
    margin-top: 20px;
}

.collaborationPage .collaboration__img--01 {
    margin-left: 20px;
    max-width: 496px;
}

@media all and (max-width: 1024px) {
    .collaborationPage .collaboration__img--01 {
        margin-top: 20px;
        margin-left: 0;
        max-width: none;
        width: 100%;
    }
}

.collaborationPage img {
    max-width: 100%;
}

.collaborationPage .collaboration__img--02 {
    margin-right: 30px;
    max-width: 218px;
}

@media all and (max-width: 1024px) {
    .collaborationPage .collaboration__img--02 {
        margin-bottom: 20px;
        margin-right: 0;
        max-width: none;
        width: 100%;
    }
}

.collaborationPage .application .collaboration__row {
    justify-content: space-between;
}

.collaborationPage .application .collaboration__col {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.collaborationPage .application .collaboration__col {
    width: calc(50% - 20px);
}

@media all and (max-width: 1024px) {
    .collaborationPage .application .collaboration__col {
        width: 100%;
    }
}

.collaborationPage img,
.collaborationPage .collaboration__col{
    max-width: 100%;
}

.collaborationPage .entryApp {
    margin-top: 12px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
}

.collaborationPage .collaboration__appTtl {
    font-size: 20px;
    font-weight: bold;
    color: #003288;
    text-align: center;
}

@media all and (max-width: 1024px) {
    .collaborationPage .collaboration__appTtl {
        font-size: 16px;
    }
}

.collaborationTxt {
    letter-spacing: -0.04em;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
プレゼントキャンペーン
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.presentPage .present__row {
    display: flex;
}

@media all and (max-width: 1024px) {
    .presentPage .present__row {
        display: block;
    }
}

@media all and (max-width: 1024px) {    
    .presentPage .present__col:nth-child(n + 2) {
        margin-top: 20px;
    }
}

.presentPage .present__img--01 {
    margin-right: 20px;
    width: 385px;
    flex-shrink: 0;
}

@media all and (max-width: 1024px) {
    .presentPage .present__img--01 {
        margin-right: 0;
        width: 100%;
    }
}


.presentPage .present__content .present__row,
.presentPage .present__content .centerTxt a {
    margin-top: 20px;
}

@media all and (max-width: 1024px) {
    .presentPage .present__content + .present__content {
        margin-top: 20px;
    }
}


.presentPage .application .present__row {
    justify-content: space-between;
}

.presentPage .application .present__col {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.presentPage .application .present__col {
    width: calc(50% - 20px);
}

@media all and (max-width: 1024px) {
    .presentPage .application .present__col {
        width: 100%;
    }
}

.presentPage img,
.presentPage .present__col{
    max-width: 100%;
}

.presentPage .present__icon {
    display: inline-block;
    padding: 10px 20px;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    background: #D83B20;
}

.presentPage .present__col p+p {
    margin-top: 20px;
}

.presentPage .entryApp {
    margin-top: 12px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
}

.presentPage .present__appTtl {
    font-size: 20px;
    font-weight: bold;
    color: #003288;
    text-align: center;
}

@media all and (max-width: 1024px) {
    .presentPage .present__appTtl {
        font-size: 16px;
    }
}

.presentPage .entryBtn {
    padding: 15px 40px 15px 27px;
    text-align: center;
    font-size: 20px;
    line-height: 1;
}

@media all and (max-width: 1024px) {
    .presentPage .entryBtn {
        width: 200px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
グッズページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.goods__label {
    display: inline-block;
    padding: 10px 20px;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    background: #D83B20;
    color: #fff;
}

.goods__row,
.goods__row--col2,
.goods__row--col3 {
    display: flex;
}

.goods__row--col3 {
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
    max-width: 840px;
}

.goods__col img,
.goods__img--01 img,
.goods__img--02 img {
    max-width: 100%;
}

.goods__row--col2 .goods__col {
    width: calc(50% - 15px);
}

.goods__row--col3 .goods__col {
    width: calc(33.33% - 15px);
}

.goods__img--01 {
    margin-left: auto;
    margin-right: auto;
    max-width: 411px;
}

.goods__img--02 {
    margin-left: auto;
    margin-right: auto;
    max-width: 561px;
}

.goods__img--02 + .goods__img--02 {
    margin-top: 30px;
}

@media all and (max-width: 1024px) {
    .goods__row,
    .goods__row--col2,
    .goods__row--col3 {
        display: block;
    }

    .goods__row .goods__col,
    .goods__row--col2 .goods__col,
    .goods__row--col3 .goods__col {
        width: 100%;
    }

    .goods__row--col3 .goods__col:nth-child(n+2) {
        margin-top: 15px;
    }
    
    .goods__img--01,
    .goods__img--02 {
        max-width: none;
        width: 100%;
    }

    .goods__img--02 + .goods__img--02 {
        margin-top: 15px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ランナー応援団
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.cheerteamPage .lead__wrap {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.cheerteamPage .lead {
    font-size: 20px;
    color: #003288;
    font-weight: bold;
}

.cheerteamPage .lead__wrap + .container {
    margin-top: 20px;
}

.cheerteamPage img {
    max-width: 100%;
}

.cheerteamPage .cheerteamInner {
    padding: 40px 40px 50px;
}

.cheerteamPage .cheerteamWrap--col3,
.cheerteamPage .cheerteamWrap--col2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.cheerteamPage .cheerteamWrap--col3 + .cheerteamWrap--col2,
.cheerteamPage .cheerteamWrap--col2 + .cheerteamWrap--col2 {
    margin-top: 40px;
}

.cheerteamPage .cheerteamWrap--col3 .cheerteamWrap__item {
    width: calc(33.33% - 30px);
}

.cheerteamPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(n+2) {
    margin-left: 30px;
}

.cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item {
    width: calc(50% - 30px);
}

.cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__img {
    width: 50%;
}

.cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(2n) {
    margin-left: 30px;
}

.cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(n+3) {
    margin-top: 20px;
} 

.cheerteamPage .cheerteamTtl {
    font-size: 20px;
    font-weight: bold;
    color: #003288;
}

.cheerteamPage .cheerteamTtl + .cheerteamImg {
    margin-top: 20px;
}

.cheerteamPage .cheerteamSbTtl,
.guestPage .cheerteamSbTtl,
.heatmeasuresPage .cheerteamSbTtl {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    color: #3CA2D0;
}

.cheerteamPage .cheerteamTxt {
    margin-top: 7px;
}

.cheerteamPage .cheerteamBox {
    margin-top: 20px;
    padding: 20px;
    border: 2px solid #707070;
}

.cheerteamPage .cheerteamBox__row {
    display: flex;
    justify-content: space-between;
    max-width: 500px;
}

.cheerteamPage .cheerteamBox__row .cheerteamBox__item:last-child {
    margin-left: 40px;
}

.cheerteamPage .cheerteamBox .cheerteamSbTtl,
.guestPage .cheerteamBox .cheerteamSbTtl {
    margin-top: 0;
}

.cheerteamPage .cheerteamWrap__ph + .cheerteamTtl {
    margin-top: 15px;
}

.cheerBtn {
    text-align: center;
}

.cheerBtn_cs {
    text-align: center;
}

.cheerBtn_cs .entryBtn {
    background-color: #AAAAAA;
    padding-right: 0;
}

.cheerBtn_cs .entryBtn::after {
    display: none;
}

@media (max-width: 1024px) {
    .cheerteamPage .lead__wrap {
        max-width: 100%;
    }

    .cheerteamPage .lead {
        font-size: 16px;
    }

    .cheerteamPage .cheerteamInner {
        padding: 40px 30px 50px;
    }

    .cheerteamPage .cheerteamWrap--col3,
    .cheerteamPage .cheerteamWrap--col2 {
        display: block;
    }

    .cheerteamPage .cheerteamWrap--col3 + .cheerteamWrap--col2,
    .cheerteamPage .cheerteamWrap--col2 + .cheerteamWrap--col2 {
            margin-top: 30px;
    }

    .cheerteamPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(n+2) {
        margin-top: 30px;
        margin-left: 0;
    }

    .cheerteamPage .cheerteamWrap--col3 .cheerteamWrap__item,
    .cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item,
    .cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__img {
        width: 100%;
        margin: 0;
    }

    .cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(2n) {
        margin-top: 20px;
        margin-left: 0;
    }

    .cheerteamPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(n+3) {
        margin-top: 20px;
    }

    .cheerteamPage .cheerteamTtl {
        font-size: 16px;
    }

    .cheerteamPage .cheerteamSbTtl,
    .guestPage .cheerteamSbTtl {
        font-size: 14px;
    }

    .cheerteamPage .cheerteamTxt {
        margin-top: 5px;
    }

    .cheerteamPage .cheerteamBox__row {
        display: block;
    }

    .cheerteamPage .cheerteamBox__row .cheerteamBox__item:first-child,
    .cheerteamPage .cheerteamBox__row .cheerteamBox__item:last-child {
        width: 100%;
    }

    .cheerteamPage .cheerteamBox__row .cheerteamBox__item:first-child {
        margin-top: 15px;
    }

    .cheerteamPage .cheerteamBox__row .cheerteamBox__item:last-child {
        margin: 20px 0 0;
    }

    .cheerteamPage .entryBtn {
        margin-top: 10px;
    }

    .cheerteamPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(2n) {
        margin-top: 30px;
    }

}



/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
カーボローディングパーティ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.carbohydrateLoadingPartyPage .carbohydrateLoadingParty__ttl {
    display: block;
    max-width: 404px;
}

.carbohydrateLoadingPartyPage .row--3col .ttl {
    letter-spacing: -0.07em;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
海外連携
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.partnership__item .h2 {
    display: flex;
    align-items: center;
}

.partnership__logo {
    width: 200px;
    margin-right: 20px;
}

.partnership__Block--2col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.partnership__Block--2col img {
    width: calc(50% - 10px);
    margin: 0 auto;
}

.partnership__item .sns {
    margin-left: auto;
}

@media (max-width: 1024px) {
    .partnership__item .h2,
    .partnership__logo,
    .partnership__txt {
        display: block;
    }

    .partnership__logo {
        width: 100%;
        margin-bottom: 10px;
    }

    .partnership__Block--2col {
        flex-direction: column;
        gap: 20px;
    }

    .partnership__Block--2col img {
        width: 100%;
    }

    .partnership__item .sns {
        margin-top: 10px;
        justify-content: flex-end;
    }

    .partnership__item .sns a:nth-child(n + 2) {
        margin: 0 0 0 10px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
前回からの改善点/変更点
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.borderBox {
    padding: 13px 10px;
    border: 1px solid #003288;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ランナーズサポート北海道の取り組み
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.runsupportPage .box--cGray {
    padding: 30px;
    margin-top: 20px;
}

.runsupport__col {
    display: flex;
    justify-content: space-between;
}

@media (min-width: 1025px) {
    .runsupport__wrap:nth-child(odd) .runsupport__col {
        flex-direction: row-reverse;
    }
}

.runsupport__img {
    max-width: 270px;
}

.runsupport__img img {
    max-width: 100%;
}

.runsupport__txt {
    max-width: 550px;
}

.runsupportPage .generalBtn {
    margin-top: 30px;
}

.runsupportPage .box > *:nth-child(n + 2) {
    margin-top: 40px;
}

@media (max-width: 1024px) {
    .runsupportPage .box--cGray {
        padding: 20px;
    }

    .runsupport__col {
        flex-direction: column;
        align-items: center;
    }

    .runsupport__txt {
        margin-top: 20px;
        max-width: 100%;
    }

    .runsupportPage .generalBtn {
        max-width: 270px;
        margin-top: 20px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Overseas Entry
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.overseasEntry--attention {
    letter-spacing: -0.01em;
}

.highlightTitle {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #003288;
}

.overseas-entryPage .nickname_bg {
    max-width: 500px;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ランニングプロジェクト
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.running-eventsPage .running-events__inner {
    margin-top: 20px;
}

.running-eventsPage .running-events__inner p,
.running-eventsPage .runningEvents__App img {
    margin-top: 20px;
}

.running-eventsPage td {
    text-align: left;
}

.running-eventsPage .NavyBg td {
    text-align: center;
}

.running-eventsPage th {
    text-align: center;
    width: 120px;
}

.running-eventsPage .WhiteBg th {
    background-color: #FFF;
    color: #333333;
}

.running-eventsPage .GrayBg th {
    background-color: #f4f4f4;
    color: #333333;
}

.running-eventsPage .scheduleTable th,
.running-eventsPage .scheduleTable td {
    border-right: none;
    font-size: 14px;
}

.running-eventsPage .scheduleTable .WhiteBg:first-child th,
.running-eventsPage .scheduleTable .WhiteBg:first-child td {
    border-top: 1px solid #078FCC;
}

.running-eventsPage .scheduleTable .indent {
    padding-left: 1em;
}

.running-eventsPage .tableInner td {
    text-align: center;
}

.running-eventsPage .tableInner .txtLeft {
    text-align: left;
}

.running-eventsPage .NavyBg td,
.running-eventsPage .NavyBg th {
    background-color: #4063A7;
    color: #ffffff;
}

.running-eventsPage .scheduleTable .NavyBg td:after {
    border-right: 1px dashed #ffffff;
    font-weight: bold;
}

.running-eventsPage .scheduleTable tr:nth-child(odd) {
    background: #ffffff;
}

.running-eventsPage .scheduleTable tr:nth-child(even) {
    background: #F4F4F4;
}

.running-eventsPage .running-events__col2 {
    display: flex;
}

.running-eventsPage .running-events__col2 .running-events__txt {
    font-weight: bold;
}

.running-eventsPage .running-events__col2 img {
    width: 225px;
}

.running-eventsPage .running-events__inner .running-events__img {
    width: 100%;
}

.running-eventsPage .running-events__logo {
    width: 225px;
    margin-right: 20px;
}

.navyTxt,
.navyTxt th {
    color: #4063A7;
}

.redTxt th {
    color: #D83B20;
}

.runningEvents__App__item {
    display: flex;
    align-items: center;
}

.runningEvents__App__item img {
    width: 187px;
    margin-right: 20px;
}

.runningEvents__App__qr img {
    width: 100px;
}

.event__photo {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 20px;
}

.event__photo img {
    width: 100%;
    height: 120px;
    object-fit: cover; 
}

.acd__view {
    margin-top: 30px;
}

.running-eventsPage .acd__view {
    height: 70px;
    font-size: 20px;
    text-align: center;
    color: #003288;
}

.running-eventsPage .acd__view a {
    position: relative;
    padding-bottom: 7px;
}

.running-eventsPage .acd__view a::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    z-index: 1;
    width: 10px;
    height: 14px;
    background: url("/2025/wp-content/uploads/2022/02/icon-arrow-scroll.png") left top / 10px auto no-repeat;
    transition: height 0.2s ease-in-out;
    transform: translateX(-50%);
}

.is-pc .acd__view a::after {
    height: 2px;
}

.is-pc .acd__view a:hover {
    opacity: 1;
}

.is-pc .acd__view a:hover::after {
    height: 14px;
}
.is-pc .acd__view .is-active::after {
    opacity: 1;
}

.running-eventsPage .js-acd {
    display: none;
}

.running-eventsPage .js-acdTrigger.is-active {
    display: block;
}

.running-eventsPage .tableImg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

.running-eventsPage .tableImg img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}


.tableInner .indent {
    padding-left: 1em;
}

.tableInner li:nth-child(n + 2) {
    margin-top: 20px;
}

.gglMap__wrap {
    max-width: 600px;
}

.gglMap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}

.gglMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.run-clinic__img-map {
    max-width: 600px;
}

.strongTxt {
    font-weight: bold;
    border-bottom: 1px dashed #333333;
}

.running-eventsPage .note {
    margin-top: 0;
}

.running-eventsPage .acd__title {
    padding: 10px 10px 10px 30px;
}

.running-eventsPage .acd__title::before {
    top: 43%;
    left: 10px;
}

.running-events__2col {
    display: flex;
}

.running-events__2col .running-events__gueast {
    width: 150px;
}

.running-events__2col .running-events__2col__item:nth-child(2) {
    margin-left: 20px;
}

@media all and (max-width: 1024px) {
    .running-eventsPage th {
        text-align: left;
        width: 100%;
    }

    .running-eventsPage .NavyBg td {
        text-align: left;
    }

    .running-eventsPage .running-events__col2 {
        flex-wrap: wrap;
    }

    .running-eventsPage .running-events__logo {
        width: 100%;
    }

    .running-eventsPage table {
        display: block;
        font-size: 16px;
    }

    .running-eventsPage table tbody,
    .running-eventsPage table tr,
    .running-eventsPage table th,
    .running-eventsPage table td {
        display: block;
    }

    .running-eventsPage .scheduleTable .WhiteBg:first-child td {
        border-top: none;
    }

    .running-eventsPage .tableInner .w230 {
        width: 100%;
    }

    .runningEvents__App__item {
        display: block;
        width: 183px;
        margin: 0 auto;
    }

    .runningEvents__App__qr {
        display: none;
    }

    .event__photo {
        grid-template-columns: repeat(2, 1fr); 
    }

    section:not(.wp) .event__photo img {
        height: 120px;
        object-fit: cover;
    }
    
    .tableImg {
        display: block;
        overflow-x: auto; /* 横スクロールを有効にする */
        -webkit-overflow-scrolling: touch; /* iOS対応 */
        width: 100%; /* 親要素の幅を100%に */
    }

    .tableImg img {
        width: auto; /* 画面幅に合わせて縮小しない */
        min-width: 1000px; /* 必要に応じて調整（PCと同じ幅にする） */
        display: block;
    }

    .running-events__2col {
        display: block;
    }

    .running-events__2col .running-events__gueast {
        display: flex;
        margin: 0 auto;
    }
    
    .running-events__2col .running-events__2col__item:nth-child(2) {
        margin: 20px auto 0;
    }
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ふるさと納税ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.furusatoPage .kv__title {
    font-size: 40px;
}

.fursato__inner {
    margin-top: 20px;
}

.furusatoPage p {
    margin-top: 10px;
}
.furusatoPage .entryList,
.furusatoPage .entryList li:nth-child(n + 2),
.furusatoPage .box--cGray p {
    margin-top: 10px;
}

.furusatoPage .box--cGray {
    padding: 20px;
    margin-top: 30px;
}

.furusatoPage .box--cGray .h3 {
    padding: 0;
}

@media all and (max-width: 1024px) {
    .furusatoPage .kv__title {
        font-size: 20px;
        line-height: 1.4;
    }
    .furusato__link {
        color: #003288;
        text-decoration: underline;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ポップアップストアページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.pop-upPage .box--02__title {
    letter-spacing: 0.05em;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
プロギングページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.ploggingKv {
    position: relative;
    margin: 30px 0 80px;
}

.ploggingKv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: calc(100% - 183px);
    min-width: 1183px;
    height: 100%;
    background-color: #F5F5F6;
}

.ploggingKv__inner {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
}

.plogging__inner {
    margin-top: 20px;
}

.plogging__row--01 {
    display: flex;
}

.plogging__row--01 .col:first-child {
    width: 38%;
}

.plogging__row--01 .col img {
    max-width: 100%;
    width: 180px !important;
}

.plogging__row--01 .col:last-child {
    margin-left: 30px;
    width: 60%;
}

.plogging__row--01 .ttl:first-child {
    margin-top: 0;
}

.plogging__row--02 {
    display: flex;
    align-items: flex-start;
}

.plogging__row--02 .col:first-child {
    order: 1;
    margin-left: 30px;
    width: 50%;
}

.plogging__row--02 .col img {
    max-width: 100%;
}

.plogging__row--02 .col:last-child {
    width: 55%;
}

.plogging__3col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    float: left;
}

.plogging__3col .name {
    margin-top: 6px;
    font-size: 16px;
}

.plogging__image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.plogging__image img {
    width: 100%;
    height: 140px;
    object-fit: cover;
}

.plogging__image--4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.plogging__image--4col img {
    width: 100%;
    height: 140px;
    object-fit: cover;
}

@media all and  (max-width: 1024px) {
    .ploggingKv {
        margin: 10px 0 0;
    }

    .ploggingKv img {
        width: 100%;
    }

    .ploggingKv__inner {
        max-width: none;
    }

    .plogging__inner {
        margin-top: 15px;
    }

    .plogging__row--01 ,
    .plogging__row--02 {
        display: block;
    }

    .plogging__row--01 .col:first-child {
        width: 100%;
    }
    
    .plogging__row--01 .col:last-child {
        margin-left: 0;
        width: 100%;
    }

    .plogging__row--02 .col:first-child {
        order: 0;
        margin-left: 0;
        width: 100%;
    }

    .plogging__row--02 .col:last-child {
        margin-top: 20px;
        width: 100%;
    }

    .plogging__3col {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(3, auto);
        gap: 20px;
        float: none;
        margin-top: 20px;
        text-align: center;
    }

    .plogging__image--4col {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
EXPOページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.expo--3col {
    display: grid;
    grid-template-columns: repeat(3, 3fr);
    gap: 30px;
    width: 100%;
    height: auto;
}

.expo--3col--item {
    background-color: #F4F4F4;
    padding: 20px;
}

.expo--3col--item img {
    width: 100%;
}

.expo--3col--item h3 {
    color: #003288;
}

.expo--3col--item h3,
.expo--3col--item p {
    margin-top: 15px;
}

.expositionPage .generalBtn {
    margin-top: 20px;
}

@media all and  (max-width: 1024px) {
    .expo--3col {
        display: block;
    }

    .expo--3col--item:nth-child(n + 2) {
        margin-top: 30px;
    }

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2025年大会ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */


.hm2025Page .copyright {
    margin-top: 0;
}

.hm2025Page .footer {
    padding-top: 10px;
}

.hm2025Page .sns {
    margin-right: 30px;
}

@media all and  (max-width: 1024px) {

    .hm2025Page .sns {
        display: flex;
        align-items: center;
    }

    .hm2025Page .sns a {
        width: 32px;
    }

    .hm2025Page .sns a:nth-child(n + 2) {
        margin-left: 12px;
        margin-top: 0;
    }

    .hm2025Page .sns img {
        width: 100%;
        height: auto;
    }

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
暑熱対策ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.heatmeasuresPage .entryBtn {
    margin-top: 10px;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会公式メディアページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.mediaPage .expo--3col--item {
    background-color: #FFF;
    padding: 0;
}

.mediaPage .expo--3col--item p {
    margin-top: 0;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会の魅力ページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.appealPage .lead {
    text-align: center;
    color: #003288;
    letter-spacing: 0.2em;
}

.appealPage .ph {
    max-width: 1000px;
}

.appeal-shadow {
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.1));
}

.appeal-title-sm {
    width: 339px;
}

@media all and  (max-width: 1024px) {

    .appeal-title-sm {
        padding-right: 50px;
    }

}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
応援のチカラページ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.cheer-projectKv {
    position: relative;
    margin: 30px 0 80px;
    top: 0;
    right: 0;
    z-index: 1;
}

.cheer-projectKv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: calc(100% - 183px);
    min-width: 1183px;
    height: 100%;
    background-image: url("/2025/wp-content/uploads/2025/08/bg-cheer-project.png"),
                        url("/2025/wp-content/uploads/2025/08/bg-cheer-project-sp.png");
    background-position: left top, left bottom;
    background-repeat: repeat-x, repeat-x;
    background-size: contain;
}

.cheer-projectKv img {
    width: 100%;
}

.cheer-projectKv__inner {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
}

.cheer-projectPage .box__inner img {
    width: 100%;
}

.cheer-project__bnr {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

.cheer-project__bnr a {
  display: block;
  width: 220px;
  flex-shrink: 0;
  text-decoration: none;
}

.cheer-project__bnr img {
  width: 100%;
  height: auto;
  display: block;
}

.cheer-project__2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  max-width: 950px; /* 475 + 25 + 450 */
  margin: 0 auto;
}

.cheer-project__2col__left {
  width: 475px;
}

.cheer-project__2col__right {
  width: 440px;
}

.cheer-project__2col__left img,
.cheer-project__2col__right img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.cheer__ph2col {
    display: flex;
    gap: 25px;
}

.cheer__ph2col img {
    margin-top: 20px;
    width: calc(50% - 12.5px);
    height: auto;
    display: block;
}

.box--02__title.sky {
    padding-left: 15px;
}

.box--02__title.sky img {
    display: flex;
    align-items: center;
    max-width: 110px;
}

.iframeTxt {
    font-size: 20px;
    font-weight: bold;
    color: #3CA2D0;
}

@media all and (max-width: 1024px) {
    .cheer-projectKv {
        margin: 10px 0 0;
        padding-left: 0;
        width: 100%;
        min-width: auto;
    }

    .cheer-projectKv__inner {
        max-width: none;
    }

    .cheer-project__bnr {
        justify-content: center;
    }

    .cheer-project__bnr a {
        width: 100%;
        max-width: 280px;
    }

    .cheer-project__2col {
        flex-direction: column;
        gap: 20px;
        max-width: 100%;
    }

    .cheer-project__2col__left,
    .cheer-project__2col__right {
        width: 100%;
    }

    .cheer__ph2col {
        flex-direction: column;
    }

    .cheer__ph2col img {
        width: 100%;
    }

    .iframeTxt {
    font-size: 16px;
}
}

/* ランナー応援団から移植ここから */

.cheer-projectPage .lead__wrap {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.cheer-projectPage .lead {
    font-size: 20px;
    color: #003288;
    font-weight: bold;
}

.cheer-projectPage .lead__wrap + .container {
    margin-top: 20px;
}

.cheer-projectPage img {
    max-width: 100%;
}

.cheer-projectPage .cheerteamInner {
    padding: 40px 40px 50px;
}

.cheer-projectPage .cheerteamWrap--col3,
.cheer-projectPage .cheerteamWrap--col2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.cheer-projectPage .cheerteamWrap--col3 + .cheerteamWrap--col2,
.cheer-projectPage .cheerteamWrap--col2 + .cheerteamWrap--col2 {
    margin-top: 40px;
}

.cheer-projectPage .cheerteamWrap--col3 .cheerteamWrap__item {
    width: calc(33.33% - 30px);
}

.cheer-projectPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(n+2) {
    margin-left: 30px;
}

.cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item {
    width: calc(50% - 30px);
}

.cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__img {
    width: 50%;
}

.cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(2n) {
    margin-left: 30px;
}

.cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(n+3) {
    margin-top: 20px;
} 

.cheer-projectPage .cheerteamTtl {
    font-size: 20px;
    font-weight: bold;
    color: #003288;
}

.cheer-projectPage .cheerteamTtl + .cheerteamImg {
    margin-top: 20px;
}

.cheer-projectPage .cheerteamSbTtl,
.guestPage .cheerteamSbTtl,
.heatmeasuresPage .cheerteamSbTtl {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    color: #3CA2D0;
}

.cheer-projectPage .cheerteamTxt {
    margin-top: 7px;
}

.cheer-projectPage .cheerteamBox {
    margin-top: 20px;
    padding: 20px;
    border: 2px solid #707070;
}

.cheer-projectPage .cheerteamBox__row {
    display: flex;
}

.cheer-projectPage .cheerteamBox__row .cheerteamBox__item:last-child {
    margin-left: 40px;
}

.cheer-projectPage .cheerteamBox .cheerteamSbTtl,
.guestPage .cheerteamBox .cheerteamSbTtl {
    margin-top: 0;
}

.cheer-projectPage .cheerteamWrap__ph + .cheerteamTtl {
    margin-top: 15px;
}

.cheerBtn {
    text-align: center;
}

.cheerBtn_cs {
    text-align: center;
}

.cheerBtn_cs .entryBtn {
    background-color: #AAAAAA;
    padding-right: 0;
}

.cheerBtn_cs .entryBtn::after {
    display: none;
}

@media (max-width: 1024px) {
    .cheer-projectPage .lead__wrap {
        max-width: 100%;
    }

    .cheer-projectPage .lead {
        font-size: 16px;
    }

    .cheer-projectPage .cheerteamInner {
        padding: 40px 30px 50px;
    }

    .cheer-projectPage .cheerteamWrap--col3,
    .cheer-projectPage .cheerteamWrap--col2 {
        display: block;
    }

    .cheer-projectPage .cheerteamWrap--col3 + .cheerteamWrap--col2,
    .cheer-projectPage .cheerteamWrap--col2 + .cheerteamWrap--col2 {
            margin-top: 30px;
    }

    .cheer-projectPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(n+2) {
        margin-top: 30px;
        margin-left: 0;
    }

    .cheer-projectPage .cheerteamWrap--col3 .cheerteamWrap__item,
    .cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item,
    .cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__img {
        width: 100%;
        margin: 0;
    }

    .cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(2n) {
        margin-top: 20px;
        margin-left: 0;
    }

    .cheer-projectPage .cheerteamWrap--col2 .cheerteamWrap__item:nth-child(n+3) {
        margin-top: 20px;
    }

    .cheer-projectPage .cheerteamTtl {
        font-size: 16px;
    }

    .cheer-projectPage .cheerteamSbTtl,
    .guestPage .cheerteamSbTtl {
        font-size: 14px;
    }

    .cheer-projectPage .cheerteamTxt {
        margin-top: 5px;
    }

    .cheer-projectPage .cheerteamBox__row {
        display: block;
    }

    .cheer-projectPage .cheerteamBox__row .cheerteamBox__item:first-child,
    .cheer-projectPage .cheerteamBox__row .cheerteamBox__item:last-child {
        width: 100%;
    }

    .cheer-projectPage .cheerteamBox__row .cheerteamBox__item:first-child {
        margin-top: 15px;
    }

    .cheer-projectPage .cheerteamBox__row .cheerteamBox__item:last-child {
        margin: 20px 0 0;
    }

    .cheer-projectPage .entryBtn {
        margin-top: 10px;
    }

    .cheer-projectPage .cheerteamWrap--col3 .cheerteamWrap__item:nth-child(2n) {
        margin-top: 30px;
    }

}

/* ランナー応援団から移植ここまで */


/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
大会公式リンク
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.official-linksPage .col__img {
    max-width: 350px;
}

.official-linksPage .col__img img {
    width: 100%;
}

.official-linksPage .official-links__sns a {
    width: 40px;
}

.official-linksPage .official-links__sns a:nth-child(n + 2) {
    margin-top: 0;
    margin-left: 20px;
}