@charset "UTF-8";
/* CSS Document */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 960px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
body {
  font-family: "dnp-shuei-mincho-pr6n", serif;
	font-weight: 500;
  line-height: 1.5;
  background: radial-gradient(circle at center, #6A8E74 0%, #2C4635 100%);
  background-attachment: fixed;
  color: #fff;
  overflow-y: scroll;
	padding-top: 80px;
}
img {
  max-width: 100%;
  height: auto;
	vertical-align: bottom;
}
.mainSite {
  width: 100%;
  padding: 0;
  margin: 0;
}
.wrapper {
  position: relative;
  text-align: center;
}
.inner{
    width: 70%;
    margin: 0 auto;
    padding: 3% 0;

}

/* --- 新規セクション共通設定 --- */
.section_title {
  color: #C0A040; /* 血のような赤 */
  text-align: center;
  font-size: 3rem;
  margin: 0 auto 5%;
  letter-spacing: 0.5rem;
  
}

.catchcopy {
  color: #E06020;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

.sub_catch {
  color: #E06020;
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.6;
}

.text_block {
  margin: 30px auto;
  text-align: justify;
}

.text_block p {
  font-size: 1rem;
  line-height: 2.0;
  margin-bottom: 1.5em;
  color: #e0e0e0;
}

.intro_image, .story_image {
  margin: 40px 0;
  text-align: center;
}

/*--------------------
LOADING
---------------------*/

.loading_wrap {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background-color: #fff;
}
.logo {
width: 25%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px;
  text-align: center;
  z-index: 1000;
  opacity: 0;
}

/*--------------------
ANIMATION
---------------------*/

.js-animation {
  opacity: 0;
  visibility: hidden;
  transition: all 2s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transition: all 2s;
}
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 4s;
  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeOut {
  animation-name: fadeOutAnime;
  animation-duration: 2s;
 
  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fadeOutAnime {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
	display: none;
  }
}

.scaleIn {
  animation-name: scaleInAnime;
  animation-duration: 2s;
  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes scaleInAnime {
  0% {
	  transform: scale(1.2);
	  filter: blur(10px);
  }
  100% {
	   transform: scale(1);
	  filter: blur(0);
  }
}


.blurS {
	animation-name: blurS;
  animation-duration: 3s;
	  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes blurS {
  0%   {
  	filter: blur(10px);
	  opacity: 0;
	
  }
  100% { 
    filter: blur(0);
	  opacity: 1;
  }
}



/*--------------------
TOP
---------------------*/

section.top{
	width: 100%;
	position: relative;	
}


.top .inner{
    width: 100%;
    height: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
		
}

.title{

    width: 100%;
    position: absolute;
    top: %;
    left: %;
    transform: translate(-50%, -50%);
    z-index: 2;
	opacity: 0;
}
.date{
    width: 100%;
    position: absolute;
    top: %;
    left: %;
    transform: translate(-50%, -50%);
    z-index: 4;
	opacity: 0;
}
.date.pc{
	width: 75%;
	margin: 10% auto 0;
}
.copyright{
    width: 100%;
    position: absolute;
    top: %;
    left: %;
    transform: translate(-50%, -50%);
    z-index: 3;
	opacity: 0;
}


/*ul.sns_list{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 5%;
    left: 3%;
	    z-index: 500;
		opacity: 0;
}
li.sns_item{
	margin: 0 20px 0 0;
}
li.sns_item a{
    display: flex;
    width: 50px;
    height: 50px;
    background-color: ;
    justify-content: center;
    align-items: center;
	transition: .7s;
}
li.sns_item a:hover{
	transition: .7s;
}
li.sns_item a img{
	width: 60%;
	margin: 0 auto;
}*/
.responsive {
	margin: 0 auto 5%;
width: 560px;
height: 360px;
}

/*--------------------
バナー
---------------------*/
.cmt_bnr.pc {
    width: 30%;
    position: absolute;
    top: 15%;
    left: 22%;
    transform: translate(-50%, -50%);
    z-index: 5;
    opacity: 0;
}
/* ==================================
  ムビチケ
================================== */
.mvtk_wrap {
    margin: 3% auto;
	opacity: 0;
}.bnr_wrap {
    width: 55%;
    margin: 1% auto;
	opacity: 0;
}
#mvtk-widgets-container{
	opacity: 0;
	margin: 0 auto;
}
/*--------------------
NEWS
---------------------*/

.kisaragi_hp_bnr{
    width: 45%;
    margin: 0 auto;
}
.kisaragi_hp_bnr a{
   display: block;
   transition: .7s;
   border: 1px solid #fff;
}
.kisaragi_hp_bnr a:hover{
   opacity: .7;
   transition: .7s;
}


h1.midashi_title{
    color: #FC0000;
    text-align: center;
    font-size: 3rem;
    margin: 3% auto 3%;
    line-height: 1;
    letter-spacing: 0.5rem;
}

.news .inner{
width: 50%;

}


.news .inner{
width: 50%;

}
.news_wrap img {
        width: 60%;
    }

/* ニュースセクション全体の背景に質感を追加 */
.news_wrap {
    /* 深い森をイメージした落ち着いた背景 */
    background: rgba(44, 70, 53, 0.3);
    border-radius: 15px;
    padding: 50px 30px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(192, 160, 64, 0.2);
}

/* 足跡のデコレーション（右上と左下に配置するイメージ） */
.news_wrap::before {
    content: "🐾";
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2rem;
    opacity: 0.1;
    transform: rotate(15deg);
}

h2.midashi_title {
    /* 少し明るく輝きのある黄金色に変更 */
  color: #E5C460; 
  /* 深い緑色の影を落として背景から浮かせる */
  text-shadow: 1px 2px 5px rgba(20, 30, 20, 0.6); 
  text-align: center;
  font-size: 3rem;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3rem;
}

ul.ulblogtitle li {
    width: 100%;
    margin-bottom: 15px;
    padding: 25px 0;
    background-color: rgba(247, 245, 240, 0.05);
    border-left: 4px solid #C0A040; /* 黄金色のライン */
    border-radius: 0 10px 10px 0;
    position: relative;
    transition: all 0.4s ease;
    list-style: none;
}

ul.ulblogtitle li:hover {
    background-color: rgba(247, 245, 240, 0.1);
    transform: translateY(-3px); /* 優しく浮き上がる */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.news_date {
    font-family: 'Georgia', serif;
    color: #E06020; /* 温かいオレンジ */
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 8px;
    display: block;
}

.news_title {
    font-size: 1.15rem;
    color: #F7F5F0;
    line-height: 1.5;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(247, 245, 240, 0.1);
}

/* 矢印を足跡に変更 */
ul.ulblogtitle li a::after {
    content: "🐾";
    font-size: 1.5rem;
    color: #C0A040;
    margin-left: 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

ul.ulblogtitle li:hover a::after {
    opacity: 0.7;
}
/*--------------------
TRAILER
--------------------*/
.trailer{
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 998;
    opacity: 0;
    display:none;
}

.trailer.on{
	animation-name: TfadeInAnime;
  animation-duration: 0.5s;
  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes TfadeInAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.trailer.off{
	animation-name: TfadeOutAnime;
  animation-duration: 0.5s;
  animation-iteration-count: none;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes TfadeOutAnime {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.trailer_overlay{
    position: fixed;
    top: 0;
    width: 100%;
   height: 100%;
    background: #000;
    opacity: 1;
    z-index: 999999997;
    
}

.close_btn{
      position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
  z-index: 999999999;
  cursor: pointer;
  transition: .7s;
}
.close_btn:hover{
transition: .7s;
opacity: .7;
}
.close_btn_inner{
position: relative;
width: 100%;
height: 100%;
}

.close_btn_inner::before,
.close_btn_inner::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  width: 30px;
  border-top: 3px solid #ffffff;
}
 
.close_btn_inner::before {
      transform: translate(-50%, -50%) skewY(-45deg);
}
 
.close_btn_inner::after {
     transform: translate(-50%, -50%) skewY(45deg);
}

.trailer.on .trailer_overlay{
    opacity: 1;
}

.trailer .trailer_inner{
    position: absolute;
    top: calc(50% - 40px);
    left: 50%;
    transform: translate(-50%, -50%) scale(1, 1);
    width: 60%;
    aspect-ratio: 16 / 9;
    z-index: 999999998;
    height: auto;
    box-sizing: content-box;
}

.trailer .trailer_tab{
    position: absolute;
    color: #fff;
    top: 100%;
    display:flex;
    width: 100%;
    justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 10px;
	z-index: 999999998;
	 font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}

.trailer .trailer_tab li{
    display: flex;
    justify-content: center;
    width: calc(50% - 2.5px);
    padding: 10px;
    font-weight: bold;
    background: #fff;
    color: #000;
    margin: 0 5px 5px 0;
    font-size: 14px;
    line-height: 1;
    flex-wrap: wrap;
    box-sizing: border-box;
    letter-spacing: 0.1rem;
    text-align: center;
}
.trailer_tab li:nth-child(2n){
	margin: 0 0 5px;
}
.trailer .trailer_tab li:last-child{
    width: 100%;
    margin: 0;
}
.trailer_tab li.f_act{
	cursor: pointer;
	
	background: rgba(0, 0, 0, 0.8);
    color: #fff;
}

.trailer_tab li.f_act:hover{
   
}
#youtube1{
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1,1);
    opacity: 1;
	z-index: 2;
}

.trailer.on #youtube1{
    transform: scale(1,1);
    opacity: 1;
}


.youtube_wrapper{
		width: 48%;
	
	}
.youtube_wrapper:first-child{
		margin-right: 4%;
	}
.youtube_inner{
position: relative;
 padding-bottom: 56.25%;
  overflow: hidden;
	
}
.youtube_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ytp-cued-thumbnail-overlay-image {
    filter: none;
    -webkit-filter: none;
}

/*--------------------
MOVIE
---------------------*/

section.movie{
	position: relative;
	overflow: hidden;
}
.mvtk_wrap::before{
	    mix-blend-mode: lighten;
}
.movie .inner{
	position: relative;
	z-index: 2;

	    padding:  0;
}
.movie h1 img{
	width: 50%;
}
.movie_wrap{
display: flex;
overflow: hidden;
	flex-wrap: wrap;
}
.movie_wrap{
	font-size: 1.5rem;
}
ul.trailer_list{
      width: 100%;
    margin: 2% auto;
	flex-wrap: wrap;
    display: flex;
        justify-content: flex-start;
    align-items: center;
  }
li.trailer_item {
    width: 45%;
    margin: 1% auto;
}
.trailer_pop_btn{
	    margin: 0 auto;
    width: 100%;
	box-sizing: border-box;
	    background: #000;
}
.trailer_pop_btn a{
    display: flex;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    position: relative;
    z-index: 5;
    text-align: center;
    justify-content: center;
    align-items: center;
	    overflow: hidden;
}
.trailer_pop_btn a::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../img/yt_logo.png);
    background-repeat: no-repeat;
    background-size: 50px;
    background-position: center;
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.trailer_pop_btn iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    line-height: 1;
}

.movie_midashi{
    color: #fff;
    margin: 10px 0 0 0;
	    letter-spacing: 0.5rem;
		text-align: center;
}
/*--------------------
消す
---------------------*/
/* 最初は隠しておく */
.trailer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000; /* ローディング(9999)よりは下、メインサイトよりは上 */
}

/* 表示された時のオーバーレイの設定 */
.trailer_overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* 背景を暗くする */
    cursor: pointer;
}
.title, .sns_list, .date, .copyright {
    opacity: 0;
    /* transformを削除、または 'none' に固定 */
    transform: none !important; 
    transition: opacity 1.5s ease;
    /* 元のレイアウトを維持するための設定 */
    visibility: visible; 
}

