@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden;
}
body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    color: #000;
    font-size: 19px;
}
@media (max-width: 768px) {
    body {
        font-size: 13px;
        line-height: 1.9;       
    }
}

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

a {
    /* text-decoration: none; */
    color: #000;
    transition: .3s;
}
a:hover {
    opacity: .6;
}
a[href=""], 
a:not([href]) {
    cursor: not-allowed;
    pointer-events: none;
    opacity: .3;
}
h3 {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 10px;
}
@media (max-width: 768px) {
    h3 {
        font-size: 15px;
    }    
}

.pcbr {
    display: inline;
}
@media (max-width: 768px) {
    .pcbr {
        display: none;
    }
}

.container {
    width: 100%;
    margin: 0 auto;
    padding: 100px 0;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    width: 100%;
    background: transparent linear-gradient(270deg, #F9A770 0%, #FD8EAB 100%) 0% 0% no-repeat padding-box;
    z-index: 1000;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    max-width: 1280px;
    margin: 6px auto -2px;
}

.logo h1 {
    padding-top: 5px;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
}

.nav-menu li {
    padding-top: 2px;
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 22px;
    text-align: center;
    line-height: 1.2;
}
.nav-menu li span {
    display: block;
    font-size: 14px;
}

.nav-menu li.x_icon {
    padding-top: 0px;
}

.nav-menu-sp {
    list-style: none;
    display: none;
}

.nav-menu a {
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
    position: relative;
}

.sp_menu {
    display: none;
}

.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background: #333;
    margin: 3px 0;
    transition: 0.3s;
}

/* Hero Section */

/* 全体コンテナ */
.main-visual {
  position: relative;
  margin-top: 92px;
  width: 100%;
  aspect-ratio: 1280 / 630;
  overflow: hidden;
  background-color: #000;
}
@media (max-width: 768px) {
    .main-visual {
        aspect-ratio: 390 / 344;
        margin-top: 63px;
    }
}

/* 背景共通スタイル */
.bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 1;
  /* ゆっくり拡大アニメーションを適用 */
  animation: kenburns 20s ease-in-out infinite alternate;
}

@media screen and (min-width: 768px) {
  .pc-bg { 
    background-image: url('../img/main_bg-pc@2x.jpg');
    display: block; 
  }
  .sp-bg { display: none; }
}

@media screen and (max-width: 767px) {
  .pc-bg { display: none; }
  .sp-bg { 
    background-image: url('../img/main_bg-sp@2x.jpg'); /* スマホ用画像 */
    display: block; 
  }
}

/* ロゴの固定表示 */
.logo-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 85%; /* スマホで余裕を持たせる */
  max-width: 600px; /* PCでの最大幅 */
  text-align: center;
  pointer-events: none;
  animation: fadeInLogo 1s ease-out forwards;
  opacity: 0;
}
@keyframes fadeInLogo {
  from { opacity: 0; transform: translate(-50%, -45%); } /* 少し下から */
  to { opacity: 1; transform: translate(-50%, -50%); }
}

.main-logo {
  width: 100%;
  height: auto;
}
/* --- PC用の設定 (768px以上) --- */
@media screen and (min-width: 768px) {
  .pc-bg { display: block; }
  .sp-bg { display: none; }
  
  .pc-logo { display: inline-block; } /* PCロゴを表示 */
  .sp-logo { display: none; }         /* SPロゴを隠す */
}

/* --- スマホ用の設定 (767px以下) --- */
@media screen and (max-width: 767px) {
  .pc-bg { display: none; }
  .sp-bg { display: block; }
  
  .pc-logo { display: none; }         /* PCロゴを隠す */
  .sp-logo { display: inline-block; } /* SPロゴを表示 */
}
/* アニメーション定義 */
@keyframes kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 15%ほどゆっくり拡大 */
  }
}


.hero-content {
    z-index: 2;
    color: white;
    animation: fadeInUp 1s ease-out;
}

.hero-title {
    font-size: 4rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    animation: pulse 2s infinite;
}

