@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{
    font-size: clamp(12px, 1.25vw, 16px);
    line-height: 1.8em;
    font-family: 'Noto Sans JP',  sans-serif;
    font-weight: 400;
    color: #876c4f;
   background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
}

#wrap, section {
    width: 100%;
    padding: 0;
    margin: 0;

}

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

li{
    list-style-type: none;
}

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

header h1, header h2, header h3 {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0;
}
#wrap {
    width: 100%;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-image:url("../img/base_bg.jpg");
  background-attachment: fixed;
  background-size: cover;
padding: 0;
}

@media screen and (max-width: 768px){
    body{
}
	
#wrap {
 width: 100%;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-image:url("../img/sp_base_bg.jpg");
  background-attachment: fixed;
  background-size: cover;
padding: 0;
}
    .pc{
        display: none;
    }
    
    .sp{
        display: block;
    }
}



/*************************
*ヘッダー
*************************/
header {
    width: 100%;
     position: relative;
    height: auto;
}
#mv {
    background: url("../img/pc_mv.jpg");
    padding-top: 56.25%;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    position: relative;
}
#topWrap {
    width: 100%;
    height: 100%;
    min-height: 100%;
    top:0;
    left: 0;
    position: absolute;
}

#topCopy {
    background: url("../img/pc_mv_copy.png");
    padding-top: 56.25%;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
}

#movieBtnWrap {
    top:72%;
    left: 79%;
    width: 19.3%;
    position: absolute;
}
#movieBtnWrap img:hover{
transition-duration: 0.5s;
filter: alpha(opacity=100) !important;
opacity: 1.0 !important;
}

#snsWrap {
    bottom:0.5%;
    left: 79%;
    width: 19.3%;
	top:90.6%;
    position: absolute;
    text-align: center;
	display: flex;
	justify-content: space-between;
}
#snsWrap div {
	width: 100%;
	margin: 0 3.5%;
}
#snsWrap img:hover {
	transform: scale(1.1);
	transition: transform .6s ease;
}

.fadeIn1s {
    animation-name: fadeIn1s;
    animation-delay: 0.5s;
    animation-duration: 2s;
    animation-fill-mode: forwards;
/*    transform: translateY(-30px);*/
    opacity: 0;
}
@keyframes fadeIn1s {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}



@media screen and (max-width: 768px){
    #mv {
    background: url("../img/sp_mv.jpg");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    padding-top: 141.875%;
}
#topCopy {
        display: none;
    }
#snsWrap-sp {
    top:77%;
    left: 25%;
	right:25%;
	width: 50%;
	display: flex;
	justify-content: space-between;
    position: absolute;
    text-align: center;

}
#snsWrap-sp div {
	width: 100%;
	margin: 0 3.5%;
}
#movieBtnWrap {
    display: none;
    }
    
#movieWrap {
width: 100%;
    background: #000;
    }
#movieArea {
width: 100%;
max-width: 640px;
margin: auto; 
}
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
    
ul.product-release-scheduleWrap li img {
   width: 90%;
    margin: 5% auto;
}
}
/*************************
*コンテンツ
*************************/
main {
	padding-top: 7.5em;
}
.wrapBoxA {
	width: 90%;
	max-width: 1024px;
	margin: auto;
}
.wrapBoxB {
	width: 100%;
	max-width: 1280px;
	margin: auto;
}

