@charset "UTF-8";

html
{scroll-behavior: smooth;
scroll-padding-top:100px;
}

.vsp{display: none;}
.vpc{display: block;}

/* 共通カラー */
.c_01{color: red;}
.c_02{color: #A40000;}
.c_03{color: rgba(255, 255, 255, 0.8);}

.under{border-bottom: #fff solid 1px;}

.flx{display: flex;justify-content: center;align-items: center;}
.flx.column{flex-direction:column;}

/*フォント*/
.arimo{font-family: "Arimo","Zen Kaku Gothic New" sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
}
.redaction {
  font-family: "Redaction 70","Zen Kaku Gothic New" sans-serif;
  font-weight: 700;
  font-style: normal;
}
.tegomin {
  font-family: "New Tegomin", serif;
  font-weight: 400;
  font-style: normal;
}


#kiokuosen *,
#kiokuosen *::before,
#kiokuosen *::after {
  box-sizing: inherit;
}

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

/* 共通リスト */
#kiokuosen ul{margin: 0;padding: 0;}
#kiokuosen ul li {padding-left: 1em; text-indent: -1em;}

/* 共通リンク */
#kiokuosen a {
  color: red;
	font-weight: 700;
  text-decoration: none;
  transition: color 1s ease;
}
#kiokuosen a:hover {
  color:#A40000;
}

/* 共通ホバー */
#kiokuosen .hover_zoom {
  overflow: hidden;
  display: block;
}
#kiokuosen .hover_zoom img {
  transition: transform 2s ease,filter 0.8s ease;
  display: block;
  width: 100%;
}
#kiokuosen .hover_zoom:hover img {
  transform: scale(1.03);
	filter: blur(2px);
}


/* 共通ブロック .box */
#kiokuosen .box {
  width: 100%;
  padding: 3.75rem 1.25rem;
}

#kiokuosen .box p{
  padding-bottom: 2rem;
}

#kiokuosen .box > *,
#kiokuosen .nav_inner {
  max-width: 600px;
  margin-inline: auto;
}

/* バナー */
.bnr_common01{width: 100%; max-width: 600px;margin:1rem auto 2rem;}
.bnr_common01 p{text-align: center;font-weight: bold;color:rgba(255, 255, 255, 0.6);font-size: clamp(0.6rem, 1vw, 0.75rem);}
.bnr_common01 img{width: 100%;border-radius: 0.25rem;}

.bnr_common02{width: 80%; max-width: 400px;margin:1rem auto;}
#kiokuosen .bnr_common02 p{text-align: center;font-weight: bold;color:#A40000;font-size: clamp(1rem, 3vw, 1.25rem);line-height: inherit;padding-bottom:0px;}
.bnr_common02 img{width: 100%;border-radius:inherit;}

/* fadein
---------------------------------*/
.scrollin { opacity: 0; transition: all 1.0s 0s ease-in-out; }
/*.scrollin { opacity: 0; transition: all 1.2s 0s cubic-bezier(1,-0.01,.46,.99); }*/
.scrollin.show { opacity: 1; transform: none; }
.scr_lr { transform: translate(-1rem, 0); }
.scr_rl { transform: translate(1rem, 0); }
.scr_fadein { transform: translate(0, 0px); }
/*.scr_up { transform: translate(0, 1rem); transition: 0.8s 0s ease; }*/
.scr_up { transform: translate(0, 1.5rem); }
.scr_down { transform: translate(0, -1rem); }
.scr_scaleUp { transform: scale(.5); }
.scr_scaleDown { transform: scale(1.5); }
.scr_rotateL { transform: rotate(1rem); }
.scr_rotateR { transform: rotate(1rem); }

/*.scr_up_slow { transform: translate(0, 1rem); transition: 1.5s 0s ease; }*/
.delay01{transition-delay: 0.2s;}
.delay02{transition-delay: 0.4s;}
.delay03{transition-delay: 0.6s;}
.delay04{transition-delay: 0.8s;}
.delay05{transition-delay: 1.0s;}

/*にじみ*/
.blur {filter: blur(20px);}
.blur.show{filter: blur(0);}

/*readmore.js---------------------------------*/
	#readmore_box{}/*read more枠*/
	#btn_readmore{margin: 1em auto;width: 80%;border-radius: 0.5em;padding: 1em;cursor: pointer;background-color:#8E354A;color: #fff;font-size: 1rem;font-weight: bold;}/*もっと見る ボタン*/
	.news_item {animation: news_item_in 0.6s ease-out;}