/* --- クラスがついた時の表示状態 --- */
.title.fadeIn, .sns_list.fadeIn, .date.fadeIn, .copyright.fadeIn {
    opacity: 1;
}

/* メインビジュアルも位置がずれる場合は、scaleのみにする */
.top_main {
    opacity: 0;
    transition: opacity 0s ease;
}

.top_main.scaleIn {
    opacity: 1;
}

/* ぼやけ（filter）が原因で「変なふわっと感」が出るのを防ぐ */
.logo {
    transition: opacity 1s ease, filter 1s ease;
}
.logo.fadeOut {
    opacity: 0;
    filter: blur(10px);
}

/* --- 新規セクション共通設定 --- */
.section_title {
  color: #C0A040; /* 血のような赤 */
  text-align: center;
  font-size: 3rem;
  margin: 0 auto 5%;
  letter-spacing: 0.5rem;
  
}

.catchcopy {
  color: #FF8A40; 
  /* 深い緑色の影を落とす */
  text-shadow: 1px 2px 5px rgba(20, 30, 20, 0.6);
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

.sub_catch {
  color: #999;
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.6;
}

.text_block {
  margin: 30px auto;
  text-align: justify;
}

.text_block p {
  font-size: 1rem;
  line-height: 2.0;
  margin-bottom: 1.5em;
  color: #e0e0e0;
}

.intro_image, .story_image {
  margin: 40px 0;
  text-align: center;
}

/* --- スライドショーレイアウト（横流し無限ループ） --- */
.slideshow {
  overflow: hidden; /* 枠外にはみ出た画像を隠す */
  width: 100%;
  margin-top: 40px;
}

.slide-track {
  display: flex;
  width: max-content; /* 画像の枚数に合わせて幅を自動拡張 */
  animation: scroll 25s linear infinite; /* 25秒かけて一定の速度で流れる */
}

.slide-track img {
  width: 300px; /* 画像1枚あたりの幅 */
  height: 200px; /* 高さを揃える */
  object-fit: cover;
  margin-right: 20px; /* 画像と画像の隙間 */
  border-radius: 10px; /* 角を少し丸めて優しい印象に */
}

/* マウスオーバーでスライドを一時停止させたい場合はこのままでOK */
.slideshow:hover .slide-track {
  animation-play-state: paused;
}

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* 半分(4枚分)進んだら瞬時に0%へ戻りループする */
}

