:root {
  --topicsSectionHeight:90px; }

body:not(.scrolled) #head .logo_wrap .logo {
  display: none; }

.eng_title {
  height: 60px;
  width: auto;
  line-height: 0; }
  .eng_title.eng_title_about {
    aspect-ratio: 567/183; }
  .eng_title.eng_title_feature {
    aspect-ratio: 726/183; }
  .eng_title.eng_title_program {
    aspect-ratio: 830/183; }
  .eng_title.eng_title_for_you {
    aspect-ratio: 716/183; }
  .eng_title.eng_title_news {
    aspect-ratio: 488/183; }
  .eng_title.eng_title_organizer {
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 949/183; }
  @media (min-width: 521px) {
    .eng_title {
      height: 90px; } }
  @media (min-width: 768px) {
    .eng_title {
      height: 120px; }
      .eng_title.eng_title_feature, .eng_title.eng_title_news {
        margin-left: auto; } }
  @media (min-width: 1280px) {
    .eng_title {
      height: 183px; } }

#contents {
  padding-top: 0 !important; }

#mv {
  min-height: 100svh;
  overflow: hidden;
  background: radial-gradient(#FFF, rgba(255, 255, 255, 0)); }
  #mv::before, #mv::after {
    aspect-ratio: 36/19;
    width: 80%;
    position: absolute;
    pointer-events: none;
    z-index: 1;
    content: "";
    background-repeat: no-repeat;
    background-size: 100% 100%;
    max-width: 720px; }
  #mv::before {
    background-position: left top;
    background-image: url("../images/home/mv_parts_left.png");
    left: 0;
    top: 0; }
  #mv::after {
    background-position: right bottom;
    background-image: url("../images/home/mv_parts_right.png");
    right: 0;
    bottom: 0; }
  #mv .inner {
    position: relative;
    height: 100%;
    z-index: 2;
    box-sizing: border-box;
    padding-top: var(--space4);
    padding-bottom: var(--space4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    grid-gap: var(--space2); }
    #mv .inner .copy {
      width: min(890%, 597px); }
    #mv .inner .logo_wrap {
      width: min(100%, 1012px); }
      #mv .inner .logo_wrap .logo .icon {
        background-image: url("../images/common/logo_full.png"); }
    #mv .inner .schedule_wrap {
      background: #FFF;
      max-width: 680px;
      box-sizing: border-box;
      padding: var(--space2) var(--space2);
      border-radius: 30px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      grid-gap: var(--scheduleDateGap);
      color: var(--primaryColor);
      --scheduleDateGap:var(--space3); }
      #mv .inner .schedule_wrap .date {
        max-width: 550px;
        position: relative; }
        #mv .inner .schedule_wrap .date::after {
          width: 100%;
          height: 1px;
          content: "";
          position: absolute;
          bottom: calc( -1 * var(--scheduleDateGap) / 2 );
          left: 0;
          background: var(--primaryColor); }
      #mv .inner .schedule_wrap .info {
        display: flex;
        flex-direction: column;
        grid-gap: var(--space2);
        width: 100%;
        max-width: 540px; }
        #mv .inner .schedule_wrap .info .day_wrap {
          display: flex;
          flex-direction: column;
          grid-gap: var(--space2); }
          #mv .inner .schedule_wrap .info .day_wrap > * {
            display: flex;
            align-items: flex-start;
            justify-content: center;
            flex-direction: column; }
          #mv .inner .schedule_wrap .info .day_wrap .theme {
            font-size: var(--fontSize_ll);
            font-family: "Montserrat", "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 800;
            font-style: normal; }
  #mv .scroll_down {
    mix-blend-mode: normal;
    --barHeight:120px; }
    #mv .scroll_down .a {
      flex-direction: column-reverse;
      color: var(--primaryColor); }
      #mv .scroll_down .a .txt {
        height: 60px;
        transform: rotate(90deg); }
        #mv .scroll_down .a .txt::before {
          content: "SCROLL";
          font-family: "Montserrat", "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 800;
          font-style: normal; }
      #mv .scroll_down .a .bar {
        background: rgba(32, 68, 16, 0.33); }
        #mv .scroll_down .a .bar::after {
          background: var(--primaryColor); }
  @media (max-width: 520px) {
    #mv {
      min-height: calc( 100svh - var(--buttonHeight) ); }
      #mv .scroll_down {
        --barHeight:60px;
        --h:140px; }
      #mv .inner .schedule_wrap .info .day_wrap {
        line-height: normal; }
        #mv .inner .schedule_wrap .info .day_wrap .place {
          font-size: var(--fontSize_ss); }
        #mv .inner .schedule_wrap .info .day_wrap .day_num {
          max-width: 100px !important; } }
  @media (min-width: 521px) {
    #mv .inner {
      padding-top: calc( var(--headHeight) + var(--space4) ); } }
  @media (max-width: 767px) {
    #mv .inner .schedule_wrap .info .day_wrap {
      grid-gap: 0px; }
      #mv .inner .schedule_wrap .info .day_wrap .day_num {
        max-width: 133px;
        margin-bottom: calc( var(--space1) / 2 ); } }
  @media (min-width: 768px) {
    #mv .inner {
      grid-gap: var(--space4); }
      #mv .inner .schedule_wrap {
        padding: var(--space3); }
        #mv .inner .schedule_wrap .info .day_wrap {
          display: grid;
          grid-template-columns: 20% 80%;
          grid-template-rows: 1fr 1fr;
          grid-gap: 0px var(--space2); }
          #mv .inner .schedule_wrap .info .day_wrap .day_num {
            grid-column-start: 1;
            grid-row-start: 1;
            grid-row-end: 3; }
          #mv .inner .schedule_wrap .info .day_wrap .theme {
            grid-column-start: 2;
            grid-row-start: 1; }
          #mv .inner .schedule_wrap .info .day_wrap .place {
            grid-column-start: 2;
            grid-row-start: 2; }
    #mv .scroll_down {
      position: absolute;
      right: calc( -1 * var(--w) / 2 );
      bottom: var(--space5); } }
  @media (min-width: 768px) {
    #mv .inner .schedule_wrap {
      padding: var(--space4); } }

