h1 {
    font-size: max(2.3vw, 18px);
    color: #D93751;
}

.p_align {
    padding-left: 0.6em;
    text-indent: -0.6em;
}

.half_space_cancel {
    margin-left: -0.3vw;
}

/* ファーストビュー */

.firstview-wrapper {
    width: 100vw;
    height: auto;
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
}

.background {
    grid-row: 1/2;
    grid-column: 1/2;
    position: relative;
    z-index: -1;
}

.background img {
    width: 100%;
}

.firstview-photos {
    margin: 7vw auto 0;
    grid-row: 1/2;
    grid-column: 1/2;
    position: relative;
    z-index: -1;
}

.firstview-photos img {
    width: 100%;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.1));
}

.center-contents {
    width: 100%;
    height: auto;
    margin-top: 5vw;
    grid-row: 1/2;
    grid-column: 1/2;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.firstview-logo {
    width: 20%;
    height: auto;
}

.countdown {
    background-color: #ffffff;
    width: 30%;
    height: 60px;
    max-width: 400px;
    min-width: 170px;
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* flex-direction: column; */
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.1));
    z-index: -1;
    /* border: solid 1px #d1cdcd; */
}

.countdown-p {
    /* line-height: 50px; */
    /* padding: 1vw 0; */
    
    /* margin:auto 0; */
    font-size: 1.5vw;
}

.countdown-area {
    margin-top: -5%;
    color: #D93751;
    display: flex;
}

.countdown-day {
    font-size: 5vw;
}

.before-the-day::after {
    content: "日";
    font-size: 3vw;
    margin-left: 1vw;
}

.the-day::after {
    content: "日目";
    font-size: 3vw;
    margin-left: 1vw;
}

.after-the-day::after {
    display: none;
}

.add-margin-bottom {
    margin-bottom: 40px;
}

/* メイン */

/* 開催終了バナー */
.finish{
    display: flex;
    gap: 10vw;
    align-items: center;
    justify-content: center;
    margin-top: 6vw;
    margin-bottom: 10vw;
}
.finish_banner {
    width: 33vw;
    box-shadow: 4px 6px 6px rgb(0, 0, 0, 0.16);
}
.finish_pragraph{
    width: auto;
}

.finish_pragraph p{
    margin: 0;
    font-size: 1.4vw;
    color: #333;
    margin-left: 0.7rem;
}

.finish_pragraph hr {
    background-color: rgba(217, 55, 81, 0.8);
    border: none;
    width: max(30vw, 200px);
    height: 0.5vw;
}

.finish_pragraph img{
    display: inline-block;
    width: 32vw;
    height: 0.6vw;
    margin: 0;
}

.covid-19 {
    background-color: rgba(217, 55, 81, 0.8);
    padding: 30px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.covid-19-title {
    display: flex;
    justify-content: center;
    align-items: center;
}

.covid-19-title img:first-child {
    width: max(2vw, 15px);
    margin-right: 2vw;
}

.covid-19-title img:last-child {
    width: max(2vw, 15px);
    margin-left: 2vw;
}

.covid-19-title p {
    font-size: max(1.8vw, 15px);
    margin: 0;
    color: #ffffff;
}

.big-covid-19 {
    position: relative;
    margin: 10px 0;
    font-size: max(7vw, 50px);
    opacity: 40%;
    color: #D93751;
    z-index: -1;
}

.covid-19-paragraph {
    position: absolute;
    color: #ffffff;
    font-size: 1.3vw;
    line-height: 5vh;
}

_:lang(x)+_:-webkit-full-screen-document,
.covid-19-paragraph {
    font-size: max(1.3vw, 10px);
    line-height: max(3vw, 30px);
}

@media all and (width < 720px) {
    .covid-19-paragraph {
        line-height: 3vh;
    }
}

.covid-19 a:not(.covid-button) {
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 3px;
    font-size: 1.2vw;
}

.covid-button {
    position: relative;
    padding: 5px 40px 5px 20px;
    display: inline-block;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 3px;
}

_:lang(x)::-internal-media-controls-overlay-cast-button,
.covid-button {
    padding-bottom: 7px;
    font-size: 1.2vw;
}

_:lang(x)+_:-webkit-full-screen-document,
.covid-button {
    padding-top: 9px;
    font-size: max(1.2vw, 10px);
}

.covid-button::after {
    content: ">";
    position: absolute;
    right: 20px;
    animation: arrowMoveBack 0.15s linear forwards;
}

.covid-button:hover::after {
    animation: arrowMove 0.15s linear forwards;
}

@keyframes arrowMove {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(15px);
    }
}