/* --- Cast セクション：ネイチャー・スクラップブック風 --- */
.cast_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 50px 20px; /* 上下の隙間を広めに */
  margin-top: 50px;
}

.cast_item {
  width: 45%; /* PCでは2枚ずつ並べる */
  display: flex;
  flex-direction: column; /* 画像を上、テキストを下に */
  background: rgba(255, 252, 240, 0.08); /* 非常に淡い、古い紙のような色 */
  padding: 25px;
  border-radius: 15px;
  border: 1px solid rgba(192, 160, 64, 0.2);
  position: relative;
  overflow: hidden;
  transition: all 0.4s ease;
  box-sizing: border-box;
  margin-bottom: 0;
}

/* 背景にうっすら足跡のデコレーション */
.cast_item::before {
  content: "🐾";
  position: absolute;
  bottom: 10px;
  right: 15px;
  font-size: 2.5rem;
  opacity: 0.5;
  transform: rotate(-20deg);
  color: #C0A040;
}

.cast_item:hover {
  transform: translateY(-10px) rotate(1deg); /* 少し浮き上がって傾く遊び心 */
  background: rgba(255, 252, 240, 0.12);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

.cast_img {
  width: 100%;
  margin-right: 0;
  margin-bottom: 25px;
  padding: 12px;
  background: #fff; /* 写真の白いフチ（ポラロイド・現像写真風） */
  box-shadow: 0 4px 15px rgba(0,0,0,0.4);
  transform: rotate(-2deg); /* 1枚ずつ少し傾けて「置いた感」を出す */
  transition: transform 0.3s;
  box-sizing: border-box;
}

/* 偶数番目の画像は逆に傾ける */
.cast_item:nth-child(even) .cast_img {
  transform: rotate(2deg);
}

.cast_item:hover .cast_img {
  transform: rotate(0deg); /* ホバーでまっすぐに */
}

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

.cast_text {
  width: 100%;
  text-align: left;
}

.cast_name {
  font-size: 1.4rem;
  color: #E5C460;
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  border-bottom: 2px solid rgba(224, 96, 32, 0.4); /* オレンジのライン */
  padding-bottom: 10px;
}

/* HTML内の<div style="color: white">レオニド...</div> を調整 */
.cast_name div {
  font-size: 1.1rem;
  color: #F7F5F0 !important; 
  margin-top: 5px;
  font-weight: normal;
}

.cast_text p {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #F7F5F0;
  text-align: justify;
}

/* --- Original / Staff セクション --- */


.comment_title {
  color: #FC0000;
  font-size: 1.1rem;
  margin: 30px 0 15px;
  font-weight: bold;
}

/* --- Comment セクション（メモ帳・付箋風） --- */
.comment_sec {
  position: relative;
  z-index: 2;
}

.comment_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 20px;
  margin-top: 50px;
}