.hero-year {
    font-size: 6rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    background: linear-gradient(45deg, #fff, #ffb6c1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.5rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}

.hero-info {
    margin-bottom: 2rem;
}

.event-date,
.event-venue {
    font-size: 1.2rem;
    margin: 0.5rem 0;
    font-weight: 600;
}


/* Section Styles */
.section-title {
    text-align: center;
    font-size: 3.4em;
    margin-bottom: 60px;
    position: relative;
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
}
.move-title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    overflow: hidden;
}
.move-title > span:not(.title-sub) {
    display: inline-block; /* アニメーションを有効にする */
    white-space: pre;      /* スペースの幅を維持 */
}
[data-aos="shorter-up"] {
  transform: translateY(100%); /* 完全に隠れた位置からスタート */
  opacity: 0;
  transition-property: transform, opacity;
}
[data-aos="shorter-up"].aos-animate {
  transform: translateY(0); /* 元の位置に戻る */
  opacity: 1;
}

.title-sub {
    display: block;
    width: 100%;
    font-size: .3em;
    font-weight: bold;
    font-family: 'Arial', sans-serif;
}


/* whatnew Section */
.whatnew {
    background: white;
    font-weight: bold;
}
.whatnew-bnr {
    text-align: center;
    margin-bottom: 50px;
}
.whatnew-bnr img {
    width: 95%;
    max-width: 730px;
}

.news-list {
    width: 100%;
    max-width: 850px;
    margin: 0px auto;
}

.news-list li:first-child {
    border-top: solid 1px #F99E78;
}

.news-list li {
    border-bottom: solid 1px #F99E78;
    list-style: none;
    padding: 15px;
    display: grid;
    grid-template-columns: 1fr 5fr;
}

.news a {
    color: #e11280;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .whatnew-bnr {
        margin-bottom: 25px;
    }
    .news-list li {
        grid-template-columns: 2fr 5fr;
        padding: 15px 8px;
    }
}


/* Schedule Section */
.about {
    font-weight: bold;
    background: #FDD97D;
    background: linear-gradient(140deg, rgba(253, 217, 125, 1) 0%, rgba(250, 173, 131, 1) 50%, rgba(252, 173, 211, 1) 100%);    opacity: 1;
}

.about .container {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}
.about-border {
    border-radius: 10px;
    box-shadow: 15px 15px 0 #00000029;
    background-color: #fff;
    margin: 30px 0 50px;
    padding: 50px;
    font-size: 24px;
    text-align: center;
}
.about-bnr {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.3em;
    gap: 30px;
}
.about-bnr p {
    width: 280px;
}
.about-greeting p {
    font-weight: normal;
}
hr {
    margin: 3em 0;
    border: 1px solid #333;
}

@media (max-width: 768px) {
    .about-border {
        font-size: 14px;
        padding: 50px 25px;
    }
}


/* information Section */
.information {
    background: #FFFFEA;
}

.information .container {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}
.map {
    max-width: 850px;
    width: 100%;
    height: 300px;
    margin-top: 10px;
}
.map iframe {
    border-radius: 10px;
    box-shadow: 15px 15px 0 #00000029;
    width: 100%;
    height: 300px;
}
.day-box {
    font-size: 22px;
    font-weight: bold;
}
.day-box dt, .day-box dd {
    margin-bottom: .8em;
    display: inline-block;
    vertical-align: top;
}
.day-box dt {
    width: 3em;
}
.day-box dd {
    width: calc(100% - 3.5em);
}


@media (max-width: 768px) {
    .day-box {
        font-size: 13px;
    }
    .map iframe {
        box-shadow: 7px 7px 0 #00000029;
    }
}

/* notice Section */
.notice-section {
    margin-top: 60px;
}

.notice-section p {
    margin-bottom: 20px;
    font-size: 19px;
}

.notice-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.5em;
}

.notice-list li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 1.4em;
    text-indent: -20px;
    font-size: 19px;
}

.notice-list li::before {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background-color: #FFA0AF;
    margin-right: 10px;
}
@media (max-width: 768px) {
    .notice-section {
        margin-top: 40px;
    }
    .notice-section p {
        font-size: 13px;
    }
    .notice-list li {
        font-size: 13px;
    }
    .notice-list li::before {
        width: 12px;
        height: 12px;
    }
}
@media (max-width: 600px) {
    .day-section {
        flex-direction: column;
    }
}

/* History Section */
.history {
    background: #FFD56C;
    background: linear-gradient(333deg, rgba(255, 213, 108, 1) 0%, rgba(248, 160, 113, 1) 50%, rgba(255, 135, 193, 1) 100%);
}

.history .container {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
}

.yt-box {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 15px 15px 0px #00000029;
    display: flex;
    align-items: center;
    justify-content: center;
}

.yt-label {
    text-align: center;
    padding: 20px 0px;
}
.yt-btn {
    margin-top: 1em;
}
.yt-btn a {
    background-color: #FD5C91;
    color: #fff;
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    padding: 5px 10px;
    text-decoration: none;
}