@keyframes arrowMoveBack {
    0% {
        transform: translateX(15px);
    }

    100% {
        transform: translateX(0);
    }
}

.theme {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    z-index: -1;
}

.theme:before {
    content: "";
    display: block;
    padding-top: 50%;
    /* 高さを幅の75%に固定 */
}

.theme-logo-L {
    width: 18vw;
    opacity: 50%;
    position: absolute;
    left: 5vw;
}

.paragraph-and-theme {
    width: 90vw;
    display: flex;
    align-items: center;
    position: absolute;
    left: 10vw;
}

.theme-logo-R {
    width: 3vw;
    margin: 0 5vw;
}

.theme-paragraph {
    text-align: right;
    font-size: 1.8vw;
    letter-spacing: 0.25vw;
    color: #333;
}

.pale-theme {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 10vw;
}

.sv {
    margin: 0 5vw;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: -1;
}

.sv-title {
    display: flex;
    align-items: center;
}

.sv-title hr {
    width: 70vw;
    height: 1px;
    margin: 0 0 0 auto;
    border: none;
    background-color: #cccccc;
}

@media screen and (600px < width <=720px) {
    .sv-title hr {
        width: 65vw;
    }
}

@media screen and (width <=600px) {
    .sv-title hr {
        width: 60vw;
    }
}

