/* 20260713-001  */


* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

body {
    font-size: 1.1rem;
    line-height: 1.8;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(238, 243, 255, 1) 5px, rgba(238, 243, 255, 1) 10px);
    color: #111;
    overflow-wrap: anywhere;
}

header {
    background-color: #ffffff;
    border-top: 1px solid rgb(33, 66, 139);
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    background-color: #ffffff;
}


header .container {
    position: relative;
    height: 3rem;
}


header .container a {
    display: block;
    width: 5%;
    min-width: 45px;
    padding: 0;
    position: absolute;
    top: 0;
    left: 1rem;
    z-index: 99999;
}

.logo {
    width: 100%;
    margin: 0.5rem;
}


h1 {
    width: 100%;
    font-size: 1rem;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
}

h2 {
    font-size: 1.3rem;
    border-bottom: 1px solid rgba(33, 66, 139);
    text-align: center;
}

h3.type01 {
    font-size: 1.15rem;
    margin: 1.2rem 0 0.5rem 1rem;
}

p {
    line-height: 1.8;
}

main .container {
    padding-bottom: 2rem;
}

main section {
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}



.latestEventWrapper article .kv {
    width: 100%;
    height: auto;
}

.latestEventWrapper article>a {
    display: block;
}

.latestEventWrapper .kv img {
    width: 100%;
    height: auto;
}

.latestEventWrapper {
    margin-bottom: 2rem;
    width: 100%;
}