h2.cntntHead {
	width: 70%;
	max-width:480px;
	margin: auto;
	    font-size: clamp(48px, 6.25vw, 80px);
    line-height: 1.5em;
	text-align: center;
	  font-family: "Allura", cursive;
  font-weight: 400;
	color: #fff;
	background: url("../img/h2-cntnt_deco.png");
	background-repeat: no-repeat;
	background-position: bottom center;
	 background-size: 50% auto;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px){
	main {
	padding-top: 1.5em;
}

}
/*商品情報**********************/
h3.productItem {
	width: 86%;
	max-width: 560px;
	margin: 1em auto;
	border: 3px solid #876c4f;
	text-align: center;
	font-weight: 900;
	font-size: clamp(16px, 1.875vw, 24px);
    line-height: 1.5em;
	color: #876c4f;
	letter-spacing: 0.1em;
}
#productWrap .specL {
	font-size: clamp(14px, 1.40625vw, 18px);
	color: #fff;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
}
#productWrap .specL spec {
	display: inline-block;
}
.productBox {
	width: 100%;
	border-top:1px solid #876c4f;
	padding-top: 1em;
	margin-top: 1.5em;
	margin-bottom: 0.75em;
	text-align: center;
}
p.release {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	letter-spacing: 0.15em;
	font-size: clamp(20px, 2.34375vw, 30px);
	line-height: 1.8em;
}
p.release small {
	font-size: clamp(16px, 1.875vw, 24px);
}
.jktWrap {
	width: 90%;
	max-width: 640px;
	margin: 1em auto;
}
.jktWrap .nowpri {
	background: url("../img/jkt_nowpri.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	padding-top: 70.5%;
}
.sellWrap {
	width: 10em;
	margin: auto;
	border-radius: 50px;
	background: #876c4f;
	font-size: clamp(14px, 1.40625vw, 18px);
	line-height: 1.8em;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.1em;
}
.specS {
	font-size: clamp(11px, 0.9722vw, 14px);
	color: #fff;
	line-height: 1.5em;
	margin-top: 0.5em;
}
.specS big {
	font-weight: 700;
	font-size: clamp(14px, 1.40625vw, 18px);
	color: #876c4f;
}
.tokutenWrap {
	width: 100%;
	max-width: 880px;
	margin: 1em auto 1em;
}
.tokutenHead {
	font-weight: 700;
	font-size: clamp(14px, 1.40625vw, 18px);
	line-height: 1.8em;
	color: #876c4f;
	border-bottom: 1px solid #fff;
}
.ecArea {
	width: 100%;
	max-width: 680px;
	margin: 0 auto 1em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

}
.ecArea div {
	margin-bottom:0.5%;
	width: 24%;
}


@media screen and (max-width: 768px){
p.release, .sellWrap, h3.productItem  {
	letter-spacing: 0em;
}
	.ecArea div {
	margin-bottom:0.5%;
	width: 32%;
}
}

/*オリ特*/
.oritokuWrap {
  background-image: url("../img/oritokuWrapBgTop.png"), url("../img/oritokuWrapBgBtm.png");
  background-position: top center, bottom center;
  background-repeat: no-repeat, no-repeat;
background-size: 100% auto, 100% auto;
	padding: 2.5em 0;
}
.oritokuInner {
	width: 90%;
	max-width: 800px;
	margin: auto;
	text-align: center;
}
.oritokuBtn {
	width: 100%;
	height: 4em;
	background: rgba(255,255,255,0.3);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5em ;
	color: #876c4f;
	border-radius: 100px;
	font-size: clamp(12px, 1.40625vw, 20px);
	line-height: 1em;
	font-weight: 600;
	margin: 1em auto;
	text-align: left;
}
.oritokuGoodsArea {
	display: flex;
}


@media screen and (max-width: 768px){
	.oritokuBtn  {
	min-height: 7em;
		border-radius: 15px;
	}
	
	.oritokuBtn div {
		display: block;
		text-align: center;
		line-height: 1.5em;
	/*	border: 1px solid #000;*/
		width: 100%;
	}
	.oritokuBtn div.ecshop {
		border-bottom: 1px dotted #876c4f;
	}
	.oritokuBtn div.i {
		display: none;
	}
}

/*配信*/
.digiTxt {
	font-size: clamp(18px, 2.34375vw, 30px);
	line-height: 1.25em;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.1em;
}
.digiBtn {
	width: 70%;
	max-width: 480px;
	margin: 1em auto;
	border-radius: 100px;
	padding: 0.75em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: #ffcc00;
	color: #876c4f;
	font-size: clamp(16px, 1.875vw, 24px);
	font-weight: 700;
	line-height: 1em;
}
.digiBtn small {
	font-size: clamp(12px, 1.25vw, 16px);
}
.digiBtn div {
	width: 100%;
}
@media screen and (max-width: 768px){
	.digiTxt {
		letter-spacing: 0em;
	}
}



/*イントロダクション********************/

.introBase {
	background: rgba(255, 204, 51, 0.2);
	margin-top: 2em;
	padding: 2em 0;
}
h3.intro {
	text-align: center;
	font-size: clamp(16px, 1.875vw, 24px);
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	margin: 1em auto;
}
.introPhWrap {
	width: 100%;
}
.introPhWrap-2 {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.introInner {
	width: 100%;
	margin-top:2em;
	border-top:3px dotted #fff;
	padding: 1em 0;
}
h3.introLead {
	background-image: url("../img/introLeadBg.png"), url("../img/introLeadBg.png");
  background-position: top left, top right;
  background-repeat: no-repeat, no-repeat;
background-size: auto 1.8em, auto 1.8em;
	text-align: center;
	font-size: clamp(16px, 2.34375vw, 30px);
	line-height: 1.5em;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	color: #fff;
	padding: 0.25em 1.8em;
	width: 100%;
/*	height: 2em;*/
	vertical-align: middle;
}

.introTxt {
	width: 94%;
	max-width: 880px;
	margin: auto;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}
.introTxt p, #storyTxt p  {
	margin-bottom: 1.5em;
}

#introPh00 {
	background: url("../img/introPh00.png");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	padding-top: 59.2%;
}
#introPh01,
#introPh02 {
	width: 49%;
	padding-top: 31.4%; 
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