#about::before {
  background: url("../images/home/s.png") no-repeat center center;
  background-size: contain;
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  width: 80%;
  max-width: 840px;
  opacity: 0.24;
  filter: Alpha(opacity=24);
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto; }
#about .block_about .head,
#about .block_about .body {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
@media (min-width: 768px) {
  #about .block_about .eng_title {
    margin-bottom: calc( -1 * var(--space2) ); } }
@media (min-width: 1280px) {
  #about .block_about .eng_title {
    margin-bottom: calc( -1 * var(--space5) ); } }

#program {
  padding-bottom: 0 !important; }
  #program .block_program > .head {
    display: flex;
    align-items: flex-start;
    grid-gap: var(--space2);
    position: relative; }
    #program .block_program > .head::before {
      content: "";
      width: 100svw;
      position: absolute;
      top: calc( var(--space1) / 2 - 2px );
      left: calc( -1 * ( var(--cont_margin) + var(--wrapDifferent) ) );
      height: 3px;
      background: var(--primaryColor); }
    #program .block_program > .head .program_day {
      width: 80px;
      position: relative;
      z-index: 1; }
    #program .block_program > .head .title_wrap {
      grid-gap: 0px;
      flex-direction: column;
      align-items: flex-start;
      padding-top: var(--space2); }
      #program .block_program > .head .title_wrap .theme {
        line-height: 1;
        margin-bottom: calc( var(--space1) / 2 ); }
  #program .columns.archives_program {
    --columnRowGap:var(--space2);
    --columnColumnGap:var(--space2); }
    #program .columns.archives_program .column .inner {
      box-sizing: border-box;
      border-radius: var(--radius);
      padding: var(--space2);
      background: #FFF;
      height: 100%; }
    #program .columns.archives_program .column .info .title {
      display: flex;
      align-items: center;
      justify-content: center;
      /*padding-bottom:var(--space1);
      border-bottom:2px solid var(--primaryColor);*/
      text-align: center;
      font-size: var(--fontSize_l);
      height: 40px;
      line-height: 1.25;
      letter-spacing: 0.1rem;
      font-family: "Montserrat", "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 800;
      font-style: normal; }
    #program .columns.archives_program .column .info .text {
      display: none; }
  #program .sub_block_place .head {
    display: flex;
    justify-content: flex-start;
    margin-bottom: var(--space3); }
    #program .sub_block_place .head .h3 {
      width: auto;
      background: var(--primaryColor);
      color: #FFF;
      padding: var(--space2);
      box-sizing: border-box;
      border-radius: 0px 0px var(--radius) 0px; }
  #program .sub_block_place .body .columns .column .inner .info {
    align-items: center; }
  @media (min-width: 768px) {
    #program .columns.archives_program .column .inner {
      padding: var(--space3); }
    #program .columns.archives_program .column .info .title {
      height: 70px; }
    #program .block_program .head .title_wrap .info .place {
      display: flex;
      justify-content: flex-start;
      grid-gap: 5px var(--space2);
      flex-wrap: wrap;
      align-items: center; } }
  @media (min-width: 1280px) {
    #program .columns.archives_program {
      --columnRowGap:calc( var(--space3) * 2 );
      --columnColumnGap:calc( var(--space3) * 2 ); }
      #program .columns.archives_program .column .inner {
        padding: var(--space4); } }

