@charset "utf-8";
/* CSS Document */

/***フォント
font-family: 'Noto Sans JP', sans-serif; wght@400;500;700;900
font-family: 'Noto Serif JP', serif; :wght@600;700;900

丸ゴシック
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
***/

/***色
紺：#203864;
オレンジ：#e3795f:
淡いオレンジ：#f5b69c;
緑：#64ba98;
***/

/******フェードイン*****/

.fadein {
    animation-name: fadein;
    animation-duration: 3s;
}

@keyframes fadein {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/**** 下からフェードインボックス ****/
.fade-up {
	opacity: 0;
	transform: translateY(10vh); /* 下へ50px（または10vh）ずらした状態からスタート */
	transition: opacity 2.5s cubic-bezier(0.25, 1, 0.5, 1), 
	            transform 2.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 表示されたとき */
.fade-up.is-show {
  opacity: 1;
  transform: translateY(0);
}


/********リンク********/
a {
    color: #e3795f;
    text-decoration: none;}
a:hover{}


a:hover img{
  filter: alpha(opacity=70);
  opacity: 0.7;
  zoom: 1.0;
  }

a:hover img{
  opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}
@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}

/********マージン、パディング********/

.marTop1em {margin-top: 1em;}
.marTop2em {margin-top: 2em;}
.marTop3em {margin-top: 3em;}
.marTop4em {margin-top: 4em;}
.marTop5em {margin-top: 5em;}
.marRgt1em {margin-right: 1em;}
.marRgt2em {margin-right: 2em;}
.marRgt3em {margin-right: 3em;}
.marRgt4em {margin-right: 4em;}
.marRgt5em {margin-right: 5em;}
.marBtm1em {margin-bottom: 1em;}
.marBtm2em {margin-bottom: 2em;}
.marBtm3em {margin-bottom: 3em;}
.marBtm4em {margin-bottom: 4em;}
.marBtm5em {margin-bottom: 5em;}
.marLft1em {margin-left: 1em;}
.marLft2em {margin-left: 2em;}
.marLft3em {margin-left: 3em;}
.marLft4em {margin-left: 4em;}
.marLft5em {margin-left: 5em;}


/********テキスト********/

.uline {text-decoration: underline;}
.bold {font-weight: bold;}
.italic {font-style: italic;}

.right {text-align: right;}
.left {text-align: left;}
.cen {text-align: center;}



/********共通********/

.floatL {float: left;}
.floatR {float: right;}
.clear {float: clear;}

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}

.hidden {
	display: none;
}

.pk {
    display: inline-block;
}


html {  
	overflow-y:scroll; 
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-size: 6.25%; /* sets the base font to 10px for easier math */
 	-webkit-text-size-adjust: none;
} 


body{
	margin: 0;
	padding: 0;
	font-size: 18em;
	line-height: 2;
	color: #203864;
	font-family: "mizolet", sans-serif;
	font-weight: 400;
	font-style: normal;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: repeating-linear-gradient(
    to bottom,
    #46b680,       /* 1. 開始の色 */
    #ef9d64 110vh,  /* 2. 変化した色（上から50pxの位置） */
    #e28660 220vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #d9825e 330vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #88678f 440vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #005a8b 550vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
		
    #88678f 660vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #d9825e 770vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #e28660 880vh,  /* 3. 繰り返しの終わりの色（上から100pxの位置） */
    #ef9d64 990vh,  /* 2. 変化した色（上から50pxの位置） */
    #46b680 1100vh       /* 1. 開始の色 */
	);
}

body:after {
/*    z-index: -1;
    position:fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url("../images/bg_wadachi.svg");
    background-repeat: repeat-y;
    background-position: top;
    background-size: cover;*/
}

@media (orientation: portrait) { /**　画面が縦長の時　**/
   
}

@media screen and (max-width: 768px){
	html {font-size: 5%;}
	body {font-size: 16em;}    
}

@media screen and (max-width: 600px){
/*	body:after {
		background-size: 10vw;  
	}*/
}

