@charset "UTF-8";
html{
    font-size:100%
}
@media (max-width: 1050px){
    html{
        font-size:1.5238095238vw
    }
}
@media screen and (max-width: 767px){
    html{
        font-size:100%
    }
}
@media (max-width: 375px){
    html{
        font-size:4.2666666667vw
    }
}
body{
    font-family:Zen Maru Gothic,sans-serif;
    color:#555;
    -webkit-font-smoothing:antialiased
}
a,button{
    transition:.3s
}
a:hover,button:hover{
    opacity:.7;
    cursor:pointer
}
@media screen and (max-width: 767px){
    a:hover,button:hover{
        opacity:1
    }
}
*,*:before,*:after{
    box-sizing:border-box
}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,li{
    margin:0
}
ul,ol{
    list-style:none;
    padding:0
}
html:focus-within{
    scroll-behavior:smooth
}
body{
    min-height:100vh;
    text-rendering:optimizeSpeed;
    line-height:1.5
}
a:not([class]){
    text-decoration-skip-ink:auto
}
a{
    text-decoration:none;
    color:inherit
}
img,picture{
    max-width:100%;
    display:block
}
input,button,textarea,select{
    font:inherit
}
button{
    border:none;
    padding:0;
    background-color:initial
}
@media (prefers-reduced-motion: reduce){
    html:focus-within{
        scroll-behavior:auto
    }
    *,*:before,*:after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important
    }
}
.l-inner{
    width:100%;
    margin-right:auto;
    margin-left:auto;
    max-width:1050px;
    padding-right:1.5625rem;
    padding-left:1.5625rem
}
@media screen and (max-width: 767px){
    .l-inner{
        padding-right:1rem;
        padding-left:1rem
    }
}
.c-card{
    padding:1rem;
    border-radius:.75rem;
    background-color:#fff;
    cursor:pointer;
    height:100%;
    display:flex;
    flex-direction:column
}
@media screen and (max-width: 767px){
    .c-card{
        padding:.75rem .625rem 1rem
    }
}
@media (any-hover: hover){
    .c-card:hover .c-card__btn{
        background-color: #fff200;
        /* background-color:#fff200 */
    }
}
.c-card.--row{
    display:grid;
    grid-template-columns:300fr 260fr;
    align-items:center;
    gap:1.25rem;
    padding:1.5rem
}
@media screen and (max-width: 767px){
    .c-card.--row{
        grid-template-columns:1fr
    }
}
.c-card.--row .c-card__title{
    font-size:1.25rem;
    margin-top:0
}
.c-card.--row .c-card__btn{
    margin-top:2.5rem;
    font-size:1rem
}
@media screen and (max-width: 767px){
    .c-card.--row .c-card__btn{
        padding:.375rem;
        margin-top:1.25rem
    }
}
.c-card.--row .c-card__btn:before,.c-card.--row .c-card__btn:after{
    width:1.5rem;
    height:1.5rem
}
.c-card.--lg{
    padding:1.5rem
}
.c-card.--lg .c-card__title{
    font-size:1.25rem
}
@media screen and (max-width: 767px){
    .c-card.--lg .c-card__title{
        margin-top:1.25rem
    }
}
.c-card.--lg .c-card__btn{
    font-size:1rem
}
@media screen and (max-width: 767px){
    .c-card.--lg .c-card__btn{
        padding:.375rem;
        margin-top:1.25rem
    }
}
.c-card.--lg .c-card__btn:before,.c-card.--lg .c-card__btn:after{
    width:1.5rem;
    height:1.5rem
}
.c-card__imgWrap{
    background-color:#f7f7f7
}
.c-card__img{
    aspect-ratio:1/1;
    object-fit:contain;
    width:100%;
    height:100%
}
.c-card__body{
    display:flex;
    flex-direction:column;
    flex-grow:1
}
.c-card__title{
    font-size:1.125rem;
    line-height:1.4444444444;
    letter-spacing:.01em;
    font-weight:700;
    color:#1487b2;
    text-align:center;
    margin-top:1rem;
    flex-grow:1;
    display:flex;
    align-items:center;
    justify-content:center
}
@media screen and (max-width: 767px){
    .c-card__title{
        font-size:.875rem;
        margin-top:.75rem
    }
}
.c-card__team{
    font-size:1rem;
    line-height:1.4375;
    letter-spacing:.01em;
    font-weight:700;
    color:#1487b2;
    text-align:center;
    margin-top:1.5rem
}
.c-card__school{
    font-size:1rem;
    line-height:1.4375;
    letter-spacing:.01em;
    font-weight:700;
    color:#1487b2;
    text-align:center;
    margin-top:.5rem
}
.c-card__btn{
    margin-top:1rem;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.5rem;
    text-align:center;
    font-size:.875rem;
    font-weight:700;
    line-height:1.4285714286;
    letter-spacing:.01em;
    color:#1487b2;
    padding:.375rem;
    border:.125rem solid #1487b2;
    border-radius:100vmax;
    background-color:#e9faff;
    transition:background-color .3s ease-in-out
}
@media screen and (max-width: 767px){
    .c-card__btn{
        font-size:.8125rem;
        margin-top:.75rem;
        padding:.25rem
    }
}
.c-card__btn:before{
    content:"";
    display:block;
    width:1.25rem
}
.c-card__btn:after{
    content:"";
    background:url(../img/icon_plus.svg) no-repeat center center/contain;
    width:1.25rem;
    height:1.25rem;
    display:block
}
@media screen and (max-width: 767px){
    .c-card__btn:after{
        width:1rem;
        height:1rem
    }
}
.c-modal.--vertical .c-modal__top{
    grid-template-columns:319fr 905fr;
    align-items:flex-start
}
@media screen and (max-width: 767px){
    .c-modal.--vertical .c-modal__top{
        grid-template-columns:1fr
    }
}
.c-modal.--vertical .c-modal__bottom{
    grid-template-columns:9.4375rem 1fr;
    grid-template-columns:101fr 518fr
}
@media screen and (max-width: 767px){
    .c-modal.--vertical .c-modal__bottom{
        grid-template-columns:1fr
    }
}
@media screen and (max-width: 767px){
    .c-modal.--vertical .c-modal__img{
        width:68.8102893891%;
        margin:0 auto
    }
}
@media screen and (max-width: 767px){
    .c-modal.--vertical .c-modal__iframe{
        width:68.8102893891%;
        margin:0 auto
    }
}
.c-modal.--vertical .c-modal__iframe iframe{
    aspect-ratio:9/16
}
.c-modal__overlay{
    align-items:center;
    background:#006a92cc;
    bottom:0;
    display:flex;
    justify-content:center;
    left:0;
    position:fixed;
    right:0;
    top:0;
    z-index:100;
    padding:2.5rem
}
@media screen and (max-width: 767px){
    .c-modal__overlay{
        padding:1rem
    }
}
.c-modal__wrap{
    background-color:#fff;
    max-height:85vh;
    max-width:72.5rem;
    overflow-y:auto;
    padding:2.75rem;
    width:100%;
    border-radius:1.875rem
}
@media screen and (max-width: 767px){
    .c-modal__wrap{
        padding:2rem 1rem
    }
}
.c-modal__close{
    width:4.375rem;
    height:4.375rem;
    display:block;
    background:#fff200;
    border-radius:50%;
    border:.1875rem solid #1487b2;
    position:absolute;
    top:-5rem;
    right:0
}
@media screen and (max-width: 767px){
    .c-modal__close{
        width:3.75rem;
        height:3.75rem;
        top:-4.0625rem
    }
}
.c-modal__close:before{
    content:"";
    width:1.5625rem;
    height:.1875rem;
    background:#1487b2;
    position:absolute;
    top:50%;
    left:50%;
    rotate:45deg;
    translate:-50% -50%;
    border-radius:.1875rem
}
@media screen and (max-width: 767px){
    .c-modal__close:before{
        width:1.25rem
    }
}
.c-modal__close:after{
    content:"";
    width:1.5625rem;
    height:.1875rem;
    background:#1487b2;
    position:absolute;
    top:50%;
    left:50%;
    rotate:-45deg;
    translate:-50% -50%;
    border-radius:.1875rem
}
@media screen and (max-width: 767px){
    .c-modal__close:after{
        width:1.25rem
    }
}
@media (any-hover: hover){
    .c-modal__close:hover{
        opacity:1;
        background-color:#e9faff
    }
}
.c-modal__top{
    display:grid;
    grid-template-columns:550fr 434fr;
    gap:3rem
}
@media screen and (max-width: 767px){
    .c-modal__top{
        grid-template-columns:1fr;
        gap:1.5rem
    }
}
.c-modal__img video{
    width:100%;
    height:auto
}
.c-modal__iframe iframe{
    aspect-ratio:16/9;
    width:100%;
    height:auto
}
.c-modal__body{
    margin-top:.875rem
}
@media screen and (max-width: 767px){
    .c-modal__body{
        margin-top:0
    }
}
.c-modal__headItem:nth-child(n+2){
    margin-top:1.5rem
}
.c-modal__headItemHeading{
    font-size:1.25rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.45;
    display:grid;
    gap:.5rem;
    color:#1487b2;
    grid-template-columns:auto 1fr;
    align-items:center
}
@media screen and (max-width: 767px){
    .c-modal__headItemHeading{
        font-size:1.125rem
    }
}
.c-modal__headItemHeading:before{
    content:"";
    width:1.25rem;
    height:1.25rem;
    background:url(../img/icon_double_circle.svg) no-repeat center center/contain
}
@media screen and (max-width: 767px){
    .c-modal__headItemHeading:before{
        width:1.125rem;
        height:1.125rem
    }
}
.c-modal__headItemText{
    font-size:1.25rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.45;
    margin-top:.375rem
}
@media screen and (max-width: 767px){
    .c-modal__headItemText{
        font-size:1.125rem
    }
}
.c-modal__caution{
    margin-top:2.5rem;
    font-size:.8125rem;
    font-weight:700;
    letter-spacing:.01em;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.375rem
}
@media screen and (max-width: 767px){
    .c-modal__caution{
        margin-top:1.5rem
    }
}
.c-modal__caution:before{
    content:"※"
}
.c-modal__bottom{
    background-color:#e9faff;
    border-radius:.625rem;
    padding:1.25rem 3.6875rem 1.25rem 1.5rem;
    margin-top:1.5rem;
    display:grid;
    grid-template-columns:8.4375rem 1fr;
    align-items:center
}
@media screen and (max-width: 767px){
    .c-modal__bottom{
        grid-template-columns:1fr;
        padding:1.5rem 1rem
    }
}
@media screen and (max-width: 767px){
    .c-modal__bottomImg{
        width:17.0625rem;
        margin:0 auto
    }
}
.c-modal__bottomImg img{
    width:100%;
    height:auto
}
@media screen and (max-width: 767px){
    .c-modal__bottomBody{
        margin-top:1rem
    }
}
.c-modal__text{
    font-size:1.0625rem;
    line-height:1.7;
    font-weight:700;
    letter-spacing:.01em;
    color:#1487b2
}
.c-modal__text:nth-child(n+2){
    margin-top:.75rem
}
@media screen and (max-width: 767px){
    .c-modal__text{
        font-size:1rem
    }
}
.c-modal__btnWrap{
    margin-top:1.5rem;
    text-align:center
}
.c-modal__btn{
    margin-top:1rem;
    display:inline-grid;
    min-width:10rem;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.5rem;
    text-align:center;
    font-size:1rem;
    font-weight:700;
    line-height:1.4285714286;
    letter-spacing:.01em;
    color:#1487b2;
    padding:.375rem;
    border:.125rem solid #1487b2;
    border-radius:100vmax;
    background-color:#e9faff;
    transition:background-color .3s ease-in-out
}
.c-modal__btn:before{
    content:"";
    display:block;
    width:1.5rem
}
.c-modal__btn:after{
    content:"";
    background:url(../img/icon_plus.svg) no-repeat center center/contain;
    width:1.5rem;
    height:1.5rem;
    display:block;
    rotate:45deg
}
@keyframes mmfadeIn{
    0%{
        opacity:0
    }
    to{
        opacity:1
    }
}
@keyframes mmfadeOut{
    0%{
        opacity:1
    }
    to{
        opacity:0
    }
}
@keyframes mmslideIn{
    0%{
        transform:translateY(15%)
    }
    to{
        transform:translateY(0)
    }
}
@keyframes mmslideOut{
    0%{
        transform:translateY(0)
    }
    to{
        transform:translateY(-10%)
    }
}
.c-modal{
    display:none
}
.c-modal.is-open{
    display:block
}
.c-modal[aria-hidden=false] .modal-overlay{
    animation:mmfadeIn .3s cubic-bezier(0,0,.2,1)
}
.c-modal[aria-hidden=false] .modal-container{
    animation:mmslideIn .3s cubic-bezier(0,0,.2,1)
}
.c-modal[aria-hidden=true] .modal-overlay{
    animation:mmfadeOut .3s cubic-bezier(0,0,.2,1)
}
.c-modal[aria-hidden=true] .modal-container{
    animation:mmslideOut .3s cubic-bezier(0,0,.2,1)
}
.c-modal .modal-container,.c-modal .modal-overlay{
    will-change:transform
}
.c-video{
    position:relative;
    display:inline-block;
    width:100%
}
.c-video video{
    width:100%;
    height:auto;
    display:block
}
.c-video__playBtn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:3.5625rem;
    height:3.5625rem;
    cursor:pointer;
    z-index:1
}
@media screen and (max-width: 767px){
    .c-video__playBtn{
        width:2.5rem;
        height:2.5rem
    }
}
.c-video__playBtn.is-hidden{
    opacity:0;
    pointer-events:none
}
.c-video__playBtn img{
    width:100%;
    height:100%
}
.p-header{
    padding:1.25rem 2.5rem
}
@media screen and (max-width: 767px){
    .p-header{
        padding:1.25rem
    }
}
.p-header__logo{
    width:16.6875rem;
    height:auto
}
@media screen and (max-width: 767px){
    .p-header__logo{
        width:12.5rem
    }
}
.p-mv{
    position:relative;
    overflow:clip
}
.p-mv__heading{
    font-size:0;
    width:0;
    height:0;
    overflow:hidden;
    position:absolute;
    top:0;
    left:0
}
.p-mv__bg img{
    aspect-ratio:1440/680;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__bg img{
        aspect-ratio:375/600
    }
}
.p-mv__hackathon{
    position:absolute;
    top:10.7352941176%;
    left:50%;
    translate:-50% 0;
    width:36.1111111111%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__hackathon{
        width:85.3333333333%;
        top:20%
    }
}
.p-mv__fukidashi{
    position:absolute;
    top:32.0588235294%;
    left:61.5972222222%;
    width:8.9583333333%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__fukidashi{
        width:22.1333333333%;
        top:35%;
        left:75.4666666667%
    }
}
.p-mv__fukidashi.is-active{
    animation:bounce 1s ease-in-out forwards
}
.p-mv__title{
    display:none
}
@media screen and (max-width: 767px){
    .p-mv__title{
        display:block;
        position:absolute;
        top:41.8333333333%;
        left:50%;
        translate:-50% 0;
        width:80%;
        height:auto;
        object-fit:contain;
        object-position:center
    }
}
.p-mv__illust{
    position:absolute;
    top:39.8529411765%;
    left:27.9166666667%;
    width:44.0972222222%
}
@media screen and (max-width: 767px){
    .p-mv__illust{
        width:110.6666666667%;
        max-width:initial;
        top:auto;
        left:50%;
        bottom:0;
        translate:-50% 0
    }
}
.p-mv__illust img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center
}
.p-mv__icon1{
    position:absolute;
    top:14.4117647059%;
    left:23.4027777778%;
    width:5.0694444444%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon1{
        width:12.5333333333%;
        top:2.6666666667%;
        left:58.9333333333%
    }
}
.p-mv__icon2{
    position:absolute;
    top:32.5%;
    left:11.875%;
    width:7.2916666667%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon2{
        width:16.5333333333%;
        top:8%;
        left:2.6666666667%
    }
}
.p-mv__icon3{
    position:absolute;
    top:40.2941176471%;
    left:21.875%;
    width:6.6666666667%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon3{
        width:14.4%;
        top:7.3333333333%;
        left:81.8666666667%
    }
}
.p-mv__icon4{
    position:absolute;
    top:57.6470588235%;
    left:9.8611111111%;
    width:5.3472222222%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon4{
        width:13.6%;
        top:-3.5%;
        left:33.8666666667%
    }
}
.p-mv__icon5{
    position:absolute;
    top:72.7941176471%;
    left:17.6388888889%;
    width:8.4027777778%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon5{
        width:18.9333333333%;
        top:8%;
        left:28.8%
    }
}
.p-mv__icon6{
    position:absolute;
    top:17.3529411765%;
    left:71.5972222222%;
    width:7.1527777778%;
    rotate:30deg;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon6{
        width:16%;
        top:59.3333333333%;
        left:2.1333333333%
    }
}
.p-mv__icon7{
    position:absolute;
    top:37.6470588235%;
    left:80.2083333333%;
    width:9.7916666667%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon7{
        width:22.1333333333%;
        top:56.5%;
        left:58.4%
    }
}
.p-mv__icon8{
    position:absolute;
    top:50.8823529412%;
    left:72.0138888889%;
    width:6.8055555556%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon8{
        width:13.3333333333%;
        top:57.6666666667%;
        left:26.9333333333%
    }
}
.p-mv__icon9{
    position:absolute;
    top:60.4411764706%;
    left:83.4722222222%;
    width:4.6527777778%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon9{
        width:9.3333333333%;
        top:67.3333333333%;
        left:47.7333333333%
    }
}
.p-mv__icon10{
    position:absolute;
    top:70.4411764706%;
    left:73.3333333333%;
    width:8.9583333333%;
    height:auto;
    object-fit:contain;
    object-position:center
}
@media screen and (max-width: 767px){
    .p-mv__icon10{
        width:19.7333333333%;
        top:60.3333333333%;
        left:76.8%
    }
}
.p-mv__icon1.is-active,.p-mv__icon3.is-active,.p-mv__icon5.is-active,.p-mv__icon7.is-active,.p-mv__icon9.is-active{
    animation-name:katakata;
    animation-duration:6s;
    animation-iteration-count:infinite;
    animation-timing-function:step-start;
    animation-delay:2s
}
.p-mv__icon2.is-active,.p-mv__icon4.is-active,.p-mv__icon6.is-active,.p-mv__icon8.is-active,.p-mv__icon10.is-active{
    animation-name:katakata2;
    animation-duration:6s;
    animation-iteration-count:infinite;
    animation-timing-function:step-start;
    animation-delay:2s
}
@keyframes bounce{
    0%{
        transform:translateY(0) scale(1)
    }
    30%{
        opacity:1;
        visibility:visible;
        transform:translateY(-10px) scale(1.1)
    }
    50%{
        transform:translateY(0) scale(.9)
    }
    70%{
        transform:translateY(-5px) scale(1.05)
    }
    to{
        transform:translateY(0) scale(1);
        opacity:1;
        visibility:visible
    }
}
@keyframes katakata{
    0%{
        transform:translateY(-2px) rotate(6deg)
    }
    10%{
        transform:translate(0) rotate(0)
    }
    20%{
        transform:translate(0) rotate(-6deg)
    }
    30%{
        transform:translateY(-2px) rotate(0)
    }
    40%{
        transform:translateY(-2px) rotate(6deg)
    }
    50%{
        transform:translate(2px) rotate(-2deg)
    }
    60%{
        transform:translateY(2px) rotate(0)
    }
    70%{
        transform:translate(0) rotate(6deg)
    }
    80%{
        transform:translate(2px) rotate(-2deg)
    }
    90%{
        transform:translate(0) rotate(0)
    }
    to{
        transform:translateY(-2px) rotate(6deg)
    }
}
@keyframes katakata2{
    0%{
        transform:translate(-3px) rotate(-8deg)
    }
    15%{
        transform:translateY(3px) rotate(4deg)
    }
    25%{
        transform:translate(2px) rotate(8deg)
    }
    40%{
        transform:translateY(-1px) rotate(-4deg)
    }
    55%{
        transform:translate(-1px) rotate(-8deg)
    }
    70%{
        transform:translateY(2px) rotate(6deg)
    }
    85%{
        transform:translate(3px) rotate(-2deg)
    }
    to{
        transform:translate(-3px) rotate(-8deg)
    }
}
.p-about{
    padding:6rem 0;
    position:relative;
    z-index:0;
    background:#cee8ef
}
@media screen and (max-width: 767px){
    .p-about{
        padding:4rem 0
    }
}
.p-about:before{
    content:"";
    width:100%;
    height:100%;
    background:url(../img/section_bg.png) repeat-y top center/100% auto;
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    opacity:.7
}
@media screen and (max-width: 767px){
    .p-about:before{
        background:url(../img/section_bg_sp.webp) repeat-y top center/100% auto
    }
}
.p-about__box{
    position:relative;
    z-index:0;
    padding:4.5rem 4.3125rem 6.5rem
}
@media screen and (max-width: 767px){
    .p-about__box{
        padding:3rem 1rem
    }
}
.p-about__boxRing{
    position:absolute;
    top:-1.625rem;
    left:50%;
    transform:translate(-50%);
    width:56rem
}
@media screen and (max-width: 767px){
    .p-about__boxRing{
        top:-1rem;
        width:20.625rem
    }
}
.p-about__boxRing img{
    width:100%;
    height:auto
}
.p-about__boxBg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-1
}
.p-about__boxBg img{
    width:100%;
    height:100%
}
.p-about__wrap{
    display:grid;
    grid-template-columns:380fr 383fr;
    align-items:center;
    gap:2.5rem
}
@media screen and (max-width: 767px){
    .p-about__wrap{
        display:flex;
        flex-direction:column;
        gap:1rem
    }
}
.p-about__img img{
    width:100%;
    height:auto
}
@media screen and (max-width: 767px){
    .p-about__body{
        display:contents
    }
}
.p-about__heading{
    font-size:1.6rem;
    line-height:1.4;
    font-weight:700;
    color:#1487b2;
    text-align:center;
    padding:0;
    position:relative
}
@media screen and (max-width: 767px){
    .p-about__heading{
        order:-1
    }
}
@media screen and (max-width: 767px) and (max-width: 767px){
    .p-about__heading{
        font-size:1.3125rem
    }
}
.p-about__heading:before{
    content:"";
    width:3.6875rem;
    height:7.1875rem;
    background:url(../img/title_border.svg) no-repeat center center/cover;
    position:absolute;
    top:.625rem;
    right:-1.875rem;
    z-index:-1
}
@media screen and (max-width: 767px){
    .p-about__heading:before{
        width:2.5rem;
        height:5rem;
        top:.75rem;
        right:-1.25rem
    }
}
.p-about__heading:after{
    content:"";
    width:3.6875rem;
    height:7.1875rem;
    background:url(../img/title_border.svg) no-repeat center center/cover;
    position:absolute;
    top:.625rem;
    left:-1.875rem;
    scale:-1 1;
    z-index:-1
}
@media screen and (max-width: 767px){
    .p-about__heading:after{
        width:2.5rem;
        height:5rem;
        top:.75rem;
        left:-1.25rem
    }
}
.p-about__text{
    font-size:1rem;
    line-height:1.8;
    letter-spacing:.04em;
    font-weight:700;
    margin-top:1.5rem;
    color:#1487b2
}
@media screen and (max-width: 767px){
    .p-about__text{
        margin-top:0;
        font-size:1rem
    }
}
.p-about__movie{
    margin-top:3.5rem
}
@media screen and (max-width: 767px){
    .p-about__movie{
        margin-top:2.5rem
    }
}
.p-about__movie iframe{
    aspect-ratio:16/9;
    width:100%;
    height:100%
}
.p-about__box2{
    position:relative;
    z-index:0;
    padding:5.125rem 6.25rem 4.3125rem;
    margin-top:3.75rem
}
@media screen and (max-width: 767px){
    .p-about__box2{
        padding:4rem 1.25rem 1.375rem
    }
}
.p-about__heading2{
    width:fit-content;
    font-size:2.125rem;
    line-height:1.4;
    font-weight:700;
    color:#1487b2;
    margin:0 auto;
    position:relative;
    z-index:0;
    padding:0 1.25rem
}
@media screen and (max-width: 767px){
    .p-about__heading2{
        font-size:1.625rem;
        padding:0 .3125rem
    }
}
.p-about__heading2:before{
    content:"";
    width:100%;
    height:1rem;
    background:url(../img/title_border2.svg) no-repeat center center/100% 100%;
    position:absolute;
    bottom:0;
    left:0;
    z-index:-1
}
@media screen and (max-width: 767px){
    .p-about__heading2:before{
        height:.75rem
    }
}
.p-about__list{
    margin-top:1rem
}
@media screen and (max-width: 767px){
    .p-about__list{
        margin-top:0
    }
}
.p-about__item{
    padding:1.5rem .75rem;
    display:grid;
    grid-template-columns:7.5rem 1fr;
    gap:2.5rem;
    border-bottom:1px solid #1487b2
}
@media screen and (max-width: 767px){
    .p-about__item{
        padding:1.5rem 0;
        gap:.75rem;
        grid-template-columns:1fr
    }
}
.p-about__itemHeading{
    font-size:1.25rem;
    line-height:1.6;
    font-weight:700;
    color:#1487b2;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:.625rem
}
.p-about__itemHeading:before{
    content:"";
    width:1.25rem;
    height:1.25rem;
    background:url(../img/icon_double_circle.svg) no-repeat center center/contain
}
.p-about__itemText{
    font-size:1.25rem;
    line-height:1.6;
    font-weight:700;
    color:#1487b2
}
@media screen and (max-width: 767px){
    .p-about__itemText{
        font-size:1rem
    }
}
.p-introduction{
    padding:6rem 0;
    position:relative;
    z-index:0;
    background:#b6cfe8;
    overflow:clip
}
@media screen and (max-width: 767px){
    .p-introduction{
        padding-top:7.5rem;
        padding-bottom:5rem
    }
}
.p-introduction:before{
    content:"";
    width:100%;
    height:100%;
    /* background:url(../img/section_bg.webp) repeat-y top center/100% auto; */
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    opacity:.12
}
@media screen and (max-width: 767px){
    .p-introduction:before{
        /* background:url(../img/section_bg_sp.webp) repeat-y top center/100% auto */
    }
}
.p-introduction__flag{
    position:absolute;
    top:0;
    right:calc(50% + 14.875rem);
    width:39.5625rem;
    height:9.1875rem
}
@media screen and (max-width: 767px){
    .p-introduction__flag{
        width:23.375rem;
        height:5.4375rem;
        right:auto;
        left:50%;
        translate:-50% 0
    }
}
.p-introduction__flag.--right{
    left:calc(50% + 14.875rem)
}
@media screen and (max-width: 767px){
    .p-introduction__flag.--right{
        display:none
    }
}
.p-introduction__heading{
    /*font-family: "M PLUS Rounded 1c", sans-serif;*/ 
    font-weight: 900;
    font-style: normal;
    font-size:3.4rem;
    font-weight:200%;
    color:#fff;
 /*    color:#ea6346; */
/*   color:#fffb00fa; */
/*   -webkit-text-stroke:2px #fdd8a1; */
    
/*    -webkit-text-stroke: 1px #39708b;*/
    text-stroke: 1px #008000;
    width:fit-content;
    margin:0 auto;
    position:relative;
    z-index:0;
    padding-left:1.625rem;
    padding-right:1.625rem
}
@media screen and (max-width: 767px){
    .p-introduction__heading{
        font-size:1.625rem
    }
}
.p-introduction__heading:before{
    content:"";
    width:100%;
    height:90%;
    display:block;
    background:url(../img/title_border3.png) no-repeat center center/100% 100%;
    position:absolute;
    bottom:0;
    left:-.125rem;
    z-index:-1
}
.p-introduction__heading:nth-child(2 of.p-introduction__heading){
    margin-top:4.5rem
}
.p-introduction__text{
    text-align:center;
    color:#39708b;
    margin-top:1.5rem;
    font-size:1.25rem;
    font-weight: 900;
    line-height:1.8;
    letter-spacing:.01em
}
.p-introduction__award{
    padding:2rem 10rem 3.5rem;
    background-color:#006a9280;
    border-radius:.5rem;
    margin-top:2.5rem
}
@media screen and (max-width: 767px){
    .p-introduction__award{
        padding:2rem 1.5rem 3rem;
        margin:2rem calc(50% - 50vw) 0
    }
}
.p-introduction__awardItem.--first{
    padding:0 1.5rem
}
@media screen and (max-width: 767px){
    .p-introduction__awardItem.--first{
        padding:0
    }
}
.p-introduction__awardTitle{
    font-size:2.375rem;
    font-weight:700;
    color:#1487b2;
    text-align:center;
    width:19.8125rem;
    padding:1.5125rem 5.625rem 1.75rem;
    margin:0 auto;
    position:relative;
    background:url(../img/fukidashi2.webp) no-repeat center center/100% 1000%;
    animation-name:updown1;
    animation-delay:0s;
    animation-duration:1s;
    animation-iteration-count:infinite;
    animation-timing-function:step-start
}
.p-introduction__awardTitle.--first{
    background:url(../img/fukidashi1.png) no-repeat center center/100% 60%
}
.p-introduction__awardIcon{
    position:absolute;
    bottom:1rem;
    left:.5625rem;
    width:4.1875rem;
    height:4.5625rem
}
.p-introduction__awardTitle.is-active .p-introduction__awardIcon{
    animation-name:katakata;
    animation-duration:6s;
    animation-iteration-count:infinite;
    animation-timing-function:step-start
}
.p-introduction__awardCard{
    margin-top:.625rem
}
.p-introduction__awardWrap{
    margin-top:2.1rem;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3.5rem
}
@media screen and (max-width: 767px){
    .p-introduction__awardWrap{
        margin-top:3rem;
        gap:3rem;
        grid-template-columns:1fr
    }
}
.p-introduction__list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.5rem;
    margin-top:3rem
}
@media screen and (max-width: 767px){
    .p-introduction__list{
        grid-template-columns:repeat(2,1fr);
        gap:.75rem
    }
}
.p-footer{
    padding:2.5rem 0
}
.p-footer__logo{
    width:16.6875rem;
    height:auto;
    margin:0 auto
}
@media screen and (max-width: 767px){
    .p-footer__logo{
        width:12.5rem
    }
}
.p-footer__text{
    font-size:.75rem;
    font-weight:500;
    line-height:1.4166666667;
    letter-spacing:.01em;
    text-align:center;
    margin-top:1.3125rem
}
@media screen and (max-width: 767px){
    .u-desktop{
        display:none
    }
}
.u-mobile{
    display:none
}
@media screen and (max-width: 767px){
    .u-mobile{
        display:block
    }
}

    .judge-container {
        display: flex;
        justify-content: center; /* 中央寄せ */
        gap: 30px; /* カード間の余白 */
        flex-wrap: wrap; /* スマホで折り返す */
        max-width: 1100px;
        margin: 0 auto;
        padding-top:50px;
    }

    /* カードのスタイル */
    .judge-card {
        background-color: #fff;
        border-radius: 10px;
        border-color: #b6cfe8;
        border-style:solid;
        border-width: 1px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        padding: 20px;
        width: 30%; /* 3カラム（横に3つ並ぶ） */
        min-width: 250px; /* スマホでの最小幅 */
        text-align: center;
        box-sizing: border-box;
        transition: transform 0.3s;
        
    }

    .judge-card:hover {
        transform: translateY(-5px); /* ホバー時に少し浮く */
    }

    /* 画像のスタイル */
    .judge-image {
        width: 300px;
        height: 300px;
        border-radius: 50%; /* 丸型 */
        object-fit: cover;
        margin-bottom: 15px;
        border: 1px solid #ddd;
        display: inline-flex;
    }

    /* 名前・肩書きのスタイル */
    .judge-name {
        font-size: 1.5em;
        font-weight: bold;
        margin: px 0;
        color: #222;
    }

    .judge-title {
        font-size: 0.9em;
        color: #666;
        margin-bottom: px;
        font-weight: 700;
    }

    .judge-bio {
        font-size: 0.9em;
        color: #444;
        margin-top:10px;
        line-height: 1.5;
        text-align: left;
        font-weight:400;       
    }

    /* レスポンシブ対応：画面が小さい時 */
    @media (max-width: 768px) {
        .judge-card {
            width: 100%; /* スマホでは1列に並べる */
        }
    }