.history-hero {
    display: grid;
    gap: 50px;
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 50px;
    justify-items: center;
}
.history-hero .yt-label img {
    width: 190px;
}
.history-hero .yt-box {
    display: block;
    width: 100%;
    max-width: 750px;    
}
.history-hero .yt-iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.history-hero .yt-iframe iframe {
    width: 100%;
    height: 100%;
    border-radius: 0 0 10px 10px;
    display: block;
}

.history-content {
    display: grid;
    gap: 50px;
    grid-template-columns: repeat(2, 1fr);
}
.history-content .yt-label img {
    width: 60%;
}

.history-content .yt-box {
    /* height: 238px; */
    padding: 20px 0;
}

@media (max-width: 768px) { 
    .history-hero {
        gap: 20px;
        margin-bottom: 20px;
    } 
    .history-hero .yt-iframe iframe {
        border-radius: 0 0 5px 5px;
    }
    .history-hero .yt-label {
        padding: 10px 0;
    } 
    .history-hero .yt-label img {
        width: 80px;
    } 
    .history-content {
        gap: 20px;
    }
    .yt-box {
        box-shadow: 7px 7px 0px #00000029;
        border-radius: 5px;
    }
    .yt-label {
        padding: 0;
    }
    .yt-btn {
        margin-top: 0;
    }
    .yt-btn a {
        font-size: 14px;
        padding: 3px 5px;
    }
}

/* Supporters Section */
.supporters {
    background: #FFF;
}

.supporters .container {
    margin: 0 auto;
    width: 100%;
    max-width: 860px;
}

/* ベースのスタイル */
.sponsor-container {
  margin: 0 auto;
  padding: 20px;
}
.sponsor-container img {
    display: block;
}

.category-label, .category-title {
  font-weight: bold;
  margin-bottom: 0;
}

/* 主催・共催の横並び */
.sponsor-top-grid {
  display: grid;
  grid-template-columns: 4fr 3fr;
  gap: 20px;
  margin-bottom: 40px;
}

/* ロゴ＋社名のペア（横並び & 上下中央） */
.sponsor-main-grid {
  display: grid;
  grid-template-columns: 4fr 3fr; /* PCは2列 */
  gap: 20px;
  margin-bottom: 30px;
}

.sponsor-pair {
  display: flex;
  align-items: center; /* 上下中央寄せ */
  padding: 24px 0;
  gap: 15px;
}

.sponsor-block {
    border-bottom: 1px solid #999;
    padding: 24px 0;
}
.category-label + .sponsor-pair,
.sponsor-main-grid > .sponsor-pair {
    padding-top: 0;
}


.company-name {
  line-height: 1.4;
}

/* 1列丸々使う場合（QLifeなど） */
.full-width {
  grid-column: 1 / -1;
}

.supporters .section-content {
    padding: 20px 50px;
}
.sponsor-text {
    padding: 30px 0;
}
.sponsor-text a {
    display: inline-block;
    margin: 0 50px 20px 0;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
  .sponsor-top-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sponsor-main-grid {
    grid-template-columns: 1fr; /* スマホは1列 */
    gap: 0;
  }
  .sponsor-main-grid .sponsor-pair {
    padding: 0;
  }
  .sponsor-block {
    padding: 10px 0;
  }  
  .sponsor-pair {
    padding: 10px 0;
    gap: 6px;
  }
  .sponsor-container {
    padding: 0;
  }
  .sponsor-container img {
    zoom: .7;
  }
  .category-label, .category-title {
    font-size: 13px;
  }
  .sponsor-text a {
    margin: 0 20px 15px 0;
  }
}





/* Footer */
.footer {
    background-color: #000;
    color: #fff;
}

.footer-content a {
    color: #FFF;
}

.footer .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 80px 20px;
    font-size: 22px;
}

.footer .section p {
    margin: 5px 0;
}

.footer .label {
    font-weight: bold;
    display: inline-block;
    width: 140px;
}

.footer .iinkai {
    max-width: 700px;
}

.footer .logos {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
}

.footer .logos a {
    background-color: #FFF;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    width: 150px;

}

.footer .logos img {
    width: 140px;
    height: auto;
    background-color: #fff;
    padding: 5px;
    border-radius: 4px;

}

.footer_bottom {
    text-align: right;
    margin: 80px 0px 0;
    font-size: 20px;
}

