@charset "UTF-8";
/*
@include var.sp($point-sp){}
@include var.pc($point-pc) {}
*/
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
/* CSS Document */
@media screen and (max-width: 768px) {
  .forSP.inline {
    display: inline;
  }
}

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

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

@media screen and (min-width: 769px) {
  body#stage_santacom2025 {
    padding-top: 95px;
    padding-bottom: 90px;
    background: #325686 url(../img/bg01-pc.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
}
@media screen and (max-width: 768px) {
  body#stage_santacom2025 {
    padding-top: 52px;
    background: #325686 url(../img/bg01-sp.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
}

@media screen and (min-width: 769px) {
  #hero {
    height: auto;
    background: none;
  }
}
#hero .inner {
  box-shadow: 0 0.5rem 2rem #325686;
}
@media screen and (min-width: 769px) {
  #hero .inner {
    width: 960px;
    overflow: hidden;
    border-radius: 40px;
    margin: 50px auto 0;
  }
}
#hero img {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  #hero img {
    width: 960px;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  #hero img {
    width: 100%;
    height: auto;
  }
}

#contents {
  color: #fffcdb;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
  overflow: hidden;
}
#contents #contents_inner {
  background: transparent;
  border-radius: 0;
  margin-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #contents #contents_inner {
    padding: 0 2vw;
  }
}
#contents #anchorlink {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 40px auto;
  border-radius: 1.6rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 2em rgb(255, 255, 255);
}
@media screen and (max-width: 768px) {
  #contents #anchorlink {
    gap: 8px;
    width: 100%;
    margin: 2rem auto;
    background: none;
  }
}
#contents #anchorlink li {
  width: 14.2857142857%;
}
@media screen and (max-width: 768px) {
  #contents #anchorlink li {
    width: calc((100% - 3em) / 4);
  }
}
#contents #anchorlink li a {
  display: block;
  box-sizing: border-box;
  padding: 1rem 0;
  background: transparent;
  text-align: center;
  color: #003974;
  font-size: 1.2rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-decoration: none;
  border-radius: 1.6rem;
  transition: 0.6s;
}
@media screen and (max-width: 768px) {
  #contents #anchorlink li a {
    width: 100%;
    text-align: center;
    margin-left: 0;
    font-size: 1.1rem;
    background: rgba(255, 255, 255, 0.8);
  }
}
#contents #anchorlink li a:hover {
  background-color: #61C2EE;
}
#contents .stage_sec {
  margin: 120px 0;
  padding: 6rem 4rem;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec {
    margin: 80px 0;
    padding: 6vw 6vw;
  }
}
#contents .stage_sec > .inner {
  width: 720px;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec > .inner {
    width: auto;
  }
}
#contents .stage_sec hr {
  margin: 4rem 0;
  border: none;
  border-top: 1px dashed #fffcdb;
}
#contents .stage_sec .ttl_sec {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  color: #fffcdb;
  font-size: 3.2rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  letter-spacing: 0.1em;
  text-shadow: 0 0 0.5em #325686;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .ttl_sec {
    font-size: 2.6rem;
  }
}
#contents .stage_sec .ttl_sec span {
  position: relative;
}
#contents .stage_sec .ttl_sub {
  margin: 4rem auto 1rem;
  color: #fffcdb;
  line-height: 1.6;
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .ttl_sub {
    font-size: 1.8rem;
    text-align: center;
  }
}
#contents .stage_sec .ttl_sub2 {
  margin: 3rem auto 1rem;
  line-height: 1.6;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #fffcdb;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .ttl_sub2 {
    font-size: 1.6rem;
    text-align: center;
  }
}
#contents .stage_sec .desc {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .desc {
    font-size: 1.4rem;
  }
}
#contents .stage_sec .text {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .text {
    font-size: 1.4rem;
  }
}
#contents .stage_sec .text a {
  color: #4a3124;
  text-decoration: none;
}
#contents .stage_sec .text a:hover {
  text-decoration: underline;
}
#contents .stage_sec .list_text {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .list_text {
    font-size: 1.4rem;
  }
}
#contents .stage_sec .list_text li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 1em;
}
#contents .stage_sec .list_text li:before {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "・";
}
#contents .stage_sec strong.ticket-release {
  color: #a61e41;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec strong.ticket-release {
    font-size: 1.8rem;
  }
}
#contents .stage_sec .tel {
  margin: 0.5rem auto 1rem;
  font-size: 2.4rem;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .tel {
    font-size: 2rem;
    line-height: 1.6;
  }
}
#contents .stage_sec .list_footnote {
  margin: 0 auto 2rem;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .list_footnote {
    width: 100%;
  }
}
#contents .stage_sec .list_footnote li {
  position: relative;
  padding-left: 1.6rem;
}
#contents .stage_sec .list_footnote li:before {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  content: "※";
}
#contents .stage_sec .footnote {
  font-size: 1.3rem;
  line-height: 1.5;
}
#contents .stage_sec .img {
  margin: 0 auto;
}
#contents .stage_sec .img img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .img {
    width: 100%;
    max-width: 360px;
  }
}
#contents .stage_sec a {
  color: #ffffff;
}
#contents .stage_sec .btn_link {
  margin: 0 auto 2rem;
}
#contents .stage_sec .btn_link a {
  display: inline-block;
  box-sizing: border-box;
  margin-left: 2rem;
  padding: 2rem 3.6rem;
  background: #325686;
  border: 2px solid #fff;
  color: #fff;
  font-size: 1.6rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-decoration: none;
  line-height: 1.2;
  transition: 0.3s;
}
#contents .stage_sec .btn_link a:first-child {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .btn_link a:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .btn_link a {
    width: 100%;
    text-align: center;
    margin-left: 0;
    padding: 1.5rem 0;
    font-size: 1.4rem;
  }
}
#contents .stage_sec .btn_link a:hover {
  background-color: #61C2EE;
  color: #325686;
}
#contents .stage_sec .btn_link a.anchorlink {
  background: #fff;
  border: 2px solid #325686;
  color: #325686;
}
#contents .stage_sec .btn_link a.anchorlink:hover {
  background-color: #61C2EE;
}
#contents .stage_sec .list-price {
  margin: 2rem 0 2rem;
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
  text-shadow: 0 0 0.5em #325686;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .list-price {
    font-size: 1.8rem;
  }
}
#contents .stage_sec .list-price.first {
  margin-top: 0;
}
#contents .stage_sec .list-price li {
  position: relative;
  padding-left: 1.5em;
}
#contents .stage_sec .list-price li:before {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "●";
}
#contents .stage_sec .list-price li .smaller {
  margin-bottom: 1rem;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec .list-price li .smaller {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec .list-price li .smaller {
    font-size: 1.4rem;
  }
}
#contents .stage_sec#lead {
  text-align: center;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#lead {
    margin: 0;
    font-size: 28px;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#lead {
    margin: 0;
    font-size: 4vw;
  }
}
#contents .stage_sec#lead p {
  text-shadow: 0 0 0.5em #325686;
  font-weight: 600 !important;
}
#contents .stage_sec#story .ttl_sec {
  color: #fffcdb;
  border-bottom-color: #fffcdb;
  text-shadow: 0 0 0.5em #325686;
}
#contents .stage_sec#story .desc {
  display: inline-block;
  text-align: left;
  white-space: nowrap;
  color: #fffcdb;
  text-shadow: 0 0 0.5em #325686;
  font-weight: 600 !important;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#story .desc {
    white-space: normal;
  }
}
#contents .stage_sec#story .illust_santa {
  margin-top: 4rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#story .illust_santa img {
    display: inline-block;
    width: 480px;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#story .illust_santa img {
    display: inline-block;
    width: 80%;
  }
}
#contents .stage_sec#talk .ttl_sub img {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#talk .ttl_sub img {
    width: 75%;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#talk .ttl_sub img {
    width: 100%;
  }
}
#contents .stage_sec#talk .desc {
  font-size: 1.6em;
  filter: drop-shadow(0 0 1.5rem #325686);
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  background: linear-gradient(to top, rgb(171, 225, 250) 0%, rgb(171, 225, 250) 15%, rgb(248, 193, 217) 35%, rgb(251, 190, 167) 55%, rgb(255, 249, 174) 75%, rgb(182, 220, 174) 95%, rgb(182, 220, 174) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#talk .desc {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#talk .desc {
    text-align: left;
  }
}
#contents .stage_sec#cast .list_cast li {
  display: inline-block;
  margin-right: 2rem;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-shadow: 0 0 0.75rem #325686;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#cast .list_cast li {
    font-size: 2rem;
  }
}
#contents .stage_sec#cast .list_cast li .sub {
  font-size: 1.3rem;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#cast .list_cast li .sub {
    font-size: 1.2rem;
  }
}
#contents .stage_sec#cast .img {
  width: 100%;
  margin-top: 6rem;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#ticket {
    padding-bottom: 12rem;
  }
}
#contents .stage_sec#ticket h3, #contents .stage_sec#ticket h4, #contents .stage_sec#ticket p, #contents .stage_sec#ticket ul {
  text-shadow: 0 0 0.5em #325686;
}
#contents .stage_sec#ticket .box_ticket {
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 2em rgb(255, 255, 255);
  border-radius: 1em;
  padding: 2em;
  text-align: center;
}
#contents .stage_sec#ticket .box_ticket .ttl_sub2 {
  margin-top: 0;
  color: #325686;
  text-shadow: none;
}
#contents .stage_sec#ticket .box_ticket .btn_link {
  margin-bottom: 0;
}
#contents .stage_sec#ticket .box_ticket .btn_link a {
  width: 100%;
}
#contents .stage_sec#timetable .img {
  width: 100%;
  margin-bottom: 2rem;
}
#contents .stage_sec#timetable .text {
  text-shadow: 0 0 0.75rem #325686;
}
#contents .stage_sec#timetable .tb_tencho {
  width: 100%;
  line-height: 1.4;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-shadow: 0 0 0.75rem #325686;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#contents .stage_sec#timetable .tb_tencho th, #contents .stage_sec#timetable .tb_tencho td {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
