@charset "utf-8";
:root {
    --color_01: #8C6BAD;
    --color_02: #FF69C3;
    --color_03: #E384B3;
	--color_04: #333;
	--color_05: #C4C4C4;
	--color_06: #fff;
	--color_07: #FF5199;
	--color_08: #FF69C3;
	--color_09: #FFB35A;
	--color_10: #F498CF;
	--color_11: #E384B3;
	--color_12: #B777B0;
	--color_13: #8C6BAD;
	--color_14: #3698D3;
	--color_15: #52AEF9;
	--color_16: #FF8642;
	--color_17: #FFAA48;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 14px;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}

.rozha {
	font-family: 'Rozha One', serif;
}
.outfit {
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	/* color: #000; */
	text-decoration: none;
	transition: all ease 0.5s;
}
a:visited {
	/* color: #000; */
}
a:hover {
	/* color: #000; */
}
a:active {
	color: #000;
}
/* 音声ボタン☟ */
button {
	background: none;
	border: none;
}
button:hover {
	opacity: 0.5;
	transition:0.7s;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #333;
	font-weight: 400;
	line-height: 1.71;
	/* letter-spacing: 0.05rem;  */
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	/* background-color: var(--color_06); */
	/* background: linear-gradient(to bottom, #FFFFFF, #84D1FF); */
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
#container {
	text-align: left;
}
#main {
	display: block;
	/* padding-top: 74px; */
}
a[href^="tel:"] {
	cursor: pointer;
	pointer-events: auto;
}
.pc {
	display: none;
}
@media all and (min-width: 897px) {
	html {
		/* padding-top: 98px; */
		font-size: 23px;
	}
	.sp {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
	.pc {
		display: block !important;
	}
	#main {
		/* padding-top: 164px; */
		padding-top: 0;
	}
	#container {
		max-width: 600px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		/* box-shadow: 0px 4px 25px 8px rgba(140, 107, 173, 0.60);  */
		/* box-shadow: 0px 4px 25px 8px rgba(164, 224, 255, 0.7);  */
		background-color: #fff;
	}
	#container2 {
		max-width: 600px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		box-shadow: 0px 4px 25px 8px rgba(255, 105, 195, 0.35);
		background-color: #fff;
	}
	#container3 {
		max-width: 600px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		box-shadow: 0px 4px 25px 8px rgba(119, 181, 232, 0.31);
		background-color: #fff;
	}
	#container4 {
		max-width: 600px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		box-shadow: 0px 4px 25px 8px rgba(255, 170, 72, 0.35);
		background-color: #fff;
	}
}


/* 各巻キャラコメント欄CSS */
.commentimg {
	margin: 1.225rem 0;

}
/* 各巻キャラコメント欄CSS 終了 */

/* 発売日欄CSS――――――――――――――――――― */
.header-box {
    background: linear-gradient(113deg, #E384B3, #B777B0, #8C6BAD);
}
#main.page2 .header-box {
    background: linear-gradient(113deg, #EFBB60, #FEA992, #F499CB);
}
#main.page3 .header-box {
    background: linear-gradient(113deg, #FFDD7D, #A5CBB7, #49BAF2);
}
#main.page4 .header-box {
    background: linear-gradient(113deg, #FFCD1A, #FF7033);
}
.header-box.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
}
.header-group {
    display: flex;
    justify-content: center;
}

.header-list {
    border-left: solid 1px #FFFFFF;
	text-align: center;
}
.header-list.left-no {
	border-left: none;
}
.header-a {
    color: #FFFFFF;
    display: block;
    font-size: 30px;
	font-weight: 600;
    text-decoration: none;
    /* position: relative; */
	/* font-weight: 100; */
}

.white-w {
	font-size: 45px;
	font-weight: 700;
}

.center-p {
	text-align: center;
	margin-bottom: 30px;
}
/* 発売日欄CSS終了――――――――――――― */