/****　道をループ　****/
.scroll-background {
  /* 背景画像の設定 */
  background-image: url('../images/bg_wadachi.svg'); /* ループさせたい画像のパス */
  background-repeat: repeat-y;            /* 縦方向にループ */
  background-position: top center;        /* 横位置は中央（任意で変更してください） */
  background-size: 90vw auto;            /* 画像の縦幅（アニメーションのゴール地点に合わせる） */

}


/*****メインコンテンツ*****/

.wrap{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
}

main{
	margin: 0 auto;
	padding: 0;
}


/****************************************

　ナビ

*****************************************/

/* ハンバーガーボタンの基本スタイル */
.hamburger {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 100;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 30px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hamburger span {
  width: 100%;
  height: 3px;
  background-color: #fff;
  transition: all 0.3s ease;
}

/* ナビゲーションメニューの基本スタイル（初期は画面外） */
.nav-menu {
  position: fixed;
  top: 0;
  left: -400px;
  width: 400px;
  height: 100vh;
  background-color: rgba(232,89,30,0.9);
  z-index: 99;
  transition: left 0.5s ease;
  padding-top: 80px;
  
  /* 追加: 縦方向のスクロールを許可 */
  overflow-y: auto; 
  /* 追加: スクロールした際の下部の余白（必要に応じて調整） */
  padding-bottom: 20px;
}

.nav-menu ul {
  list-style: none;
  padding: 0 1em;
  margin: 0;
}

.nav-menu li a {
	display: block;
	padding: 0.5em;
	text-decoration: none;
	color: #fff;
	font-size: 1.2em;
	font-weight: 700;
	text-align: left;
}

.nav-menu li a:hover {
	opacity: 0.8;
}

/* メニュー開閉時のスタイル（.active付与時） */
.nav-menu.active {
  left: 0; /* 画面内にスライドイン */
}

/* ハンバーガーボタンを「×」に変形 */
.hamburger.active span {background-color: #fff;}
.hamburger.active span:nth-child(1) {
  transform: translateY(10.5px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0; /* 真ん中の線を消す */
}
.hamburger.active span:nth-child(3) {
  transform: translateY(-10.5px) rotate(-45deg);
}

/* PC用横並びヘッダーのスタイル */
.header-desktop {
    width: 100%;
    padding: 1em 0;
    text-align: center;
}
.header-desktop nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 0.5em; /* メニュー間の余白 */
}
.header-desktop nav ul li {
	margin: 0 0.8em;
}
.header-desktop nav ul li a {
    color: #f9fec6;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.3em;
    letter-spacing: 0.1em;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.1);
	transition: 0.5s;
}
.header-desktop nav ul li a:hover {
    color: #e3795f; /* ホバー時の色 */
}

/* JS操作用：ハンバーガーボタン非表示クラス */
.hamburger.is-hidden {
    display: none !important;
}

/* 画面幅762px以下のスタイル */
@media screen and (max-width: 1030px) {
    .header-desktop {
        display: none; /* スマホ幅では横並びメニューを非表示 */
    }
}


/****************************************

　フッター

*****************************************/

/****　ページトップへ戻る　****/

#pagetop{
    position: fixed;
    right: 15px;
    bottom: 15px;
    line-height: 0;
	z-index: 999;

}

#pagetop a {
	text-decoration: none;
	color: #fff;
}

#pagetop a::after {
	font-family: "Font Awesome 6 Free";	
	content: "\f106";
	font-weight: 900;
	font-size: 4em;
}


footer{
	width: 100%;
	margin: 0 auto;
    padding: 2em 0 0;
	background: rgba(89,156,124,0.8);	
	color: #fff;
	text-align: center;
	font-size: 18rem;
	bottom: 0;
}

footer .billing.pc {
	max-width: 600px;
	width: 90%;
	margin: 2em auto 0;
}

footer .billing.smp {
	display: none;
	max-width: 200px;
	width: 80%;
	margin: 2em auto 0;
}

footer .billing img {
	display: block;
	max-width: 100%;
}

@media screen and (max-width: 450px){
	footer .billing.pc {
		display: none;
	}

	footer .billing.smp {
		display: block;
	}
}