@keyframes news_item_in {
  from { opacity: 0; transform: translateY(1rem); }
  to { opacity: 1; transform: translateY(0); }
}
/*/readmore.js---------------------------------*/

/* 大枠 #kiokuosen */
#kiokuosen {
  font-family: 'Shippori Mincho','Zen Kaku Gothic New', "Yu Mincho", "MS PMincho", serif;
  font-size: 0.9rem;
  line-height: 2;
  color:rgba(255, 255, 255, 0.9);
  background-color: #000;
  width: 100%;
  box-sizing: border-box;
display: flex;
align-items: flex-start;
}

#kiokuosen .bg_white{
  color:rgba(0, 0, 0, 1.0);
  background-color: #FFFFFF;
}

/* 左枠*/
/* (1) メインビジュアル */
#kiokuleft{flex: 0 0 38%;position: sticky; top:50px; margin-top: 10px; z-index: 999;display: flex;justify-content: center;/*justify-content: flex-end;*/align-items: center;}
#kiokuleft div{/*max-width:100%;*/height: calc(100vh - 150px);aspect-ratio: 250 / 353;}
#kiokuleft img{width: 100%; }

/* 右枠*/
#kiokuright{flex: 1 1 62%;  overflow: hidden;/*background-color: rgba(255, 255, 255, 0.1);*/}
#kiokuright div{}

/* 見出しスタイル */
#kiokuosen .h2_title {
  font-family: 'Shippori Mincho', serif;
  font-size: clamp(1.75rem,3vw,2rem);
  font-weight: 800;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
	line-height: 1.5;
	letter-spacing: 0.05em; 
}

#kiokuosen .h2_title span{
  font-family: "Redaction 70", sans-serif;
  font-weight: 400;
  font-style: normal;
	font-size: 0.875rem;
}

#kiokuosen .txt_catch01 {
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin-bottom: 2rem;
  line-height: 1.75;
  letter-spacing: 0.5rem;
}

#kiokuosen .txt_sub {
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  font-size: clamp(1.2rem, 2vw, 1.35rem);
  line-height: 1.4;
}
#kiokuosen .txt_ss {
  font-size: clamp(0.6rem, 1vw, 0.75rem);
  line-height:inherit;
}
#kiokuosen .txt_info {
  font-size: clamp(0.6rem, 1vw, 0.75rem);
  margin-bottom: 1rem;
  line-height:inherit;
}

.space01{letter-spacing: 0.2rem;}


#kiokuosen .tit_img {
  max-width: 500px;
  margin: 0 auto;
}

/* () ナビゲーションメニュー */
#kioku_nav_menu {
  position:fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  background-color: rgba(28, 28, 28, 0.95);
  border-bottom: 2px solid #8E354A;
  width: 100%;
}

#kioku_nav_menu .nav_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1.25rem;
  position: relative;
}

#kioku_nav_menu .nav_header {
  display: none;
}

#kioku_nav_menu .nav_list {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
}

#kioku_nav_menu .nav_list li a {
  display: block;
  padding: 1rem 1.5rem;
  color: #DAC9A6;
  font-family: 'Shippori Mincho', serif;
  font-size: 1.05rem;
  transition: all 0.3s ease;
}

#kioku_nav_menu .nav_list li a:hover {
  color: #F75C2F;
  background-color: rgba(255, 255, 255, 0.05);
}

/* () snsメニュー */
/*	section.sc_sns{}
	section.sc_sns .box_sns{background-color:rgba(211, 211, 211, 0.5);padding: 0.5em; box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.3);}
	section.sc_sns .iconflx{display:flex;gap:1rem;align-self:center; justify-content: center; }
	section.sc_sns .iconflx li{width: 50px;}
	section.sc_sns .iconflx li p{text-align: center;font-size: 0.675rem;padding:0;}
	section.sc_sns .iconflx li a{}
	section.sc_sns .iconflx li a img{display: block;margin: 0 auto;width:100%;height: auto;}
@media screen and (max-width: 768px) {
	section.sc_sns > div{padding: 0em;}
	}*/

/*(2)スライダー*/
#slide_box{}
#slide_box .slider_container {
  width: 100vw;
  overflow: hidden;