#contents .stage_sec#timetable .tb_tencho th {
  padding-right: 1em;
  font-size: 1.6rem;
}
#contents .stage_sec#timetable .tb_tencho td {
  font-size: 1.8rem;
  vertical-align: middle;
}
#contents .stage_sec#ticket-buy .ticket_howtobuy {
  margin: 0 auto 4rem;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#ticket-buy .ticket_howtobuy {
    margin: 4.8rem auto;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#ticket-buy .ticket_howtobuy .text {
    text-align: left;
  }
}
#contents .stage_sec#ticket-buy .ticket_howtobuy .text a {
  position: relative;
  padding-left: 1.6rem;
}
#contents .stage_sec#ticket-buy .ticket_howtobuy .text a:before {
  position: absolute;
  display: block;
  top: 1rem;
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  transform: rotate(45deg);
}
#contents .stage_sec#ticket-buy #corich_frame {
  width: 340px;
  margin: 0 0 1rem;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#ticket-buy #corich_frame {
    width: 100%;
  }
}
#contents .stage_sec#ticket-buy #corich_frame p.mobile {
  margin-bottom: 1rem;
  font-size: 1.3rem;
  line-height: 1.4;
}
#contents .stage_sec#ticket-buy #corich_frame p.mobile a {
  color: #fff;
  text-decoration: none;
}
#contents .stage_sec#ticket-buy #corich_frame iframe {
  margin-bottom: 1rem;
}
#contents .stage_sec#price .box {
  padding: 1rem;
  background-color: rgba(6, 42, 112, 0.5);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#price .box {
    text-align: left;
  }
}
#contents .stage_sec#price .box .mark {
  display: block;
  width: 240px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 1rem;
}
#contents .stage_sec#theater {
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#theater {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc((100vw - 960px) / 2 * -1);
    padding: 6rem 0 9rem;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#theater {
    box-sizing: border-box;
    width: 100vw;
    margin-left: -2vw;
    margin-top: 0;
    margin-bottom: 0;
  }
}
#contents .stage_sec#theater:before {
  background: url(../img/bg_theater.png) repeat-x center top;
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#theater:before {
    position: absolute;
    display: block;
    content: "";
    top: -240px;
    left: 0;
    width: 100%;
    height: 240px;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#theater:before {
    position: absolute;
    display: block;
    content: "";
    top: -25vw;
    left: 0;
    width: 100vw;
    height: 25vw;
    background-size: contain;
  }
}
#contents .stage_sec#theater .name_theater {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#theater .name_theater {
    font-size: 1.8rem;
  }
}
#contents .stage_sec#theater .data_theater {
  margin-bottom: 2rem;
  display: block;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#theater .data_theater {
    font-size: 1.5rem;
  }
}
#contents .stage_sec#theater h2, #contents .stage_sec#theater h3, #contents .stage_sec#theater p, #contents .stage_sec#theater address {
  color: #325686;
  text-shadow: none;
}
#contents .stage_sec#theater .img {
  width: 100%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#theater .text {
    text-align: left;
    font-size: 1.3rem;
  }
}
#contents .stage_sec#staff, #contents .stage_sec#notice {
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 769px) {
  #contents .stage_sec#staff, #contents .stage_sec#notice {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc((100vw - 960px) / 2 * -1);
    padding: 6rem 0 9rem;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#staff, #contents .stage_sec#notice {
    box-sizing: border-box;
    width: 100vw;
    margin-left: -2vw;
    margin-top: 0;
    margin-bottom: 0;
  }
}
#contents .stage_sec#staff h2, #contents .stage_sec#staff h3, #contents .stage_sec#staff p, #contents .stage_sec#staff ul, #contents .stage_sec#notice h2, #contents .stage_sec#notice h3, #contents .stage_sec#notice p, #contents .stage_sec#notice ul {
  color: #325686;
  text-shadow: none;
}
#contents .stage_sec#staff .ttl_staff_sub, #contents .stage_sec#notice .ttl_staff_sub {
  display: inline-block;
  margin: 2rem 0 0.6rem;
  padding: 0.2rem 0.7rem 0.2rem 0.8rem;
  border: 1px solid #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#staff .ttl_staff_sub, #contents .stage_sec#notice .ttl_staff_sub {
    font-size: 1.5rem;
  }
}
#contents .stage_sec#staff .list_staff, #contents .stage_sec#notice .list_staff {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 2;
}
#contents .stage_sec#staff .list_staff li, #contents .stage_sec#notice .list_staff li {
  display: inline-block;
  margin-right: 2rem;
}
#contents .stage_sec#staff .list_staff li .sub, #contents .stage_sec#notice .list_staff li .sub {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#staff .list_staff li.SPwide, #contents .stage_sec#notice .list_staff li.SPwide {
    display: block;
  }
}
#contents .stage_sec#notice {
  background: linear-gradient(to bottom, rgba(254, 255, 255, 0.8) 0%, rgb(255, 255, 255) 100%);
}
#contents .stage_sec#notice .inner {
  border-top: 1px solid #325686;
  padding-top: 6rem;
}
#contents .stage_sec#notice hr {
  border-top-color: #325686;
}
@media screen and (max-width: 768px) {
  #contents .stage_sec#notice .ttl_sec {
    font-size: 2rem;
  }
}
#contents .stage_sec#notice .btn_link a {
  padding: 1rem 2.4rem;
}

@media screen and (max-width: 768px) {
  #footer {
    background-color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  #hero {
    height: auto;
  }
  #hero img {
    position: relative;
    top: auto;
    left: auto;
    transform: translateX(0);
    width: 100%;
    height: auto;
  }
}