@media (max-width: 768px) {
    .footer .container {
        padding: 50px 25px;
        font-size: 13px;
    }
    .footer .section {
        margin-bottom: 1.5em;
    }
    .footer_bottom {
        font-size: 10px;
        text-align: left;
        margin: 20px 0px;
    }
}



.sp_br {
    display: none;

}

.footer_kyoryoku {
    display: flex;
}

.archive {
    padding-top: 190px;
    background-color: #E3007D;
}

.archive h2 {
    color: #FFF;
    font-size: 42px;
    text-align: center;
}

.archive_main {
    max-width: 800px;
    margin: 80px auto 0px;
    padding-bottom: 80px;
}

.archive_date {
    color: #FFEB73;
    font-size: 24px;

}

.archive_artist {
    color: #fff;
    font-size: 22px;
    margin-bottom: 80px;

}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

@keyframes sparkle {

    0%,
    100% {
        opacity: 0;
        transform: scale(0);
    }

    50% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .nav-container {
        height: 60px;
        margin: 3px auto 0;
    }

    .logo img {
        height: 26px;
        margin-top: 5px;
    }

    .nav-menu {
        position: fixed;
        right: -100%;
        top: 0px;
        flex-direction: column;
        background: #FD8EAB;
        background: linear-gradient(90deg, rgba(253, 142, 171, 1) 0%, rgba(249, 167, 112, 1) 100%);        width: 100%;
        height: 100%;
        text-align: center;
        transition: 0.3s;
        padding: 30px 0;
    }

    .nav-menu li {
        width: 80%;
        margin: 0 auto;

    }

    .sp_menu {
        display: inline;
        font-size: 24px;
    }
    .sp_menu span {
        font-size: 15px;
    }
    .sp_menu img {
        width: 243px;
    }

    .x_icon img {
        width: 56px;
    }

    .nav-menu.active {
        right: 0;
    }

    .main_v {
        padding-top: 60px;
    }

    .stream {
        height: 350px;
        padding: 80px 0px 40px;
    }

    .hero .container {
        gap: 40px;
    }

    .hero-title {
        font-size: 2.5rem;
    }

    .hero-year {
        font-size: 4rem;
    }

    .hero-subtitle {
        font-size: 1.2rem;
    }

    .section-title {
        font-size: 29px;
        margin-bottom: 40px;
    }
   .title-sub {
        font-size: 12px;
    }

    .access-content {
        grid-template-columns: 1fr;
    }

    .performers-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .container {
        padding: 50px 20px;
    }

    #ticket {
        padding-top: 0px;
    }

    #goods {
        padding-top: 0px;
    }

    .supporters .section-content {
        padding: 0px;
    }

    .supp_aca {
        flex-direction: column;
    }

    .nav-menu-sp {

        display: inline;
    }

    .nav-menu .close {
        width: 100%;
        height: 20px;
        text-align: right;
        padding: 0px 20px;
    }

    .nav-menu .close img {
        width: 18px;
    }

    .nav-menu .good {
        width: 100px;
    }

    .nav-menu .ticket {
        width: 100px;
    }

    .supp_a img {
        height: 50px;
    }

    .supp_b img {
        height: 25px;
    }

    .sp_br {
        display: inline;
    }

    .footer_kyoryoku {
        display: inline;
    }

    .footer .label {
        width: 100%;
        display: block;
    }

    .footer .logos a {
        width: 30%;
        height: 75px;
    }

    .footer .logos a img {
        width: 100%;
    }

    .apply-button {
        font-size: 11px;
    }

    .archive {
        padding-top: 100px;
    }

    .archive h2 {
        font-size: 18px;
    }

    .archive_main {
        margin-top: 40px;
        padding-bottom: 40px;
    }

    .archive_date,
    .archive_artist {
        font-size: 16px;

    }

}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }

    .hero-year {
        font-size: 3rem;
    }

    .nav-container {
        padding: 1rem;
    }

}


/* -------------------------
    下層ページ共通
------------------------- */

