@charset "utf-8";

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


:root {
  --main-color: #d70e18;
  --main-color: #cd342f;
  --fz-ttl: 128px;
  --fz-txt-lg: 24px;
  --fz-txt-md: 16px;
  --fz-txt-sm: 14px;
}
@media (max-width: 768px) {
  :root {
    --fz-ttl: 18vw;
    --fz-txt-lg: 4vw;
    --fz-txt-md: 2.4vw;
    --fz-txt-sm: 1.8vw;
  }
}

/* -----------------------------------------------------------------------
  common
-----------------------------------------------------------------------*/
#jp-cmp-pr2025 *{
  word-break: keep-all;
  line-break: anywhere;
	box-sizing: border-box;
  font-weight: inherit;
}
#jp-cmp-pr2025{
	position: relative;
  margin: 10px 0 20px 0;
  padding: 40px 0;
  background-color: var(--main-color);
  color: #fff;
	font-size:var(--fz-txt-md);
	line-height: 1.5;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
	overflow: hidden;
  /* font-family: 'Oswald','Zen Kaku Gothic New',sans-serif; */
  font-family: YakuHanJPs,'Zen Kaku Gothic New',sans-serif;
	font-weight: 600;
}
@media screen and (max-width:767px){
}

#jp-cmp-pr2025 .section{
	padding: 60px;
}
#jp-cmp-pr2025 .sec-wrap{
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}

#jp-cmp-pr2025 .section .sec_ttl {
  margin-bottom: 20px;
  text-align: center;
}
#jp-cmp-pr2025 .section .sec_ttl h2{
  font-size: var(--fz-ttl);
  font-weight: 500;
  line-height: 1;
  font-family: 'Oswald','Zen Kaku Gothic New',sans-serif;
  display: inline-block;
}
#jp-cmp-pr2025 .section .sec_ttl p{
  font-size: var(--fz-txt-lg);
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 20px;
}

@media screen and (max-width:767px){
	#jp-cmp-pr2025{
    margin: 2vw 2vw 4vw 2vw;
    padding-bottom: 4vw;
	}
	#jp-cmp-pr2025 .section{
		padding: 4vw;
	}
	#jp-cmp-pr2025 .section .sec_ttl{
    margin-bottom: 2vw;
  }
	#jp-cmp-pr2025 .section .sec_ttl h2{
	}
  #jp-cmp-pr2025 .section .sec_ttl p{
    margin-top: 2vw;
  }
}


/* -----------------------------------------------------------------------
  common parts
-----------------------------------------------------------------------*/

/*--- links ---*/
#jp-cmp-pr2025 .pr2025-links{
	margin: 20px;
}
#jp-cmp-pr2025 .pr2025-links ul{
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 5px;
}
#jp-cmp-pr2025 .pr2025-links ul li{
	text-align: center;
}
#jp-cmp-pr2025 .pr2025-links ul li a{
	display: block;
	margin: 0;
	padding: 20px 40px;
	font-weight: 600;
	color: #F33699;
	text-align: center;
}
@media screen and (max-width:767px){
}

/*--- bn ---*/
#jp-cmp-pr2025 .pr2025-bnr{
  width: 100%;
}
#jp-cmp-pr2025 .pr2025-bnr ul{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: center;
  align-items: center;
}
#jp-cmp-pr2025 .pr2025-bnr ul li{
  width: calc(50% - 5px);
  box-sizing: border-box;
}
#jp-cmp-pr2025 .pr2025-bnr ul li a{
	display: block;
}
#jp-cmp-pr2025 .pr2025-bnr ul li a img{
}
@media screen and (max-width:767px){
  #jp-cmp-pr2025 .pr2025-bnr ul li{
    width: 80%;
  }
}

/*--- share ---*/
#jp-cmp-pr2025 .pr2025-sns{
	margin: 40px 0;
	text-align: right;
}
#jp-cmp-pr2025 .pr2025-sns jp-cmp-sns-buttons{
	display: inline-block;
}
@media screen and (max-width:767px){
}