footer .list_credit {
	display: block;
	margin: 2em auto;
	line-height: 2;
}

footer .sns_link {
    margin-top: 40px;
}

footer .sns_link li {
    display: inline-block;
    margin: 1em 0.5em;
    text-align: center;
    vertical-align: top;
}

footer .sns_link li img {
    width: 100%;
}

footer .sns_link li.icon_toho {
    width: 45px;
}

footer .sns_link li.icon_x {
	position: relative;
	top: 5px;
    width: 35px;
}

footer .policy_link {
	margin: 1em auto 0;
}

footer .policy_link li {
	display: inline-block;
	margin: 0 auto 1em;
}

footer .policy_link li:not(:last-of-type)::after {
	content: "｜";
	margin: 0 0.5em;
}

footer .policy_link li a {
	text-decoration: none;
	color: #fff;
	font-size: 16rem;
	font-weight: 500;
}

footer .policy_link li a:hover {
	text-decoration: underline;
}


/****************************************

　ボックス

*****************************************/

.anchor {
    display: block;
    padding-top: 5em;
    margin-top: -5em;
}

@media screen and (max-width: 450px){
/*
	.anchor {
		padding-top: 8em;
		margin-top: -8em;
	}*/
}

.sec {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
    margin: 0 auto;
	padding: 0 1em;
}

.sec .inner {
    margin: 0 auto;
	background: rgba(255,255,255,0.8);
	border-radius: 10px;
	padding: 3em;
}

@media screen and (max-width: 600px) {
    .sec {
        /* 中央揃えを解除し、上から配置する */
        align-items: flex-start;
        /* ヘッダーに隠れないよう、上下に十分な余白を確保する */
        padding-top: 6em;
        padding-bottom: 6em;
    }

	.sec .inner {
		padding: 2em;
	}
}