.comment_item {
  width: calc(50% - 15px); /* PCでは2列に並べる */
  background: #FDFBF6; /* 温かみのある紙の色（アイボリー） */
  padding: 35px 30px 25px;
  border-radius: 3px;
  position: relative;
  box-sizing: border-box;
  box-shadow: 2px 5px 15px rgba(0,0,0,0.2);
  color: #333;
  transition: transform 0.3s ease;
}

/* ホバー時に少しフワッと浮く */
.comment_item:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 5px 10px 20px rgba(0,0,0,0.3);
}

/* 共通のマスキングテープ（上部中央） */
.comment_item::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 50%;
  width: 90px;
  height: 25px;
  background: rgba(224, 96, 32, 0.6); /* オレンジの半透明テープ */
  mix-blend-mode: multiply;
  transform: translateX(-50%) rotate(-2deg);
  box-shadow: 1px 1px 3px rgba(0,0,0,0.1);
}

/* Type1: まっすぐなメモ帳風 */
.comment_item.type1 {
  transform: rotate(1deg);
}

/* Type2: 少し傾いた黄味がかった付箋風 */
.comment_item.type2 {
  background: #FFFCE0;
  transform: rotate(-2deg);
}
/* Type2のテープの色は少し変える（深い緑） */
.comment_item.type2::before {
  background: rgba(44, 70, 53, 0.5);
  transform: translateX(-50%) rotate(3deg);
}

