/* GREEN×EXPO 2027 common styles */

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:#224033;background:#f6fbf7;line-height:1.9}

a{color:inherit;text-decoration:none}

img{max-width:100%;height:auto;vertical-align:bottom}

.wrap{width:90%;max-width:1100px;margin:0 auto}

.site_header{position:fixed;left:0;right:0;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 8px 25px rgba(0,0,0,.08)}

.nav_wrap{width:94%;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}

.brand{font-weight:900;color:#164b36;line-height:1.2;white-space:nowrap}

.brand span{display:block;font-size:11px;color:#0a9a68;letter-spacing:.08em}

.brand img{display:block;height:54px;width:auto;max-width:240px;object-fit:contain}

@media(max-width:900px){.brand img{height:46px;max-width:205px}}

.nav{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:bold;white-space:nowrap}

.nav>a{padding:8px 0}

.nav>a:hover{color:#0a9a68}

.menu_check,.menu_btn{display:none}

.nav_sns{display:flex;align-items:center;gap:10px;margin-left:2px}

.nav_sns a{display:flex;align-items:center;justify-content:center;width:27px;height:27px;padding:0}

.nav_sns img{width:21px;height:21px;object-fit:contain;display:block;transition:.2s}

.nav_sns a:hover img{opacity:.6}

.mv{padding-top:72px;background:#031810}

.mv img{display:block;width:100%;height:auto}

.section{padding:92px 0}

.section_white{background:#fff}

.section_green{background:linear-gradient(135deg,#e8f7ee,#f8fff9)}

.sec_title{text-align:center;margin:0 0 42px}

.sec_title_en{display:block;color:#0a9a68;font-size:14px;letter-spacing:.18em;font-weight:900}

.sec_title_jp{display:block;margin-top:8px;font-size:clamp(28px,4vw,42px);line-height:1.4;color:#164b36;font-weight:900}

.lead{font-size:18px;margin:0 auto;max-width:920px}

.news_box{max-width:900px;margin:0 auto;padding:24px 28px;background:#fff;border:1px solid #dcebe3;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.05)}

.news_date{display:inline-block;color:#0a9a68;font-weight:900;margin-right:18px}

.news_text{font-weight:bold}

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

.join_card{display:flex;flex-direction:column;min-height:330px;background:#fff;padding:32px;border-radius:26px;box-shadow:0 15px 35px rgba(0,0,0,.08);border-top:7px solid #0a9a68;transition:.25s}

.join_card:nth-child(1){border-top-color:#fb8500}

.join_card:nth-child(2){border-top-color:#0a9a68}

.join_card:nth-child(3){border-top-color:#2682c4}

.join_card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(0,0,0,.12)}

.join_no{font-size:13px;letter-spacing:.14em;font-weight:900;color:#0a9a68}

.join_card h3{margin:10px 0 14px;color:#164b36;font-size:25px;line-height:1.45}

.join_card p{margin:0 0 22px}

.join_meta{margin-top:auto;font-size:13px;font-weight:bold;color:#5b7469}

.join_link{display:inline-block;margin-top:18px;color:#0a9a68;font-weight:900}

.story_box{margin-top:42px;padding:34px;background:#fff;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.07)}

.story_box h3{margin:0 0 12px;color:#0a664a;font-size:24px}

.outline{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.06)}

.outline th,.outline td{padding:19px 20px;border-bottom:1px solid #e1eee7;text-align:left;vertical-align:top}

.outline th{width:28%;background:#eef8f2;color:#0a664a}

.feature_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}

.feature_card{background:#fff;padding:34px;border-radius:24px;box-shadow:0 15px 35px rgba(0,0,0,.08)}

.feature_card h3{margin:0 0 12px;color:#164b36;font-size:26px}

.tag{display:inline-block;margin-bottom:14px;padding:4px 13px;border-radius:999px;background:#e8f7ee;color:#0a9a68;font-size:13px;font-weight:bold}

.theme_box{display:grid;grid-template-columns:1fr 1.3fr;gap:34px;align-items:center}

.theme_logo{background:#fff;padding:30px;border-radius:26px;box-shadow:0 15px 35px rgba(0,0,0,.08)}

.theme_info h3{font-size:clamp(30px,4vw,48px);margin:0 0 10px;color:#164b36}

.creative_card{background:#fff;padding:30px;border-radius:24px;box-shadow:0 15px 35px rgba(0,0,0,.08)}

.creative_role{display:inline-block;margin-bottom:12px;padding:5px 14px;border-radius:999px;background:#0a9a68;color:#fff;font-size:13px;font-weight:900}

.btn_area{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:900;letter-spacing:.03em;transition:.25s;text-align:center}

.btn:hover{transform:translateY(-3px);opacity:.88}

.btn_main{background:#0a9a68;color:#fff}

.btn_yellow{background:#fb8500;color:#fff}

.btn_blue{background:#2682c4;color:#fff}

.btn_white{background:#fff;color:#164b36}

.fixed_banners{position:fixed;right:18px;bottom:18px;z-index:45;display:grid;gap:8px;width:196px}

.fixed_banners a{display:block;padding:11px 14px;border-radius:999px;font-size:13px;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.22);text-align:center}

.fixed_banners .dance{background:#fb8500;color:#fff}

.fixed_banners .audition{background:#0a9a68;color:#fff}

.fixed_banners .extra{background:#2682c4;color:#fff}

.page_hero{min-height:390px;padding:138px 0 72px;background:linear-gradient(rgba(0,70,45,.72),rgba(0,70,45,.72)),url("img/headerback1.gif") center/cover no-repeat;color:#fff;text-align:center}

.page_hero h1{font-size:clamp(34px,5vw,58px);line-height:1.35;margin:0 0 18px}

.page_hero p{font-size:18px;margin:0 auto;max-width:900px}

.list_box,.policy_box{background:#fff;padding:34px;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.07)}

.list_box li{margin-bottom:10px}

.note_box{background:#fff9dc;border-left:6px solid #fb8500;padding:22px;border-radius:12px;margin:30px 0}

.policy_box h2{font-size:24px;color:#164b36;border-left:6px solid #0a9a68;padding-left:14px;margin:42px 0 16px}

.policy_box h2:first-child{margin-top:0}

.policy_box p{margin:0 0 14px}

.policy_item{padding-left:1em}

.footer_cta{padding:82px 0;text-align:center;background:linear-gradient(rgba(0,90,60,.80),rgba(0,90,60,.80)),url("img/headerback1.gif") center/cover no-repeat;color:#fff}

.footer_cta h2{margin:0 0 24px;font-size:clamp(30px,5vw,50px);line-height:1.4}

.pref_footer{background:#fff;color:#224033;border-top:1px solid #dfeee6;padding:38px 0 28px;text-align:center}

.pref_footer_banner{margin:0 auto 20px}

.pref_footer_banner img{width:234px;height:60px}

.pref_footer_links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:0 0 14px;font-size:14px;font-weight:bold}

.pref_footer_links a{color:#164b36;text-decoration:underline;text-underline-offset:4px}

.pref_footer_note{font-size:12px;color:#5b7469;line-height:1.7}

.footer{padding:18px 0 26px;text-align:center;font-size:13px;color:#fff;background:#063d2c}

@media(max-width:1180px){.nav{gap:11px;font-size:12px}.nav_wrap{width:96%}}

/* SP layout force fix: media query + JS class fallback */
@media screen and (max-width:1180px), screen and (max-device-width:1180px), (hover:none) and (pointer:coarse){
  html,body{overflow-x:hidden}
  .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;flex:0 0 auto}
  .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;width:96%}
  .brand img{height:46px;max-width:205px}
  .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}
}

html.sp-layout,html.sp-layout body{overflow-x:hidden}

html.sp-layout .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}

html.sp-layout .nav>a{display:block;padding:11px 0;border-bottom:1px solid #e1eee7}

html.sp-layout .menu_btn{display:block;width:42px;height:42px;position:relative;cursor:pointer;flex:0 0 auto}

html.sp-layout .menu_btn span{position:absolute;left:8px;right:8px;height:3px;background:#164b36;border-radius:999px;transition:.25s}

html.sp-layout .menu_btn span:nth-child(1){top:12px}

html.sp-layout .menu_btn span:nth-child(2){top:20px}

html.sp-layout .menu_btn span:nth-child(3){top:28px}

html.sp-layout .menu_check:checked~.nav{display:block}

html.sp-layout .menu_check:checked+.menu_btn span:nth-child(1){top:20px;transform:rotate(45deg)}

html.sp-layout .menu_check:checked+.menu_btn span:nth-child(2){opacity:0}

html.sp-layout .menu_check:checked+.menu_btn span:nth-child(3){top:20px;transform:rotate(-45deg)}

html.sp-layout .nav_wrap{height:64px;width:96%}

html.sp-layout .brand img{height:46px;max-width:205px}

html.sp-layout .mv{padding-top:64px}

html.sp-layout .nav_sns{justify-content:center;gap:22px;margin:16px 0 0;padding-top:16px;border-top:1px solid #e1eee7}

html.sp-layout .nav_sns a{width:36px;height:36px}

html.sp-layout .nav_sns img{width:28px;height:28px}

html.sp-layout .join_grid{grid-template-columns:1fr}

html.sp-layout .feature_grid,html.sp-layout .creative_grid,html.sp-layout .theme_box{grid-template-columns:1fr}

html.sp-layout .section{padding:64px 0}

html.sp-layout .outline th,html.sp-layout .outline td{display:block;width:100%}

html.sp-layout .outline th{padding-bottom:6px}

html.sp-layout .outline td{padding-top:8px}

html.sp-layout .fixed_banners{left:8px;right:8px;bottom:8px;width:auto;grid-template-columns:repeat(3,1fr);gap:6px}

html.sp-layout .fixed_banners a{font-size:11px;padding:9px 5px;border-radius:12px}

html.sp-layout .btn_area{display:block}

html.sp-layout .btn{display:block;width:100%;margin-bottom:10px}

html.sp-layout .page_hero{min-height:340px;padding:112px 0 60px}

html.sp-layout .policy_box,html.sp-layout .list_box{padding:26px 20px}

html.sp-layout .pref_footer_links{display:block}

html.sp-layout .pref_footer_links a{display:block;margin:8px 0}

html.sp-layout .mv_note{font-size:clamp(20px,6vw,30px);padding:18px 5%}

html.sp-layout .join_card{min-height:auto}

/* 2026-08-25 update */
.nav_sns .fb_icon{
  border-radius:50%;
  background:#1877f2;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
}

.nav_sns .fb_icon span{
  display:block;
  transform:translateY(1px);
}

.news_item{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin:0 0 10px;
}

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

.news_text a{
  color:#0a9a68;
  text-decoration:underline;
  text-underline-offset:4px;
}

.status_closed{
  display:inline-block;
  margin:12px 0 0;
  color:#d90000;
  font-size:15px;
  font-weight:900;
}

.sample_movie_text{
  max-width:760px;
  margin:0 auto 18px;
  text-align:center;
  color:#5b7469;
}

.policy_box a{
  color:#0a9a68;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px), (max-device-width:900px){
  .news_item{
    display:block;
  }
  .news_date{
    display:block;
    margin:0 0 4px;
  }
}

/* 2026-09-02 cast/update adjustments */
.cast_dummy_note{
  max-width:900px;
  margin:0 auto 28px;
  text-align:center;
  color:#5b7469;
}

.entry_closed_text{
  margin:0;
  font-size:16px;
  line-height:1.9;
}

@media(max-width:900px), (max-device-width:900px){
  .fixed_banners{
    grid-template-columns:1fr;
  }
}

html.sp-layout .fixed_banners{
  grid-template-columns:1fr;
}