/****　フェードインボックス　****/
/* 初期状態（隠れた状態） */
.fade-left, .fade-right {
	opacity: 0;
	transition: opacity 2.5s cubic-bezier(0.25, 1, 0.5, 1), 
	transform 2.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.fade-left {
	 transform: translateX(-10vw); /* 左へ50pxずらす */
}

.fade-right {
  transform: translateX(10vw);  /* 右へ50pxずらす */
}

/* 表示されたとき（クラスが付与された状態） */
.fade-left.is-show,
.fade-right.is-show {
  opacity: 1;
  transform: translateX(0);
}

/****　見出し　****/

.heading_sec {
    margin: 0 auto 1em;
    font-size: 50rem;
    line-height: 1.3;
    color: #599c7c;
	font-family: "mizolet", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.heading_sec .en {
    display: block;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.heading_sec .en .amp {
    margin: 0 0.3em;
}

.heading_sec .jp {
    display: block;
    font-size: 0.4em;
    font-weight: 500;
    color: #e3795f;
}
.heading_sec .note {
	display: block;
	margin-top: 0.5em;
	font-weight: 400;
	font-size: 0.65em;
}

@media screen and (max-width: 500px){

    .heading_sec {
        font-size: 40rem;
    }
}

/****************************************

　ビジュアル

*****************************************/

.area_visual {
    margin: 0 auto;
}
.area_visual .visual.tate {
    max-width: 900px;
    margin: 0 auto;

}
.area_visual .visual.tate img {
    display: block;
    width: 100%;
	box-shadow: 0 0 30px rgba(40,30,28,0.5);
}

.area_visual .visual.yoko {
	position: relative;
/*	display: none;*/
    width: 100%;
    height: calc(100vh - 100px); 
    margin: 0 auto 4em;
}
.area_visual .visual.yoko img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
}

@media (orientation: landscape) {
	.area_visual .visual.tate {
		display: none;
	}
	.area_visual .visual.yoko {
		display: block;
	}
}

@media screen and (max-width: 1019px) {
	.area_visual .visual.yoko {
		display: none;
	}
	.area_visual .visual.tate {
		display: block;
		padding: 60px 1em 1em;
	}
	.area_visual .visual.tate img {
		box-shadow: none;
	}
}


/***************************************************

　イントロダクション

**************************************************/

.area_intro {
    margin: 0 auto 6em;
}

.area_intro .inner {
	width: 100%;
	max-width: 900px;
}

.area_intro .inner .catch {
	padding: 0 0 2em;
	font-size: 1.4em;
	line-height: 2;
	text-shadow: 2px 2px 2px rgba(74,84,103,0.1);
	color: #203864;
}

.area_intro .inner .text p {
	line-height: 2em;
	text-align: left;
}
.area_intro .inner .text p:not(:last-of-type) {
	margin-bottom: 1.5em;
}

@media screen and (max-width: 600px) {

	.area_intro .inner .catch {
		font-size: 1.2em;
	}
}

/***************************************************

　ストーリー

**************************************************/

.area_story {
    margin: 0 auto 6em;
	position: relative;
    padding-bottom: 5em;
}

.area_story .inner {
	width: 100%;
	max-width: 900px;

}
.area_story .inner .catch {
	padding: 0 0 2em;
	font-size: 1.2em;
	line-height: 2;
	text-shadow: 2px 2px 2px rgba(74,84,103,0.1);
	color: #203864;
}
.area_story .inner .text p {
	line-height: 2em;
	text-align: left;
}
.area_story .inner .text p:not(:last-of-type) {
	margin-bottom: 1.5em;
}

.area_story .ashiato_img {
    position: absolute;
    right: 50px;
    bottom: 20px;
    width: 180px;
    z-index: 1;
	transform: rotate(20deg);
}

.area_story .ashiato_img img {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (max-width: 600px) {
    .area_story .ashiato_img {
        width: 100px;
        right: 10px;
        bottom: 10px;
    }
}

/***************************************************

　キャスト

**************************************************/

.area_cast.sec {
	display: block;
    margin: 0 auto 6em;
	padding: 200px 0;
	background-image:url("../images/bg_paper_top.png"),
					 url("../images/bg_paper_bottom.png");
	background-repeat:no-repeat,
					  no-repeat;
	background-position:center top,
						center bottom;
	background-size: auto;
}
.area_cast .bg_box {
	background-color: #e9e2dd;
}
.area_cast .bg_box::before {
  content: "";
/*  position: absolute;
  top: 0;
  left: 50%;*/
/*  transform: translateX(-50%);
  width: 30px;
  height: 30px;*/
  background-image:url("../images/bg_paper_top.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.area_cast .bg_box::after {
  content: "";
/*  position: absolute;
  top: 0;
  left: 50%;*/
/*  transform: translateX(-50%);
  width: 30px;
  height: 30px;*/
  background-image:url("../images/bg_paper_bottom.png");
  background-size: contain;
  background-repeat: no-repeat;
}


.area_cast .list_p {
	margin: 2em auto;
}

.area_cast .list_p:first-of-type {
	margin-top: 4em;
}

.area_cast .list_p li {
	display: inline-block;
	margin: 0 2em 3em;
	font-size: 28rem;
	line-height: 1.5;
}
.area_cast .list_p .yaku {
	display: block;
	font-size: 0.8em;
	color: #e3795f;
}
.area_cast .list_p .photo {
	display: block;
	max-width: 400px;
	margin: 0.5em auto;
	box-shadow: 0 0 30px rgba(52,44,43,0.5);
}
.area_cast .list_p .photo img {
	display: block;
	width: 100%;
}
.area_cast .list_p .name {
	display: block;
}

.area_cast .list_e {
	margin: 4em auto 2em;
}

.area_cast .list_e li {
	display: inline-block;
	margin: 0 1em 1em;
	font-size: 24rem;
	line-height: 1.5;
}

.area_cast .list_s {
	margin: 4em auto 2em;
}

.area_cast .list_s li {
	display: inline-block;
	margin: 0 1em 1em;
	font-size: 24rem;
	line-height: 1.5;
}

@media screen and (max-width: 1100px) {

	.area_cast .list_p li {
		margin: 0 1em 3em;
	}

	.area_cast .list_p .photo {
		max-width: 300px;
	}
}
@media screen and (max-width: 768px) {
	.area_cast .list_p .photo {
		margin: 0.3em auto;
		}
}

@media screen and (max-width: 500px) {
	.area_cast .list_p .photo {
		width: 70%;
	}

}

.area_cast .list_p .btn_cmt {
	display: block;
	max-width: 10em;
	margin: 0.5em auto;
	padding: 0.2em 0.5em 0.1em;
	background: #f5b69c;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	border: 1px solid #f5b69c;
	color: #fff;
	text-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	font-size: 0.6em;
	font-family: "fot-chiaro-std", sans-serif;
	font-weight: 700;
	font-style: normal;
	transition: 0.5s;
}


.area_cast .list_p .btn_cmt:hover {
	background: #e3795f;
}

/***************************************************

　クリエイティブ＆スタッフ

**************************************************/

.area_creative {
    margin: 0 auto 6em;
	position: relative;
    padding-bottom: 5em;
}

.area_creative .inner {
	width: 100%;
	max-width: 900px;
}

.area_creative .list1 {
	margin: 2em auto;
	font-size: 22rem;
	line-height: 1.5;
}

.area_creative .list1.s {
	font-size: 19rem;
}

.area_creative .list1 li {
	margin: 0 auto 1em;
}

.area_creative .list1 li .work {
	display: block;
	font-size: 0.8em;
	color: #e3795f;
}

.area_creative .list1 li .name {
	display: block;
}

.area_creative .list1 li .name .book {
	display: block;
	font-size: 0.8em;
}

.area_creative .list1 li .btn_cmt {
	display: block;
	max-width: 10em;
	margin: 0.5em auto;
	padding: 0.2em 0.5em 0.1em;
	background: #f5b69c;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	border: 1px solid #f5b69c;
	color: #fff;
	text-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	font-size: 0.6em;
	font-family: "fot-chiaro-std", sans-serif;
	font-weight: 700;
	font-style: normal;
	transition: 0.5s;
}

.area_creative .list1 li .btn_cmt:hover {
	background: #e3795f;
}

.area_creative .list2 {
	margin: 4em auto;
	font-size: 18rem;
	line-height: 1.5;
}

.area_creative .list2 li {
	margin: 0 auto 1em;
}

.area_creative .list2 li .work {
	display: block;
	font-size: 0.8em;
	color: #e3795f;
}

.area_creative .list2 li .name {
	display: block;
}

.area_creative .ashiato_img {
    position: absolute;
    left: 50px;
    bottom: 100px;
    width: 150px;
    z-index: 1;
	transform: rotate(-20deg);
}

.area_creative .ashiato_img img {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (max-width: 600px) {
    .area_creative .ashiato_img {
        width: 100px;
        right: 10px;
        bottom: 10px;
    }
}


/***************************************************

　スケジュール（速報）

**************************************************/

.area_sch.sokuho {
    margin: 0 auto;
	padding-bottom: 6em;
}

.area_sch.sokuho .heading_sec {
	margin-bottom: 1em;
}

.area_sch.sokuho .inner {
	width: 100%;
    max-width: 900px;
}

.area_sch.sokuho .list {
	font-size: 24rem;
}

.area_sch.sokuho .list dt {
	border-radius: 5px;
	background: #e3795f;
	color: #fff;
}

.area_sch.sokuho .list dd {
	padding: 1em;
}

.area_sch.sokuho .list .day {
	margin: 0 auto;
	font-size: 1.2em;
}

.area_sch.sokuho .list .day .s {
	font-size: 0.7em;
}

.area_sch.sokuho .list .theater {}

.area_sch.sokuho .list .theater a {
	color: #203864;
	transition: 0.5s;
}
.area_sch.sokuho .list .theater a .icon {
	margin-left: 0.2em;
	vertical-align: super;
	color: #e3795f;
	font-size: 0.8em;
}
.area_sch.sokuho .list .theater a:hover {
	color: #e3795f;
}

@media screen and (max-width: 500px) {

	.area_sch.sokuho .list {
		font-size: 20rem;
	}
	.area_sch.sokuho .list dd {
		padding: 1em 0;
	}
}

@media screen and (max-width: 400px) {

}

/***************************************************

　動画

**************************************************/

.area_movie {
    margin: 0 auto;
	padding-bottom: 6em;
}

.area_movie .inner {
	width: 100%;
    max-width: 900px;
}

.area_movie .list {
    max-width: 800px;
    display: flex;
    flex-wrap: wrap; 
    margin: 0 auto 40px;
    padding: 10px;
}

.area_movie .list.center {
    justify-content: center;
}

.area_movie .list .item{
    width: 100%;
    justify-content: center;
    margin-bottom: 4em;
    margin: 0 10px 4em;
    vertical-align: bottom;
	margin-top: auto;
}

.area_movie .list .name {
    margin-bottom: 0.5em;
    padding: 0.3em 1em;
    font-size: 24rem;
    line-height: 1.3;
}

.area_movie .list .name .pk {
	display: inline-block;
	margin: 0 0.25em;
}

.area_movie .list .youtube {
	position: relative;
	height: 0;
	margin-bottom: 20px;
	padding-bottom: 56.25%;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(52,44,43,0.5);
}

.area_movie .list .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 768px){
    .area_movie .list {
        display: block;
        margin: 0 auto;
        text-align: center;
    }
    .area_movie .list .item{
        margin: 0 auto 2em;
    }
	.area_movie .list .name {
		font-size: 20rem;
	}
}

@media screen and (max-width: 414px){
    .area_movie .list .name {
        font-size: 16rem;
    }
    .area_movie .list .list {
        margin-bottom: 10px;
    } 
}
@media screen and (max-width: 340px){

}

/**********************************************************************

　キャスト、クリエイティブ：モーダルウィンドウ

**********************************************************************/

.cast_cmt .modal-wrapper {
	z-index: 1001;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 10px;
	text-align: center
}

.cast_cmt .modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.cast_cmt .modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.cast_cmt .modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.cast_cmt .modal-wrapper .modal-window {
	box-sizing: border-box;
	display: inline-block;
	z-index: 20;
	position: relative;
	max-width: 800px;
	margin: 0 auto;
	padding: 2em 3em 3em;
	background-color: rgba(255,255,255,0.9);
    border: 5px solid #64ba98;
	border-radius: 10px;
}

.cast_cmt .modal-wrapper .modal-window .modal-content {
	max-height: 80vh;
	overflow-y: auto;
	padding: 0 2em;
}

.cast_cmt .modal-wrapper .modal-window .modal-content::-webkit-scrollbar {
    width: 10px;
}
.cast_cmt .modal-wrapper .modal-window .modal-content::-webkit-scrollbar-track {
	background: #c6c4c4;
	
}
.cast_cmt .modal-wrapper .modal-window .modal-content::-webkit-scrollbar-thumb {
	background: #64ba98;
	
}

.cast_cmt .modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .5)
}

.cast_cmt .modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  color: #64ba98 !important;
  font-size: 30px;
  font-weight: 700;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}

.cast_cmt .modal-wrapper .modal-close:hover {
  color: #64ba98 !important
}

@media screen and (max-width: 414px){

    .cast_cmt .modal-wrapper .modal-window {
	 padding: 5em 1.5em 1.5em;
    }

	.cast_cmt .modal-wrapper .modal-window .modal-content {
		padding: 0 0.5em;
	}
}

/***色
紺：#203864;
オレンジ：#e3795f:
淡いオレンジ：#f5b69c;
緑：#64ba98;
***/

.cast_cmt .name {
    display: block;
	margin: 1em auto;	
	padding: 1em 0;
    font-size: 1.5em;
    line-height: 1;
    letter-spacing: 0.2;
	font-weight: 500;
}

.cast_cmt .title {
	background: #64ba98;
	color: #fff571;
	font-size: 1.1em;
	font-family: "fot-chiaro-std", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.cast_cmt .text {
	margin: 0 auto;
	padding: 1em;
	font-weight: 500;
	text-align: left;
	font-size: 1.1em;
}


@media screen and (max-width: 600px){

}
@media screen and (max-width: 360px){

}