/*  padding: 1.25rem 0;*/
}

#slide_box .slider_track {
  display: flex;
  width: max-content;
  animation: slide 60s linear infinite;
}
@keyframes slide {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}

#slide_box .slide {
  width:clamp(150px, 15vw, 300px) ;
/*  padding: 0 10px;*/
/*  flex-shrink: 0;*/
}
#slide_box .slide img{
    width: 100%;
    object-fit: cover;
/*  aspect-ratio: 4 / 3;*/
  aspect-ratio: 1 / 1;
}

/* (3) 新着情報 */
#news{}
#news .news_list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
font-size: 0.875rem;
}

#news li{
  display: flex;
  padding: 0.25rem;
  gap: 0.25rem;
}

#news .day {
  color: #A40000;
  min-width: 100px;
}

#news .news_txt {
  flex: 1;
}

/* (4) 概要 */
#overview{}
#overview .overview_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

#overview div.row {
  display: flex;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
  padding-bottom: 0.75rem;
  gap: 1rem;
  align-items: flex-start;
}

/*#overview dt {
  font-weight: bold;
  width: 180px;
  flex-shrink: 0;
  position: relative;
  padding-right: 1rem;
}

#overview dt::after {
  content: "：";
	padding-right:20px;
  position: absolute;
  right: 10px;
}*/
#overview dt {
  font-weight: bold;
  width: 160px;
  text-align: center;
  background-color:#000;
  color: #fff;
  align-items:flex-start;
  }
#overview dd {
  margin: 0;
  flex: 1;
}

/* （5）本展について　ABOUT */
#about{}

/* 公式ティザーPV映像 TEASER */
#teaser{}
iframe.pv {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
margin-bottom: 2rem;
}	
/* （6）本展で体験できること　EXPERIENCE*/
#experience{}


/*（7）音声ガイド　AUDIO GUIDE*/
#kiokuosen #audio{}
.flx.kaji{gap:1rem;/*align-items: start;*/border-top:#666 solid 1px;border-bottom:#666 solid 1px;margin-bottom: 2rem;}
.flx.kaji .kaji_left{flex: 0 0 25%;}
.flx.kaji .kaji_left img{width: 100%;}
.flx.kaji .kaji_right{flex: 1 1 75%;font-size: 0.75rem;line-height: inherit;}

#kiokuosen .guide{flex-direction: column;gap:1rem;line-height: 1;border: #666 solid 1px;padding: 1rem;}	
#kiokuosen .box .guide p{padding-bottom:inherit;width: 100%;}	
#kiokuosen .guide_inner{gap:0.5rem;width: 100%;border-top: #666 solid 1px;padding-top: 1rem;}
#kiokuosen .guide_inner dl{padding: 1rem;background-color:rgba(255, 255, 255, 0.1);border-radius: 0.5em;flex:0 0 calc(50% - 0.25rem);font-size: 0.875rem;}
#kiokuosen .guide_inner dt{flex:0 0 50px;}
#kiokuosen .guide_inner dd{flex:0 1 auto;}
#kiokuosen .guide_inner img{width:95%;}

/* (6) 配信 */


/*（9）注意事項*/
#note{}
#note ul li::before {content: "・";}
#note h5{font-weight: 800;}
#note h5::before{content: "■";font-size: 0.875rem;padding-right: 0.25em;}
#note .note_box {width: 100%;}
#note .note_box details {margin-bottom: 1rem; overflow: hidden;}
#note .note_box summary {padding: 0.5rem; cursor: pointer; list-style: none;/*Firefox*/ position: relative;font-weight:800; font-size: 1.125rem;border-bottom: 1px solid #333;}
#note .note_box summary::marker { display:none;/*Chrome, Safari, Edge*/}
#note .note_box summary::before{content: "⦿";padding-right: 0.5rem;}
#note .note_box summary::after { content: "▼"; position: absolute; right: 1rem; font-size: 0.75rem;transition:  0.3s;}
#note .note_box details:open summary{border-bottom:none;}
#note .note_box details:open summary::after {  content: "＞";	transform: rotate(-90deg);}
#note .note_box .content {padding:0 0 1rem 1rem; color: rgba(255, 255, 255, 0.7); font-size: 0.875rem; border-bottom: 1px solid #333;}
#note .note_box details:open .content {animation: content_open 0.4s ease-out;}
@keyframes content_open {
  from { opacity: 0; transform: translateY(1rem);filter: blur(20px); }
  to { opacity: 1; transform: translateY(0);filter: blur(0); }
}

/* (10) 主催情報 */
#organizer{}
#organizer .organizer_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

#organizer div.row {
  display: flex;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
  padding-bottom: 0.75rem;
  gap: 1rem;
}