.cmt_text {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #2C4635; /* 文字色は深い緑で読みやすく */
  text-align: justify;
}

.cmt_name {
  font-size: 1.1rem;
  text-align: right;
  color: #C0A040;
  font-weight: bold;
  border-top: 1px dashed rgba(44, 70, 53, 0.2); /* 切り取り線風 */
  padding-top: 15px;
  line-height: 1.4;
}

.cmt_name span {
  font-size: 0.85rem;
  font-weight: normal;
  color: #666;
}



/*THEATER----------------------------------------------*/

.theater{
	padding: 5% 15% 10%;
	/*background-color: #fefefe;
	background-color: #614644;*/
}
.theater_wrap{
	/*background-color: #fefefe;*/
}
.theater_inner{
	/*max-width: 840px;*/
    margin: 0 auto;
}
.theater h1.midashi{
	margin-bottom: 70px;
	color: #342426;
	font-weight: bold;
}
table{
	width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: .9em;
    /*margin-bottom: 20px;*/
}
tbody{
	display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
	border-collapse: separate;
  border-spacing: 0;
}
tr {
	background-color: #fff;
}
th {
    padding: 10px 10px;
    padding-right: 4px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: #000;
    color: #fff;
}
table .tb1 {
    width: 20%;
}
table .tb2 {
    width: 30%;
}
table .tb3 {
    width: 20%;
}
table .tb4 {
    width: 15%;
}
table .tb5 {
    width: 14%;
}
td {
    padding: 8px 10px;
    padding-right: 4px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #333;
	vertical-align: middle;
	border-bottom: 1px solid #ddd;
}

.pref {
    height: 52px;
	padding-top: 10px;
}
.multi{
	vertical-align: top;
}
.theater_name a{
    color: #342426;
	border-bottom: 1px solid #342426;
}
.theater_name a:hover{
    color: gray;
}

.theater_cs{
	text-align: center;
	font-weight: 600;
}
/* --- 劇場の下のボタン --- */
.theater_btn_wrap {
  text-align: center;
  margin-top: 40px; /* テーブルとの隙間 */
}

.theater_btn {
  display: inline-block;
  padding: 15px 60px;
  background-color: #E06020; /* 温かいオレンジ */
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 30px; /* 押しやすいようにコロンと丸みを持たせる */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* 机の上に置いてあるような影 */
  border: 1px solid rgba(255, 252, 240, 0.2);
  transition: all 0.3s ease;
}

