/* 画面幅が768px以上のPC向け */
@media screen and (min-width: 768px) {
    .sp {
    display: none!important;
    }
}
html {
  scroll-behavior: smooth;
    font-family: sans-serif;
}

header {
    position: fixed;
    top: 1vw;
    left: 62.6vw;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 30.1px;
    font-size: 0.8vw;
    background: #fff;
}
header ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
header ul a li {
    border-right: 1px solid #efefef;
    padding: 1.2vw 2vw;
}
header ul a:last-of-type li {
    border-right: none;
}
section#mv {
    text-align: center;
    color: #fff;
    background: #BA0001;
    padding-bottom: 4vw;
}
section#mv img {
    width: 100%;
    margin: 0 auto;
    display: block;
}section#mv h3 img {
    width: 42.5vw;
    margin: 1.8vw auto -0.6vw;
}
section#mv p {
    line-height: 1.9;
    margin: 2.6vw;
}

section#mv ul {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.2fr;
    gap: 0;
    width: 53.4vw;
    margin: 0 auto;
}
section#mv ul li {
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
    color: #FBDA1D;
    font-size: 1.2vw;
    line-height: 1.5;
    letter-spacing: 1px;
}
section#mv ul li span {
    display: block;
    color: #fff;
    font-size: 1.2vw;
}
section#mv ul li i {
    display: block;
    font-style: normal;
    color: #fff;
}
h2.lined-title {
text-align: center;
    padding: 5.5vw 0;
    font-size: 1.8vw;
    font-family: serif;
    font-weight: bold;
}

.lined-title {
  position: relative;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}

/* 左右の線を ::before と ::after で作る */
.lined-title::before,
.lined-title::after {
  content: "";
  position: absolute;
  top: 50%;
width: 39vw;    
  height: 1px;
  background-color: #ccc;
}

/* 左側の線 */
.lined-title::before {
  left: 0;
  transform: translateY(-50%);
}

/* 右側の線 */
.lined-title::after {
  right: 0;
  transform: translateY(-50%);
}

section#event_1,
section#event_2,
section#event_3{
    text-align: center;
}

section#event_1 {
    text-align: center;
    background: #fff;
    padding-bottom: 3vw;
}

section#event_2 {
    padding: 2.4vw 0;
    background: #FEE6F6;
}

section#event_3 {
    padding: 5.4vw 0 3vw;
    background: #FFFCE3;
}
section#event_3 #banner_list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5vw 0.5vw;
    width: 78.8vw;
    margin: 3vw auto;
}
section#event_3 #banner_list ul li p {
    font-size: 1vw;
    margin: 0.4vw 0;
}

footer {
    background: #221E37;
    text-align: center;
    color: #fff;
    padding: 1vw 0;
    line-height: 1.4;
}
    /* 画面幅が768px以下のSP向け */
    @media screen and (max-width: 768px) {
    .pc {
    display: none!important;
    }
    html {
        scroll-padding-top: 20vw;
    }
    header {
    width: 100%;
    top: 0;
    left: 0;
    text-align: center;
    font-size: 4vw;
    position: sticky;
    border-radius: 0;
    z-index: 111;
    }header h1 {
    background: #BA0001;
    color: #fff;
    padding: 3vw 0;
    font-size: 5vw;
    letter-spacing: 1px;
    }header ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    }header ul a li {
    padding: 2.4vw 0;
    border: none;
    font-size: 3.2vw;
    }
    section#mv h3 {
    margin: 6vw 0;
    }section#mv h3 img {
    width: 84vw;
    }section#mv p {
    font-size: 2.5vw;
    margin: 9vw 3vw;
    }section#mv h3 {
        margin: 6vw 0;
    }section#mv h3 img {
        width: 84vw;
    }section#mv p {
        font-size: 2.5vw;
        margin: 9vw 3vw;
    }section#mv ul {
        display: block;
        width: 88vw;
        padding-bottom: 3vw;
    }section#mv ul li {
        border: none;
        border-top: 1px solid #fff;
        /* border-bottom: 1px solid #fff; */
        font-size: 4.2vw;
        line-height: 1.5;
        display: grid    ;
        grid-template-columns: 1fr 4fr 1fr;
        gap: 0;
        align-items: center;
        padding: 2vw 0;
    }
    section#mv ul a:last-of-type li{
        border-bottom: 1px solid #fff;
    }
    section#mv ul li span {
        display: inline;
        font-size: 3.7vw;
    }section#mv ul li i {
        display: inline;
        font-size: 5vw;
    }
    h2.lined-title {
        font-size: 5.7vw;
    }
    .lined-title::before, .lined-title::after {
        width: 18vw;
    }
    section#event_1 img.sp,
    section#event_2 img.sp,
    section#event_3 img.sp {
        padding: 2vw;
    }section#event_3 img.sp {
    padding: 4vw 11vw 7vw;
    }section#event_3 {
        padding: 5.4vw 2vw 3vw;
    }
    section#event_3 #banner_list ul {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw 2vw;
    }section#event_3 #banner_list ul li img {
    width: 100%;
    }section#event_3 #banner_list ul li p {
        font-size: 3.2vw;
    }
    footer {
        font-size: 2.1vw;
        padding: 3vw 0;
        line-height: 1.6;
    }
}