#for_you .section_title_wrap {
  margin-bottom: calc( -1 * var(--space2) );
  position: relative;
  z-index: 2; }
#for_you .block {
  background: #FFF;
  box-sizing: border-box;
  padding: var(--space2);
  border-radius: var(--radius); }
  #for_you .block .head {
    text-align: center; }
    #for_you .block .head .title {
      line-height: 1.5; }
  #for_you .block .columns .column {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: var(--space2); }
    #for_you .block .columns .column .title {
      line-height: 1.5; }
#for_you .illust {
  height: auto; }
  #for_you .illust.illust_fy_01 {
    width: 205px;
    aspect-ratio: 205/203; }
  #for_you .illust.illust_fy_02 {
    width: 370px;
    aspect-ratio: 370/168; }
  #for_you .illust.illust_fy_03 {
    width: 315px;
    aspect-ratio: 315/195; }
@media (max-width: 520px) {
  #for_you .illust.illust_fy_01 {
    width: 166px; }
  #for_you .illust.illust_fy_02 {
    width: 300px; }
  #for_you .illust.illust_fy_03 {
    width: 255px; } }
@media (min-width: 768px) {
  #for_you .section_title_wrap {
    margin-bottom: calc( -1 * var(--space4) ); }
  #for_you .block {
    padding: var(--space4); }
    #for_you .block .columns {
      --columnWidth:auto;
      --columnColumnGap:var(--space4);
      --columnRowGap:var(--space4);
      justify-content: center; }
      #for_you .block .columns .column .illust_wrap {
        height: 203px;
        display: flex;
        align-items: center;
        justify-content: center; } }
@media (min-width: 1280px) {
  #for_you .section_title_wrap {
    margin-bottom: calc( -1 * var(--space4) * 1.5 ); }
  #for_you .block {
    padding-top: var(--space5); }
    #for_you .block .columns {
      --columnColumnGap:var(--space5); } }

@media (max-width: 520px) {
  #news .section_title_wrap .title.h2,
  #organizer .section_title_wrap .title.h2 {
    font-size: var(--fontSize_n); } }
@media (min-width: 768px) {
  #news .section_title_wrap .eng_title,
  #organizer .section_title_wrap .eng_title {
    margin-bottom: calc( -1 * var(--space3) ); } }

@media (min-width: 768px) {
  #news .section_title_wrap {
    text-align: right; } }

#organizer .banners {
  display: flex;
  justify-content: center; }
  #organizer .banners .banner {
    display: flex;
    flex-direction: column;
    align-items: center; }
    #organizer .banners .banner .a {
      max-width: 328px; }
#organizer .list_wrap {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  grid-gap: 0px var(--space4); }
  #organizer .list_wrap .list {
    border-bottom: 1px solid var(--primaryColor); }
    #organizer .list_wrap .list .inner {
      padding: var(--space3) var(--space5) var(--space3) var(--space2);
      align-items: flex-start;
      box-sizing: border-box; }
      #organizer .list_wrap .list .inner[target=_blank]::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: var(--space3);
        margin: auto;
        background: url("../images/common/icon_blank.png") no-repeat center center;
        width: 21px;
        height: 15px;
        background-size: contain; }
@media (max-width: 767px) {
  #organizer .list_wrap .list:first-child {
    border-top: 1px solid var(--primaryColor); } }
@media (min-width: 768px) {
  #organizer .list_wrap {
    flex-direction: row;
    flex-wrap: wrap; }
    #organizer .list_wrap .list {
      width: calc( ( 100% - var(--space4) ) / 2 ); }
      #organizer .list_wrap .list:nth-child(1), #organizer .list_wrap .list:nth-child(2) {
        border-top: 1px solid var(--primaryColor); }
      #organizer .list_wrap .list .inner {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center; } }
@media (min-width: 768px) {
  #organizer .list_wrap {
    grid-gap: 0px var(--space5); }
    #organizer .list_wrap .list {
      width: calc( ( 100% - var(--space5) ) / 2 ); } }