.latestEventWrapper article {
    width: 100%;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.latestEventWrapper h2 {
    text-align: center;
    margin-bottom: 1rem;
}


.latestEventWrapper article .latestSummary {
    margin: 0;
    padding: 0.25rem;
    display: none;
}


.latestEventWrapper .noEvents {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    color: rgba(299, 3, 3, 1);
    padding: 2rem 1rem;
    background-color: rgba(299, 3, 3, .1);
}

.latestEventWrapper p {
    text-align: left;
}

.latestEventWrapper .noEvents .mailInfo {
    color: #000;
    margin-top: 1rem;
}

.latestEventWrapper .noEvents .mailInfo a {
    font-weight: bold;
    text-decoration: none;
}

.latestEventWrapper .noEvents .mailInfo a:hover {
    text-decoration: underline;
}

.digestItems p.noEvents {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 80%;
    color: #555;
    padding: 0.5rem 1rem;
    background-color: rgba(128, 128, 128, .1);
}

.digestWrapper,
.pastWrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.digestWrapper .digestItems,
.pastWrapper .pastItems {
    display: grid;
    gap: 1rem;
    grid-auto-rows: auto;
}

.digestWrapper article,
.pastWrapper article {
    border: 1px solid #aaa;
    padding-bottom: 2rem;
}


.latestEventWrapper article a,
.digestWrapper article a,
.pastWrapper article a {
    color: #111;
    text-decoration: none;
}


.digestWrapper article a:hover .summaryLeft *,
.pastWrapper article a:hover .summaryLeft * {
    color: #1f1fd1;
    text-decoration: underline;
}

.latestEventWrapper a:hover .linkBtn {
    text-decoration: underline;
}


.digestWrapper .digestItems .digestImg {
    position: relative;
}

.digestWrapper .digestItems .digestImg .digestTag{
    position: absolute;
    background-color: rgba(209, 24, 24, .75);
    color:#fff;
    text-align: center;
    bottom:0rem;
    left:0;
    width:100%;
    overflow: hidden;
	font-size:.8rem;
}


.pastWrapper .pastItems .pastImg{
    position: relative;
}

.pastWrapper .pastItems .pastImg .close{
    position: absolute;
    background-color: rgba(0, 0, 0, .6);
    color:#fff;
    text-align: center;
    bottom:2rem;
    left:0;
    width:100%;
    overflow: hidden;
	font-size:0.8rem;
    height:4rem;
    padding:1rem;
}


.digestWrapper article a img,
.pastWrapper article a img {
    width: 100%;
}

.latestEventWrapper .latestEvent:hover .kv,
.digestWrapper article a:hover img,
.pastWrapper article a:hover img {
    opacity: 0.8;
}

.digestWrapper article .eventSummary,
.pastWrapper article .eventSummary {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    padding-right: 0.25rem;

}

.digestWrapper article .eventSummary .summaryLeft,
.pastWrapper article .eventSummary .summaryLeft {
    width: calc(100% - 4rem);
    padding: 2rem;
}

.digestWrapper article .eventSummary .summaryLeft h3,
.pastWrapper article .eventSummary .summaryLeft h3 {
    font-size: 1.5rem;
}

.digestWrapper article .eventSummary .summaryLeft p,
.pastWrapper article .eventSummary .summaryLeft p:not(.tag) {
    font-size: 1.2rem;
}

.pastWrapper article a p.past {
    margin: 0 0 0.25rem 0;
    padding: 0.25rem;
    width: 100%;
    text-align: center;
    font-size: 80%;
    color: #fff;
    background-color: #777;
}


.tagEnded {
    width: 100%;
    background-color: #f0f0f0;
    text-align: center;
}

.arrow {
    width: 2rem;
    height: 2rem;
    margin: auto;
    background-color: #d11919;
    border-radius: 50%;
    color: #fff;
    background-image: url('img/arrow-wh.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 0.5rem;
}

.pastItems .arrow {
    background-color: rgba(0,0,0,0.6);
}

a:hover .arrow {
    animation-duration: 0.3s;
    animation-name: linkBtnhoverArrow;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes linkBtnhover {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.8;
    }
}

@keyframes linkBtnhoverArrow {
    0% {
        transform: rotate(0);
    }


    50% {
        transform: rotate(180deg);
    }


    100% {
        transform: rotate(360deg);
    }
}

footer {
    border-top: 1px solid #aaa;
    background-color: #ffffff;
    text-align: center;
    padding: 2rem 0;
}

footer p {
    text-align: center;
}

/* スマホ */
/* @media screen and (max-width: 375px) { */
@media screen and (max-width: 600px) {
    h1 br {
        display: none;
    }


    h3.mainTitle {
        font-size: 1.4rem;
    }

    p.subTitle {
        font-size: 1.1rem;
    }

    .row {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 601px) and (max-width: 1024px) {
    header {
        height: 3rem;
    }

    header .container {
        position: relative;
        padding: 0.5rem;
        height: 3rem;
    }

    h1 {
        font-size: 1.5rem;
    }

    h2 {
        text-align: left;
    }

    .latestEventWrapper .h2 {
        text-align: center;
    }

    main section {
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        margin-bottom: 2rem;
    }


    .latestEventWrapper article {
        display: flex;
        flex-direction: row;
    }

    .latestEventWrapper article>a {
        width: 60% !important;
    }

    .latestEventWrapper article .latestSummary {
        margin: 0 auto;
        padding: 0.25rem;
        width: 30%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 1rem;

    }

    .latestEventWrapper article .latestSummary h3 {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 0.5rem;
    }


    .latestEventWrapper article .linkBtn {
        padding: 0.5rem 2rem;
        width: 100%;
        margin: 0rem auto 0rem auto;
        border-radius: 0.25rem;
        text-decoration: none;
        border: 1px solid #d11919;
        background-color: #d11919;
        color: #ffffff;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }


    .digestWrapper .digestItems,
    .pastWrapper .pastItems {
        grid-template-columns: repeat(2, 1fr);
        width: 100% !important;
        margin: 0;
        padding: 1rem;
    }

    .digestWrapper .digestItems article,
    .pastWrapper .pastItems article {
        margin: 1rem 1.666% 2rem 1.666%;
        padding: 0;
        aspect-ratio: 1 / 1.2;
    }

    .digestWrapper article .eventSummary .summaryLeft,
    .pastWrapper article .eventSummary .summaryLeft {
        width: calc(100% - 40px);
        padding: 0 0.5rem 0.5rem 0.5rem;
    }

    .digestWrapper article .eventSummary .summaryLeft h3,
    .pastWrapper article .eventSummary .summaryLeft h3 {
        font-size: 1.1rem;
    }

    .digestWrapper article .eventSummary .summaryLeft p,
    .pastWrapper article .eventSummary .summaryLeft p:not(.tag) {
        font-size: 0.75rem;
    }

    .tagEnded {
        font-size: .8rem !important;
    }

    .arrow {
        width: 1.5rem;
        height: 1.5rem;
    }

    .row {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 1025px) {
    header {
        height: 3rem;
    }

    header .container {
        position: relative;
        padding: 0.5rem;
        height: 3rem;
    }

    h1 {
        font-size: 1.5rem;
    }

    h2 {
        text-align: left;
    }

    .latestEventWrapper .h2 {
        text-align: center;
    }

    main section {
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        margin-bottom: 2rem;
    }



    .latestEventWrapper article {
        display: flex;
        flex-direction: row;
    }

    .latestEventWrapper article>a {
        width: 60% !important;
    }

    .latestEventWrapper article .latestSummary {
        margin: 0 auto;
        padding: 0.25rem;
        width: 30%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 1rem;

    }

    .latestEventWrapper article .latestSummary h3 {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 0.5rem;
    }


    .latestEventWrapper article .linkBtn {
        padding: 0.5rem 2rem;
        width: 100%;
        margin: 0rem auto 0rem auto;
        border-radius: 0.25rem;
        text-decoration: none;
        border: 1px solid #d11919;
        background-color: #d11919;
        color: #ffffff;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }


    .digestWrapper .digestItems,
    .pastWrapper .pastItems {
        grid-template-columns: repeat(3, 1fr);
        width: 100% !important;
        margin: 0;
        padding: 1rem;
    }


    .digestWrapper .digestItems article,
    .pastWrapper .pastItems article {
        margin: 1rem 1.666% 2rem 1.666%;
        padding: 0;
        /* aspect-ratio: 1 / 1.2; */
    }

    .digestWrapper article .eventSummary .summaryLeft,
    .pastWrapper article .eventSummary .summaryLeft {
        width: calc(100% - 40px);
        padding: 0 0.5rem 0.5rem 0.5rem;
    }

    .digestWrapper article .eventSummary .summaryLeft h3,
    .pastWrapper article .eventSummary .summaryLeft h3 {
        font-size: 1.2rem;
    }

    .digestWrapper article .eventSummary .summaryLeft p,
    .pastWrapper article .eventSummary .summaryLeft p:not(.tag) {
        font-size: 1rem;
    }

    .tagEnded {
        font-size: .8rem !important;
    }

    .arrow {
        width: 1.5rem;
        height: 1.5rem;
    }

    .row {
        grid-template-columns: 1fr 2fr;
    }
}

.w20 {
    width: 20% !important;
}

.w30 {
    width: 30% !important;
}

.w33 {
    width: 33% !important;
}

.w40 {
    width: 40% !important;
}

.w45 {
    width: 40% !important;
}

.w50 {
    width: 50% !important;
}

.w60 {
    width: 60% !important;
}

.w66 {
    width: 66% !important;
}

.w70 {
    width: 70% !important;
}

.w80 {
    width: 80% !important;
}

.w90 {
    width: 90% !important;
}

.w100 {
    width: 100% !important;
}


/* マージン */
.mx0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx1 {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.mx2 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.mx3 {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.mx4 {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.mx5 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mxauto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.ms0 {
  margin-left: 0 !important;
}

.ms1 {
  margin-left: 4px !important;
}

.ms2 {
  margin-left: 8px !important;
}

.ms3 {
  margin-left: 12px !important;
}

.ms4 {
  margin-left: 16px !important;
}

.ms5 {
  margin-left: 20px !important;
}


.me0 {
  margin-right: 0 !important;
}

.me1 {
  margin-right: 4px !important;
}

.me2 {
  margin-right: 8px !important;
}

.me3 {
  margin-right: 12px !important;
}

.me4 {
  margin-right: 16px !important;
}

.me5 {
  margin-right: 20px !important;
}

.my0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my1 {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.my2 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.my3 {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.my4 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

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

.mt0 {
  margin-top: 0 !important;
}

.mt1 {
  margin-top: 4px !important;
}

.mt2 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.mt3 {
  margin-top: 12px !important;
}

.mt4 {
  margin-top: 16px !important;
}

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


.mb0 {
  margin-bottom: 0 !important;
}

.mb1 {
  margin-bottom: 4px !important;
}

.mb2 {
  margin-bottom: 8px !important;
}

.mb3 {
  margin-bottom: 12px !important;
}

.mb4 {
  margin-bottom: 16px !important;
}

.mb5 {
  margin-bottom: 20px !important;
}
