@charset "UTF-8";
/* CSS Document */
html,body,a,p,ul,li,h1,h2,h3,h4,h5,h6,figure,dl,dt,dd{margin:0;padding:0;}
*{
    box-sizing: border-box;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;

}
body{
    background-color: #fff;
    font-size: clamp(12px, 1.25vw, 16px);
    line-height: 1.8em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #000;
}

#wrap, section {
    width: 100%;
    padding: 0;
    margin: 0;
    z-index: 1;
    letter-spacing: 0.1em;
}

a{
    text-decoration: none;
}
a:hover {
filter: alpha(opacity=70);
opacity: 0.7;
transition:  0.5s;
cursor: pointer;
}

li{
    list-style-type: none;
}

.pc{
        display: block;
    }
.sp{
    display: none;
}

/*header h1 {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0;
}*/



@media screen and (max-width: 768px){
    #wrap, section {
    letter-spacing: 0;
}
    .pc{
        display: none;
    }
    
    .sp{
        display: block;
    }
}

/* ------ヘッダー------------------------------------------------------------------ */
/************************************
デザインA（PC）
*************************************/
header {
    width: 100%;
    position: relative;
}
header #mv {
    position: relative;
    background-image: url("../img/pc_mv-2.jpg");
    background-repeat: no-repeat;
    background-position: top center;
    padding-top: 68%;
    background-size: cover;
    .onair {
        position: absolute;
        right: 2%;
        bottom: 2%;
        width: 20%;
        img {
            width: 100%;
            height: auto;
        }
    }
}
header #laurel-img {
/*    width: 9.375%;*/
    width: 12%;
    max-width: 180px;
   position: absolute;
    top:2%;
    left: 45.5%;
    margin: auto;
}
header #logo {
/*    width: 57.8125%;*/
    width:60%;
    max-width: 1200px;
   position: absolute;
/*    top:12.5%;*/
    top:13%;
    left: 21%;
    margin: auto;
}
@media screen and (max-width: 768px){
    
    header #mv {
        background-image: url("../img/sp_mv-2.jpg");
        background-repeat: no-repeat;
        background-position: top center;
        padding-top: 107.5%;
        background-size: cover;
        .onair {
            width: 36%;
        }
    }
    header #logo, header #laurel-img {
        display: none;
    }

}


/* ------コンテンツ------------------------------------------------------------------ */


.cntntWrap {
    padding: 3.5em 0 0;
}
.cntntWrap h2.ver1 {
    font-size: clamp(18px, 1.875vw ,24px);
    font-weight: 800;
    line-height: 1.8em;
    width: 90%;
    max-width: 480px;
    margin: 0 auto 1.5em;
    border-bottom:1px solid #d61d2c;
    color: #d61d2c;
    text-align: center;
}
.cntntWrap h2.ver2 {
    font-size: clamp(18px, 1.875vw ,24px);
    font-weight: 800;
    line-height: 1.8em;
    width: 90%;
    max-width: 480px;
    margin: auto;
    border-bottom:1px solid #fff;
    color: #fff;
    text-align: center;
}
.boxA {
    width: 90%;
    max-width: 1200px;
    margin: auto;
}
.boxB {
    width: 84%;
    max-width: 840px;
    margin: auto;
   
}
/*ムビチケ*/
#mvtkWrap {
			text-align: center;
		}
#mvtk-widgets-container {
			width: 100%;
			height: auto;
			margin: 2em auto 0;
		}
#mvtkWrap-2 {
	width: 80%;
	max-width: 480px;
	margin: 2em auto 0;
}

/*イントロ*/
#introWrap {
    text-align: center;
}
#introWrap h3 {
    font-size: clamp(24px, 3.4375vw ,44px);
    font-family: "Noto Serif", serif;
    font-weight: 800;
    line-height: 1.25em;
