@charset "utf-8";

html { background: #f9ece5; }


@font-face {
  font-family: "Airbnb Cereal";
  src: url("../fonts/AirbnbCereal_W_Md.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Airbnb Cereal";
  src: url("../fonts/AirbnbCereal_W_SBd.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Airbnb Cereal";
  src: url("../fonts/AirbnbCereal_W_Bd.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body { font-family:
    "Airbnb Cereal",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif; }

main { overflow: hidden; }

/*============================
md_container
============================*/
.md_container { width: 1200px; margin: 0 auto; padding: 0 20px; position: relative; }

/*============================
.md_pankuzuArea
============================*/
.md_pankuzuArea { margin-top: 100px; margin-bottom: -60px; position: relative; }
.md_pankuzuArea ul { z-index: 1; padding: 12px 16px 10px!important; display: flex; align-items: center; background: #fafafa; border-top: solid 1px #e5e5e5; border-bottom: solid 1px #e5e5e5; }
.md_pankuzuArea ul li { display: inline-block; margin-right: 40px; font-size: 0.875em; line-height: 1.25; position: relative; }
.md_pankuzuArea ul li::after { display: block; content: ""; position: absolute; top: 5px; right: -35px; width: 18px; height: 18px; border-top: 1px solid #aaa; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0.75; }
.md_pankuzuArea ul li a { display: block; color: #222; white-space: nowrap; }
.md_pankuzuArea ul li:first-child {}
.md_pankuzuArea ul li:first-child a {}
.md_pankuzuArea ul li:last-child { margin-right: 0; overflow: hidden; }
.md_pankuzuArea ul li:last-child a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md_pankuzuArea ul li:last-child::after { display: none; }
.md_pankuzuArea ul li a span { text-decoration: none; font-weight: 400; color: #999; }
.md_pankuzuArea ul li a em { font-weight: 400; color: #222; }

/*============================
br
============================*/
.md_br_sp { display: none; }
.md_br_pc { display: inline; }

/*============================
#header
============================*/
#header { position: absolute; top: 50px; left: 60px; z-index: 1; }
#header .tpoint {}
#header .tpoint img { width: 70px; height: auto; }
#header .logo { margin-top: 30px; }
#header .logo img { width: 190px; height: auto; }

/*============================
#mainPanelArea
============================*/
#mainPanelArea { position: relative; }
#mainPanelArea:before { content: ''; position: absolute; left: 0; top: -180px; margin-left: -330px; background-image: url("../../imageFile/global/bg_mainPanel_01.png"); background-repeat: no-repeat; width: 903px; height: 1557px; z-index: -1; }
#mainPanelArea:after { content: ''; position: absolute; right: 0; margin-right: -400px; top: -380px; background-image: url("../../imageFile/global/bg_mainPanel_02.png"); background-repeat: no-repeat; width: 897px; height: 1545px; z-index: -1; }
#mainPanelArea .sub { text-align: center; margin-top: 130px; font-size: 1.875em; font-family: "Airbnb Cereal"; color: #ff385c; font-weight: 600; }
#mainPanelArea h1 { margin: 25px auto 0; width: 840px; height: 200px; }
#mainPanelArea h1 img { width: 100%; height: auto; }
#mainPanelArea .copy { text-align: center; margin-top: 40px; font-size: 1.5em; line-height: 1.75; letter-spacing: 0.25em; font-feature-settings: 'palt'; font-weight: 600; }
#mainPanelArea .target { margin-top: 30px; }
#mainPanelArea .target .tagList { display: flex; justify-content: center; text-align: center; gap: 20px; }
#mainPanelArea .target .tagList .tag { position: relative; display: flex; align-items: center; justify-content: center; background-color: #fff; color: #222; padding: 10px 30px 8px; border-radius: 25px; font-weight: 600; font-size: 0.875em; }
#mainPanelArea .target .tagList .tag::after {content: ""; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);  border-style: solid; border-width: 8px 6px 0 6px; border-color: #fff transparent transparent transparent; }
#mainPanelArea .target .copy { margin-top: 20px; color: #ff385c; font-size: 1.125em; line-height: 1.5; letter-spacing: 0.15em; }
#mainPanelArea .cta { position: relative; margin-top: 10px; padding: 20px; background-color: #ff385c; border-radius: 20px; }
#mainPanelArea .cta .image.illust01 { position: absolute; width: 280px; height: 372px; left: -110px; top: -265px; z-index: 1; }
#mainPanelArea .cta .image.illust01 img { width: 100%; height: auto; }
#mainPanelArea .cta .image.illust03 { position: absolute; width: 115px; height: 131px; right: 135px; top: -70px; z-index: 1; }
#mainPanelArea .cta .image.illust03 img { width: 100%; height: auto; }
#mainPanelArea .cta .image.illust04 { position: absolute; width: 270px; height: 200px; top: -240px; right: -60px; }
#mainPanelArea .cta .image.illust04 img { width: 100%; height: auto; }
#mainPanelArea .cta .image.illust05 { position: absolute; width: 192px; height: 101px; left: -140px; bottom: -40px; z-index: 1; }
#mainPanelArea .cta .image.illust05 img { width: 100%; height: auto; }
#mainPanelArea .cta .image.illust06 { position: absolute;width: 270px; height: 190px; right: -30px; top: -400px; }
#mainPanelArea .cta .image.illust06 img { width: 100%; height: auto; }
#mainPanelArea .cta .title { display: flex; align-items: center; padding-bottom: 20px; }
#mainPanelArea .cta .title .main { color: #fff; font-weight: 600; padding: 10px 30px 10px 60px; border-right: 1px solid #ff889d; font-size: 1.25em; }
#mainPanelArea .cta .title .detail { text-align: left; padding-left: 30px; color: #fff; font-weight: 600; }
#mainPanelArea .cta .title .detail span { display: block; margin-top: 5px; color: #fff; font-weight: normal; font-size: 0.875em; }
#mainPanelArea .cta .badge { position: absolute; right: -12px; top: -60px; display: flex; justify-content: center; align-items: center; background-image: url("../../imageFile/global/bg_hexagon.svg"); background-repeat: no-repeat; width: 180px; height: 200px; filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.07)); }
#mainPanelArea .cta .badge span { text-align: center; font-size: 1.25em; font-weight: 600; color: #099078; line-height: 1.75; }
#mainPanelArea .cta .schedule { padding: 20px 40px; background-color: #fff; }
#mainPanelArea .cta .schedule .year { text-align: center; color: #ff385c; font-size: 1.275em; font-weight: 600; }
#mainPanelArea .cta .schedule .year span { font-size: 1.375em; font-family: "Airbnb Cereal"; font-weight: 600; }
#mainPanelArea .cta .schedule ul { display: flex; padding-top: 10px; }
#mainPanelArea .cta .schedule ul li { position: relative; text-align: center; flex: 1; }
#mainPanelArea .cta .schedule ul li + li::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background-color: #ffc1cc; }
#mainPanelArea .cta .schedule ul li .date { color: #ff385c; }
#mainPanelArea .cta .schedule ul li .date time { font-size: 2.5em; font-family: "Airbnb Cereal"; font-weight: 700; }
#mainPanelArea .cta .schedule ul li .date span { position: relative; bottom: 6px; left: 10px; color: #fff; font-size: 0.875em; font-weight: 600; z-index: 2; }
#mainPanelArea .cta .schedule ul li .date span:before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 22px; height: 22px; background: #ff385c; border-radius: 50%; z-index: -1; }
#mainPanelArea .cta .schedule ul li .time { font-size: 1.25em; color: #ff385c; font-family: "Airbnb Cereal"; font-weight: 600; }
#mainPanelArea .cta .schedule ul li .btn { margin-top: 15px; }
#mainPanelArea .cta .schedule ul li .btn a { position: relative; display: inline-block; overflow: hidden; padding: 12px 20px 10px; border-radius: 20px; border: 1px solid #ff385c; color: #ff385c; font-size: 0.875em; font-weight: 600;  transition: color 0.3s ease,background-color 0.3s ease,box-shadow 0.3s ease; }
#mainPanelArea .cta .schedule ul li .btn a::before { content: ""; position: absolute; top: -50%; left: -60%; width: 35%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255, 255, 255, 0.8),transparent); transform: skewX(-20deg); pointer-events: none; }
#mainPanelArea .cta .schedule ul li .btn a:hover { color: #fff; background-color: #ff385c; box-shadow: 0 4px 12px rgba(255, 56, 92, 0.25); }
#mainPanelArea .cta .schedule ul li .btn a:hover::before { animation: button-shine 0.65s ease-out; }
@keyframes button-shine {
  from { transform: skewX(-20deg) translateX(0); }
  to { transform: skewX(-20deg) translateX(500%); }
    }
#mainPanelArea .about { text-align: center; position: relative; padding: 40px 0 120px; }
#mainPanelArea .about .catch { font-size: 1.125em; font-weight: bold; line-height: 1.75; color: #FF385C; }
#mainPanelArea .about .text { margin-top: 20px; line-height: 1.75; font-weight: 500; }
#mainPanelArea .about .note { margin-top: 20px; font-size: 0.875em; }
#mainPanelArea .about .image.illust08 { position: absolute; width: 115px; height: 165px; left: -10px; bottom: 65px; }
#mainPanelArea .about .image.illust08 img { width: 100%; height: auto; }
#mainPanelArea .about .image.illust09 { position: absolute; right: 0; bottom: 55px; width: 130px; height: 140px; }
#mainPanelArea .about .image.illust09 img { width: 100%; height: auto; }

/*============================
#detailArea
============================*/
#detailArea { padding: 100px 0; background-image: linear-gradient(229deg, rgba(252, 116, 141, 1) 25%, rgba(254, 137, 78, 1)); }
#detailArea .mainTitle { font-size: 2.25em; font-weight: bold; color: #fff; text-align: center; }
#detailArea .table { margin-top: 30px; border-top: solid 1px #fff; }
#detailArea .table dl { display: table; width: 100%; }
#detailArea .table dl dt { display: table-cell; width: 20%; padding: 25px; font-weight: bold; border-bottom: solid 1px #fff; background: rgba(255,255,255,0.7); color: #ff385c; }
#detailArea .table dl dd { display: table-cell; padding: 25px; border-bottom: solid 1px #fff; color: #fff; font-size: 1.125em; }
#detailArea .table dl dd.dateList {}
#detailArea .table dl dd.dateList .dateItem { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
#detailArea .table dl dd.dateList .dateItem + .dateItem { margin-top: 15px; padding-top: 15px; border-top: 1px solid rgba(255, 255, 255, 0.25); }
#detailArea .table dl dd.dateList .dateItem .leftArea {}
#detailArea .table dl dd.dateList .dateItem .leftArea time { display: block; font-family: "Airbnb Cereal"; font-weight: 700; font-size: 1.25em; letter-spacing: 0.05em; color: #fff; }
#detailArea .table dl dd.dateList .dateItem .leftArea time + time { margin-top: 10px; }
#detailArea .table dl dd.dateList .dateItem .leftArea .category { display: inline-block; margin-top: 5px; background: rgba(255,255,255,0.8); padding: 5px 10px 4px; border-radius: 5px; font-size: 0.875em; color: #ff385c; font-weight: 500; }
#detailArea .table dl dd.dateList .dateItem .button { flex-shrink: 0; margin-top: 0; }
#detailArea .table dl dd.dateList .dateItem .button a { position: relative; display: inline-block; overflow: hidden; padding: 14px 40px 12px; border-radius: 25px; border: 2px solid #fff; color: #fff; font-weight: 600; transition: color 0.3s ease,background-color 0.3s ease,box-shadow 0.3s ease; }
#detailArea .table dl dd.dateList .dateItem .button a::before { content: ""; position: absolute; top: -50%; left: -60%; width: 35%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255, 255, 255, 0.8),transparent); transform: skewX(-20deg); pointer-events: none; }
#detailArea .table dl dd.dateList .dateItem .button a:hover { color: #fff; box-shadow: 0 4px 12px rgba(255, 56, 92, 0.25); }
#detailArea .table dl dd.dateList .dateItem .button a:hover::before { animation: button-shine 0.65s ease-out; }
@keyframes button-shine {
  from { transform: skewX(-20deg) translateX(0); }
  to { transform: skewX(-20deg) translateX(500%); }
    }
#detailArea .program { margin-top: 60px; }
#detailArea .program .title { text-align: center; font-size: 2em; font-weight: 600; color: #fff; }
#detailArea .program ul.container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
#detailArea .program ul.container li.containerItem { padding: 30px 20px; background-color: #fff; border-radius: 10px; }
#detailArea .program ul.container li.containerItem .tag { font-size: 0.875em; font-weight: 600; color: #ff385c; }
#detailArea .program ul.container li.containerItem .name { margin-top: 5px; font-size: 1.125em; font-weight: 600; line-height: 1.75; }
#detailArea .program ul.container li.containerItem .name span { display: block; font-size: 0.75em; }
#detailArea .program ul.container li.containerItem ul.content { margin-top: 10px; }
#detailArea .program ul.container li.containerItem ul.content li.contentList { font-weight: 500; line-height: 1.5; }
#detailArea .program ul.container li.containerItem ul.content li.contentList.category { margin-top: 10px; font-size: 0.875em; line-height: 1.5; }
#detailArea .program ul.container li.containerItem ul.content li.contentList.category span { display: block; font-weight: 600; font-size: 1.125em; }
#detailArea .bonus { margin-top: 60px; }
#detailArea .bonus .title { text-align: center; color: #fff; font-weight: 600; font-size: 2em; letter-spacing: 0.15em; }
#detailArea .bonus .title span { display: flex; align-items: center; justify-content: center; gap: 20px; padding-bottom: 10px; font-weight: 500; font-size: 0.65em; color: #fff; letter-spacing: 0.1em; }

#detailArea .bonus .title span::before, span::after { content: ""; width: 1px; height: 1em;  background-color: currentColor; border-radius: 2px; }
#detailArea .bonus .title span::before { transform: rotate(330deg); }
#detailArea .bonus .title span::after { transform: rotate(30deg); }
#detailArea .bonus .content { margin-top: 20px; }
#detailArea .bonus .content .main { text-align: center; font-family: "Airbnb Cereal"; font-size: 1.5em; color: #fff; font-weight: 600; letter-spacing: 0.1em; line-height: 1.75; }
#detailArea .bonus .content .content { margin-top: 20px; text-align: center; font-family: "Airbnb Cereal"; font-weight: 500; font-size: 1.25em; color: #fff; line-height: 1.5; }

/*============================
#scheduleArea
============================*/
#scheduleArea { margin-top: 100px; }
#scheduleArea .mainTitle { font-size: 2.25em; font-weight: bold; }
#scheduleArea .table { margin-top: 30px; border-top: solid 1px #ddd; }
#scheduleArea .table dl { width: 100%; display: table; }
#scheduleArea .table dl dt { display: table-cell; width: 22%; padding: 35px; background: #fff; border-bottom: solid 1px #ddd; vertical-align: top; }
#scheduleArea .table dl dt .time { font-size: 1.5em; font-weight: bold; }
#scheduleArea .table dl dt .sub { margin-top: 10px; padding: 5px 10px 4px; line-height: 1.375; border: 1px solid #ff385c; border-radius: 5px; font-size: 0.875em; color: #ff385c; font-weight: 500; }
#scheduleArea .table dl dt .cta {}
#scheduleArea .table dl dt .cta a { position: relative; display: inline-block; overflow: hidden; text-align: center; margin-top: 15px; padding: 10px 0 9px; width: 100%; border-radius: 25px; background: #ff385c; color: #fff; font-weight: 600; transition: color 0.3s ease,background-color 0.3s ease,box-shadow 0.3s ease; }
#scheduleArea .table dl dt .cta a::before { content: ""; position: absolute; top: -50%; left: -60%; width: 35%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255, 255, 255, 0.8),transparent); transform: skewX(-20deg); pointer-events: none; }
#scheduleArea .table dl dt .cta a:hover { color: #fff; box-shadow: 0 4px 12px rgba(255, 56, 92, 0.25); }
#scheduleArea .table dl dt .cta a:hover::before { animation: button-shine 0.65s ease-out; }
@keyframes button-shine {
  from { transform: skewX(-20deg) translateX(0); }
  to { transform: skewX(-20deg) translateX(500%); }
    }
#scheduleArea .table dl dd { display: table-cell; padding: 35px; border-bottom: solid 1px #ddd; }
#scheduleArea .table dl dd .number { color: #777; font-size: 0.875em; }
#scheduleArea .table dl dd .title { margin-top: 10px; font-size: 1.375em; color: #ff385c; font-weight: bold; }
#scheduleArea .table dl dd .person { margin-top: 15px; color: #dcbd14; font-weight: bold; }
#scheduleArea .table dl dd .subTitle {}
#scheduleArea .table dl dd .list { margin-top: 20px; }
#scheduleArea .table dl dd .list ul {}
#scheduleArea .table dl dd .list ul li { margin-top: 10px; line-height: 1.75; font-size: 0.875em; }
#scheduleArea .table dl dd .list ul li:first-child { margin-top: 0; }
#scheduleArea .table dl dh .sub {}
#scheduleArea .table dl dd .list ul li.mini {}
#scheduleArea .table dl dd .blockList {}
#scheduleArea .table dl dd .blockList .block { float: left; width: 50%; padding-left: 25px; padding-right: 25px; border-left: dotted 1px #ccc; }
#scheduleArea .table dl dd .blockList .block:nth-child(odd) { padding-left: 0; border-left: none; }
#scheduleArea .table dl dd .blockList .block:nth-child(-n+2) { padding-bottom: 25px; }
#scheduleArea .table dl dd .blockList .block:nth-child(n+3) { padding-top: 25px; border-top: dotted 1px #ccc; }
#scheduleArea .table dl dd .blockList .block:last-child { padding-right: 0; }
#scheduleArea .table dl dd .blockList .block .number {}
#scheduleArea .table dl dd .blockList .block .title { font-size: 1.25em; }
#scheduleArea .table dl dd .blockList .block ul.person { line-height: 1.5; }
#scheduleArea .table dl dd .blockList .block ul.person li {}
#scheduleArea .table dl dd .blockList .block ul.person li span { color: #ff385c; }
#scheduleArea .table dl dd .blockList .block .subTitle {}
#scheduleArea .table dl dd .blockList .block .list {}
#scheduleArea .table dl dd .blockList .block .list ul {}
#scheduleArea .table dl dd .blockList .block .list ul li {}
#scheduleArea .table dl dd .blockList .block .list ul li.article01 { margin-top: 15px; line-height: 1.35; color: #015ec5; }
#scheduleArea .table dl dd .blockList .block .list ul li.article02 { margin-top: 39px; line-height: 1.35; color: #015ec5; }
#scheduleArea .table dl dd .blockList .block .list ul li a {}
#scheduleArea .table dl dd .blockList .block .list ul li a:hover { text-decoration: underline; }

/*============================
#personArea
============================*/
#personArea { margin-top: 100px; }
#personArea .mainTitle { font-size: 2.25em; font-weight: bold; }
#personArea .list { margin-top: 30px; }
#personArea .list ul { border-top: solid 1px #ddd; }
#personArea .list ul li { border-bottom: solid 1px #ddd; padding: 50px; display: flex; align-items: center; }
#personArea .list ul li .image { margin-right: 50px; width: 170px; }
#personArea .list ul li .image img { width: 170px; height: 170px; border-radius: 170px; overflow: hidden; }
#personArea .list ul li .image .name { margin-top: 20px; color: #ff385c; text-align: center;  }
#personArea .list ul li .data { flex: 1; }
#personArea .list ul li .data .text { line-height: 1.75; }
#personArea .list ul li .data .link { margin-top: 20px; }
#personArea .list ul li .data .link a { display: block; margin-top: 10px; color: #099078; }
#personArea .list ul li .data .link a:hover { text-decoration: underline; } 

/*============================
#ctaArea
============================*/
#ctaArea { padding-bottom: 100px; }
#ctaArea .cta { position: relative; margin-top: 110px; padding: 20px; background-color: #ff385c; border-radius: 20px; }
#ctaArea .cta .title { display: flex; align-items: center; padding-bottom: 20px; }
#ctaArea .cta .title .main { color: #fff; font-weight: 600; padding: 10px 30px 10px 60px; border-right: 1px solid #ff889d; font-size: 1.25em; }
#ctaArea .cta .title .detail { text-align: left; padding-left: 30px; color: #fff; font-weight: 600; }
#ctaArea .cta .title .detail span { display: block; margin-top: 5px; color: #fff; font-weight: normal; font-size: 0.875em; }
#ctaArea .cta .badge { position: absolute; right: -12px; top: -60px; display: flex; justify-content: center; align-items: center; background-image: url("../../imageFile/global/bg_hexagon.svg"); background-repeat: no-repeat; width: 180px; height: 200px; filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.07)); }
#ctaArea .cta .badge span { text-align: center; font-size: 1.25em; font-weight: 600; color: #099078; line-height: 1.75; }
#ctaArea .cta .schedule { padding: 20px 40px; background-color: #fff; }
#ctaArea .cta .schedule .year { text-align: center; color: #ff385c; font-size: 1.275em; font-weight: 600; }
#ctaArea .cta .schedule .year span { font-size: 1.375em; font-family: "Airbnb Cereal"; font-weight: 600; }
#ctaArea .cta .schedule ul { display: flex; padding-top: 10px; }
#ctaArea .cta .schedule ul li { position: relative; text-align: center; flex: 1; }
#ctaArea .cta .schedule ul li + li::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background-color: #ffc1cc; }
#ctaArea .cta .schedule ul li .date { color: #ff385c; }
#ctaArea .cta .schedule ul li .date time { font-size: 2.5em; font-family: "Airbnb Cereal"; font-weight: 700; }
#ctaArea .cta .schedule ul li .date span { position: relative; bottom: 6px; left: 10px; color: #fff; font-size: 0.875em; font-weight: 600; z-index: 2; }
#ctaArea .cta .schedule ul li .date span:before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 22px; height: 22px; background: #ff385c; border-radius: 50%; z-index: -1; }
#ctaArea .cta .schedule ul li .time { font-size: 1.25em; color: #ff385c; font-family: "Airbnb Cereal"; font-weight: 600; }
#ctaArea .cta .schedule ul li .btn { margin-top: 15px; }
#ctaArea .cta .schedule ul li .btn a { position: relative; display: inline-block; overflow: hidden; padding: 12px 20px 10px; border-radius: 20px; border: 1px solid #ff385c; color: #ff385c; font-size: 0.875em; font-weight: 600;  transition: color 0.3s ease,background-color 0.3s ease,box-shadow 0.3s ease; }
#ctaArea .cta .schedule ul li .btn a::before { content: ""; position: absolute; top: -50%; left: -60%; width: 35%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255, 255, 255, 0.8),transparent); transform: skewX(-20deg); pointer-events: none; }
#ctaArea .cta .schedule ul li .btn a:hover { color: #fff; background-color: #ff385c; box-shadow: 0 4px 12px rgba(255, 56, 92, 0.25); }
#ctaArea .cta .schedule ul li .btn a:hover::before { animation: button-shine 0.65s ease-out; }
@keyframes button-shine {
  from { transform: skewX(-20deg) translateX(0); }
  to { transform: skewX(-20deg) translateX(500%); }
    }

/*============================
#eventArea
============================*/
#eventArea { padding: 80px 0; background-color: #fff; }
#eventArea .title { text-align: center; font-size: 2em; font-weight: 600; }
#eventArea ul { display: flex; gap: 40px; margin-top: 40px; }
#eventArea ul li { width: 340px; }
#eventArea ul li a {}
#eventArea ul li a .image { overflow: hidden; position: relative; }
#eventArea ul li a .image::after { content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #000; opacity: 0.05; transition: 0.3s all; }
#eventArea ul li a .image img { object-fit: cover; width: 340px; height: 255px; transition: 0.3s all; }
#eventArea ul li a .name { margin-top: 15px; line-height: 1.5; font-weight: bold; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; max-height: calc(1.5em * 2); }
#eventArea ul li a .copy { margin-top: 10px; line-height: 1.5; font-size: 0.875em; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; max-height: calc(1.5em * 3); }
#eventArea ul li a:hover .image img { transform: scale(1.05); }
#eventArea ul li a:hover .image::after { opacity: 0; }

/*============================
#otherArea
============================*/
#otherArea { padding: 100px 0; background: #f2f2f2; }
#otherArea .copy { text-align: center; line-height: 1.75; font-size: 1.125em; }
#otherArea .button { margin-top: 30px; text-align: center; }
#otherArea .button .lead { margin-bottom: 15px; font-weight: bold; }
#otherArea .button a { display: inline-block; padding: 18px 56px 16px 22px; background: #222; color: #fff; font-size: 1.125em; font-weight: bold; border-radius: 5px; letter-spacing: 0.05em; box-shadow: 2px 2px 20px 0 rgba(0, 0, 0, 0.1); position: relative; }
#otherArea .button a::before { content:""; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; background: #fff; border-radius: 26px; }
#otherArea .button a::after { content:""; position: absolute; right: 26px; top: 50%; margin-top: -3px; width: 7px; height: 7px; border-right: solid 2px #222; border-bottom: solid 2px #222; transform: rotate(-45deg); }

/*============================
#fixBtnArea
============================*/
#fixBtnArea { position: fixed; bottom: 0; right: 0; width: 620px; height: 183px; z-index: 100; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s; }
#fixBtnArea.is-visible { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
#fixBtnArea .cta { position: relative; padding: 10px; background-color: #ff385c; border-radius: 10px 0 0 0; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); }
#fixBtnArea .cta .title { text-align: center; color: #fff; font-weight: 600; padding: 0 0 8px 0; }
#fixBtnArea .cta .schedule { padding: 10px; background-color: #fff; }
#fixBtnArea .cta .schedule ul { display: flex; }
#fixBtnArea .cta .schedule ul li { position: relative; text-align: center; flex: 1; }
#fixBtnArea .cta .schedule ul li + li::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background-color: #ffc1cc; }
#fixBtnArea .cta .schedule ul li .date { color: #ff385c; }
#fixBtnArea .cta .schedule ul li .date time { font-size: 2em; font-family: "Airbnb Cereal"; font-weight: 700; }
#fixBtnArea .cta .schedule ul li .date span { position: relative; bottom: 6px; left: 10px; color: #fff; font-size: 0.875em; font-weight: 600; z-index: 2; }
#fixBtnArea .cta .schedule ul li .date span:before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 22px; height: 22px; background: #ff385c; border-radius: 50%; z-index: -1; }
#fixBtnArea .cta .schedule ul li .time { color: #ff385c; font-family: "Airbnb Cereal"; font-weight: 600; }
#fixBtnArea .cta .schedule ul li .btn { margin-top: 15px; }
#fixBtnArea .cta .schedule ul li .btn a { position: relative; display: inline-block; overflow: hidden; padding: 8px 0 7px; width: 85%; border-radius: 20px; border: 1px solid #ff385c; color: #ff385c; font-size: 0.875em; font-weight: 600;  transition: color 0.3s ease,background-color 0.3s ease,box-shadow 0.3s ease; }
#fixBtnArea .cta .schedule ul li .btn a::before { content: ""; position: absolute; top: -50%; left: -60%; width: 35%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255, 255, 255, 0.8),transparent); transform: skewX(-20deg); pointer-events: none; }
#fixBtnArea .cta .schedule ul li .btn a:hover { color: #fff; background-color: #ff385c; box-shadow: 0 4px 12px rgba(255, 56, 92, 0.25); }
#fixBtnArea .cta .schedule ul li .btn a:hover::before { animation: button-shine 0.65s ease-out; }
@keyframes button-shine {
  from { transform: skewX(-20deg) translateX(0); }
  to { transform: skewX(-20deg) translateX(500%); }
    }

/*============================
#footer
============================*/
#footer { padding: 60px 0 50px; background: #313131; text-align: center; }
#footer .footer__copy {}
#footer .footer__copy  {}
#footer .footer__copy  a {}
#footer .footer__copy  a img { width: 100px; height: auto; }
#footer .footer__copy p { margin-top: 25px; font-size: 0.75em; color: #fff; }