/*--- pics ---*/
#jp-cmp-pr2025 .pr2025-pics{}
#jp-cmp-pr2025 .pr2025-pics ul{
	display: flex;
	justify-content: center;
	align-items: start;
	flex-wrap: nowrap;
  gap: 20px;
  padding: 20px;
  background-color: #fff;
  color: #000;
  @media screen and (max-width:767px){
    gap: 10px;
    padding: 10px;
  }
}
#jp-cmp-pr2025 .pr2025-pics ul li{
	/* width: calc(25% - 10px); */
}
#jp-cmp-pr2025 .pr2025-pics ul li img{
  display: block;
}
@media screen and (max-width:767px){
}


/*--- movie ---*/
.movie_list {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
  gap: 20px;
  padding: 20px;
  background-color: #fff;
  color: #000;
  @media screen and (max-width:767px){
    gap: 10px;
    padding: 10px;
  }

  .movie_unit {
    width: calc(50% - 10px );
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    @media screen and (max-width:767px){
      width: 100%;
    }

    .movie_unit_ttl {
      text-align: left;
      position: relative;
    }

    .movie_unit_img {
      position: relative;

      img{
        display: block;
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
      }

      &:after {
          content: "\f054";
          width: 30px;
          height: 30px;
          font-size: 14px;
          display: flex;
          justify-content: center;
          align-items: center;
          background: var(--main-color);
          color: #fff;
          position: absolute;
          top: 0;
          right: 0;
          font-family: 'FontAwesome';
          font-weight: 100;
          @media screen and (max-width:767px){
            width: 5vw;
            height: 5vw;
            font-size: 2vw;
          }
      }

    }

  }

}


/*--- event ---*/
#jp-cmp-pr2025 .event {
  margin-bottom: 70px;
  text-align: center;
  position: relative;
  z-index: 6;
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event {
    margin-bottom: 9.33333vw;
  }
}
#jp-cmp-pr2025 .event_ttl {
  font-size: 180px;
  font-weight: 500;
  color: #000;
  line-height: 1;
  padding: 95px 0 30px;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_ttl {
    font-size: 17.57813vw;
    padding: 9.27734vw 0 2.92969vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_ttl {
    font-size: 24vw;
    padding: 14.66667vw 0 3.33333vw;
  }
}
#jp-cmp-pr2025 .event_sub {
  color: #000;
  font-size: 28px;
  font-family: YakuHanJPs, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 60px;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_sub {
    font-size: 1.95313vw;
    margin-bottom: 5.85938vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_sub {
    font-size: 4.53333vw;
    margin-bottom: 9.33333vw;
  }
}
#jp-cmp-pr2025 .event_unit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  padding: 20px;
  background-color: #fff;
  color: #000;
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
  }
}
#jp-cmp-pr2025 .event_unit:nth-of-type(n+2) {
  margin-top: 70px;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_unit:nth-of-type(n+2) {
    margin-top: 6.83594vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit:nth-of-type(n+2) {
    margin-top: 12vw;
  }
}
#jp-cmp-pr2025 .event_unit_img {
  width: 360px;
  aspect-ratio: 360/240;
  margin-right: 20px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_unit_img {
    width: 39.0625vw;
    margin-right: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit_img {
    width: 66.66667vw;
    margin: 0 auto 5.6vw;
  }
}
#jp-cmp-pr2025 .event_unit_txt {
  text-align: left;
  font-family: YakuHanJPs, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
}
#jp-cmp-pr2025 .event_unit_txt_close {
  display: inline-block;
  padding: 0.2em 0.5em;
  background-color: #ccc;
  color: #666;
  font-size: 0.6em;
}
#jp-cmp-pr2025 .event_unit_txt_ttl {
  font-size: 22px;
  margin-bottom: 1em;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_unit_txt_ttl {
    font-size: 2.14844vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit_txt_ttl {
    font-size: 3.46667vw;
  }
}
#jp-cmp-pr2025 .event_unit_txt_body {
  font-size: 14px;
  line-height: 1.8571428571;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_unit_txt_body {
    font-size: 1.36719vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit_txt_body {
    font-size: 2.93333vw;
  }
}
#jp-cmp-pr2025 .event_unit_txt_link {
  font-size: 14px;
}
#jp-cmp-pr2025 .event_unit_txt_link a {
  color: #999;
  display: inline-block;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(97%, rgba(0, 0, 0, 0)), color-stop(98%, #999));
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0) 97%, #999 98%);
  background: linear-gradient(rgba(0, 0, 0, 0) 97%, #999 98%);
  line-height: 40px;
}
#jp-cmp-pr2025 .event_unit_txt_link a::after {
  content: "";
  background-image: url(/pr/img/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 13px;
  display: inline-block;
  margin-left: 10px;
  opacity: 0.55;
}
@media screen and (max-width: 1023px) {
  #jp-cmp-pr2025 .event_unit_txt_link {
    font-size: 1.36719vw;
  }
  #jp-cmp-pr2025 .event_unit_txt_link a {
    line-height: 3.90625vw;
  }
  #jp-cmp-pr2025 .event_unit_txt_link a::after {
    width: 1.5625vw;
    height: 1.26953vw;
    margin-left: 0.97656vw;
  }
}
@media screen and (max-width: 767px) {
  #jp-cmp-pr2025 .event_unit_txt_link {
    font-size: 2.93333vw;
  }
  #jp-cmp-pr2025 .event_unit_txt_link a {
    line-height: 8vw;
  }
  #jp-cmp-pr2025 .event_unit_txt_link a::after {
    width: 3.73333vw;
    height: 2.8vw;
    margin-left: 1.33333vw;
  }
}
#jp-cmp-pr2025 .event_unit_img_link {
}
#jp-cmp-pr2025 .event_unit_img_link a {
  display: inline-block;
}
#jp-cmp-pr2025 .event_unit_img_link a img{
  display: block;
}