/*    margin-bottom: 1em;*/
}
#introWrap h3 span {
    display: inline-block;
}
#introInner {
    font-size: clamp(12px, 1.40625vw ,18px);
    line-height: 1.8em;
    margin: 2em auto ;
}
ul.introPhWrap {
    width: 100%;
    font-size: 0;
    display: flex;
}
ul.introPhWrap li {
    display: inline-block;
    width : calc(100% / 3) !important;
}
.introPh {
    width: 100%;
}
#introPh-01 {
    background: url("../img/introPh-01.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    padding-top: 51.48%;
}
#introPh-02 {
    background: url("../img/introPh-02.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    padding-top: 51.48%;
}
#introPh-03 {
    background: url("../img/introPh-03.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    padding-top: 51.48%;
}

@media screen and (max-width: 768px){
#introInner {
        text-align: left;
}
}
/*ストーリー*/
#storyInner {
    margin-bottom: 2em;
}
#storyPhWrap {
    width: 100%;
}
#storyPh-01 {
    background: url("../img/storyPh-01.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    padding-top: 50%;
}

/*キャスト＆スタッフ*/
#castWrap {
    background: #d61d2c;
}
#castInner {
    margin: 2em auto;
    padding-bottom: 2em;
    color: #fff;
    text-align: center;
    font-size: clamp(16px, 1.5625vw ,20px);
    line-height: 1.5em;
    font-family: "Noto Serif", serif;
    font-weight: 800;
}
#castInner p {
    margin-bottom: 1em;
}
#castInner small {
     font-size: clamp(12px, 1.25vw, 16px);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

/* -----フッター------------------------------------------------------------------ */

footer {
    width: 100%;
text-align: center;

}
footer p {
    font-size: clamp(11px, 1.09375vw ,14px);
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    color:#db2832;
    letter-spacing: 0.2em;
    padding: 1em 0 3em;
}

/*************************
*ローディング
*************************/
#loading {
  /* 画面一杯にローディング画面を広げる */
  height: 100%;
  width: 100%;
 background: #db2832;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10000;
  /* flexboxを使ってローディングアイコンを画面の中央に寄せる */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* 0902追加 */
footer .xbtn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16em;
    margin-inline: auto;
    padding: 1em 0;
    font-family: "Noto Serif", serif;
    color: #fff;
    background-image: url(../img/icon_x.png);
    background-position: 12% center;
    background-repeat: no-repeat;
    background-size: auto 40%;
    background-color: #000;
    border-radius: 9999px;
}
.trailer {
  z-index: 10000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;             /* 高さを必ず100%に */
  display: none;            /* 初期は非表示 */
  display: flex;            /* flexを確実に有効化 */
  align-items: center;      /* 縦方向中央 */
  justify-content: center;  /* 横方向中央 */
  background-color: rgba(0,0,0,0.95);
}
.trailer.active {
  animation: fadeinitem .4s linear 0s both;
}
@keyframes fadeinitem {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.trailerInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 60vw;
  max-width: 1000px;
}
.trailerInner iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border: none;
}

.trailerMenu {
  display: flex;
  gap: 1em;
  list-style: none;
  padding: 1em 0 0;
  margin: 0;
  justify-content: center;
}
.trailerMenu li {
  cursor: pointer;
  padding: 0.5em 1.5em;
  background: #d61d2c;
  color: #fff;
  border-radius: 4px;
  transition: background 0.3s;
}
.trailerMenu li:hover {
  background: #666;
}

/* 閉じるボタン */
.closeBtn {
  cursor: pointer;
  position: fixed;
  right: 1.5em;
  top: 1em;
  width: 5em;
  aspect-ratio: 1/1;
  background: transparent;
  border: none;
}
.closeBtn span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.closeBtn span:nth-of-type(1) { transform: rotate(45deg); }
.closeBtn span:nth-of-type(2) { transform: rotate(-45deg); }

@media screen and (max-width: 768px){
  .trailerInner { width: 96vw; }
  .closeBtn { width: 12vw; }
}


