/* GREEN×EXPO 2027 index page styles */

.mv_note{background:#063d2c;color:#fff;text-align:center;padding:22px 5%;font-size:clamp(24px,3.4vw,46px);line-height:1.4;font-weight:900;letter-spacing:.04em}

.creative_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.creative_name{margin:0;color:#164b36;font-size:20px;white-space:nowrap;letter-spacing:-.02em}

.creative_name .name_note{font-size:.72em}

@media(min-width:901px) and (max-width:1100px){.creative_grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:900px){.nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;padding:18px 5%;box-shadow:0 12px 25px rgba(0,0,0,.12);white-space:normal}.nav>a{display:block;padding:11px 0;border-bottom:1px solid #e1eee7}.menu_btn{display:block;width:42px;height:42px;position:relative;cursor:pointer}.menu_btn span{position:absolute;left:8px;right:8px;height:3px;background:#164b36;border-radius:999px;transition:.25s}.menu_btn span:nth-child(1){top:12px}.menu_btn span:nth-child(2){top:20px}.menu_btn span:nth-child(3){top:28px}.menu_check:checked~.nav{display:block}.menu_check:checked+.menu_btn span:nth-child(1){top:20px;transform:rotate(45deg)}.menu_check:checked+.menu_btn span:nth-child(2){opacity:0}.menu_check:checked+.menu_btn span:nth-child(3){top:20px;transform:rotate(-45deg)}.nav_wrap{height:64px}.mv{padding-top:64px}.nav_sns{justify-content:center;gap:22px;margin:16px 0 0;padding-top:16px;border-top:1px solid #e1eee7}.nav_sns a{width:36px;height:36px}.nav_sns img{width:28px;height:28px}.join_grid{grid-template-columns:1fr}.feature_grid,.creative_grid,.theme_box{grid-template-columns:1fr}.section{padding:64px 0}.outline th,.outline td{display:block;width:100%}.outline th{padding-bottom:6px}.outline td{padding-top:8px}.fixed_banners{left:8px;right:8px;bottom:8px;width:auto;grid-template-columns:repeat(3,1fr);gap:6px}.fixed_banners a{font-size:11px;padding:9px 5px;border-radius:12px}.btn_area{display:block}.btn{display:block;width:100%;margin-bottom:10px}.page_hero{min-height:340px;padding:112px 0 60px}.policy_box,.list_box{padding:26px 20px}.pref_footer_links{display:block}.pref_footer_links a{display:block;margin:8px 0}.mv_note{font-size:clamp(20px,6vw,30px);padding:18px 5%}.join_card{min-height:auto}}

sub{font-size:0.5em;vertical-align:sub;line-height:0}

.closed_label{
  display:block;
  color:#ff0000;
  font-size:clamp(28px,4vw,44px);
  font-weight:900;
  line-height:1.25;
  margin:0 0 8px;
}

/* Cast section detail update */
.cast_lead{
  max-width:900px;
  margin:0 auto 42px;
  text-align:center;
  font-size:18px;
  font-weight:700;
  color:#164b36;
}

.cast_block{
  margin:0 auto 58px;
}

.cast_block:last-child{
  margin-bottom:0;
}

.cast_block_head{
  max-width:900px;
  margin:0 auto 26px;
  text-align:center;
}

.cast_block_label{
  display:inline-block;
  margin-bottom:8px;
  padding:4px 16px;
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
}

.cast_movie .cast_block_label,
.cast_movie .cast_role{
  background:#55b845;
}

.cast_stage .cast_block_label,
.cast_stage .cast_role{
  background:#fb8500;
}

.cast_block_title{
  margin:0 0 8px;
  color:#164b36;
  font-size:clamp(24px,3vw,34px);
  line-height:1.4;
}

.cast_block_text{
  max-width:840px;
  margin:0 auto;
  color:#5b7469;
  font-size:16px;
  line-height:1.8;
}

.cast_grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

.cast_card{
  flex:0 1 174px;
  width:174px;
  max-width:174px;
  overflow:hidden;
  border:1px solid #dcebe3;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.07);
}

.cast_role{
  display:block;
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  padding:6px 8px;
}

.cast_photo{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;overflow:hidden;background:#fff;color:#98aea4;font-size:13px;font-weight:900;letter-spacing:.08em;line-height:0}

.cast_photo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center center;background:#fff}

.cast_name{
  margin:0;
  padding:9px 8px 11px;
  min-height:52px;
  color:#164b36;
  font-size:15px;
  font-weight:900;
  line-height:1.45;
  text-align:center;
}

.cast_name .name_note{
  font-size:.72em;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_grid{
    gap:12px;
  }
  .cast_card{
    flex-basis:calc(50% - 8px);
    width:calc(50% - 8px);
    max-width:170px;
  }
  .cast_role{
    font-size:12px;
  }
  .cast_name{
    font-size:13px;
  }
}

@media(max-width:420px){
  .cast_grid{
    gap:10px;
  }
  .cast_card{
    flex-basis:calc(50% - 6px);
    width:calc(50% - 6px);
    max-width:155px;
  }
  .cast_name{
    font-size:12px;
    padding-left:5px;
    padding-right:5px;
  }
}

.cast_grid_rows{
  display:block;
}

.cast_row{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  gap:16px;
  margin:0 0 16px;
}

.cast_row:last-child{
  margin-bottom:0;
}

.cast_row .cast_card{
  flex:0 1 174px;
  width:174px;
  max-width:174px;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_row{
    gap:10px;
    margin-bottom:12px;
  }
  .cast_row .cast_card{
    flex:0 1 calc((100% - 20px) / 3);
    width:calc((100% - 20px) / 3);
    max-width:155px;
    min-width:0;
  }
}

@media(max-width:420px){
  .cast_row{
    gap:8px;
  }
  .cast_row .cast_card{
    flex-basis:calc((100% - 16px) / 3);
    width:calc((100% - 16px) / 3);
    max-width:132px;
  }
}

/* Movie cast PC size adjustment */
@media(min-width:901px){
  .cast_movie .cast_row{
    gap:28px;
  }
  .cast_movie .cast_card{
    flex-basis:226px;
    width:226px;
    max-width:226px;
  }
  .cast_movie .cast_role{
    font-size:14px;
    padding:8px 10px;
  }
  .cast_movie .cast_name{
    font-size:17px;
    min-height:60px;
  }
}

/* Stage cast final layout 2026-09-03 */
.cast_stage_rows{
  display:block;
}

.cast_stage .stage_row{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:stretch;
  gap:24px;
  margin:0 0 22px;
}

.cast_stage .stage_row:last-child{
  margin-bottom:0;
}

.cast_stage .stage_row > .cast_card{
  flex:0 0 226px;
  width:226px;
  max-width:226px;
}

.cast_stage .cast_wcast{
  display:flex;
  flex-direction:column;
  flex:0 0 476px;
  width:476px;
  max-width:476px;
  min-width:0;
  overflow:hidden;
  border:1px solid #dcebe3;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.07);
}

.cast_stage .cast_wcast .cast_role_joined{
  border-radius:0;
}

.cast_stage .cast_wcast_body{
  display:flex;
  align-items:stretch;
  gap:24px;
  padding:0;
}

.cast_stage .cast_wcast_body > .cast_card{
  flex:0 0 226px;
  width:226px;
  max-width:226px;
  min-width:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.cast_stage .cast_wcast_body > .cast_card + .cast_card{
  border-left:1px solid #dcebe3;
}

.cast_stage .cast_wcast .cast_name{
  min-height:48px;
}

.cast_wcast_note{
  margin:0;
  padding:0 8px 12px;
  color:#5b7469;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
}

.cast_stage .cast_card_note{
  margin:8px 0 -4px;
  color:#d90000;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  text-align:center;
}

.cast_stage .role_note{
  font-size:.82em;
  font-weight:900;
}

.cast_stage .cast_ensemble{
  max-width:980px;
  margin:30px auto 0;
  padding:18px 22px;
  border-radius:18px;
  background:#fff7ec;
  color:#164b36;
  font-size:17px;
  font-weight:900;
  line-height:1.8;
  text-align:center;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_stage .stage_row{
    gap:8px;
    margin-bottom:12px;
  }
  .cast_stage .stage_row > .cast_card{
    flex:0 0 calc((100% - 24px) / 4);
    width:calc((100% - 24px) / 4);
    max-width:none;
    min-width:0;
  }
  .cast_stage .stage_row > .cast_wcast{
    flex:0 0 calc(((100% - 24px) / 4) * 2 + 8px);
    width:calc(((100% - 24px) / 4) * 2 + 8px);
    max-width:none;
    min-width:0;
  }
  .cast_stage .cast_wcast_body{
    gap:8px;
  }
  .cast_stage .cast_wcast_body > .cast_card{
    flex:0 0 calc((100% - 8px) / 2);
    width:calc((100% - 8px) / 2);
    max-width:none;
    min-width:0;
  }
  .cast_stage .cast_role,
  .cast_stage .cast_wcast .cast_role_joined{
    font-size:11px;
    padding:5px 3px;
  }
  .cast_stage .cast_name{
    font-size:12px;
    padding:7px 3px 8px;
    min-height:42px;
  }
  .cast_stage .cast_wcast_note{
    font-size:11px;
    padding-bottom:8px;
  }
  .cast_stage .cast_card_note{
    font-size:10px;
    margin:5px 0 -2px;
  }
  .cast_stage .cast_ensemble{
    font-size:13px;
    padding:14px 16px;
  }
}

@media(max-width:520px){
  .cast_stage .stage_row{
    gap:6px;
  }
  .cast_stage .stage_row > .cast_card{
    flex-basis:calc((100% - 18px) / 4);
    width:calc((100% - 18px) / 4);
  }
  .cast_stage .stage_row > .cast_wcast{
    flex-basis:calc(((100% - 18px) / 4) * 2 + 6px);
    width:calc(((100% - 18px) / 4) * 2 + 6px);
  }
  .cast_stage .cast_wcast_body{
    gap:6px;
  }
  .cast_stage .cast_wcast_body > .cast_card{
    flex-basis:calc((100% - 6px) / 2);
    width:calc((100% - 6px) / 2);
  }
  .cast_stage .cast_role,
  .cast_stage .cast_wcast .cast_role_joined{
    font-size:10px;
    padding:5px 2px;
  }
  .cast_stage .cast_name{
    font-size:11px;
    padding:7px 2px 8px;
  }
  .cast_stage .cast_wcast_note{
    font-size:10px;
    padding:0 4px 7px;
  }
  .cast_stage .cast_ensemble{
    font-size:12px;
    text-align:left;
  }
}

/* Cast comment block update */
.cast_comment{
  max-width:900px;
  margin:34px auto 0;
  padding:26px 28px;
  border:1px solid #dcebe3;
  border-radius:20px;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.05);
}

.cast_movie .cast_comment{
  border-top:5px solid #55b845;
}

.cast_stage .cast_comment{
  border-top:5px solid #fb8500;
}

.cast_comment_en{
  display:block;
  color:#0a9a68;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1.2;
}

.cast_comment_title{
  margin:8px 0 10px;
  color:#164b36;
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.35;
}

.cast_comment_placeholder{
  margin:0;
  color:#5b7469;
  font-size:15px;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_comment{
    margin-top:26px;
    padding:22px 18px;
  }
}

/* Cast comment combined block */
.cast_comment_all{
  max-width:900px;
  margin:62px auto 0;
  padding:34px 30px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dcebe3;
  box-shadow:0 14px 34px rgba(0,0,0,.07);
  text-align:center;
}

.cast_comment_heading{
  margin:0 0 14px;
  line-height:1.35;
}

.cast_comment_jp{
  display:block;
  color:#164b36;
  font-size:clamp(24px,3vw,34px);
  font-weight:900;
}

.cast_comment_en{
  display:block;
  margin-top:4px;
  color:#0a9a68;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.cast_comment_placeholder{
  margin:0;
  color:#5b7469;
  font-size:16px;
}

/* Movie cast PPT 0901 adjustment */
.cast_movie .role_note{
  display:inline-block;
  margin-left:3px;
  font-size:.78em;
  line-height:1.2;
  vertical-align:baseline;
}

.cast_name .name_note_block{
  display:block;
  margin-top:1px;
  line-height:1.25;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_movie .cast_row{
    gap:10px;
  }
  .cast_movie .cast_row .cast_card{
    flex:0 1 calc((100% - 20px) / 3);
    width:calc((100% - 20px) / 3);
    max-width:155px;
    min-width:0;
  }
  .cast_movie .role_note{
    display:block;
    margin-left:0;
    font-size:.72em;
  }
}

@media(max-width:420px){
  .cast_movie .cast_row{
    gap:8px;
  }
  .cast_movie .cast_row .cast_card{
    flex-basis:calc((100% - 16px) / 3);
    width:calc((100% - 16px) / 3);
    max-width:132px;
  }
}

/* Cast comment text detail */
.cast_comment_all{
  text-align:left;
}

.cast_comment_all .cast_comment_heading{
  text-align:center;
  margin-bottom:30px;
}

.cast_comment_item{
  padding:26px 0;
  border-top:1px solid #dcebe3;
}

.cast_comment_item:first-of-type{
  border-top:0;
  padding-top:0;
}

.cast_comment_item:last-child{
  padding-bottom:0;
}

.cast_comment_item h4{
  margin:0 0 14px;
  color:#164b36;
  font-size:20px;
  line-height:1.6;
  font-weight:900;
}

.cast_comment_item p{
  margin:0 0 12px;
  color:#224033;
  font-size:16px;
  line-height:2;
}

.cast_comment_item p:last-child{
  margin-bottom:0;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_comment_item{
    padding:22px 0;
  }
  .cast_comment_item h4{
    font-size:17px;
  }
  .cast_comment_item p{
    font-size:14px;
    line-height:1.9;
  }
}

/* Cast comment badge labels */
.cast_badge{
  display:inline-block;
  margin:0 8px 4px 0;
  padding:3px 10px;
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  vertical-align:middle;
}

.cast_badge_movie{
  background:#55b845;
}

.cast_badge_stage{
  background:#fb8500;
}

@media(max-width:900px), (max-device-width:900px){
  .cast_badge{
    font-size:12px;
    padding:3px 9px;
  }
}

/* Cast image natural display 2026-09-03 */
.cast_card{
  display:flex;
  flex-direction:column;
}

.cast_photo{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:auto;
  overflow:hidden;
  background:#fff;
  line-height:0;
}

.cast_photo img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center center;
  background:#fff;
}

/* Top theme song movie embed */
.sample_movie{
  max-width:900px;
  margin:42px auto 0;
}

.sample_movie_title{
  text-align:center;
  margin:0 0 18px;
  color:#164b36;
  font-size:24px;
  font-weight:900;
}

.youtube_wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  background:#000;
}

.youtube_wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Animation movie title */
.top_theme_movie .sample_movie_title{
  text-align:center;
  margin:0 0 18px;
  color:#164b36;
  font-size:24px;
  line-height:1.5;
  font-weight:900;
}

.theme_song_lead{
  margin-bottom:42px;
}

/* News date/text alignment 2026-09-10
   PCでは本文の頭を揃え、スマホでは日付と本文を別行にする */
@media(min-width:901px){
  .news_box .news_item{
    display:grid;
    grid-template-columns:7.9em minmax(0,1fr);
    column-gap:18px;
    align-items:flex-start;
  }

  .news_box .news_date{
    display:block;
    margin:0;
    white-space:nowrap;
  }

  .news_box .news_text{
    display:block;
    min-width:0;
  }
}

@media(max-width:900px), (max-device-width:900px){
  .news_box .news_item{
    display:block;
    margin-bottom:12px;
  }

  .news_box .news_date{
    display:block;
    margin:0 0 3px;
    white-space:nowrap;
  }

  .news_box .news_text{
    display:block;
    min-width:0;
  }
}

/* News compact / more toggle 2026-09-10 */
.news_box{
  position:relative;
}

.news_box .news_text,
.news_box .news_text a{
  font-weight:400;
}

.news_box .news_text a{
  text-decoration:underline;
  text-underline-offset:4px;
}

.news_more_items{
  margin-top:10px;
}

.news_more_items[hidden]{
  display:none !important;
}

.news_more_btn{
  display:block;
  margin:18px auto 0;
  padding:7px 18px;
  border:1px solid #dcebe3;
  border-radius:999px;
  background:#fff;
  color:#0a9a68;
  font:inherit;
  font-size:14px;
  font-weight:900;
  line-height:1.4;
  cursor:pointer;
  transition:.2s;
}

.news_more_btn:hover{
  background:#e8f7ee;
}