/* -----------------------------------------------------------------------
  section: header
-----------------------------------------------------------------------*/
#jp-cmp-pr2025 #pr2025-header{
	position: relative;
	margin: 0 0 60px;
	padding: 0;
}
#jp-cmp-pr2025 #pr2025-header .pr2025-header-wrap{
}

#jp-cmp-pr2025 #pr2025-header .title{
	display: block;
	text-align: center;
}
#jp-cmp-pr2025 #pr2025-header .title img{
  width: 100%;
  height: auto;
}


@media screen and (max-width:767px){
}


/* -----------------------------------------------------------------------
  section: gallery
-----------------------------------------------------------------------*/
#jp-cmp-pr2025 #gallery{
}


/* -----------------------------------------------------------------------
  section: profile
-----------------------------------------------------------------------*/
#jp-cmp-pr2025 #profile{
	padding: 0 60px 0;
  @media screen and (max-width:767px){
    padding: 4vw 4vw 0;
  }

  .sec-wrap {
    padding: 60px;
    border: 5px solid var(--main-color);
    gap: 0;
    @media screen and (max-width:767px){
      padding: 8vw;
    }
  }
  .profile_img{
    width: 25%;
    @media screen and (max-width:767px){
      width: 30%;
    }
  }
  .profile_ttl{
    width: 75%;
    padding: 0 0 0 60px;
    display: flex;
    justify-content: start;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;

    @media screen and (max-width:767px){
      width: 70%;
      padding: 0 0 0 6vw;
    }

    .profile_ttl_hd {
      font-size: calc(var(--fz-ttl)*0.5);
      font-weight: 500;
      line-height: 1;
      margin-bottom: 0.2em;
      font-family: 'Oswald','Zen Kaku Gothic New',sans-serif;
    }
    .profile_ttl_sub {
      font-size: var(--fz-txt-lg);
      line-height: 1;
      margin-bottom: 1em;
      @media screen and (max-width:767px){
        font-size: var(--fz-txt-md);
      }
    }
    .profile_ttl_name,
    .profile_ttl_yomi {
      display: inline-block;
      background-color: #fff;
      color:#000;
      font-size: calc(var(--fz-ttl)*0.4);
      line-height: 1;
      padding: 0.2em 0.25em 0.25em;
    }
    .profile_ttl_name {
      @media screen and (max-width:767px){
        font-size: calc(var(--fz-ttl)*0.35);
      }
    }
    .profile_ttl_yomi {
      margin-top: 0.5em;
      padding: 0.45em 0.7em;
      font-size: calc(var(--fz-ttl)*0.15);
    }

  }
  .profile_txt{
    width: 100%;
    margin-top: 30px;
    line-height: 2.25;
    letter-spacing: 0;
    font-weight: normal;
    @media screen and (max-width:767px){
      margin-top: 6vw;
    }
  }

}