/* ホバーした時の動き */
.theater_btn:hover {
  background-color: #E5C460; /* ホバー時は明るい黄金色に */
  color: #2C4635; /* 文字色を深い森の緑にして見やすく */
  transform: translateY(-3px); /* ふんわり浮き上がる */
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

/*--------------------
FOOTER
---------------------*/

footer{
width: 100%;
border-top: 1px solid #c11f224d;
color: #fff;
font-size: 14px;
}
footer .inner{
padding: 2% 0;
}
.billing{
width: 87%;
margin: 0 auto;

}
.news_wrap h2{
	margin: 0 auto 5%;
}
.news_wrap img {
    width: 70%;
}
.movie h2{
	margin: 0 auto 5%;
}
.movie h2 img{
	width: 50%;
}
.intro h2 img{
    width: 50%;
}
	.story h2 img{
    width: 50%;
}
	.cast h2 img{
    width: 50%;
}
	.original_staff h2 img{
    width: 50%;
}


/* ====================================
   トップに戻るボタン
==================================== */
.page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 800; /* メニューより下、コンテンツより上 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  /* 背景を深い森の緑に */
  background: rgba(44, 70, 53, 0.8);
  /* 枠線を黄金色に */
  border: 1px solid #C0A040; 
  /* 文字色をオフホワイトに */
  color: #F7F5F0; 
  text-decoration: none;
  /* フォントをサイト全体の明朝体に合わせる */
  font-family: "dnp-shuei-mincho-pr6n", serif;
  font-size: 0.9rem;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.page-top:hover {
  /* ホバー時は温かいオレンジ色に */
  background: rgba(224, 96, 32, 0.9);
  color: #fff;
  transform: translateY(-5px); /* ホバー時に少し浮き上がる */
  /* ぼんやりオレンジに光るように修正 */
  box-shadow: 0 0 15px rgba(224, 96, 32, 0.5); 
}

/* 上向き矢印 */
.page-top .arrow {
  width: 10px;
  height: 10px;
  /* 矢印の色を最初は黄金色に */
  border-top: 2px solid #C0A040;
  border-right: 2px solid #C0A040;
  transform: rotate(-45deg);
  margin-top: 5px;
  margin-bottom: 3px;
  transition: all 0.3s ease;
}

.page-top:hover .arrow {
  /* ホバー時は矢印を白に */
  border-color: #fff;
}

/* スクロールして表示された時のクラス */
.page-top.is-show {
  opacity: 1;
  visibility: visible;
}

/* ====================================
   固定ヘッダー（PC/SP共通）
==================================== */
.site_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  /* 背景を黒から「明るい生成り色」に変更して黒いロゴを見やすく */
  background: rgba(247, 245, 240, 0.95); 
  backdrop-filter: blur(5px);
  z-index: 900;
  /* 下線を赤から黄金色に変更 */
  border-bottom: 1px solid rgba(192, 160, 64, 0.3);
}
/* SNSリストのバレット（点）を消す設定を追加 */
.header_sns, .sp_menu_sns, .nav_list, .sp_nav_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.header_inner {
  max-width: 1400px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
}

.header_logo img {
  height: 40px;
  width: auto;
}

/* PCナビゲーション */
.pc_nav .nav_list {
  display: flex;
  gap: 30px;
}

/* PCナビゲーションの文字色調整 */
.pc_nav .nav_list a {
  /* 背景が明るくなったので、文字色を「深い森の緑」に変更 */
  color: #2C4635; 
  text-decoration: none;
  letter-spacing: 0.1em;
  font-size: 1.1rem; /* サイズを少し調整 */
  font-weight: bold;
  transition: color 0.3s;
}

.pc_nav .nav_list a:hover {
  /* ホバー時は温かいオレンジに */
  color: #E06020;
}

/* --- Pressボタン（PC用独立デザイン・目立たないシックな色） --- */
.pc_nav .nav_list li.nav_btn_press {
  margin-left: 25px; /* 他のメニューと少し距離を離す */
}

.pc_nav .nav_list li.nav_btn_press a {
  background-color: transparent; /* 背景を透明にして目立たせない */
  color: #2C4635; /* 文字色は他のメニューと同じ深い緑 */
  border: 1px solid rgba(44, 70, 53, 0.6); /* 深い緑の細い枠線 */
  padding: 6px 20px; /* サイズを少しコンパクトに */
   /* 綺麗な角丸 */
  font-size: 1.0rem;
  box-shadow: none; /* 影を消してスッキリ */
  transition: all 0.3s ease;
}

/* マウスオーバー時：色が反転して静かに主張 */
.pc_nav .nav_list li.nav_btn_press a:hover {
  background-color: #2C4635; /* 背景が深い緑に */
  color: #fff; /* 文字色が白に */
  border-color: #2C4635;
  transform: none; /* 浮かび上がるアニメーションを廃止 */
  box-shadow: none;
}