/* 声優名欄CSS開始――――――――――――――――――― */
.cv-name-box {
    /* margin-top: 20px; */
}
/* .cv-name-group {
    display: flex;
    font-weight: 500;
    justify-content: center;
    flex-wrap: wrap;
    padding-left: 47px;
    padding-right: 40px;
    text-align: center;
}  */

.cv-name-group {
    display: flex;
    font-weight: 500;
    justify-content: center;
    flex-wrap: wrap;
    /* padding-left: 40px; */
    padding-right: 27px;
    text-align: center;
	/* font-size: 40px;
    font-weight: bold; */
    letter-spacing: 0.057143rem;
    background: linear-gradient(to right,#E384B3 -6.75%, #B777B0 41.345%, #8C6BAD 96.63%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	margin-bottom: 12px;
}
#main.page2 .cv-name-group {
    display: flex;
    font-weight: 500;
    justify-content: center;
    flex-wrap: wrap;
    /* padding-left: 40px; */
    padding-right: 27px;
    text-align: center;
	/* font-size: 40px;
    font-weight: bold; */
    letter-spacing: 0.057143rem;
    background: linear-gradient(to right,#FFBD5A -6.75%, #FF8383 41.345%, #FF41B3 96.63%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	margin-bottom: 12px;
}
#main.page3 .cv-name-group {
    display: flex;
    font-weight: 500;
    justify-content: center;
    flex-wrap: wrap;
    /* padding-left: 40px; */
    padding-right: 27px;
    text-align: center;
	/* font-size: 40px;
    font-weight: bold; */
    letter-spacing: 0.057143rem;
    background: linear-gradient(to right,#80E2F7 -6.75%, #6DBBFA 41.345%, #5991FE 96.63%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	margin-bottom: 12px;
}
.cv-name {
    font-size: 24px;
    /* margin-right: 10px;
    margin-left: 10px; */
    font-weight: bold;
	width: 50%;
    margin-left: 0;
    margin-right: 0;
}
/* .big2 {
    font-size: 40px;
    font-weight: bold;
} */

.big2 {
	/* display: block; */
    /* font-size: 1.142857rem;
    font-weight: 700; */
	font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.057143rem;
    /* background: linear-gradient(95deg, #E384B3 -7.75%, #8C6BAD 91.63%); */
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.small2 {
	/* display: block; */
    font-size: 1.12857rem;
    font-weight: 700;
    letter-spacing: 0.057143rem;
    /* background: linear-gradient(95deg, #E384B3 -7.75%, #8C6BAD 91.63%); */
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* 声優名欄CSS終了――――――――――――――――――― */


/* ニュース欄CSS－－－－－－－－－－－－－－－－ */
.news-group {
    font-size: 16px;
    overflow-y: scroll;
    max-height: 153px;
    padding: 0 15px;
	margin: 30px 0 10px 0;
	background-color: #fff;
	/* border-radius: 10px; */
}

@media all and (max-width: 480px) {
	.news-group {
		font-size: 14px;
	}
}

.news-list {
    padding: 16px 0 13px 0;
    /* border-bottom: dotted 1px #8C6BAD; */
    border-bottom: solid 1px #0C87E1;
}
.news-date1 {
	color: #0C87E1;
    font-weight: 700;
    width: 10%;
    margin-right: 1.7%;
}
.news-date2 {
    color: #8C6BAD;
    font-weight: 700;
    width: 10%;
    margin-right: 3%;
}
.news-list .news-topic {
    color: var(--color_04);
    width: 87%;
	text-decoration: underline;
}
.news-topic:hover {
    text-decoration: none;
	/* color: #8C6BAD; */
}
.news-group::-webkit-scrollbar {
	background: #EFFCFF;
}
.news-group::-webkit-scrollbar-thumb {
	background-color: #0C87E1;
	/* border: 2px solid red; */
}
/* ニュース欄CSS 終－－－－－－－－－－－－－－－－ */

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	z-index: 1000;
	width: 100%;
	top: 0;
}
.headerTop {
	background: #444444;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
}
.logo-image {
	width: 200px;
}
.logo-image img {
	display: block;
}
.menu {
	/* top: 0.604286rem; */
	padding-bottom: 0.2rem;
	box-sizing: border-box;
	/* right: 0.642857rem; */
	/* position: fixed; */
	/* z-index: 1000; */
	height: 3.571429rem;
	width: 3.571429rem;
	cursor: pointer;
	transition: opacity .25s ease;
	border-radius: 3.571429rem;
	display: flex;
	align-items: center;
	justify-content: center;
	/* background: linear-gradient(45deg, #E384B3 10.93%, #8C6BAD 96.15%);  */
	/* box-shadow: 0 0 0.5rem 0.142857rem rgba(0, 0, 0, 0.20);  */
}
/* .menu.page2 {
	background: linear-gradient(45deg, #EFBB60 10.93%, #F499CB 96.15%);
	box-shadow: 0 0 0.5rem 0.142857rem rgba(0, 0, 0, 0.20);
}
.menu.page3 {
	background: linear-gradient(45deg, #FFDD7D 10.93%, #49BAF2 96.15%);
	box-shadow: 0 0 0.5rem 0.142857rem rgba(0, 0, 0, 0.20);
}
.menu.page4 {
	background: linear-gradient(45deg, #FFDD65 10.93%, #FB7819 96.15%);
	box-shadow: 0 0 0.5rem 0.142857rem rgba(251, 120, 25, 0.30);
}
.menu.page4.on {
	box-shadow: 0 0 0.5rem 0.142857rem rgba(251, 120, 25, 0.50);
} */
/* .menu.on {
	box-shadow: 0 0 0.5rem 0.142857rem rgba(155, 126, 155, 0.50);
} */
.menu.on .top {
	transform: translateY(0.571429rem) translateX(0) rotate(-45deg);
}
.menu.on .middle {
	opacity: 0;
}
.menu.on .bottom {
	transform: translateY(-0.571429rem) translateX(0) rotate(45deg);
}
.menu .subSpan {
	width: 1.542857rem;
	height: 1.3rem;
	display: block;
	position: relative;
}
.menu .subSpan span {
	border-radius: 0.142857rem;
	background: var(--color_06);
	height: 0.142857rem;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.menu span:nth-of-type(2) {
	top: 0.571429rem;
}
.menu span:nth-of-type(3) {
	top: 1.142857rem;
}
/* .menu.on {
	background: var(--color_06);
} */
.menu.on .subSpan {
	width: 1.5rem;
	height: 1.157rem;
}
.menu.on .subSpan span {
	width: 1.5rem;
	/* background: var(--color_01); */
}
.menu.on.page2 .subSpan span {
	width: 1.5rem;
	/* background: var(--color_07); */
}
.menu.on.page3 .subSpan span {
	width: 1.5rem;
	/* background: var(--color_14); */
}
.menu.on.page4 .subSpan span {
	width: 1.5rem;
	/* background: var(--color_16); */
}

.menuBox {
	display: none;
	/* position: fixed; */
	/* top: 0; */
	/* left: 0; */
	/* width: 100%; */
	/* z-index: 800; */
	/* height: 100%; */
	height: calc(100vh - 98px);
	padding: 0 1.142857rem;
	box-sizing: border-box;
	overflow-y: scroll;
	background: linear-gradient(183deg, #E6DDFF 1.39%, #FFD8FD 99.35%);
}

.menuBox.page2 {
	display: none;
	height: calc(100vh - 98px);
	padding: 0 1.142857rem;
	box-sizing: border-box;
	overflow-y: scroll;
	background: linear-gradient(183deg, #FFE2F3 1.39%, #FFDED3 99.35%);
}

.menuBox.page3 {
	display: none;
	height: calc(100vh - 98px);
	padding: 0 1.142857rem;
	box-sizing: border-box;
	overflow-y: scroll;
	background: linear-gradient(183deg, #C9E2FF 1.39%, #FAF4DF 99.35%);
}

.menuBox.page4 {
	display: none;
	height: calc(100vh - 98px);
	padding: 0 1.142857rem;
	box-sizing: border-box;
	overflow-y: scroll;
	background: linear-gradient(183deg, #FFE1BF 1.39%, #FFEEC2 99.35%);
}

.menuBox ul {
	padding-top: 8.428571rem;
}
#gHeader .menuBox ul {
	padding-top: 1.857143rem;
}
.menuBox a {
	/* margin-bottom: 1.857143rem; */
	/* padding-bottom: 1.957143rem; */
	/* display: block; */
	font-size: 0.857143rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.042857rem;
	color: var(--color_01);
	/* border-bottom: 0.071429rem dotted var(--color_01); */
}

.menuBox.page2 a {
	/* margin-bottom: 1.857143rem; */
	/* padding-bottom: 1.957143rem; */
	/* display: block; */
	font-size: 0.857143rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.042857rem;
	color: var(--color_07);
	/* border-bottom: 0.071429rem dotted var(--color_07); */
}

.menuBox.page3 a {
	/* margin-bottom: 1.857143rem; */
	/* padding-bottom: 1.957143rem; */
	/* display: block; */
	font-size: 0.857143rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.042857rem;
	color: var(--color_14);
	/* border-bottom: 0.071429rem dotted var(--color_14); */
}

.menuBox.page4 a {
	/* margin-bottom: 1.857143rem; */
	/* padding-bottom: 1.957143rem; */
	/* display: block; */
	font-size: 0.857143rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.042857rem;
	color: var(--color_16);
	/* border-bottom: 0.071429rem dotted var(--color_16); */
}

.menuBox a span {
	display: block;
	font-size: 2.357143rem;
	font-weight: 400;
	letter-spacing: 0.117857rem;
}
.menuBox li:nth-last-child(-n+3) a {
	border-bottom: none;
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	#gHeader {
		max-width: 600px;
	}
	.headerTop {
		padding: 8px;
		padding-left: 24px;
	}
	.logo-image {
		width: 50%;
	}
	.menu {
		right: calc(50% - 12.5rem);
		/* box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, 0.20);  */
	}
	.menu.on {
		/* box-shadow: 0px 0px 14px 4px rgba(155, 126, 155, 0.50); */
	}
	.menuBox {
		max-width: 26.8em;
		/* left: 50%; */
		/* transform: translateX(-50%); */
		height: calc(100vh - 106px);
	}
	.menu:hover {
		opacity: 0.6;
	}
	.menuBox a:hover {
		opacity: 0.6;
	}
	.menu .subSpan {
		height: 26px;
	}
	.menu .subSpan span {
		height: 3px;
	}

}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 1.14rem 1.428rem;
	background-color: var(--color_04);
}
#gFooter .fJsBox {
	margin: 0 3.857rem 1.1rem;
	position: relative;
}
#gFooter .fJsBox img {
	width: 100%;
}
#gFooter .fJsBox .prev {
	transition: all ease 0.5s;
	width: 0.714rem;
	position: absolute;
	top: calc(50% - 0.214286rem);
	left: -1.285rem;
	cursor: pointer;
	transform: translateY(-50%);
}
#gFooter .fJsBox .next {
	transition: all ease 0.5s;
	width: 0.714rem;
	position: absolute;
	top: calc(50% - 0.214286rem);
	right: -1.285rem;
	cursor: pointer;
	transform: translateY(-50%);
}
#gFooter .fJsBox .slick-dots {
	text-align: center;
	line-height: 1;
	margin-top: -0.071429rem;
}
#gFooter .slick-list {
	font-size: 0;
}
#gFooter .fJsBox .slick-dots li {
	margin: 0 0.214286rem;
	display: inline-block;
	cursor: pointer;
	width: 0.285714rem;
	height: 0.285714rem;
	border-radius: 7.142857rem;
	background-color: #717171;
}
#gFooter .fJsBox .slick-dots li button {
	display: none;
}
#gFooter .fJsBox .slick-dots li.slick-active {
	background-color: var(--color_06);
}
#gFooter .snsUl {
	margin-bottom: 1rem;
	display: flex;
	justify-content: center;
}
#gFooter .snsUl img {
	transition: all ease 0.5s;
}
#gFooter .snsUl li {
	width: 3.928rem;
	margin: 0 0.642rem;
}
#gFooter .fLogo {
	text-align: center;
}
#gFooter .fLogo img {
	width: 8.925rem;
}
address {
	text-align: center;
	font-size: 0.714rem;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0;
	color: var(--color_05);
}