#organizer dt {
  font-weight: bold;
  width: 45%;
/*  width: 200px;*/
  flex-shrink: 0;
  position: relative;
  padding-right: 1rem;
	text-align: right;

}

#organizer dt::after {
  content: "：";
/*	padding-right:20px;*/
	padding-left:20px;
/*  position: absolute;
  right: 10px;*/
}

#organizer dd {
  margin: 0;
  flex: 1;
}

/*見逃し配信*/
#hm_platform .haishin_bnr {
  width: 96%;
/*  max-width: 1000px;*/
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap:1rem;
}

#hm_platform .banner_item {
/*  flex: 0 1 calc(33.33% - (2rem / 3)); 横3並*/
  flex: 0 1 calc(50% - (1rem / 2));
  background-color: #f6f6f6;
}
#hm_platform .banner_item a{
display: block;
}
#hm_platform .banner_item img {
width: 70%;
margin:1rem auto;
  }

/*スペシャル動画*/
#hm_platform .special{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
	margin-bottom: 2rem;
}
#hm_platform .special li{}
#hm_platform .special li a {
  display: block;
  height: 100%;
}
#hm_platform .special .thum{}
#hm_platform .special .s_txt01{color:#8E354A; font-size:clamp(1rem, 2vw, 1.125rem);line-height: 1.3;}
#hm_platform .special .s_txt02{color:#1C1C1C; font-size:clamp(0.875rem, 2vw, 1rem);line-height: 1.3;}
#hm_platform .special .day{font-size: 0.875rem; color: #666;}

@media screen and (max-width: 768px) {
#hm_platform .special {
grid-template-columns: repeat(1, 1fr);
  }
}


/*(9) プレゼント情報*/
#hm_pre .pre_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 1.1rem;
}

#hm_pre li.pre_content{
  background-color: rgba(255, 255, 255, 0.4);
  padding: 1rem;
  display: flex;
  flex: 1;
  gap: 1.25rem;
  align-items: flex-start;
}
#hm_pre .pre_tit{
  font-family: 'Shippori Mincho', serif;
  font-size: clamp(1.25rem,3vw,1.75rem);
  font-weight: 800;
text-align: center;
  margin-bottom: 1rem;
}

#hm_pre .pre_img {
  width: 300px;
  flex-shrink: 0;
}
#hm_pre .pre_img img{
/*  aspect-ratio: 4 / 3;
  object-fit: cover;*/
  width: 100%;
}
#hm_pre h4{font-family: 'Shippori Mincho', serif;font-weight:800; font-size: 1.275rem;color:#fff; }
#hm_pre p{font-size: 0.875rem;}
#hm_pre p .att{color:#8E354A;font-weight: 700;/*font-size:clamp(0.875rem, 2vw, 1rem);*/}