.sv-menu {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.sv-menu-1,
.sv-menu-2,
.sv-menu-3 {
    margin: 0 auto;
    padding: 0 20px;
    border-left: 1px solid #000;
}

.sv-menu h2 {
    font-size: max(1.7vw, 15px);
    color: #D93751;
    margin-top: 10px;
    margin-bottom: 0px;
}

.sv-menu p {
    color: #333;
    font-size: max(1.2vw, 12px);
    margin: 0;
    margin-bottom: 5px;
}

.sv-paragraph {
    height: 100px;
    display: flex;
    align-items: center;
}

.sv-date {
    flex-direction: column;
}

.pale-theme {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 10vw;
}

.pale-sv {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    bottom: -25%;
    right: 1vw;
}

.closed {
    margin-left: 25px;
}

.pickup {
    margin: 50px 5vw 0;
    position: relative;
}

.pickup-title {
    display: flex;
    align-items: center;
}

.pickup-title hr {
    width: 80vw;
    height: 1px;
    margin: 0 auto 0 0;
    border: none;
    background-color: #cccccc;
}

@media screen and (width <= 720px) {
    .pickup-title hr {
        width: 70vw;
    }
}

/* 以下荒尾がいじったところ */
.pickup_banners_upper .pickup_banners_under{
    display: flex;
    align-items: center;
}

.pickup_banners{
    text-align: center;
}

.pickup_banners img{
    width: 24vw;
    margin: 10px;
    z-index: 5;
}

/* 画像ホバー（荒尾） */
.image_link {
    position: relative;
    height: auto;
}

.image_link img {
    width: 100%;
}

.image_link:hover {
    background: #000;
    /*好みの色に変えてください。*/
    opacity: 0.6;
    transition: 0.3s;
    box-shadow: 4px 6px 6px rgb(0, 0, 0, 0.16);
}

.image_link:hover:before {
    opacity: 0.2;
}

.pickup_button {
    position: relative;
    top: 30px;
    display: block;
    text-align: end;
    width: max(6vw, 60px);
    margin-left: auto;
    padding: 5px 40px 5px 20px;
    color: #333;
    border: 1px solid #333;
    border-radius: 3px;
}

_:lang(x)::-internal-media-controls-overlay-cast-button,
.pickup_button {
    padding-bottom: 7px;
    font-size: 1.2vw;
}

_:lang(x)+_:-webkit-full-screen-document,
.pickup_button {
    padding-top: 9px;
    font-size: max(1.2vw, 12px);
}

.pickup_button::after {
    content: ">";
    position: absolute;
    right: 20px;
    animation: arrowMoveBack 0.15s linear forwards;
}

.pickup_button:hover::after {
    animation: arrowMove 0.15s linear forwards;
}

.pale-pickup {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    bottom: -7vw;
}

.pickup_coming_soon {
    width: 440px;
    height: 270px;
    background-color: #cccccc;
}

.o-sns {
    margin: 50px 5vw 0;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: -1;
}

.o-sns-title {
    display: flex;
    align-items: center;
}

.o-sns-title hr {
    width: 75vw;
    height: 1px;
    margin: 0 0 0 auto;
    border: none;
    background-color: #cccccc;
}

@media screen and (width < 720px) {
    .o-sns-title hr {
        width: 70vw;
    }
}

.o-sns-paragraph {
    margin-top: 25px;
    display: flex;
    align-items: center;
}

.o-sns-paragraph hr {
    width: 67.5%;
    height: 1px;
    margin: 0 auto;
    border: none;
    background-color: #cccccc;
}

.o-sns-paragraph p {
    margin: 0 0 0 auto;
}

.o-sns-tl {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;

}

.o-sns-tl div {
    /* width: 90%; */
    display: flex;
    flex-direction: column;
}

.tiktok-embed {
    width: 100%;
}

.pale-o-sns {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    bottom: -5%;
    right: 5vw;
}

/* 新着情報 */

.news {
    margin: 50px 5vw 0;
    display: flex;
    flex-direction: column;
    position: relative;
}

.news a:not(.news_atagu, .news_button) {
    color: #333;
    border: 1px solid #333;
    border-radius: 3px;
    font-size: 1.2vw;
}

.news-title {
    display: flex;
    align-items: center;
}

.news-title hr {
    width: 75vw;
    height: 1px;
    margin: 0 0 0 auto;
    border: none;
    background-color: #cccccc;
}

@media screen and (width <=720px) {
    .news-title hr {
        width: 70vw;
    }
}

.news p:not(.pale-news) {
    margin: 0;
    white-space: nowrap;
}

.news p:not(.open, .update) {
    line-height: 30px;
}

_:lang(x)::-internal-media-controls-overlay-cast-button,
.news p:not(.pale-news) {
    font-size: 1.1vw;
    padding-bottom: 2px;
}

_:lang(x)+_:-webkit-full-screen-document,
.news p:not(.pale-news) {
    font-size: max(1.1vw, 10px);
    padding-top: 4px;
}

.news_links {
    margin-top: 50px;
}

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

.news_link_big {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.news_link:not(.news_link:first-child), .news_link_big:not(.news_link_big:first-child) {
    margin-top: 30px;
}

.news_date {
    width: max(14.1vw, 80px);
    display: flex;
    justify-content: flex-end;
}

.news_type {
    width: 15vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.news_type_big {
    width: 15vw;
    margin-top: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.news_type p, .news_type_big p {
    width: 7vw;
    min-width: 50px;
    text-align: center;
    color: #ffffff;
}

.news_type .update, .news_type_big .update {
    background-color: #D93751;
}

.news_type .open, .news_type_big .open {
    background-color: #4b6cb3;
}

.news_paragraph {
    width: max(41.5vw, 330px);
}

.news_atagu {
    color: #4b6cb3;
    position: relative;
}

.news_atagu::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1.5px;
    background: #4b6cb3;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}

_:lang(x)+_:-webkit-full-screen-document,
.news_atagu::after {
    bottom: -2px;
}

.news_atagu:hover::after {
    transform: scale(1, 1);
}

.news_button {
    position: relative;
    top: max(6vw, 30px);
    margin-left: auto;
    padding: 5px 40px 5px 20px;
    display: inline-block;
    color: #333;
    border: 1px solid #333;
    border-radius: 3px;
}

_:lang(x)::-internal-media-controls-overlay-cast-button,
.news_button {
    padding-bottom: 7px;
    font-size: 1.2vw;
}

_:lang(x)+_:-webkit-full-screen-document,
.news_button {
    padding-top: 9px;
    font-size: max(1.2vw, 12px);
}

.news_button::after {
    content: ">";
    position: absolute;
    right: 20px;
    animation: arrowMoveBack 0.15s linear forwards;
}

.news_button:hover::after {
    animation: arrowMove 0.15s linear forwards;
}

.pale-news {
    opacity: 0.05;
    font-size: 9vw;
    margin: 0;
    position: absolute;
    right: 0;
    bottom: 1vw;
}