.overlay{
    display: none;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgb(0, 0, 0, 0.9);
    z-index: 1000;
}
.overlay.active {
    display: flex;
}
.white-box {
    /* width: 450px;
    height: auto;
    background-color: white;
    border-radius: 0px;
    padding: 30px; */
    box-sizing: content-box;
    position: fixed;
    z-index: 9999;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    width: 450px;
    height: auto!important;
    background: #fff;
    padding: 30px;
    /* border: 1px #ddd solid; */
    -webkit-border-radius: 0px;
    -mozborder-radius: 0px;
    text-align: center;
}

.yes {
    margin-bottom: 15px;
}
.warning-text {
    text-align: center;
    margin-bottom: 35px;
	font-size: 16px;
}
.question {
    margin-top: 20px;
}
.warning-click-box {
    text-align: center;
    margin: 10px auto;
}
.warning-click-box p {
    border: solid 2px #0C87E1;
    border-radius: 24px;
    color: #0C87E1;
    cursor: pointer;
    font-weight: 700;
    padding: 3px 30px;
	font-size: 14px;
}
.warning-click-box p:hover {
    background: white;
    opacity: 0.5;
}
@media all and (min-width: 897px) {
	#gFooter .snsUl a:hover img {
		opacity: 0.6;
	}
	#gFooter .fJsBox .next:hover,
	#gFooter .fJsBox .prev:hover {
		opacity: 0.6;
	}
}