.btn_oubo01{background-color:#DAC9A6;width: 96%;max-width: 400px;border:1px solid #F75C2F;border-radius: 0.25rem;margin: 0.25rem 0;}
.btn_oubo01 a{display: block; padding: 0.5rem 1rem;text-align: center;}

@media screen and (max-width: 768px) {
#hm_pre .pre_content{flex-direction: column;}
}
/* ============================================================
   レスポンシブ (768px以下)
   ============================================================ */
@media screen and (max-width: 768px) {
#kiokuosen {
font-size: 0.9rem;
color:rgba(255, 255, 255, 0.9);
flex-direction: column;
}
#kiokuleft{position:relative; top:inherit; margin-top: 0px; z-index: 999;display: flex;justify-content: center;align-items: center;}
#kiokuleft div{max-width:100%;height:auto;}

  #kiokuosen .box {
    padding: 2rem;
  }

  #kioku_nav_menu .nav_inner {
    flex-direction: column;
    padding: 0;
  }

  #kioku_nav_menu .nav_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 3px 1rem;
    height: 50px;
    background-color: rgba(28, 28, 28, 0.98);
  }

  #kioku_nav_menu .nav_title {
    font-family: 'Shippori Mincho', serif;
    font-size: 1.2rem;
    font-weight: bold;
  }
	#kioku_nav_menu .nav_title img{max-width: 130px;}

  #kioku_nav_menu .hamburger_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 10001;
  }


  #kioku_nav_menu .hamburger_btn span {
    position: absolute;
    left: 9px;
    display: block;
    width: 26px;
    height: 2px;
    background-color: #DAC9A6;
    transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
    transform-origin: center center;
  }

  #kioku_nav_menu .hamburger_btn span:nth-child(1) { top: 15px; }
  #kioku_nav_menu .hamburger_btn span:nth-child(2) { top: 22px; }
  #kioku_nav_menu .hamburger_btn span:nth-child(3) { top: 29px; }

  #kioku_nav_menu .hamburger_btn.is_active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
    background-color: #F75C2F;
  }

  #kioku_nav_menu .hamburger_btn.is_active span:nth-child(2) {
    opacity: 0;
  }

  #kioku_nav_menu .hamburger_btn.is_active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
    background-color: #F75C2F;
  }

  #kioku_nav_menu .nav_list {
    display: none;
    width: 100%;
    flex-direction: column;
    background-color: rgba(28, 28, 28, 0.98);
    border-top: 1px solid rgba(218, 201, 166, 0.2);
    padding: 10px 0 1.25rem;
    max-height: calc(100vh - 50px);
    overflow-y: auto;
  }

  #kioku_nav_menu .nav_list.is_open {
    display: flex;
  }

  #kioku_nav_menu .nav_list li a {
    text-align: center;
    padding: 14px 1.25rem;
    font-size: 1rem;
    border-bottom: 1px dashed rgba(218, 201, 166, 0.1);
  }

  #news .news_item {
    flex-direction: column;
    gap: 10px;
  }

  #news .news_content {
    flex-direction: column;
  }

  #news .news_thumb{
	  width: 100%;
  }
 #news .news_thumb img{
	  width: 100%;
  }
#news .news_txt p {
	font-size: 0.875rem;
}

  #introduction .intro_body p,
  #hm_story .story_body p {
    font-size: 1rem;
  }

 /* #hm_story .slide {
    width: 280px;
  }*/

#hm_cast .cast_main01,
#hm_cast .cast_main02 {
    flex-direction: column;
/*    align-items: flex-start;*/
  }
#hm_cast .cast_main02 .cast_card{
	flex-direction: column;
	}
#hm_cast .cast_photo img {
    width: 100%;
	object-fit: cover;
/*    aspect-ratio: 3 / 4;*/
  }
/* サブ出演者 */
#hm_cast .cast_sub{
}
#hm_cast .cast_sub li{
flex: 0 1 calc(50% - (1rem / 2));
/*flex: 0 1 47%;*/
}
#hm_cast .cast_sub .cast_txt {
	padding: 0.5em;
}
#hm_cast .cast_sub .cast_name {
}
#hm_cast .cast_sub .cast_name .role {
	font-size: 0.875rem;
}

#hm_platform .haishin_bnr{}
#hm_platform .banner_item {
/*    flex: 0 1 100%;*/
flex: 0 1 calc(50% - (1rem / 2));
  }

  #overview div.row {
    flex-direction: column;
  }

  #overview dt {
    width: 100%;
    padding-right:inherit;
	text-align: center;
  }
  
/*  #overview dt::after {
    content: "";
  }*/


/*（7）音声ガイド　AUDIO GUIDE*/
#audio{}
.flx.kaji{gap:1rem;margin-bottom: 2rem;flex-direction: column;align-items:center;}
.flx.kaji .kaji_left img{width: 70%;margin: 1rem auto 0;display: block;}
	#kiokuosen .guide{text-align: center;}
#kiokuosen .guide_inner dl.flx{flex-direction: column;}
#kiokuosen .guide_inner dt,
#kiokuosen .guide_inner dd{flex:1;}
#kiokuosen .guide_inner img{width:50%;margin:0 auto;display: block;}

  #organizer div.row {
    flex-direction: column;
  }

  #organizer dt {
    width: 100%;
	text-align: inherit;
  }
  
  #organizer dt::after {
    content: "";
  }
	

.vsp{display: block;}
.vpc{display: none;}
}