#introPh01 {
	background-image: url("../img/introPh01.jpg");
}

#introPh02 {
	background-image: url("../img/introPh02.jpg");
}
#introPh03,
#introPh04,
#introPh05{
	width: 32%;
	padding-top: 22%; 
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

#introPh01 {
	background-image: url("../img/introPh01.jpg");
}

#introPh02 {
	background-image: url("../img/introPh02.jpg");
}
#introPh03 {
	background-image: url("../img/introPh03.jpg");
}

#introPh04 {
	background-image: url("../img/introPh04.jpg");
}
#introPh05 {
	background-image: url("../img/introPh05.jpg");
}
#introPh06 {
	background-image: url("../img/introPh06.png");
	width: 100%;
	padding-top: 55.2%; 
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 768px){
h3.intro {
	text-align: left;
	letter-spacing: 0;
	}
	h3.introLead {
	letter-spacing: 0;	
	background-size: auto 1.25em, auto 1.25em;
	padding: 0.25em 1.25em;
	}
	h3.introLead span {
		display: inline-block;
	}
.introTxt {
	letter-spacing: 0em;
	}
}

/*ストーリー********************/
#storyWrap {
	border-top: 6px solid #fff;
		border-bottom: 6px solid #fff;
	background: url("../img/story_bg.jpg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
}
#storyHead {
	color: #cc6666;
}
#storyArea {
	width: 60%;
	background: rgba(255,255,255,0.3);
	margin: 3em 0 2em 40%;
	padding: 2em;

}
#storyTxt {
	width: 90%;
	max-width: 440px;
	margin:1em auto;
	color: #000;
}


@media screen and (max-width: 768px){
	#storyWrap {
	border-top: 3px solid #fff;
		border-bottom: 3px solid #fff;
			background-size: auto 100%;
	background-position:30% bottom;
}
	#storyArea {
	width: 75%;
	background: rgba(255,255,255,0.5);
	margin: 2em auto 2em 25%;
	padding: 1em 0.5em;

}
}

/*相関図********************/
#chartWrap {
	padding: 2em 0;	
}
#chartArea {
	width: 100%;
	margin: 1em auto;
}
#chart {
	background: url("../img/chart.jpg?02");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	padding-top: 74.8%;
}

/*キャスト＆スタッフ********************/
h3.castHead {
	color: #fff;
	 font-family: "Noto Serif JP", serif;
	font-size: clamp(24px, 3.75vw ,48px);
	line-height: 2em;
	text-align: center;
	letter-spacing: 0.1em;
}

.castWrapA {
	width: 84%;
	margin-right: 16%;
	margin-bottom: 2em;
	border-top: 6px solid #876c4f;
	padding-right: 0.5em;
	padding-top: 1em;
	
}
.castWrapB {
	width: 84%;
	margin-left: 16%;
	margin-bottom: 2em;
	border-top: 6px solid #876c4f;
	padding-left: 0.5em;
	padding-top: 1em;
}
.castWrapA-inner {
	width: 90%;
	max-width: 960px;
	margin-left: 10%;
	display: flex;
	justify-content: space-between;
}
.castWrapB-inner {
	width: 90%;
	max-width: 960px;
	margin-right: 10%;
	display: flex;
	justify-content: space-between;
}
.castPhWrap {
	width: 42%;
}
.castTxtWrap {
	width: 54%;
	 font-feature-settings: "halt";
}
.CharaName {
	background-image: url("../img/introLeadBg.png");
	background-repeat: no-repeat;
	background-size: auto 1.5em;
	font-size: clamp(18px, 2.8125vw, 36px);
	line-height: 1.5em;
	padding-left: 1.8em;
	font-family: "Noto Serif JP", "Noto Serif", serif;
	font-weight: 700;
	vertical-align: baseline;
}
.CharaName small {
	font-size: clamp(12px, 1.40625vw, 18px);
}
.CharaTxt {
	font-size: clamp(12px, 1.40625vw, 18px);
  font-family: "Noto Serif JP", serif;
	font-weight: 700;
	line-height: 1.5em;
}