/* ヘッダー内SNSアイコン（PC用） */
.header_sns {
  display: flex !important;
  gap: 25px;
}

.header_sns .sns_item img {
  width: 30px;
  transition: transform 0.3s;
}

.header_sns .sns_item img:hover {
  transform: scale(1.1);
}

/* ★追加: PC時はハンバーガーボタンとスマホメニューを非表示にする */
.hamburger, .sp_nav {
  display: none;
}

/* ★追加: メニュー展開時に背景をスクロールさせない */
body.noscroll {
  overflow: hidden;
}

@media screen and (max-width: 1200px) {
  .news .inner {
    width: 70%;
  }
}
@media screen and (max-width: 1200px) {
	.news .inner {
    width: 70%;
}
}

@media screen and (max-width: 960px) {
.site_header {
    height: 60px;
  }
  .movie_wrap {
    font-size: 1.2rem;
}
  .header_inner {
    padding: 0 20px 0 0;
  }

  .pc_nav, .header_sns {
    display: none !important;
  }

  /* ハンバーガーボタン（スマホのみ表示） */
  .hamburger {
    display: block; /* ★修正: スマホで表示させる */
    position: relative;
    width: 30px;
    height: 24px;
    cursor: pointer;
    
  }

  .hamburger_line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  /* 背景に合わせて線を「深い森の緑」に変更 */
  background-color: #2C4635;
  transition: all 0.4s;
}
  .hamburger_line:nth-child(1) { top: 0; }
  .hamburger_line:nth-child(2) { top: 11px; }
  .hamburger_line:nth-child(3) { top: 22px; }

  .hamburger.is-active .hamburger_line:nth-child(1) { transform: translateY(11px) rotate(45deg); background-color: #FC0000; }
  .hamburger.is-active .hamburger_line:nth-child(2) { opacity: 0; }
  .hamburger.is-active .hamburger_line:nth-child(3) { transform: translateY(-11px) rotate(-45deg); background-color: #FC0000; }

 /* 全画面メニュー */
  .sp_nav {
    display: flex;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    /* 背景をヘッダーに合わせたアイボリーに変更 */
    background: rgba(247, 245, 240, 0.98);
    z-index: 890;
    transition: all 0.5s ease;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* 右側の線を赤から黄金色に変更（または不要なら 0 に） */
    border-right: 1px solid #C0A040;
  }

  .sp_nav.is-active {
    left: 0;
  }

  .sp_nav_list {
    text-align: center;
    margin-bottom: 50px;
    list-style: none; /* ドットを消す */
  }

  .sp_nav_list li {
    margin-bottom: 30px;
  }

  .sp_nav_list a {
    /* 文字色を深い森の緑に変更 */
    color: #2C4635;
    font-size: 1.8rem; /* 少し大きくして見やすく */
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s;
  }

  /* タップした時やアクティブな時の色をオレンジに */
  .sp_nav_list a:active,
  .sp_nav_list a:hover {
    color: #E06020;
  }

  /* メニュー内のSNSアイコン */
  .sp_menu_sns {
    display: flex;
    gap: 30px;
    list-style: none; /* ドットを消す */
  }
  .sp_menu_sns img {
    width: 35px;
    /* 黒いアイコンが強すぎる場合は、少し透過させると馴染みます */
    opacity: 0.8;
  }
	body {
    padding-top: 60px; /* ★スマホヘッダーの高さ分、全体を下げる */
  }
.inner {
    width: 80%;
    margin: 0 auto;
    padding: 10% 0;
}

/*--------------------
LOADING
---------------------*/

.logo {
width: 50%;
}
.cmt_bnr.sp{
		opacity: 0;
	}

/*--------------------
TOP
---------------------*/

section.top{

}
/*ul.sns_list {
	align-items: flex-start;
	flex-direction: column;
    top: 3%;
    right: 6%;

}

li.sns_item a {
    width: 40px;
    height: 40px;
	
	}
	li.sns_item:first-child {
    margin: 0 10px 0 0;
}*/
	.responsive {
		margin: 0 auto;
width: 340px;
height: 260px;
}
	/* --- Pressボタン（スマホ用独立デザイン・目立たないシックな色） --- */
  .sp_nav_list li.nav_btn_press {
    margin-top: 40px; /* 上の通常メニューとしっかり間隔を空けて独立 */
  }

  .sp_nav_list li.nav_btn_press a {
    display: inline-block;
    background-color: transparent; /* 背景透明 */
    color: #2C4635; /* 深い緑 */
    border: 1px solid rgba(44, 70, 53, 0.6); /* 細い枠線 */
    padding: 10px 40px;
   
    box-shadow: none;
    font-size: 1.2rem; /* 通常メニュー（1.8rem）より小さくして目立たせない */
    transition: all 0.3s ease;
  }

  /* タップ・ホバー時 */
  .sp_nav_list li.nav_btn_press a:active,
  .sp_nav_list li.nav_btn_press a:hover {
    background-color: #2C4635;
    color: #fff;
    border-color: #2C4635;
  }
/*--------------------
NEWS
---------------------*/
	
	.kisaragi_hp_bnr {
    width: 100%;
	}
	
	.news .inner {
    width: 80%;
    padding: 5% 0 5% 0;
}
.news_wrap {
    margin: 2% auto 0;
	}

   h1.midashi_title {
    font-size: 1.7rem;
        margin: 5% 0 5%;
    }
	h2.midashi_title{
		font-size: 2rem;
	}
	ul.ulblogtitle li a {
    flex-direction: column;
		font-size: clamp(14px, 4vw, 16px);
	}
	.news_date {
    width: 100%;
    margin: 0 0 5px;
	
	}
	.news_title {
    width: 100%;
    margin: 0 0 3%;
	line-height: inherit;
}
.news_wrap img {
    width: 100%;
}

/*--------------------
movie
---------------------*/	
	.movie .inner{
		padding: 10% 0
	}
	.movie h2 img{
	width: 100%;
}
	.intro h2 img{
    width: 100%;
}
	.story h2 img{
    width: 100%;
}
	.cast h2 img{
    width: 100%;
}
	.original_staff h2 img{
    width: 100%;
}
li.trailer_item {
	width: 80%;}

/* Commentセクションのスマホ対応 */
  .comment_item {
    width: 100%;
    margin-bottom: 20px;
  }	
	
/*THEATER-------------------------------------------------------*/
	table{
		table-layout: fixed;
	}
	tbody{
		font-size: 13px;
	}
	th{
		padding: 10px 6px;
		vertical-align: middle;
	}
	.theater_name{
		font-size: 13px;
	}
	table .tb1 {
    width: 15%;
}
	table .tb2 {
    width: 40%;
}
	table .tb3 {
    width: 8%;
}
	table .tb4 {
    width: 15%;
}
	table .tb5 {
    width: 8%;
}
	.tell a{
		color: #000;
	}
	.theater {
		padding: 10% 10% 20%;
	}
/* 劇場ボタンのスマホ調整 */
  .theater_btn_wrap {
    margin-top: 30px;
  }
  .theater_btn {
    display: block;
    width: 85%; /* スマホ画面の幅に合わせる */
    margin: 0 auto;
    padding: 12px 20px;
    font-size: 1rem;
  }
	
/*--------------------
FOOTER
---------------------*/
footer{
font-size: 12px;
}
footer .inner {
    padding: 5% 0;
}
.billing {
    width: 100%;
	max-width: 450px;
	font-weight: 100;
	}
.section_title {
    font-size: 2rem;
  }
  
  .catchcopy {
    font-size: 1.6rem;
  }
  
  .sub_catch {
    font-size: 1.1rem;
	text-align: justify;
  }
  
  .slide-track img {
    width: 220px; /* スマホでは少し小さくする */
    height: 150px;
    margin-right: 15px;
  }

  .cast_item {
    width: 100%;
    margin-bottom: 40px;
  }
  .cast_img {
    transform: rotate(-1deg);
    padding: 8px;
  }
	.cast_name{
		font-size: 1.1rem
	}
  .cast_text {
    width: 100%;
  }	
	
	
	.page-top {
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    font-size: 0.8rem;
  }
  .page-top .arrow {
    width: 8px;
    height: 8px;
    margin-bottom: 2px;
  }
}

@media screen and (max-width: 500px) {
	
/*--------------------
TOP
---------------------*/
	
}

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

/*--------------------
TOP
---------------------*/
	
	
}




@media (orientation: landscape) and (max-width: 960px){
/*デバイスが横向き、画面の横幅が 767px 以下の場合の記述*/

}
	
	
	
	