.page header {
    padding: 70px 0;

}
.page h1 {
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 45px;
    text-align: center;
}
.page h1 .title-sub {
    display: block;
    font-size: 25px;
    font-weight: bold;
}
.page .content {
    max-width: 850px;
    width: 98%;
    background-color: #ffffffe6;
    margin: 0 auto;
    padding: 100px 75px 60px;
}
.page .content h2 {
    font-size: 25px;
    margin-bottom: .3em;
}
.page .content h3 {
    font-size: 19px;
    margin: 1.5em 0 .2em;
}
.page .content h2 + h3 {
    margin-top: 0;
}
.page .content h3:before {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background-color: #000;
    font-size: 1.5em;
    border-radius: 8px;
    margin-right: 0.3em;
}
.page .content h4 {
    margin: 1.5em 0 .5em;
}
.page .wh-bg {
    background-color: #fff;
    padding: 35px 40px;
    font-weight: normal;
}
.page .wh-bg img {
    width: 100%;
    max-width: 400px;
}
.page .wh-bg p {
    margin-bottom: .5em;
}
.page .content section {
    padding-bottom: 50px;
    margin-bottom: 50px;
}
.page .content ul{
    margin-left: 1.3em;
    margin-bottom: .5em;
}
.page .content ol {
    list-style: none;
    counter-reset: number;
    margin-bottom: .5em;
}
.page .content ol li {
    padding-left: 1.5em;
    text-indent: -1.5em;
}
.page .content ol li:before {
    content: counter(number) ".";
    counter-increment: number;
    padding: 0 .25em;
    margin-right: .3em;
}
.page .content ol li ol li:before {
    content: counter(number);
    counter-increment: number;
    padding: 0 .25em;
    margin-right: .3em;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    border-radius: 50px;
}

.page .content .border {
    border: 1px solid #707070;
    margin-top: 1em;
    padding: 0 40px 20px;
}
.page .x_tag {
    border: 1px solid #999;
    background-color: #dedede;
    font-size: 0.9em;
    margin: 0 .2em;
    padding: .1em .5em;
    border-radius: 20px;
}
.page .content .button_dl {
    text-align: center;
    margin-top: 1em;
}
.page .content .button_dl a {
    background: #FFD56C;
    background: linear-gradient(144deg, rgba(255, 213, 108, 1) 0%, rgba(248, 160, 113, 1) 50%, rgba(255, 135, 193, 1) 100%);
    text-decoration: none;
    color: #000;
    border-radius: 40px;
    padding: 1em 4em;
    font-weight: bold;
    display: inline-block;
    box-shadow: 7px 7px 0 #00000029;
}
.page .content-footer {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
}
@media (max-width: 768px) {
    .page header {
        padding: 50px 0 30px;
    }
    .page h1 {
        font-size: 29px;
    }
    .page h1 .title-sub {
        font-size: 10px;
    }
    .page .content {
        padding: 20px;
    }
    .page .content h2 {
        font-size: 16px;
    }
    .page .content h3 {
        font-size: 13px;
    }
    .page .content h3:before {
        width: 12px;
        height: 12px;
        margin-right: 0.2em;
    }
    .page .content section {
        margin-bottom: 25px;
        padding-bottom: 25px;
    }
    .page .content .wh-bg {
        padding: 25px 16px;
    }
    .page .content .border {
        padding: 0 12px 5px;
    }
    .page .content .border h4 {
        margin-top: 14px;
    }
    .page .content-footer {
        font-size: 16px;
    }
}




/* -------------------------
    アンバサダーページ
------------------------- */
.ambassador {
    background: #FFD56C;
    background: linear-gradient(144deg, rgba(255, 213, 108, 1) 0%, rgba(248, 160, 113, 1) 50%, rgba(255, 135, 193, 1) 100%);
    font-weight: bold;
}

.ambassador .container {
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
    padding: 100px 0;
}
.ambassador .photo {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 60px;
}
.ambassador .photo img {
    width: 48%;
    max-width: 333px;
    display: block;
}

.ambassador h2 {
    font-size: 25px;
}

.ambassador h2, 
.ambassador p,
.ambassador ul {
    margin-bottom: 1em;
    line-height: 2;
}
.ambassador ul {
    list-style: none;
}

@media (max-width: 768px) {
    .ambassador header {
        padding: 50px 0;
    }
    .ambassador .container {
        padding: 60px 0 20px;
    }
    .ambassador .photo {
        gap: 10px;
        margin-bottom: 24px;
    }
    .ambassador h2 {
        font-size: 16px;
    }
}

/* -------------------------
    コンテストページ
------------------------- */
.contest {
    background: #FFD56C;
    background: linear-gradient(170deg, rgba(255, 213, 108, 1) 0%, rgba(248, 160, 113, 1) 50%, rgba(255, 135, 193, 1) 100%);
}
.contest .content section {
    border-bottom: 1px solid #F99E78;
}
.contest strong,
.contest a {
    color: #E31378;
}