.castAreaA {
	background: rgba(135,108,79,0.3);
	margin-top: 1em;
	color: #fff;
	padding: 1.5em 2em;
	border-bottom-right-radius: 50px;
}
.castAreaB {
	background: rgba(135,108,79,0.3);
	margin-top: 1em;
	color: #fff;
	padding: 1.5em 2em;
	border-bottom-left-radius: 50px;
}

.CastName {
	font-size: clamp(16px, 1.875vw, 24px);
	font-weight: 700;
	line-height: 1.8em;
	margin-bottom: 0.5em;
}
.CastName small{
	font-size: clamp(12px, 1.25vw, 16px);
	font-weight: 500;
}
#castPh01, #castPh02, #castPh03, #castPh04, #castPh05, #castPh06, #castPh07{
	width: 100%;
	padding-top: 145%; 
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#castPh01 {
	background-image: url("../img/castPh01.jpg");
}
#castPh02 {
	background-image: url("../img/castPh02.jpg");
}
#castPh03 {
	background-image: url("../img/castPh03.jpg");
}
#castPh04 {
	background-image: url("../img/castPh04.jpg");
}
#castPh05 {
	background-image: url("../img/castPh05.jpg");
}
#castPh06 {
	background-image: url("../img/castPh06.jpg");
}
#castPh07 {
	background-image: url("../img/castPh07.jpg");
}

#staffWrap {
	background: #876c4f;
	padding: 0.5em 1em 1.5em;
	margin-bottom: 3em;
}
.staffInner {
	width: 100%;
	max-width:840px;
	margin: 0.5em auto 1.5em;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	font-size: clamp(12px, 1.40625vw, 18px);
	line-height: 1.5em;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.1em;

}
.staffInner div.atlWrap {
	width: 18%;
	text-align: right;
}
.staffInner div.atlWrap::after {
	content: "：";
}
.staffInner div.nameWrap {
	width: 82%;
}
.staffInner div.nameWrap p {
	padding-top: 0.25em;
}
.staffInner div.nameWrap big {
	  font-family: "Noto Serif JP", serif;
		font-size: clamp(16px, 1.875vw, 24px);
	font-weight: 700;
}
.staffInner div.nameWrap span {
	color: #d7d2a0;
}

@media screen and (max-width: 768px){
.castWrapA, .castWrapB {
	width: 90%;
	margin: 1em auto;
	border-top: 3px solid #876c4f;
	padding-right: 0em;
	padding-top: 1em;
}
.castWrapA-inner, .castWrapB-inner {
	width: 100%;
	margin-left: 0;
	display: flex;
	flex-wrap: wrap;
}
.castWrapB-inner {
flex-direction: column-reverse;
	}
.castPhWrap {
	width: 80%;
	max-width: 400px;
	margin: 1em auto;
}
.castTxtWrap {
	width: 100%;
}
	.castAreaA, .castAreaB {
		border-bottom-left-radius: 30px;
		border-bottom-right-radius: 30px;
	}
	
	
.staffInner div.atlWrap {
	width: 100%;
	text-align: center;
}
.staffInner div.nameWrap {
	width: 100%;
	text-align: center;
}
.staffInner div.atlWrap::before {
	content: "〈";
}	
.staffInner div.atlWrap::after {
	content: "〉";
}
}
/*************************
*フッター
*************************/
footer {
	width: 100%;
	background: #b49d81;
	border-top:6px solid #fff;
/*	margin-top: 3em;*/
	padding: 2.5em 0.5em;
text-align: center;
    font-size: clamp(11px, 0.9722vw, 14px);
    line-height: 1.8em;
    font-weight: 400;
	color: #fff;
}

footer span {
	display: inline-block;
}
@media screen and (max-width: 768px){
footer {
	border-top:3px solid #fff;
	}
	
}
/*************************
*ローディング
*************************/
#loading {
  /* 画面一杯にローディング画面を広げる */
  height: 100%;
  width: 100%;
 background: #876c4f;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99999;
  /* 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;
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
}