@media screen and (min-width: 897px) {
	.white-box {
        /* width: 66vw;
        max-width: 450px; */
        width: 66vw!important;
        /* width: 81%; */
        max-width: 400px;
        margin: 0 auto;
    }

	.warning-text {
		text-align: center;
		margin-bottom: 35px;
		font-size: 14px;
	}
}

@media screen and (min-width: 300px) {
	.white-box {
        /* width: 66vw;
        max-width: 450px; */
        width: 66vw!important;
        /* width: 81%; */
        max-width: 400px;
        margin: 0 auto;
    }

	.warning-text {
		text-align: center;
		margin-bottom: 35px;
		font-size: 14px;
	}
}


@media screen and (max-width: 480px) {
	/*　画面サイズが480px以下の場合ここの記述が適用される　*/
	.header-a {
		font-size: 18px;
	}

	.white-w {
		font-size: 30px;
	}

	.big2 {
		font-size: 25px;
	}

	.small2 {
		font-size: 0.92857rem;
	}
}


.naviBox {
    /* height: 60px; */
	position: sticky;
    top: 0;
	z-index: 100;
}
#gNavi {
    color: #fff;
    background-color: #0C87E1;
    /* background: linear-gradient(113deg, #E1BE6A, #C9AA5E, #B29552); */
}
#gNavi ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#gNavi li {
    /* margin: 0 30px; */
	text-align: center;
	padding: 15px 8px;
	box-sizing: border-box;
	width: 50%;
}
#gNavi li:not(:first-child) {
    border-left: 2px solid #fff;
}
#gNavi a {
    /* font-size: 2rem; */
	font-size: 1em;
    font-weight: 700;
    position: relative;
    color: #fff;
}
#gNavi a:after {
	width: 0;
	height: 2px;
    background-color: #fff;
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
    -webkit-transition: width .3s ease;
    transition: width .3s ease;
}
#gNavi li.on a:after {
    width: 100%;
}
#gNavi.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
}
@media all and (min-width: 897px) {
    #gNavi a:hover:after {
        width: 100%;
    }
}