body {
	font-family: "Noto Serif JP", serif;
	min-height: 100vh;
	position: relative;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

/* pcの電話番号発信対応 */

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

.more-link {
	color: #fff;
	font-size: 1.1875rem;
	font-weight: 600;
	padding-right: 2.0625rem;
	position: relative;
	text-align: right;
}

.more-link::after {
	background: url(../images/common/arrow-right-white.png) no-repeat;
	background-position: center center;
	background-size: contain;
	content: "";
	height: 1.0625rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.pagetop {
	align-items: center;
	background-color: #958456;
	bottom: 3rem;
	display: flex;
	height: 3.75rem;
	justify-content: center;
	position: fixed;
	right: 1.25rem;
	width: 3.75rem;
}

.pagetop img {
	display: inline-block;
	height: 2.125rem;
	width: 1.75rem;
}

.pagination {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: center;
	padding: 0.625rem 0;
}

.pagination__link {
	-webkit-text-decoration: none;
	color: #cccccc; /* 薄いグレーの文字色 */
	font-size: 1.25rem;
	padding: 0.3125rem 0.625rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.pagination__link:hover {
	color: #fff;
	opacity: 1;
}

.pagination__link--active {
	color: #fff;
	font-weight: 700;
}

.title-long {
	display: flex;
	flex-direction: column;
}

.title-long__main {
	font-size: 0.875rem;
	font-weight: 600;
	margin-top: 0.125rem;
}

.title-long__sub {
	font-family: "Playfair Display SC", serif;
	font-size: 3.4375rem;
	line-height: 1;
}

.title-long__first {
	font-size: 4.6875rem;
}

.title-long__main--white,
.title-long__sub--white {
	color: #fff;
}

.title-lower {
	display: flex;
	flex-direction: column;
}

.title-lower__main {
	font-size: 1.1875rem;
	font-weight: 600;
	margin-top: 0.125rem;
}

.title-lower__sub {
	font-family: "Playfair Display SC", serif;
	font-size: 3.4375rem;
	line-height: 1;
}

.title-lower__first {
	font-size: 4.6875rem;
}

.title-lower__main--white,
.title-lower__sub--white {
	color: #fff;
}

.title-small {
	display: flex;
	flex-direction: column;
}

.title-small__main {
	font-size: 1.1875rem;
	font-weight: 600;
	margin-top: 0.125rem;
}

.title-small__sub {
	font-family: "Playfair Display SC", serif;
	font-size: 3.4375rem;
	line-height: 1;
}

.title-small__first {
	font-size: 4.6875rem;
}

.title-small__main--white,
.title-small__sub--white {
	color: #fff;
}

.title {
	display: flex;
	flex-direction: column;
}

.title__main {
	font-size: 1.1875rem;
	font-weight: 600;
	margin-top: 0.125rem;
}

.title__sub {
	font-family: "Playfair Display SC", serif;
	font-size: 3.4375rem;
	line-height: 1;
}

.title__first {
	font-size: 4.6875rem;
}

.title__main--white,
.title__sub--white {
	color: #fff;
}

.top__btn {
	bottom: 0.125rem;
	left: 3.125rem;
	position: fixed;
	transform: translateY(100%);
	width: max(200px, min(30vw, 450px));
	z-index: 11;
}

.container {
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.l-inner {
	height: inherit;
	margin-left: auto;
	margin-right: auto;
	max-width: 65.625rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-narrow-inner {
	height: inherit;
	margin-left: auto;
	margin-right: auto;
	max-width: 46.875rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-wide-inner {
	height: inherit;
	margin-left: auto;
	margin-right: auto;
	max-width: 73.4375rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.archive {
	background-color: #0B0C47;
	overflow-x: hidden;
	padding-bottom: 2.5rem;
	padding-top: 11.0625rem;
	position: relative;
}

.archive__inner {
	margin-left: auto;
	margin-right: auto;
}

.archive__feather01 {
	opacity: 0.9 !important;
}

.archive__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 40%;
	transform: rotate(210deg);
	width: 12.5rem;
}

.archive__feather04 {
	opacity: 0.9 !important;
}

.archive__feather04 {
	right: 1.25rem;
	top: 16.25rem;
	transform: rotate(60deg);
	width: 6.125rem;
}

.archive__feather06 {
	opacity: 0.9 !important;
}

.archive__feather06 {
	bottom: 10%;
	right: 0.625rem;
	width: 5rem;
}

.archive__titles {
	border-bottom: 0.5px solid #111;
	display: inline-block;
	position: relative;
}

.archive__contents {
	margin-top: 2.9375rem;
}

.archive__cats {
	display: flex;
}

.archive__cat {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.166;
	padding: 0.75rem 1rem;
	transition: 0.2s background-color;
}

.archive__cat:not(:first-child) {
	margin-left: 0.75rem;
}

.archive__cat.is-active {
	border-bottom: 1px solid #D9D9D9;
}

.archive__items {
	grid-row-gap: 1.4375rem;
	grid-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.5rem;
	row-gap: 1.4375rem;
}

.archive__item-link {
	aspect-ratio: 320/150;
	display: block;
	position: relative;
}

.archive__item-link::after {
	background-color: rgba(0, 0, 0, 0.4509803922);
	color: #fff;
	content: "Play game";
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	height: 1.9375rem;
	left: 50%;
	line-height: 1.44;
	position: absolute;
	text-align: center;
	top: 40%;
	transform: translate(-45%, -50%);
	width: 6.5rem;
}

.archive__item::after:hover {
	cursor: pointer;
	opacity: 0.7;
}

.archive__item-title {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.4375;
	margin-top: 0.5rem;
	text-align: center;
}

.archive__item-place {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4375;
	margin-top: 0.5rem;
	text-align: center;
}

.archive__pagination {
	margin-top: 6.5rem;
}

.character {
	background-color: #AB4643;
	background-size: cover;
	box-shadow: 0 1px 0 rgb(37, 21, 70);
	padding-bottom: 11.875rem;
	padding-top: 3.75rem;
	position: relative;
	position: relative;
	z-index: 1;
}

.character__after {
	background: url(../images/common/damask-neo.png) no-repeat;
	background-size: cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.character__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 12.5rem;
	position: relative;
	z-index: 2;
}

.character__titles {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
}

.character__swiper-wrap {
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.character__swiper {
	max-width: 75rem;
	z-index: 2;
}

.character__slide {
	display: flex;
	margin-top: 3.75rem;
	position: relative;
}

.character__contents {
	flex: 1 1 20%;
}

.character__names {
	align-items: baseline;
	border-bottom: 2px solid rgba(255, 255, 255, 0.45);
	color: #F0EBDD;
	display: flex;
	padding-bottom: 0.6875rem;
	position: relative;
	width: 130%;
}

.character__names::after {
	background: #fff;
	bottom: 0.25rem;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.character__name {
	font-size: 2.1875rem;
	font-weight: 700;
	padding-left: 0.625rem;
}

.character__cv {
	font-size: 1.125rem;
	font-weight: 700;
	margin-left: 1.8125rem;
}

.character__content {
	margin-top: 1.5rem;
	padding-left: 0.625rem;
}

.character__close-btn {
	cursor: pointer;
	height: 1.5rem;
	position: absolute;
	right: 0.625rem;
	top: 0.625rem;
	width: 1.875rem;
}

.character__close-btn span {
	background-color: #111;
	border-radius: 0.625rem;
	height: 0.125rem;
	position: absolute;
	transition: transform 0.3s, width 0.3s, top 0.3s;
	width: inherit;
}

.character__close-btn span:nth-child(1) {
	left: 0;
	transform: rotate(40deg);
	width: 1.75rem;
}

.character__close-btn span:nth-child(2) {
	left: 0;
	transform: rotate(-40deg);
	width: 1.75rem;
}

.character__close-btn img {
	width: 1.875rem;
}

.character__text {
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.875;
}

.character__profile-text {
	color: #F0EBDD;
	font-size: 0.8125rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.character__table {
	border-collapse: collapse;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	margin-top: 1.125rem;
	table-layout: fixed;
	width: 100%;
}

.character__table-row {
	display: flex;
}

.character__table-cell {
	border: 1px solid #ccc;
	flex: 1 0 5.0625rem;
	font-weight: 400;
	padding-bottom: 0.125rem;
	padding-top: 0.125rem;
	text-align: center;
}

.character__table-cell--header {
	background-color: #E8DBC7;
	flex: 0 0 4.25rem;
	font-weight: 500;
}

.character__table-cell--small {
	font-size: 0.6875rem;
}

.character__small-text {
	color: #F0EBDD;
	font-size: 0.8125rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.character__imgs {
	flex: 1 1 66%;
	overflow: hidden;
	position: relative;
}

.character__img {
	display: block;
	position: relative;
	width: 32rem;
}

.character__img.character__img--manon {
	width: 28rem;
}

.character__img.character__img--ageha {
	width: 26.875rem;
}

.character__img.character__img--toska {
	width: 26.875rem;
}

.character__img.character__img--ruka {
	width: 26.875rem;
}

.character__img.character__img--manager {
	width: 30.625rem;
}

.character__img.character__img--hero {
	width: 25rem;
}

.character__img.character__img--hato {
	margin-left: 6%;
	width: 26.875rem;
}

.character__img-big {
	content: "";
	position: absolute;
	z-index: -10;
}

.character__img-big.character__img-big--garatea {
	background: url(../images/common/chara_garatea-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: -5rem;
	top: 1%;
	width: 50rem;
}

.character__img-big.character__img-big--manon {
	background: url(../images/common/chara_manon-bk.png) no-repeat;
	background-size: contain;
	height: 33.75rem;
	right: -6.25rem;
	top: 1%;
	width: 55.625rem;
}

.character__img-big.character__img-big--ageha {
	background: url(../images/common/chara_ageha-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: -4.25rem;
	top: 1%;
	width: 48.125rem;
}

.character__img-big.character__img-big--toska {
	background: url(../images/common/chara_toska-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: -6.25rem;
	top: 1%;
	width: 58.25rem;
}

.character__img-big.character__img-big--ruka {
	background: url(../images/common/chara_ruka-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: 1.4375rem;
	top: 0;
	width: 40.625rem;
}

.character__img-big.character__img-big--manager {
	background: url(../images/common/chara_manager-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: -6.875rem;
	top: -0.5rem;
	width: 60rem;
}

.character__img-big.character__img-big--hero {
	background: url(../images/common/chara_hero-bk.png) no-repeat;
	background-size: contain;
	height: 37.5rem;
	right: 5rem;
	top: 8%;
	width: 33.25rem;
}

.character__img-big.character__img-big--hato {
	background: url(../images/common/chara_hato-bk.png) no-repeat;
	background-size: contain;
	height: 32.5rem;
	right: -8.75rem;
	top: 0;
	width: 46.25rem;
}

.character__img img {
	height: auto;
	width: 100%;
}

.character__word-box {
	background: rgba(249, 243, 231, 0.8);
	border: 1px solid #ECE36A;
	bottom: 0.4375rem;
	box-shadow: 0px 4px 4px 0px rgba(212, 207, 139, 0.25);
	margin-top: 1.875rem;
	min-height: 11.6875rem;
	padding: 0.5625rem 0.9375rem 0.875rem;
	padding: 0.5625rem 0.84375rem 0.5rem;
	position: absolute;
	right: 11.125rem;
	width: 28rem;
	z-index: 10;
}

.character__word-box.character__word-box--hidden {
	opacity: 0;
	visibility: hidden;
}

.character__word {
	color: #4C4A46;
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.94;
}

.character__btn {
	background-color: #fff;
	border: 1px solid #BBA278;
	padding: 0.5625rem;
	position: relative;
}

.character__btn-text {
	color: #111;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.16em;
}

.character__btn::after {
	background: url(../images/common/arrow-right.png) no-repeat;
	background-position: center center;
	background-size: contain;
	content: "";
	height: 0.625rem;
	position: absolute;
	right: 0.6875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5625rem;
}

.character__thumbnail {
	margin-left: auto;
	margin-right: auto;
	max-width: 57rem;
	padding-left: 2%;
}

.character__thumb {
	aspect-ratio: 1/1;
	cursor: pointer;
	height: 6.25rem;
	width: 6.25rem;
}

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

.character__thumbnail .swiper-slide {
	filter: brightness(50%);
	transition: filter 0.2s;
	width: 33.3333333333%;
}

.character__thumbnail .swiper-slide.swiper-slide-thumb-active {
	filter: brightness(100%);
}

.cookie {
	align-items: center;
	background: rgba(0, 0, 0, 0.7);
	bottom: -200px;
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	font-size: 0.875rem;
	justify-content: space-between;
	padding: 2.5rem;
	position: fixed;
	transition: visibility 0.5s;
	visibility: hidden;
	width: 100%;
	z-index: 9999;
}

.cookie.is-show {
	visibility: visible;
}

.cookie a {
	border-bottom: 1px solid #fff;
	color: #fff;
}

.cookie__agree {
	background: dodgerblue;
	color: #fff;
	margin-left: 0.25rem;
	padding: 0.625rem 1.25rem;
}

.cookie__agree:hover {
	cursor: pointer;
	opacity: 0.7;
}

/* ゆっくり消える */

.cc-hide2 {
	animation: hide 1s linear 0s;
	animation-fill-mode: forwards;
}

.drawer-list {
	background-image: url(../images/common/mv-sp03.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	display: none;
	height: 100vh;
	left: 0;
	overflow-y: auto;
	padding-top: 5.625rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: visibility 0.3s ease;
	width: 100%;
	z-index: 100;
}

.drawer-list::after {
	background-color: rgba(7, 5, 27, 0.75);
	content: "";
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

.drawer-list .active {
	display: block;
}

.drawer-list__inner {
	height: 100vh;
	margin-left: auto;
	margin-right: auto;
	max-width: 25rem;
	padding: 0 2.5rem 9.375rem;
}

.drawer-list__item {
	align-items: center;
	border-bottom: 1px solid #9B9BB4;
	color: #fff;
	display: flex;
	line-height: 1.125;
	padding-bottom: 1rem;
}

.drawer-list__title {
	font-family: "Playfair Display SC", serif;
	font-size: 1.375rem;
	letter-spacing: 0.02em;
	line-height: 1.33;
}

.drawer-list__subitem {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	line-height: 1.58;
	margin-left: 1rem;
}

.drawer-list__item:not(:first-child) {
	padding-top: 1rem;
}

.drawer-list__sns {
	margin-top: 3.75rem;
}

.drawer-list__sns-icons {
	align-items: center;
	display: flex;
	justify-content: center;
}

.drawer-list__sns-icon + .drawer-list__sns-icon {
	margin-left: 2.1875rem;
}

.drawer-list__sns-icon.drawer-list__sns-icon--youtube {
	background-color: #fff;
	border-radius: 10px;
	width: 2.625rem;
}

.drawer-list__sns-icon.drawer-list__sns-icon--youtube a {
	display: flex;
	justify-content: center;
}

.drawer-list__sns-icon.drawer-list__sns-icon--youtube a img {
	width: 2.375rem;
}

.drawer-list__sns-icon.drawer-list__sns-icon--x {
	width: 2.25rem;
}

.drawer-list__sns-icon.drawer-list__sns-icon--booth {
	width: 2.6875rem;
}

.dropdown__toggle {
	color: white;
	cursor: pointer;
	font-size: clamp(0.5rem, 0.1547rem + 0.7203vw, 0.875rem);
	padding: 0 1.125rem 0 0.625rem;
	position: relative;
	text-transform: uppercase;
}

.dropdown__toggle::after {
	background-color: #fff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	height: 6.9282px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.dropdown__menu {
	background-color: white;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
	display: none;
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 1;
}

.dropdown__menu li {
	-webkit-text-decoration: none;
	color: black;
	cursor: pointer;
	display: block;
	padding: 12px 16px;
	text-decoration: none;
}

.dropdown__menu li:hover {
	background-color: #ddd;
}

.feather {
	position: absolute;
}

.footer {
	background-color: #37373E;
	color: #fff;
	font-size: 0.625rem;
}

.footer__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 0.875rem 0.625rem 1.25rem;
}

.footer__logo {
	display: inline-block;
	width: 15.875rem;
}

.footer__contents {
	color: #E2E2E2;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.625rem;
	margin-top: 1.25rem;
	text-align: center;
}

.footer__contact-colon {
	display: inline;
}

.footer__copyright {
	margin-top: 0.3125rem;
}

.footer__links {
	display: flex;
	justify-content: center;
	margin-top: 1.875rem;
}

.footer__link {
	position: relative;
}

.footer__link-text {
	padding: 0.9375rem;
}

.footer__link:not(:last-child)::after {
	background: #fff;
	content: "";
	height: 0.625rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
}

.footer__text {
	margin-top: 1.25rem;
}

.guideline {
	background-color: #0B0C47;
	overflow-x: hidden;
	padding-top: 11.25rem;
}

.guideline__feather01 {
	opacity: 0.9 !important;
}

.guideline__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 20%;
	transform: rotate(210deg);
	width: 12.5rem;
}

.guideline__feather02 {
	opacity: 0.9 !important;
}

.guideline__feather02 {
	bottom: 40%;
	left: 0.125rem;
	transform: rotate(60deg);
	width: 5.625rem;
}

.guideline__feather03 {
	opacity: 0.9 !important;
}

.guideline__feather03 {
	bottom: 30%;
	left: 4.375rem;
	width: 4.75rem;
}

.guideline__feather04 {
	opacity: 0.9 !important;
}

.guideline__feather04 {
	right: 1.25rem;
	top: 26%;
	transform: rotate(60deg);
	width: 6.125rem;
}

.guideline__feather05 {
	opacity: 0.9 !important;
}

.guideline__feather05 {
	filter: blur(4px);
	right: -2.5rem;
	top: 40%;
	transform: rotate(210deg);
	width: 7.5rem;
}

.guideline__feather06 {
	opacity: 0.9 !important;
}

.guideline__feather06 {
	bottom: 20%;
	right: 0.625rem;
	width: 5rem;
}

.guideline__inner {
	padding-bottom: 6.25rem;
}

.guideline__titles {
	color: #fff;
}

.guideline__title {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.guideline__dates {
	color: #fff;
	font-size: 0.875rem;
	line-height: 1.428;
	margin-top: 1.25rem;
	text-align: right;
}

.guideline__update {
	margin-top: 0.625rem;
}

.guideline__contents {
	font-family: "Noto Sans JP", sans-serif;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 43.75rem;
}

.guideline__lists {
	margin-top: 1rem;
}

.guideline__list {
	color: #fff;
	margin-left: 1em;
	text-indent: -1em;
}

.guideline__list.guideline__list--indent {
	text-indent: 0;
}

.guideline__list + .guideline__list {
	margin-top: 0.5rem;
}

.guideline__text {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.428;
}

.guideline__16 {
	margin-top: 1rem;
}

.guideline__32 {
	margin-top: 2rem;
}

.guideline__40 {
	margin-top: 2.5rem;
}

.header-lower {
	background-color: rgba(7, 5, 27, 0.8);
	height: 6.25rem;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: background-color 0.2s ease;
	z-index: 1000;
}

.header-lower__inner {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.header-lower__link {
	align-items: center;
	color: #fff;
	display: flex;
	height: inherit;
	transition: opacity 0.2s ease;
}

.header-lower__logo {
	width: 8.75rem;
}

.header-lower__nav {
	display: flex;
	height: inherit;
	margin-left: auto;
}

.header-lower__hamburger {
	display: none;
	height: 1.6875rem;
	margin-left: auto;
	position: relative;
	width: 3.75rem;
	z-index: 9999;
}

.header-lower__hamburger span {
	background-color: #fff;
	border-radius: 0.0625rem;
	height: 0.0625rem;
	position: absolute;
	right: 0;
	transition: transform 0.3s, width 0.3s, top 0.3s;
	width: inherit;
}

.header-lower__hamburger span:nth-child(1) {
	top: 0;
}

.header-lower__hamburger span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.header-lower__hamburger span:nth-child(3) {
	top: 100%;
	transform: translateY(-100%);
}

.header-lower__hamburger.active span:nth-child(1) {
	top: -10px;
	transform: translateY(1.25rem) rotate(35deg);
	width: 2.5rem;
}

.header-lower__hamburger.active span:nth-child(2) {
	opacity: 0;
}

.header-lower__hamburger.active span:nth-child(3) {
	top: 29px;
	transform: translateY(-1.25rem) rotate(-35deg);
	width: 2.5rem;
}

.header-lower .header-lower__background--blue {
	background-color: rgba(3, 3, 112, 0.7);
	transition: background-color 0.6s ease;
}

.header-lower.header-lower__height--small {
	height: 5rem;
	transition: height 0.6s ease;
}

.header-lower__logo.header-lower__logo--small {
	transition: width 0.6s ease;
	width: 6rem;
}

.header-nav {
	align-items: center;
	display: flex;
	height: inherit;
	margin-left: auto;
}

.header-nav__item {
	align-items: center;
	display: flex;
	height: inherit;
	text-align: center;
}

.header-nav__item.header-nav__item-dropdown {
	margin-left: 3.125rem;
}

.header-nav__item-link {
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: clamp(0.5rem, 0.1547rem + 0.7203vw, 0.875rem);
	font-size: 0.90625rem;
	font-weight: 700;
	height: inherit;
	justify-content: center;
	line-height: 1.57;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	text-transform: uppercase;
	transition: opacity 0.3s ease;
}

.header-nav__sns {
	align-items: center;
	display: flex;
}

.header-nav__icon {
	display: inline-block;
	padding: 0 0.625rem;
	transition: opacity 0.3s ease;
}

.header-nav__youtube {
	width: 1.5rem;
}

.header-nav__x {
	width: 1.3125rem;
}

.header-nav__booth {
	width: 1.3125rem;
}

.header {
	background-color: rgba(14, 18, 48, 0.8);
	height: 6.25rem;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateY(-100%);
	transition: background-color 0.2s ease;
	z-index: 1000;
}

.header__inner {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.header__link {
	align-items: center;
	color: #fff;
	display: flex;
	height: inherit;
	transition: opacity 0.2s ease;
	z-index: 9999;
}

.header__logo {
	width: 8.75rem;
}

.header__nav {
	display: flex;
	height: inherit;
	margin-left: auto;
}

.header__hamburger {
	display: none;
	height: 1.6875rem;
	margin-left: auto;
	position: relative;
	width: 3.75rem;
	z-index: 9999;
}

.header__hamburger span {
	background-color: #fff;
	border-radius: 0.0625rem;
	height: 0.125rem;
	position: absolute;
	right: 0;
	transition: transform 0.3s, width 0.3s, top 0.3s;
	width: inherit;
}

.header__hamburger span:nth-child(1) {
	top: 0;
}

.header__hamburger span:nth-child(2) {
	top: 36%;
}

.header__hamburger span:nth-child(3) {
	opacity: 0;
	top: 100%;
	transform: translateY(-100%);
}

.header__hamburger::after {
	bottom: -2px;
	color: #fff;
	content: "MENU";
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.625rem;
	font-weight: 700;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: bottom 0.3s;
}

.header__hamburger.active::after {
	bottom: -8px;
	content: "CLOSE";
}

.header__hamburger.active span:nth-child(1) {
	top: -10px;
	transform: translateY(1.25rem) rotate(28deg);
	width: 2.125rem;
}

.header__hamburger.active span:nth-child(2) {
	top: 29px;
	transform: translateY(-1.25rem) rotate(-28deg);
	width: 2.125rem;
}

.header__hamburger.active span:nth-child(3) {
	top: 29px;
	transform: translateY(-1.25rem) rotate(-35deg);
	width: 2.5rem;
}

.header .header__background--blue {
	background-color: rgba(3, 3, 112, 0.7);
	transition: background-color 0.6s ease;
}

.header.header__height--small {
	height: 5rem;
	transition: height 0.6s ease;
}

.header__logo.header__logo--small {
	transition: width 0.6s ease;
	width: 6rem;
}

.scroll-fade {
	opacity: 0;
	transition: all 2s;
}

.scroll-up {
	opacity: 0;
	transform: translateY(100px);
	transition: all 2s;
}

.scroll-up.done,
.scroll-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.load-fade {
	opacity: 0;
	transition: all 2s;
}

.load-up {
	opacity: 0;
	transform: translateY(100px);
	transition: all 2s;
}

.load-up.done,
.load-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.map-back {
	background: url(../images/common/old-map.jpg) no-repeat;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

.map {
	background: url(../images/common/map-back.png) no-repeat;
	background-color: #0B0C47;
	background-size: cover;
	box-shadow: 0 1px 0 rgb(37, 21, 70);
	overflow-x: hidden;
	padding-bottom: 8.755rem; /* 20250418FJ_下の内側余白を変更（2.5→8.75） */
	padding-top: 8.75rem;
	position: relative;
}

.map__feather01 {
	opacity: 0.9 !important;
}

.map__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 20%;
	transform: rotate(210deg);
	width: 15rem;
}

.map__feather02 {
	opacity: 0.9 !important;
}

.map__feather02 {
	bottom: 17.5rem;
	left: 0.125rem;
	transform: rotate(60deg);
	width: 5.625rem;
}

.map__feather03 {
	opacity: 0.9 !important;
}

.map__feather03 {
	bottom: 10rem;
	left: 4.375rem;
	width: 4.75rem;
}

.map__feather04 {
	opacity: 0.9 !important;
}

.map__feather04 {
	right: 1.25rem;
	top: 16.25rem;
	transform: rotate(60deg);
	width: 6.125rem;
}

.map__feather05 {
	opacity: 0.9 !important;
}

.map__feather05 {
	bottom: 24%;
	filter: blur(4px);
	right: -2.5rem;
	transform: rotate(210deg);
	width: 15rem;
}

.map__feather06 {
	opacity: 0.9 !important;
}

.map__feather06 {
	bottom: 15%;
	right: 0.625rem;
	width: 5rem;
}

.map__titles {
	text-align: center;
}

.map__box {
	margin-top: 3.5rem;
}

.map__more {
	display: block;
	margin-top: 1.875rem;
	text-align: right;
}

.movie {
	background-color: #AB4643;
	box-shadow: 0 1px 0 rgb(37, 21, 70);
	padding-bottom: 8.75rem;
	padding-top: 5rem;
	position: relative;
}

.movie__after {
	background: url(../images/common/damask-neo.png) no-repeat;
	background-size: cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.movie__titles {
	text-align: center;
}

.movie__items {
	grid-column-gap: 4.625rem;
	-moz-column-gap: 4.625rem;
	grid-row-gap: 1.875rem;
	column-gap: 4.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 1.875rem;
}

.movie__item {
	margin-top: 6.125rem;
}

.movie__category {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.437;
	text-align: center;
}

.movie__content {
	margin-top: 1.5rem;
	overflow: hidden;
}

.movie__content:hover .movie__iframe {
	transform: scale(1.1);
}

.movie__iframe {
	transition: transform 0.6s ease;
	width: 100%;
}

.movie__more {
	display: block;
	margin-top: 1.875rem;
	text-align: right;
}

.movie__text {
	background-color: #0E122F;
	color: #fff;
	font-size: 1.875rem;
	padding: 6.5625rem 0;
	text-align: center;
}

.mv {
	min-height: 43.75rem;
	position: relative;
	width: 100%;
	z-index: 10;
}

.mv__inner {
	height: 100%;
	position: relative;
	width: 100%;
}

.mv__inner::after {
	background: url(../images/common/mv-line.png) no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 0.9375rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.mv__feather01 {
	opacity: 0.9 !important;
}

.mv__feather01 {
	bottom: 1.875rem;
	right: 6.25rem;
	width: 13.75rem;
	z-index: 2;
}

.mv__feather02 {
	left: 1.625rem;
	opacity: 1;
	top: 52%;
	width: 6.25rem;
	z-index: 2;
}

.mv__feather03 {
	opacity: 1;
	right: 1.25rem;
	top: 40%;
	width: 7.5rem;
	z-index: 2;
}

.mv__swiper,
.mv__slide,
.mv__slide img,
.mv__slide picture {
	height: inherit;
}

.mv__slide img {
	-o-object-fit: cover;
	-o-object-position: top;
	aspect-ratio: 1440/1017;
	max-width: 100%;
	object-fit: cover;
	object-position: top;
	transform: scale(1.5);
	width: 100%;
}

.swiper,
.swiper-initialized,
.swiper-horizontal,
.swiper-android,
.swiper-backface-hidden {
	padding-bottom: 0;
}

.mv__titles {
	display: flex;
	flex-direction: row-reverse;
	left: 50%;
	position: absolute;
	top: 21%;
	transform: translateX(-50%);
	z-index: 2;
}

.mv__title {
	color: #fff;
	font-size: clamp(2.875rem, 2.4722rem + 0.8403vw, 3.3125rem);
	font-weight: 700;
	letter-spacing: 0.4em;
	line-height: 1.452;
	text-orientation: upright;
	width: 100%;
	writing-mode: vertical-rl;
}

.mv__title + .mv__title {
	margin-top: 4.125rem;
}

.mv__title:first-child {
	margin-left: 0.625rem;
}

.mv__title--deco {
	position: relative;
}

.mv__title--deco::before {
	content: "【";
	left: -2.5rem;
	position: absolute;
	top: -0.8125rem;
	writing-mode: initial;
}

.mv__title--deco::after {
	content: "】";
	position: absolute;
	right: -3.75rem;
	top: -0.8125rem;
	writing-mode: initial;
}

.char {
	opacity: 0;
	transform: translateY(-20%);
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.kokoro {
	display: inline;
	margin-bottom: 0.625rem;
	width: 6.25rem;
}

.news-archive-list {
	margin-top: 0.625rem;
}

.news-archive-list__item {
	border-bottom: 0.5px solid #fff;
}

.news-archive-list__item + .news-archive-list__item {
	margin-top: 1.5rem;
}

.news-archive-list__item a {
	align-items: center;
	color: #fff;
	display: flex;
	padding: 2rem;
	position: relative;
}

.news-archive-list__item a::after {
	background: url(../images/common/arrow-right-white.png) no-repeat;
	background-position: center center;
	background-size: contain;
	content: "";
	height: 1.0625rem;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.news-archive-list__item-meta {
	align-items: center;
	display: flex;
	flex: 0 0 30%;
}

.news-archive-list__item-date {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.43;
}

.news-archive-list__item-category {
	border: 1px solid #fff;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	line-height: 1.43;
	margin-left: 1rem;
	min-width: 8.25rem;
	padding: 0.25rem 0.5rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.news-archive-list__item-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	margin-left: 1rem;
	max-width: 38.5rem;
}

.news-archive {
	background-color: #0B0C47;
	overflow-x: hidden;
	padding-bottom: 5rem;
	padding-top: 11.0625rem;
	position: relative;
}

.news-archive__inner {
	margin-left: auto;
	margin-right: auto;
}

.news-archive__feather01 {
	opacity: 0.9 !important;
}

.news-archive__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 40%;
	transform: rotate(210deg);
	width: 12.5rem;
}

.news-archive__feather02 {
	opacity: 0.9 !important;
}

.news-archive__feather02 {
	bottom: 17.5rem;
	left: 0.125rem;
	transform: rotate(60deg);
	width: 5.625rem;
}

.news-archive__feather03 {
	opacity: 0.9 !important;
}

.news-archive__feather03 {
	bottom: 10rem;
	left: 4.375rem;
	width: 4.75rem;
}

.news-archive__feather04 {
	opacity: 0.9 !important;
}

.news-archive__feather04 {
	right: 1.25rem;
	top: 16.25rem;
	transform: rotate(60deg);
	width: 6.125rem;
}

.news-archive__feather05 {
	opacity: 0.9 !important;
}

.news-archive__feather05 {
	bottom: 24%;
	filter: blur(4px);
	right: -2.5rem;
	transform: rotate(210deg);
	width: 7.5rem;
}

.news-archive__feather06 {
	opacity: 0.9 !important;
}

.news-archive__feather06 {
	bottom: 10%;
	right: 0.625rem;
	width: 5rem;
}

.news-archive__titles {
	border-bottom: 0.5px solid #111;
	display: inline-block;
	position: relative;
}

.news-archive__cats {
	display: flex;
	margin-top: 4.125rem;
}

.news-archive__cat {
	background-color: #fff;
	border: 1px solid #D9D9D9;
	color: #777777;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.166;
	padding: 0.75rem 1rem;
	transition: 0.2s background-color;
}

.news-archive__cat:not(:first-child) {
	margin-left: 0.75rem;
}

.news-archive__cat.is-active {
	background-color: #C9C8C8;
	color: #fff;
}

.news-archive__pagination {
	margin-top: 4.125rem;
}

.news-article {
	background-color: #0B0C47;
	min-height: 90vh;
	padding-top: 11.25rem;
}

.news-article__feather01 {
	opacity: 0.9 !important;
}

.news-article__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 10%;
	transform: rotate(210deg);
	width: 10rem;
}

.news-article__feather02 {
	opacity: 0.9 !important;
}

.news-article__feather02 {
	right: 1.25rem;
	top: 16.25rem;
	transform: rotate(60deg);
	width: 6.125rem;
}

.news-article__inner {
	padding-bottom: 9.25rem;
}

.news-article__titles {
	color: #fff;
}

.news-article__content {
	font-family: "Noto Sans JP", sans-serif;
	margin-top: 3.75rem;
}

.news-article__cats {
	display: flex;
	justify-content: space-between;
}

.news-article__cat {
	background-color: #fff;
	color: #777777;
	font-weight: 500;
	padding: 0.375rem 1rem;
}

.news-article__date {
	color: #fff;
	letter-spacing: 0.1em;
}

.news-article__title {
	border-bottom: 2px solid #9B9BB4;
	color: #fff;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.54;
	margin-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.news-article__text {
	color: #fff;
	margin-top: 1.5rem;
}

.news-article__pagination {
	align-items: center;
	color: #fff;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	justify-content: center;
	margin-top: 7.5rem;
}

.news-article__pagination__link {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding: 1.25rem;
}

.news-list {
	margin-top: 1.5rem;
}

.news-list__item {
	border-bottom: 0.5px solid #9B9BB4;
}

.news-list__item:first-child {
	border-top: 0.5px solid #9B9BB4;
}

.news-list__item a {
	align-items: center;
	color: #fff;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1;
	padding: 1.4375rem 0;
	position: relative;
}

.news-list__item a::after {
	background: url(../images/common/arrow-right-white.png) no-repeat;
	background-position: center center;
	background-size: contain;
	content: "";
	height: 1.0625rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.news-list__item-meta {
	align-items: center;
	display: flex;
	flex: 0 0 16.6%;
}

.news-list__item-date {
	font-size: 0.875rem;
	line-height: 1;
}

.news-list__item-category {
	border: 1px solid #fff;
	color: #fff;
	font-size: 0.875rem;
	line-height: 1;
	margin-left: 1.5rem;
	min-width: 72px;
	padding: 0.3125rem 0.5rem;
	text-align: center;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.news-list__item-title {
	font-size: 1rem;
	line-height: 1.5;
	margin-left: 2rem;
	max-width: 37.625rem;
}

.news {
	background-color: #0B0C47;
	box-shadow: 0 1px 0 rgb(37, 21, 70);
	overflow: hidden;
	padding-bottom: 5rem;
	padding-top: 5.625rem;
	position: relative;
}

.news__feather01 {
	bottom: 0.625rem;
	filter: blur(4px);
	left: -5.875rem;
	transform: rotate(200deg);
	width: 15rem;
}

.news__feather02 {
	right: 2.5rem;
	top: 44%;
	width: 5rem;
}

.news__feather03 {
	bottom: -4%;
	right: 2.5rem;
	width: 6.25rem;
}

.news__inner {
	margin-left: auto;
	margin-right: auto;
}

.news__titles {
	display: inline-block;
	padding-bottom: 1.125rem;
	position: relative;
}

.news__more {
	display: block;
	margin-top: 2.125rem;
	text-align: right;
}

.news__more-link {
	color: #fff;
	font-weight: 600;
	line-height: 1;
}

.opening {
	align-items: center;
	display: flex;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: relative;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1010;
}

.opening__mask {
	background-color: #0E122F;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.opening__logo {
	clip-path: inset(0 100% 0 0); /*予め切り取り*/
	display: block;
	opacity: 0; /*予め透明に*/
	transform: scale(1.1); /*予め大きくしておく*/
	width: 15.875rem;
	z-index: 2;
}

/* オープニングアニメーションが終了したら非表示にする */

.opening.hidden {
	display: none;
}

.pc-nav {
	height: inherit;
}

.pc-nav__items {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: center;
}

.pc-nav__item,
.pc-nav__items a {
	height: inherit;
}

.pc-nav__item {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: relative;
}

.pc-nav__item a {
	align-items: center;
	color: #fff;
	display: flex;
	font-family: "Playfair Display SC", serif;
	font-size: clamp(0.5rem, 0.1579rem + 0.7018vw, 1rem);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 2;
	position: relative;
}

.pc-nav__item a:hover {
	opacity: 1;
}

.pc-nav__item--hover a::after {
	background-color: #fff;
	bottom: 1.875rem;
	content: "";
	height: 0.5px;
	left: 0;
	position: absolute;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: 0.3s;
	transition: transform 0.3s;
	width: 100%;
}

.pc-nav__item--hover a:hover::after {
	transform: scale(1, 1);
}

.pc-nav--tel,
.pc-nav--mail {
	padding-left: 1.0625rem;
}

.pc-nav--tel::before,
.pc-nav--mail::before {
	content: "";
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.pc-nav--tel::before {
	background-image: url(../images/common/tel-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 0.9375rem;
	width: 0.9375rem;
}

.pc-nav--mail::before {
	background-image: url(../images/common/mail-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 1rem;
	width: 1rem;
}

.play {
	background-color: #0B0C47;
	overflow-x: hidden;
	padding-bottom: 11.875rem;
	padding-top: 8.4375rem;
	position: relative;
}

.play::after {
	background: url(../images/common/thick-line.png) no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 5rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.play__feather01 {
	filter: blur(4px);
	left: -2.5rem;
	top: 12.5rem;
	transform: rotate(210deg);
	width: 18.75rem;
}

.play__feather02 {
	left: 0.125rem;
	top: 36.25rem;
	width: 5rem;
}

.play__feather03 {
	bottom: 6.25rem;
	left: 5.625rem;
	width: 4.75rem;
}

.play__feather04 {
	right: 4.375rem;
	top: 18.75rem;
	width: 4.75rem;
}

.play__feather05 {
	right: -0.375rem;
	top: 31.25rem;
	width: 8rem;
}

.play__titles {
	position: relative;
	text-align: center;
}

.play__intro {
	color: #fff;
	font-size: 1.25rem;
	line-height: 1.8;
	margin-top: 3.125rem;
	text-align: center;
}

.play__atten-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.625rem;
}

.play__atten {
	color: #fff;
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding: 0 2.625rem;
	position: relative;
	text-align: center;
}

.play__atten::before,
.play__atten::after {
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	height: 18px;
	position: absolute;
	top: 14%;
	width: 18px;
}

.play__atten::before {
	left: 0;
}

.play__atten::after {
	right: 0;
}

.play__atten.play__atten--big {
	font-size: 1.125rem;
}

.play__strong {
	background-color: #fff;
	color: #000;
	font-size: 1.5625rem;
	letter-spacing: 0.1em;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.play__border {
	border-bottom: 1px solid #fff;
	font-size: 1.4375rem;
	letter-spacing: 0.08em;
}

.play__items {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.5625rem;
	max-width: 54rem;
}

.play__item {
	align-items: center;
	background: url(../images/common/play-back.png) no-repeat;
	background-size: contain;
	display: flex;
	flex: 1 1 48%;
	flex-direction: column;
	min-height: 35.25rem;
	padding: 5rem 2.125rem 1.875rem;
}

.play__item + .play__item {
	margin-left: 2.375rem;
}

.play__img01 {
	width: 7.4375rem;
}

.play__img02 {
	width: 10.375rem;
}

.play__btn {
	align-items: center;
	background: linear-gradient(#2B2D96, #0C0D48);
	display: flex;
	height: 4.0625rem;
	justify-content: center;
	margin-top: 2rem;
	min-width: 21.5rem;
	padding: 1.25rem 2.5rem;
	position: relative;
	transition: background-color 0.3s;
}

.play__btn::after {
	background: url(../images/common/arrow-right-white.png) no-repeat;
	background-size: contain;
	content: "";
	height: 0.875rem;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.0625rem;
}

.play__btn:hover {
	opacity: 1;
}

.play__btn::before {
	background: #0B0C47;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: 0.3s;
	transition-property: transform;
	width: 100%;
}

.play__btn:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

.play__btn-content {
	text-align: center;
}

.play__guide {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1;
	position: relative;
}

.play__guide .play__guide--movie {
	position: relative;
}

.play__text {
	color: #fff;
	font-size: 1.4375rem;
	font-weight: 900;
	line-height: 1.782;
	padding-bottom: 1.875rem;
	text-align: center;
}

.play__text + .play__text {
	margin-top: 1.875rem;
}

.play__arrow {
	display: inline-block;
	height: 1.0625rem;
	width: 0.875rem;
}

.play__cat-link {
	-webkit-text-decoration: none;
	box-shadow: inset 0 0 0 0 #101012;
	margin: 0 0.5rem;
	padding: 0.5rem 0.5rem;
	text-decoration: none;
	transition: color 0.6s ease-in-out, box-shadow 0.6s ease-in-out;
}

.play__cat-link:hover {
	box-shadow: inset 200px 0 0 0 #101012;
}

.sns {
	background-color: #0B0C47;
	padding-bottom: 7.5rem;
	padding-top: 8.75rem;
}

.sns__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

.sns__box {
	align-items: center;
	background: linear-gradient(96.78deg, rgba(11, 12, 71, 0) 11.3%, rgba(51, 53, 114, 0.250186) 33.45%, rgba(46, 47, 93, 0.59) 50.84%, rgba(51, 53, 114, 0.263446) 72.11%, rgba(11, 12, 71, 0) 90.37%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4.75rem 0.625rem 6rem;
	position: relative;
	width: 54.875rem;
}

.sns__box::before {
	background: url(../images/common/deco.png) no-repeat;
	background-size: contain;
	content: "";
	height: 0.6875rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.sns__box::after {
	background: url(../images/common/deco.png) no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 0.6875rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.sns__icons {
	align-items: center;
	display: flex;
	margin-top: 2.1875rem;
}

.sns__icon + .sns__icon {
	margin-left: 3.125rem;
}

.sns__icon.sns__icon--youtube {
	background-color: #fff;
	border-radius: 10px;
	width: 3.6875rem;
}

.sns__icon.sns__icon--youtube a {
	display: flex;
	justify-content: center;
}

.sns__icon.sns__icon--youtube a img {
	width: 3.25rem;
}

.sns__icon.sns__icon--x {
	width: 3.25rem;
}

.sns__icon.sns__icon--booth {
	width: 3.5rem;
}

.sns__feather01,
.sns__feather02,
.sns__feather03 {
	position: absolute;
}

.sns__feather01 {
	right: 10.625rem;
	top: -5.625rem;
	width: 9.625rem;
}

.sns__feather02 {
	bottom: -0.625rem;
	left: 1.25rem;
	width: 15rem;
}

.sns__feather03 {
	bottom: -6.25rem;
	right: 0.625rem;
	width: 13.75rem;
}

.sp-nav {
	background-color: #fff;
	background-size: cover;
	display: none;
	height: 100vh;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: visibility 0.3s ease;
	width: 100%;
	z-index: 100;
}

.sp-nav::before {
	background-color: rgba(0, 0, 0, 0.7);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.sp-nav .is-active {
	display: block;
}

.sp-nav__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: inherit;
	justify-content: center;
	width: 100%;
}

.sp-nav__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow: scroll;
	padding-bottom: 1.25rem;
	padding-top: 13rem;
}

.sp-nav__item {
	padding-top: 2rem;
}

.sp-nav__item a {
	color: #111;
	display: inline-block;
	text-align: center;
}

.sp-nav__item:first-child {
	padding-top: 0;
}

.story {
	background: url(../images/common/story-back.png) no-repeat;
	background-color: #0B0C47;
	background-size: contain;
	min-height: 48.25rem;
	overflow: hidden;
	position: relative;
}

.story::after {
	background: url(../images/common/thick-line.png) no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 5rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.story__feather01 {
	bottom: 12.5rem;
	left: -0.625rem;
	width: 4.875rem;
}

.story__feather02 {
	bottom: 2.5rem;
	filter: blur(2px);
	left: -6.25rem;
	width: 15.625rem;
}

.story__feather03 {
	right: 6.25rem;
	top: 17.5rem;
	width: 5rem;
}

.story__feather04 {
	bottom: 15rem;
	filter: blur(2px);
	right: -5rem;
	width: 10.625rem;
}

.story__feather05 {
	bottom: 5.625rem;
	filter: blur(2px);
	right: 6.25rem;
	width: 4.6875rem;
}

.story__inner {
	background-size: contain;
	display: flex;
	justify-content: flex-end;
	min-height: inherit;
	position: relative;
}

.story__wrap {
	color: #fff;
	padding-bottom: 12rem;
	padding-top: 12.5rem;
}

.story__titles {
	position: relative;
}

.story__contents {
	margin-top: 3.1875rem;
}

.story__text {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.9;
}

.story__text + .story__text {
	margin-top: 2.5rem;
}

.swiper-button-prev,
.swiper-button-next {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
	height: 112px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 35px;
	z-index: 10;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	content: "";
	display: block;
}

.swiper-button-prev {
	background-image: url("../images/common/swiper-arrow-left.png");
	background-size: contain;
	left: -3.375rem;
}

.swiper-button-next {
	background-image: url("../images/common/swiper-arrow-right.png");
	background-size: contain;
	right: 7.5rem;
}

.terms {
	background-color: #0B0C47;
	overflow-x: hidden;
	padding-top: 11.25rem;
}

.terms__feather01 {
	opacity: 0.9 !important;
}

.terms__feather01 {
	filter: blur(4px);
	left: -3.75rem;
	top: 20%;
	transform: rotate(210deg);
	width: 12.5rem;
}

.terms__feather02 {
	opacity: 0.9 !important;
}

.terms__feather02 {
	bottom: 40%;
	left: 0.125rem;
	transform: rotate(60deg);
	width: 5.625rem;
}

.terms__feather03 {
	opacity: 0.9 !important;
}

.terms__feather03 {
	bottom: 30%;
	left: 4.375rem;
	width: 4.75rem;
}

.terms__feather04 {
	opacity: 0.9 !important;
}

.terms__feather04 {
	right: 1.25rem;
	top: 26%;
	transform: rotate(60deg);
	width: 6.125rem;
}

.terms__feather05 {
	opacity: 0.9 !important;
}

.terms__feather05 {
	filter: blur(4px);
	right: -2.5rem;
	top: 40%;
	transform: rotate(210deg);
	width: 7.5rem;
}

.terms__feather06 {
	opacity: 0.9 !important;
}

.terms__feather06 {
	bottom: 20%;
	right: 0.625rem;
	width: 5rem;
}

.terms__inner {
	padding-bottom: 6.25rem;
}

.terms__titles {
	color: #fff;
}

.terms__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.terms__dates {
	color: #fff;
	font-size: 0.875rem;
	line-height: 1.428;
	margin-top: 1.25rem;
	text-align: right;
}

.terms__update {
	margin-top: 0.625rem;
}

.terms__contents {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 43.75rem;
}

.terms__content + .terms__content {
	margin-top: 2rem;
}

.terms__term {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.428;
}

.terms__group {
	margin-top: 1rem;
}

.terms__group + .terms__group {
	margin-top: 2rem;
}

.terms__lists {
	margin-top: 1rem;
}

.terms__text {
	line-height: 1.428;
	margin-top: 1rem;
}

.terms__list {
	font-size: 1rem;
	letter-spacing: 0.01em;
	line-height: 1.428;
	margin-left: 1em;
	text-indent: -1em;
}

.terms__list + .terms__list {
	margin-top: 0.5rem;
}

.terms__title {
	font-size: 1.0625rem;
	line-height: 1.448;
}

.terms__setsu {
	font-size: 1rem;
	margin-bottom: 1rem;
}

.terms__revision {
	font-size: 1rem;
	line-height: 1.428;
	margin-top: 2rem;
}

@media (any-hover: hover) {

.header-lower__link:hover {
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.header-nav__item-link:hover {
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.header__link:hover {
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

}

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

.character__inner {
	padding-left: calc(30px + 195 * (100vw - 768px) / 671);
}

}

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

.character__img {
	width: 30rem;
}

.character__img.character__img--manon {
	width: 27rem;
}

.character__img.character__img--ageha {
	width: 25.625rem;
}

.character__img.character__img--toska {
	width: 25.625rem;
}

.character__img.character__img--ruka {
	width: 25.625rem;
}

.character__img.character__img--manager {
	width: 28.125rem;
}

.character__img.character__img--hero {
	width: 22.5rem;
}

.character__img.character__img--hato {
	width: 25.625rem;
}

.character__img-big.character__img-big--garatea {
	right: -7.5rem;
	width: 46.25rem;
}

.character__img-big.character__img-big--manon {
	right: -6.5rem;
	width: 50.75rem;
}

.character__img-big.character__img-big--ageha {
	right: -6.5rem;
	width: 44.125rem;
}

.character__img-big.character__img-big--toska {
	right: -6.5rem;
	width: 49.625rem;
}

.character__img-big.character__img-big--ruka {
	right: -3.5rem;
	width: 40.75rem;
}

.character__img-big.character__img-big--manager {
	right: -9.5rem;
	width: 53.75rem;
}

.character__img-big.character__img-big--hero {
	right: -6.5rem;
	top: 1%;
	width: 44.75rem;
}

.character__img-big.character__img-big--hato {
	right: -10.5rem;
	width: 45rem;
}

.character__word-box {
	padding: 0.5rem 0.625rem 0.625rem;
	right: 6.125rem;
}

.news-article__feather01 {
	width: 6.25rem;
}

.swiper-button-prev,
.swiper-button-next {
	width: 22px;
}

.swiper-button-prev {
	left: -2rem;
}

.swiper-button-next {
	right: 2.25rem;
}

}

@media (max-width: 1100px) {

html {
	font-size: 1.4545454545vw;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

a[href^="tel:"] {
	pointer-events: none;
}

a:hover {
	opacity: 1;
}

.more-link {
	font-size: 1rem;
	padding-right: 1.25rem;
}

.pagetop {
	height: 2.875rem;
	right: 0.625rem;
	width: 2.875rem;
}

.pagetop img {
	height: 1.75rem;
	width: 1.25rem;
}

.pagination__link {
	padding: 0.3125rem 1.25rem;
}

.title-long__main {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.title-long__sub {
	font-size: 2.125rem;
}

.title-long__first {
	font-size: 2.9375rem;
}

.title-lower__main {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.title-lower__sub {
	font-size: 2.5625rem;
}

.title-lower__first {
	font-size: 3.125rem;
}

.title-small__main {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.title-small__sub {
	font-size: 1.9375rem;
}

.title-small__first {
	font-size: 2.5625rem;
}

.title__main {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.title__sub {
	font-size: 2.5625rem;
}

.title__first {
	font-size: 3.5rem;
}

.top__btn {
	bottom: 0.375rem;
	left: 0.5rem;
	width: clamp(10.375rem, 7.7857rem + 12.9464vw, 14rem);
}

.l-inner {
	max-width: 37.5rem;
	padding-left: 15px;
	padding-right: 15px;
}

.l-narrow-inner {
	max-width: 37.5rem;
	padding-left: 15px;
	padding-right: 15px;
}

.l-wide-inner {
	max-width: 43.75rem;
	padding-left: 15px;
	padding-right: 15px;
}

.archive {
	padding-top: 5.1875rem;
}

.archive__inner {
	max-width: 37.5rem;
}

.archive__feather01 {
	display: none;
}

.archive__feather04 {
	display: none;
}

.archive__feather06 {
	display: none;
}

.archive__titles {
	display: block;
	text-align: center;
}

.archive__contents {
	margin-top: 2.5rem;
}

.archive__cats {
	flex-wrap: wrap;
	max-width: 20rem;
}

.archive__cat {
	padding: 0.5rem 1rem;
}

.archive__cat:nth-child(n+5) {
	margin-top: 0.75rem;
}

.archive__cat:nth-child(5) {
	margin-left: 0;
}

.archive__items {
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2rem;
}

.archive__item-link {
	aspect-ratio: 156/73;
}

.archive__item-link::after {
	font-size: 0.625rem;
	height: 1.1875rem;
	width: 3.75rem;
}

.archive__item-title {
	font-size: 0.8125rem;
	margin-top: 0.375rem;
}

.archive__item-place {
	font-size: 0.625rem;
	margin-top: 0.125rem;
}

.archive__pagination {
	margin-top: 3.5rem;
}

.character {
	padding-bottom: 1.25rem;
	padding-top: 2.8125rem;
}

.character__inner {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.character__titles {
	text-align: center;
}

.character__slide {
	display: block;
	margin-top: 1.875rem;
}

.character__contents {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.character__names {
	align-items: center;
	border: none;
	flex-direction: column;
	left: 1rem;
	position: absolute;
	top: 5.6%;
	width: -moz-fit-content;
	width: fit-content;
}

.character__names.character__names--short::before {
	width: 102%;
}

.character__names.character__names--short::after {
	width: 102%;
}

.character__names::after {
	left: 50%;
	transform: translateX(-50%);
	width: 120%;
}

.character__names::before {
	background: #fff;
	bottom: 0rem;
	content: "";
	height: 0.5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 120%;
}

.character__name {
	font-size: 1.875rem;
	padding-left: 0;
}

.character__name--small {
	font-size: 1.125rem;
}

.character__name.character__name--hero {
	display: flex;
	flex-direction: column;
}

.character__cv {
	margin-left: 0;
}

.character__content {
	background-color: #fff;
	bottom: 0.625rem;
	margin-top: 0;
	min-height: 22.625rem;
	opacity: 0;
	padding: 2.25rem 1.0625rem 0.9375rem;
	position: absolute;
	transition: opacity 0.5s ease;
	visibility: hidden;
	width: 20.9375rem;
	z-index: 1;
}

.character__content.character__content--active {
	opacity: 1;
	visibility: visible;
}

.character__text {
	color: #111;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.375;
}

.character__small-text {
	color: #111;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.3;
	margin-top: 0.875rem;
}

.character__img {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img img {
	aspect-ratio: 355/668;
}

.character__img.character__img--manon {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--ageha {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--toska {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--ruka {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--manager {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--hero {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__img.character__img--hato {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.character__word-box {
	bottom: 6.375rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	left: 50%;
	min-height: 13.75rem;
	min-width: 20rem;
	opacity: 1;
	padding: 1rem 1.25rem 0.625rem;
	right: auto;
	right: initial;
	transform: translateX(-50%);
	transition: opacity 0.1s ease;
	width: 80%;
}

.character__word-box.character__word-box-center {
	bottom: 40%;
	min-height: 5.75rem;
}

.character__word {
	font-size: 1rem;
}

.character__thumbnail {
	margin-top: 1.25rem;
	max-width: 100%;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.character__thumb {
	height: auto;
	margin-bottom: 0.625rem;
}

.character__thumb img {
	width: 6.25rem;
}

.character__thumbnail .swiper-slide {
	width: 100%;
}

.cookie {
	font-size: 0.8125rem;
	padding: 1.25rem;
}

.footer__logo {
	width: 8rem;
}

.footer__contents {
	margin-top: 0.75rem;
}

.footer__copyright {
	margin-top: 2.5rem;
}

.footer__links {
	margin-top: 1.375rem;
}

.footer__text {
	margin-top: 0.5rem;
}

.guideline {
	padding-top: 5.1875rem;
}

.guideline__feather01 {
	display: none;
}

.guideline__feather02 {
	display: none;
}

.guideline__feather03 {
	display: none;
}

.guideline__feather04 {
	display: none;
}

.guideline__feather05 {
	display: none;
}

.guideline__feather06 {
	display: none;
}

.guideline__inner {
	padding-bottom: 2.5rem;
}

.guideline__titles {
	text-align: center;
}

.guideline__title {
	font-size: 1.125rem;
}

.guideline__contents {
	margin-top: 2rem;
}

.guideline__content {
	margin-top: 2rem;
}

.guideline__lists {
	margin-top: 0.5rem;
}

.guideline__list {
	font-size: 0.875rem;
}

.guideline__text {
	font-size: 0.875rem;
}

.guideline__32 {
	margin-top: 1rem;
}

.guideline__40 {
	margin-top: 1rem;
}

.header-lower {
	height: 2.6875rem;
}

.header-lower__inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.header-lower__logo {
	width: 6.25rem;
}

.header-lower__nav {
	display: none;
}

.header-lower__hamburger {
	display: block;
	height: 1.25rem;
	width: 2.5rem;
}

.header {
	height: 2.6875rem;
}

.header__inner {
	padding-left: 0.9375rem;
	padding-right: 0.5625rem;
}

.header__logo {
	width: 3.75rem;
}

.header__nav {
	display: none;
}

.header__hamburger {
	display: block;
	height: 1.625rem;
	width: 1.9375rem;
}

.header .header__background--blue {
	background-color: transparent;
	background-color: initial;
}

.header.header__height--small {
	height: 2.6875rem;
}

.header__logo.header__logo--small {
	width: 3.75rem;
}

.map__feather01 {
	display: none;
}

.map__feather02 {
	display: none;
}

.map__feather03 {
	display: none;
}

.map__feather04 {
	display: none;
}

.map__feather05 {
	display: none;
}

.map__feather06 {
	display: none;
}

.movie {
	background-attachment: fixed;
	padding-bottom: 3.75rem;
	padding-top: 2.125rem;
}

.movie__items {
	grid-template-columns: 1fr;
	margin-top: 2rem;
	row-gap: 1.75rem;
}

.movie__item {
	margin-top: 0;
}

.movie__category {
	font-size: 1rem;
	line-height: 1.375;
}

.movie__content {
	margin-top: 1rem;
}

.movie__more {
	margin-top: 1.75rem;
}

.mv {
	min-height: 32.5rem;
}

.mv__feather01 {
	bottom: 3.875rem;
	right: 3.25rem;
	width: 5.625rem;
}

.mv__feather02 {
	width: 3.75rem;
}

.mv__feather03 {
	width: 3.75rem;
}

.mv__slide img {
	aspect-ratio: 368/700;
}

.mv__titles {
	top: 31%;
	z-index: 2;
}

.mv__title {
	font-size: clamp(1.4375rem, 0.6352rem + 3.8902vw, 2.5rem);
}

.mv__title + .mv__title {
	margin-top: 1.375rem;
}

.mv__title:first-child {
	margin-left: 0.4375rem;
}

.kokoro {
	margin-bottom: 0.3125rem;
	width: 3.1875rem;
}

.news-archive-list {
	margin-top: 1.5rem;
}

.news-archive-list__item {
	border: 0.5px solid #fff;
}

.news-archive-list__item a {
	display: block;
	padding: 1rem;
}

.news-archive-list__item a::after {
	display: none;
}

.news-archive-list__item-date {
	font-size: 0.9375rem;
}

.news-archive-list__item-category {
	background-color: #333;
	border: none;
	font-size: 0.75rem;
	margin-left: 0.875rem;
	min-width: 3.125rem;
}

.news-archive-list__item-title {
	font-size: 0.875rem;
	margin-left: 0;
	margin-top: 0.75rem;
}

.news-archive {
	padding-top: 5.1875rem;
}

.news-archive__inner {
	max-width: 37.5rem;
}

.news-archive__feather01 {
	display: none;
}

.news-archive__feather02 {
	display: none;
}

.news-archive__feather03 {
	display: none;
}

.news-archive__feather04 {
	display: none;
}

.news-archive__feather05 {
	display: none;
}

.news-archive__feather06 {
	display: none;
}

.news-archive__titles {
	display: block;
	text-align: center;
}

.news-archive__cats {
	flex-wrap: wrap;
	margin-top: 2.5rem;
	max-width: 28rem;
}

.news-archive__cat:nth-child(n+5) {
	margin-top: 0.75rem;
}

.news-archive__cat:nth-child(5) {
	margin-left: 0;
}

.news-archive__pagination {
	margin-top: 3.5rem;
}

.news-article {
	padding-top: 5.1875rem;
}

.news-article__feather01 {
	display: none;
}

.news-article__feather02 {
	display: none;
}

.news-article__inner {
	padding-bottom: 3.75rem;
}

.news-article__titles {
	text-align: center;
}

.news-article__content {
	margin-top: 3.3125rem;
}

.news-article__cat {
	font-size: 0.875rem;
}

.news-article__title {
	font-size: 1.125rem;
}

.news-article__text {
	font-size: 0.875rem;
}

.news-list {
	margin-top: 1.125rem;
}

.news-list__item a {
	display: block;
	padding: 0.9375rem 0.25rem;
}

.news-list__item-category {
	font-size: 0.8125rem;
	margin-left: 0.875rem;
	min-width: 68px;
}

.news-list__item-title {
	font-size: 0.875rem;
	margin-left: 0rem;
	margin-top: 0.625rem;
	padding-right: 2.3125rem;
}

.news {
	padding-bottom: 2.5rem;
	padding-top: 3.75rem;
}

.news__feather01 {
	display: none;
}

.news__feather02 {
	right: 1.25rem;
	top: 1%;
	width: 3.875rem;
}

.news__inner {
	max-width: 37.5rem;
}

.news__titles {
	border-bottom: none;
	padding-bottom: 0;
}

.news__more {
	margin-top: 1rem;
}

.pc-nav {
	display: none;
}

.play {
	padding-bottom: 6.875rem;
	padding-top: 5.8125rem;
}

.play::after {
	height: 3.125rem;
}

.play__feather01 {
	filter: blur(2px);
	top: -0.625rem;
	width: 6.25rem;
}

.play__feather03 {
	display: none;
}

.play__feather04 {
	right: -0.625rem;
	top: 0.625rem;
	transform: rotate(210deg);
	width: 4.375rem;
}

.play__feather05 {
	top: 50%;
	width: 5rem;
}

.play__feather06 {
	display: none;
}

.play__intro {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.play__atten-wrap {
	margin-top: 1.5rem;
}

.play__atten {
	font-size: 0.875rem;
}

.play__atten::before,
.play__atten::after {
	height: 12px;
	top: 34%;
	width: 12px;
}

.play__strong {
	font-size: 1.0625rem;
	padding-left: 0.3125rem;
	padding-right: 0.3125rem;
}

.play__border {
	font-size: 0.9375rem;
}

.play__items {
	flex-direction: column;
	margin-top: 2rem;
}

.play__item {
	background: url(../images/common/play-back-sp.png) no-repeat;
	background-size: contain;
	min-height: 11.125rem;
	padding: 1.875rem 0.625rem 1.25rem;
	width: 21.5625rem;
}

.play__item + .play__item {
	margin-left: 0;
	margin-top: 1.5rem;
}

.play__img01 {
	width: 6.25rem;
}

.play__img02 {
	width: 6.875rem;
}

.play__btn {
	height: 3.375rem;
	margin-top: 0.8125rem;
	min-width: 15.25rem;
}

.play__btn::after {
	height: 0.875rem;
	width: 0.75rem;
}

.play__guide {
	font-size: 1.25rem;
}

.play__text {
	font-size: 1.0625rem;
	line-height: 1.8;
	padding-bottom: 0;
	padding-left: 2.5rem;
	text-align: left;
}

.play__text--movie,
.play__text--map {
	position: relative;
}

.play__text--movie::before,
.play__text--map::before {
	content: "";
	position: absolute;
	top: 0;
}

.play__text--movie::before {
	background: url(../images/common/bird-motif01.png) no-repeat;
	background-size: contain;
	height: 4.25rem;
	left: 0;
	width: 2.25rem;
}

.play__text--map::before {
	background: url(../images/common/bird-motif02.png) no-repeat;
	background-size: contain;
	height: 4.375rem;
	left: -0.875rem;
	width: 3.125rem;
}

.sns {
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.sns__box {
	padding: 2rem 0.625rem 4.75rem;
	width: 100%;
}

.sns__box::before {
	background: url(../images/common/deco-sp.png) no-repeat;
	background-size: cover;
	height: 0.9375rem;
	left: 50%;
	transform: translateX(-50%);
}

.sns__box::after {
	background: url(../images/common/deco-sp.png) no-repeat;
	background-size: cover;
	height: 0.9375rem;
}

.sns__icons {
	margin-top: 1.375rem;
}

.sns__icon + .sns__icon {
	margin-left: 2.3125rem;
}

.sns__icon.sns__icon--youtube {
	width: 2.8125rem;
}

.sns__icon.sns__icon--youtube a img {
	width: 2.4375rem;
}

.sns__icon.sns__icon--x {
	width: 2.4375rem;
}

.sns__icon.sns__icon--booth {
	width: 2.625rem;
}

.story {
	background-image: none;
	min-height: 0;
	min-height: initial;
	padding: 2.5rem 0 7.8125rem;
}

.story::after {
	height: 3.125rem;
}

.story__feather01 {
	display: none;
}

.story__feather02 {
	bottom: auto;
	bottom: initial;
	left: -1.25rem;
	top: 30%;
	width: 4.375rem;
}

.story__feather03 {
	right: 0.625rem;
	top: 2%;
	width: 5.625rem;
}

.story__feather04 {
	bottom: 5rem;
	right: -1rem;
	width: 4.625rem;
}

.story__feather05 {
	display: none;
}

.story__inner {
	justify-content: center;
}

.story__wrap {
	padding: 0;
}

.story__titles {
	text-align: center;
}

.story__contents {
	margin-top: 1.875rem;
}

.story__text {
	font-size: 0.875rem;
	line-height: 1.875;
	text-align: center;
}

.story__text + .story__text {
	margin-top: 1.875rem;
}

.swiper-button-prev,
.swiper-button-next {
	top: 36%;
	transform: none;
	transform: initial;
}

.swiper-button-prev {
	left: 0.25rem;
}

.swiper-button-next {
	right: 0.25rem;
}

.terms {
	padding-top: 5.1875rem;
}

.terms__feather01 {
	display: none;
}

.terms__feather02 {
	display: none;
}

.terms__feather03 {
	display: none;
}

.terms__feather04 {
	display: none;
}

.terms__feather05 {
	display: none;
}

.terms__feather06 {
	display: none;
}

.terms__inner {
	padding-bottom: 2.5rem;
}

.terms__titles {
	text-align: center;
}

.terms__title {
	font-size: 1.125rem;
}

.terms__contents {
	margin-top: 2rem;
}

.terms__group {
	margin-top: 1.25rem;
}

.terms__group + .terms__group {
	margin-top: 1.5rem;
}

.terms__text {
	font-size: 0.875rem;
}

.terms__list {
	font-size: 0.875rem;
}

}

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

.play__atten {
	padding: 0 2rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes hide {

from {
	opacity: 1;
}

to {
	opacity: 0;
	visibility: hidden;
}

}


/* ======20250418 以下追加（Goodsセクション追加）========= */

.goods {
  background-color: #0B0C47; /* 背景色の設定 */
  padding: 2rem 0; /* セクションの上下の余白 */

}

.goods__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 65.625rem;
  padding-left: 25px;
  padding-right: 25px;
  width: 100%;
}

.goods__titles {
  text-align: center;
  margin-bottom: 1.5rem;
}

.goods__content {
  text-align: center; /* テキストの中央揃え */
}

.goods__content img {
  display: block; /* ブロック要素として表示 */
  margin-left: auto; /* 左余白を自動設定 */
  margin-right: auto; /* 右余白を自動設定 */
  width: 60%; /* テキスト表示横幅の60%に設定 */
  height: auto;
  max-width: 100%;
}

.goods__content p {
  color: #fff;
  font-size: 1rem;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .goods__content img {
    width: 80%; /* 画面サイズが768px以下の場合、画像の幅を80%に設定 */
  }
}

@media screen and (max-width: 480px) {
  .goods__content img {
    width: 100%; /* 画面サイズが480px以下の場合、画像の幅を100%に設定 */
  }
}

.divider {
  height: 15px; /* 区切り線の高さを設定 */
  background-image: url('../images/common/mv-line.png'); /* 画像のパスを設定 */
  background-repeat: no-repeat; /* 画像の繰り返しを無効にする */
  background-position: center; /* 画像を中央に配置 */
  background-size: cover; /* 画像のサイズをカバーに設定 */
  margin: 0; /* 余白を取り除く */
  padding: 0; /* 余白を取り除く */
}


/*# sourceMappingURL=style.css.map */



/* ======20250530 以下追加（英語版追加）========= */

/* ============================= */
/* 英語タイトルブロック（PC共通） */
/* ============================= */
.mv__titles_en {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 40%;                     /* PCで中央寄せ位置 */
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  align-items: center;
  width: auto;
  height: auto;
  pointer-events: none;
}

/* 英語タイトル各行 */
.mv__title_en {
  color: #fff;
  font-size: clamp(2.875rem, 2.4722rem + 0.8403vw, 3.3125rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.452;
  margin: 0.8rem 0;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
  max-width: 90vw;
  text-shadow:
    0 0 5px #fff,
    0 0 10px #fff,
    0 0 15px #fff,
    0 0 20px #fff;
}

/* 単語（your / wavers. など）共通 */
.char-en {
  display: inline-block;
  margin: 0 0.2em;  /* デフォルト間隔 */
  opacity: 1;
  transform: none;
  transition: transform 0.12s ease-out, opacity 0.12s ease-out;
  color: #fff;
  text-shadow:
    0 0 2px #fff,
    0 0 4px #fff,
    0 0 6px #fff;
}

/* yourだけ右マージンを詰める */
.char-en.your {
  margin-right: 0;
}

/* heartだけ赤＋光彩＋マージン個別調整 */
.mv__title_en .kokoro {
  color: red;
  font-weight: 700;
  font-style: italic;
  white-space: nowrap;
  margin-left: 0.1em;
  margin-right: 1.0em;  /* waversとの被り防止で広めに */
  text-shadow:
    0 0 2px #fff,
    0 0 4px #fff,
    0 0 6px #fff,
    0 0 8px #fff;
}

/* ============================= */
/* 📱スマホ表示の調整（767px以下） */
/* ============================= */
@media screen and (max-width: 767px) {
  .mv__titles_en {
    top: 38%;
  }

  .mv__title_en {
    font-size: 1.4rem;
    padding: 0 0.1rem;
    white-space: normal;
    max-width: 100vw;
    line-height: 1.3;
    letter-spacing: 0.01em;
  }

  .mv__title_en .kokoro {
    font-size: 1.4rem;
    white-space: nowrap;
  }
}


/* ============================= */
/* 中身の見た目とか調整 */
/* ============================= */

.lang-en .story__text {
  text-align: justify;
  max-width: 32rem;       /* ← 38rem より少し狭めると右に寄る */
  margin-left: auto;
  margin-right: 0;
  padding-right: 1rem;    /* ← お好みで 1～2rem あたり */
}

@media screen and (max-width: 767px) {
  .lang-en .story__text {
    text-align: left;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}


/* intermezzo
--------------------------------- */
#intermezzo .drawer-list__item{
    z-index: 101;
    position: relative;
}

#intermezzo #news,
#intermezzo #story,
#intermezzo #characters,
#intermezzo #tutorial,
#intermezzo #about {
  scroll-margin-top: 120px;
}
#intermezzo{
	background-color: #000;
}
#intermezzo-main{
	font-family: "tbudmincho-std", sans-serif;
	background-color: #440a0a;
	background-image: url(/assets/images/intermezzo/bg.png);
	background-size: contain;
}
#intermezzo .news,
#intermezzo .intermezzo-story,
#intermezzo .characters,
#intermezzo .tutorial,
#intermezzo .about{
	background-color: transparent;
	padding: 0 48px;
}
#intermezzo .sp-only{
	display: none;
}
#intermezzo .section-inner{
	max-width: 1203px;
	margin: auto;
}
#intermezzo .terms,
#intermezzo .guideline{
	background-color: #440a0a;
}
:root {
  --swiper-theme-color: transparent !important;
}
/* =======================
   header
======================= */
#intermezzo .header__link{
	width: 82px;
}
#intermezzo .mv{
	border-top: 71px solid #000;
}
#intermezzo .header{
	background-color: #000;
	height: auto;
	padding: 0.2vw 5.2vw;
	transform: translateY(0) !important;
}
#intermezzo .header .header__inner{
	padding: 0;
}
#intermezzo .header__nav{
	margin: auto;
	position: relative;
}
#intermezzo .header-nav{
	gap: 50px;
}
#intermezzo .header-nav__item.pc-only{
	position: absolute;
	right: 9.51vw;
	margin-left: 0;
}
#intermezzo .header-nav__item-link{
	font-size: clamp(22px,1.25vw,24px);
	text-transform: none;
	padding: 0;
}
#intermezzo .header-nav__item.header-nav__item-dropdown{
	position: absolute;
	right: -26.04vw;
	margin-left: 0;
}
#intermezzo .dropdown__toggle{
	font-size: clamp(12px,2.4vw,18px);
	padding: 0 1.325rem 0 0.625rem;
}
#intermezzo .dropdown__toggle::after{
	width: 15px;
	height: 13px;
}
#intermezzo .drawer-list__title{
	font-family: "Noto Serif JP", serif;
}
#intermezzo .header__inner{
	font-family: "Noto Serif JP", serif;
}
/* -------------------
  menu - 切り替え位置
------------------- */
@media screen and (max-width: 1600px){
	#intermezzo .header-nav__item.header-nav__item-dropdown{
		right: -21.87vw;
	}
}
@media screen and (max-width: 1400px){
	#intermezzo .header-nav__item.header-nav__item-dropdown{
		right: -19.28vw;
	}
}
@media screen and (max-width: 1200px){
	#intermezzo .mv{
		border-top: 5.91vw solid #000;
	}
	#intermezzo .header__mobile-dropdown{
        display: flex;
        align-items: center;
	}
	#intermezzo .header{
		background-color: transparent;
		background-image: linear-gradient(#000000 62%, #00000080 78%, transparent);
		padding: 2.13vw 4vw;
	}
	#intermezzo .header_sp{
		display: flex;
		align-items: center;
		gap: 0;
		margin-left: auto;
	}
	#intermezzo .header_sp .header__hamburger{
		margin-left: min(6.26vw,47px);
	}
	#intermezzo .header__hamburger{
        display: block;
        height: 1.625rem;
        width: 1.9375rem;
	}
	.header__nav {
        display: none;
    }
	#intermezzo .header__hamburger {
		width: min(9.33vw,70px);
		height: min(9.33vw,70px);
		position: relative;
		z-index: 9999;
		background: none;
		border: 2px solid #fff;
		border-radius: 50%;
		cursor: pointer;
		padding: 0;
		margin-left: min(5.73vw,43px);
	}
	.header__hamburger::after{
		display: none;
	}
	#intermezzo .header__hamburger span {
		background-color: #fff;
		border-radius: 0.0625rem;
		height: min(0.66vw,5px);
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 55%;
		transition: transform 0.3s, width 0.3s, top 0.3s, opacity 0.3s;
	}
	#intermezzo .header__hamburger span:nth-child(1) { 
		top: 30%; 
	}
	#intermezzo .header__hamburger span:nth-child(2) { 
		top: 50%; transform: translate(-50%, -50%); 
	}
	#intermezzo .header__hamburger span:nth-child(3) { 
		opacity: 1;
		top: 70%; transform: translateX(-50%) translateY(-100%); 
	}
	#intermezzo .header__hamburger.active span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	#intermezzo .header__hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	#intermezzo .header__hamburger.active span:nth-child(3) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
}
@media screen and (min-width: 1201px){
	.header__nav {
		margin: auto;
		position: relative;
    }
	#intermezzo .header__hamburger{
		display: none;
		height: 1.6875rem;
		width: 3.75rem;
	}
	#intermezzo .header__mobile-dropdown{
		display: none;
	}
}

/* =======================
   news
======================= */
#intermezzo .news{
	margin-top: min(3.22vw,62px);
}
#intermezzo .news .news-archive{
	background-color: rgba(255,255,255,0.2);
	margin: 54px auto 0;
	padding: 20px 30px 33px;
	max-width: 1007px;
}
#intermezzo .news .news-topic{
	background-color: #000;
	padding: 13px 55px 13px 16px;
	display: flex;
	color: #fff;
	align-items: center;
	position: relative;
	gap: min(1.04vw,20px);
}
#intermezzo .news .news-topic .news-tag{
	display: flex;
	align-items: center;
	gap: min(1.45vw, 28px);
}
#intermezzo .news li + li{
	margin-top: 8px;
	display: block;
}
#intermezzo .news .news-topic::after{
	content: "";
	width: 26px;
	height: 24px;
	display: block;
	background-image: url(/assets/images/intermezzo/icn_arrow02.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: 14px;
}
#intermezzo .news .news-topic time{
	font-size: 19px;
}
#intermezzo .news .news-topic .news-category{
	padding: 3px 6px;
	border: 2px solid #fff;
	font-size: 13px;
	text-transform: uppercase;
}
#intermezzo .news .news-topic .news-body{
	max-width: 600px;
	font-size: 19px;

}
#intermezzo .news .news-link{
	color: #fff;
	margin-left: 0;
	text-align: right;
    padding-right: 40px;
	position: relative;
	margin-top: 28px;
	font-size: 25px;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}
#intermezzo .news .news-link::after{
	content: '';
    display: block;
    width: 13px;
    height: 13px;
    margin-top: -5px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
}

/* =======================
   story
======================= */
#intermezzo .intermezzo-story{
	margin-top: min(9.11vw,175px);
	background-image: url(/assets/images/intermezzo/bg_story.png);
	background-size: cover;
    background-position: center;
    padding-bottom: min(8.85vw, 170px);
	mask-image: linear-gradient(to bottom, black 94%, transparent 100%);
}
#intermezzo .intermezzo-story p{
    color: #fff;
    font-size: 34px;
    text-align: center;
    line-height: 1.8;
	text-shadow: #000 1px 0 30px, #000 1px 0 30px;;
}
#intermezzo .intermezzo-story h1{
	margin-bottom: min(3.33vw, 64px);
}
#intermezzo .intermezzo-story p + p{
	margin-top: 45px;
}

/* =======================
   characters
======================= */
#intermezzo .characters{
	margin-top: min(3.12vw,60px);
	overflow: hidden;
	padding-bottom: 100px;
}
#intermezzo .js-intermezzo-chara-swiper {
  padding: 20px 0; 
  padding-top: min(2.76vw,53px);
  overflow: visible !important; 
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,  
    black 92%,   
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}
#intermezzo .js-intermezzo-chara-swiper .swiper-slide {
  /* width: 500px !important; */
  width: min(27.77vw,500px) !important;
}
#intermezzo .intermezzo-character__slide {
  transform: scale(0.85);
  opacity: 0.4;   
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s ease;
  z-index: 1;
}
#intermezzo .intermezzo-character__slide.swiper-slide-active {
  transform: scale(1); 
  opacity: 1;      
  z-index: 2;    
}
#intermezzo .intermezzo-character__card {
  max-width: 500px;
  margin: 0 auto;
  color: #fff;
  transition: box-shadow 0.6s ease;
  font-family: 'Noto serif JP';
  font-weight: 700;
}
#intermezzo .intermezzo-character__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px; 
  position: relative;
}
#intermezzo .js-intermezzo-chara-swiper .swiper-button-prev,
.js-intermezzo-chara-swiper .swiper-button-next {
  transform: translateY(-37%);
  z-index: 10;
  width: 167px;
}
#intermezzo .js-intermezzo-chara-swiper .swiper-button-prev{
	left: min(15.97vw,230px);
	right: inherit;
}
#intermezzo .js-intermezzo-chara-swiper .swiper-button-next{
	right: min(15.97vw,230px);
	left: inherit;
}
/* ---------------------------
　CharacterSwiper - 前後ボタン
--------------------------- */
#intermezzo .swiper-button-next,
#intermezzo .swiper-button-prev{
	background-image: none;
	outline: none;
}
@media screen and (max-width: 1000px){
	#intermezzo .js-intermezzo-chara-swiper .swiper-button-prev{
		left: min(6.09vw,50px);
	}
	#intermezzo .js-intermezzo-chara-swiper .swiper-button-next{
		right: min(6.09vw,50px);
	}
}
/* ---------------------------
　CharacterSwiper - サムネイル
--------------------------- */
.js-intermezzo-chara-thumbs {
  margin-top: 10px;
  max-width: 748px; 
  margin-left: auto;
  margin-right: auto;
  overflow: visible !important; 
}
.js-intermezzo-chara-thumbs .swiper-wrapper{
	transform: none !important;
	justify-content: center;
}

.js-intermezzo-chara-thumbs .swiper-slide {
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: relative; 
  display: inline-block;
}

.js-intermezzo-chara-thumbs .swiper-slide img {
  width: 100%;
  height: auto;
}

.js-intermezzo-chara-thumbs .swiper-slide-thumb-active {
  transform: scale(1.2);
  opacity: 1;
  z-index: 10;
}
.js-intermezzo-chara-thumbs .swiper-slide:last-child{
	margin-right: 0 !important;
}
/* =======================
   tutorial
======================= */
#intermezzo .tutorial{
	margin-top: min(4.68vw,90px);
}
#intermezzo .tutorial .js-intermezzo-tutorial-swiper{
	padding-bottom: 78px;
	position: relative;
}
#intermezzo .tutorial .intermezzo-tutorial__slide{
	margin-top: min(2.08vw, 40px);
	min-height: 397px;
    display: flex;
    justify-content: center;
}
#intermezzo .tutorial .intermezzo-tutorial__card{
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
}
#intermezzo .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__img{
	width: 550px;
	flex-shrink: 0;
}
#intermezzo .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
	color: #fff;
	font-size: 22px;
	max-width: 416px;
	line-height: 1.6;
}
#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-prev,
.js-intermezzo-tutorial-swiper .swiper-button-next {
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 147px;
}
#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-prev{
	left: -9px;
	right: inherit;
}
#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-next{
	right: -9px;
	left: inherit;
}
#intermezzo .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet{
	width: 18px;
	height: 18px;
	background-color: #fff;
	opacity: 1;
	margin: 0 12px;
}
#intermezzo .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet-active{
	background-color: #ff3535;
}
/* --------------------------------
　TutorialSwiper - レイアウト切り替え
-------------------------------- */
@media screen and (max-width: 1278px){
	#intermezzo .tutorial .intermezzo-tutorial__card{
		flex-direction: column;
		gap: min(4.30vw,55px);
	}
	#intermezzo .tutorial .js-intermezzo-tutorial-swiper{
		padding-bottom: 0;
	}
	#intermezzo .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__img{
		width: min(550px,73.33vw);
	}
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-prev, 
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-next{
		top: 32%;
		width: min(135px,18vw);
	}
	#intermezzo .tutorial .tutorial-swiper-pagination{
		top: 380px;
		bottom: inherit;
	}
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-next{
		right: min(4.69vw,60px);
	}
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-prev{
		left: min(4.69vw,60px);
	}
	#intermezzo .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
		max-width: none;
		width: 679px;
		font-size: min(27px,3.59vw);
	}
	#intermezzo .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet{
		/* width: 1.25vw;
		height: 1.25vw; */
		margin: 0 1.6vw;
		width: 15px;
        height: 15px;
	}
	#intermezzo .tutorial .intermezzo-tutorial__slide{
		margin-top: 46px;
	}
	#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__img{
		width: min(550px, 73.33vw);
	}
	#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
		font-size: clamp(11px,2.93vw,22px);;
	}
	#intermezzo.intermezzo_en .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet{
		width: 15px;
        height: 15px;
	}
}

/* =======================
   about
======================= */
#intermezzo .about{
	margin-top: min(9.11vw,175px);
	padding-bottom: min(7.03vw,135px);
}
#intermezzo .about .about-introduction{
	margin: auto;
	margin-top: min(3.12vw,60px);
	background-color: rgba(37,5,5,0.6);
	max-width: 1080px;
	color: #fff;
	padding: 60px 0 55px;
	font-size: 22px;
}
#intermezzo .about .about-introduction table{
	margin: auto;
}
#intermezzo .about .about-introduction th{
	width: 88px;
	white-space: nowrap;
	text-align: left;
	margin-right: 62px;
	display: block;
}
#intermezzo .about .about-introduction tr{
	display: flex;
}
#intermezzo .about .about-introduction tr + tr{
	margin-top: 30px;
}
#intermezzo .about .about-youtube{
	margin: 82px auto 0;
	width: 803px;
}
#intermezzo .about .sns-link{
	display: flex;
	gap: 30px;
	justify-content: center;
	margin-top: 76px;
}
#intermezzo .about .sns-link a{
	width: 55px;
}
#intermezzo .about .sns-link a._youtube{
	background-color: #fff;
    border-radius: 10px;
    padding: 2px 3px;
}
#intermezzo .about .about-youtube .youtube_iframe{
	aspect-ratio: 16 / 9;
}
#intermezzo .about .about-btn{
	display: block;
	width: 500px;
	margin: auto;
	margin-top: 70px;
}
#intermezzo .about .about-attention{
	font-size: 15px;
	color: #fff;
	text-align: center;
	margin-top: 44px;
}
/* --------------------
   youtube - サイズ調整
-------------------- */
@media screen and (max-width: 1000px){
	#intermezzo .about .about-youtube{
		width: 650px;
	}
}

/* footer */
#intermezzo .footer{
	background-color: #000;
	--swiper-theme-color: #000;
}
#intermezzo .footer__inner{
    padding: 25px 0 30px;
}
#intermezzo .footer .footer__link-text{
	padding: 0 13px;
}
#intermezzo .footer .footer__link:not(:last-child)::after{
	height: 0.650rem;
    transform: translateY(-50%) rotate(25deg); 
}
#intermezzo .footer .footer__links{
	margin-bottom: 10px;
	margin-top: 0;
}
#intermezzo .footer .footer__contents{
	margin-bottom: 50px;
	margin-top: 0;
	font-size: 17px;
	font-family: "Noto Serif JP", serif;
}
#intermezzo .footer .footer__logo{
	margin-bottom: 45px;
	width: 292px;
}
#intermezzo .footer .footer__copyright{
	margin-top: 0;
	font-size: 15px;
}
#intermezzo .pagetop{
    background-color: transparent;
	width: auto;
	right: 40px;
	bottom: 54px;
}
#intermezzo .pagetop img{
	width: 70px;
	height: 70px;
}

/* sp */
@media screen and (max-width: 820px){
	#intermezzo #news,
	#intermezzo #characters,
	#intermezzo #tutorial,
	#intermezzo #about {
	scroll-margin-top: 80px;
	}
	#intermezzo #story {
	scroll-margin-top: 20px;
	}
	#intermezzo-main{
		background-image: url(/assets/images/intermezzo/bg_sp.png);
	}
	#intermezzo .sp-only{
		display: block;
	}
	#intermezzo .pc-only{
		display: none;
	}
	#intermezzo .section-inner{
		max-width: 720px;
	}
	#intermezzo .news, 
	#intermezzo .intermezzo-story, 
	#intermezzo .tutorial, 
	#intermezzo .about{
		padding: 0 15px;
	}
	#intermezzo .pagetop{
		right: 10px;
	}
	/* news */
	#intermezzo .news{
		margin-top: 50px;
	}
	#intermezzo .news .news-archive{
		width: min(650px, 86.66vw);
		padding: 2.53vw 2.4vw;
		margin: 26px auto 0;
		padding: 2.53vw 2.4vw 5.33vw;
	}
	#intermezzo .news .news-topic{
		flex-direction: column;
        align-items: start;
		padding: 4.53vw 10.4vw 4.53vw 3.73vw;
		gap: min(2.4 vw,18px);
	}
	#intermezzo .news .news-topic .news-tag{
		gap: min(34px,4.53vw);
	}
	#intermezzo .news .news-topic time,
	#intermezzo .news .news-topic .news-body{
		font-size: clamp(13px,27px,3.59vw);
		margin-right: 0;
		line-height: 1.3;
	}
	#intermezzo .news .news-topic .news-category{
		font-size: 19px;
		font-size: clamp(10px,19px,2.53vw);
	}
	#intermezzo .news .news-topic::after{
		top: 42%;
		width: min(35px,4.66vw);
		height: 32px;
		right: min(20px,2.66vw);
	}
	#intermezzo .news .news-link{
		font-size: min(30px,4vw);
		padding-right: 5.33vw;
		margin-top: 2.66vw;
	}
	#intermezzo .news .news-link::after{
		width: min(13px,1.73vw);
		height: min(13px,1.73vw);
		margin-top: 0.66vw;
		right: 2vw;
		top: 30%;
	}
	/* story */
	#intermezzo .intermezzo-story{
		margin-top: 110px;
		background-image: url(/assets/images/intermezzo/bg_story-sp.png);
		padding: 14.66vw 0 40.53vw;
		margin-top: 0;
	}
	#intermezzo .intermezzo-story p{
		font-size: min(33px,4.39vw);
	}
	#intermezzo .intermezzo-story p + p{
		margin-top: 6vw;
	}
	/* character */
	#intermezzo .characters{
		padding: 0;
		padding-bottom: min(6.66vw,50px);
	}
	#intermezzo .characters .section-inner{
		max-width: 100%;
	}
	#intermezzo .characters .section-inner h1,
	#intermezzo .intermezzo-story .section-inner h1{
        max-width: 750px;
        /* margin: auto; */
        padding: 0 15px;
	}
	#intermezzo .js-intermezzo-chara-swiper{
		mask-image: none;
		padding: 5.33vw 0;
	}
	#intermezzo .intermezzo-character__card{
		max-width: 650px;
	}
	#intermezzo .js-intermezzo-chara-swiper .swiper-slide{
		width: min(86.66vw, 650px) !important;
	}
	#intermezzo .js-intermezzo-chara-swiper .swiper-button-prev, 
	.js-intermezzo-chara-swiper .swiper-button-next{
		top: 52%;
		width: min(148px,19.73vw);
	}
	#intermezzo .js-intermezzo-chara-swiper .swiper-button-next{
		right: 13px;
	}
	#intermezzo .js-intermezzo-chara-swiper .swiper-button-prev{
		left: 13px;
	}
	.js-intermezzo-chara-thumbs{
		max-width: min(89.33vw,670px);
		margin-top: 0;
	}
	.js-intermezzo-chara-thumbs .swiper-slide{
		max-width: min(8.79vw,66px);
	}
	/* tutorial */
	#intermezzo .tutorial{
		margin-top: min(135px,18vw);
	}
	#intermezzo .tutorial .intermezzo-tutorial__slide{
		margin-top: min(56px,7.46vw);
		display: block;
	}
	#intermezzo .tutorial .intermezzo-tutorial__card{
		gap: min(40px,5.33vw);
	}
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-next{
		right: 0;
	}
	#intermezzo .js-intermezzo-tutorial-swiper .swiper-button-prev{
		left: 0;
	}
	#intermezzo .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
		width: min(508px,67.73vw);
	}
	#intermezzo .tutorial .tutorial-swiper-pagination{
		top: min(52vw,390px);
	}
	#intermezzo .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet{
		width: 2.4vw;
		height: 2.4vw;
		margin: 0 1.6vw;
	}
	/* about */
	#intermezzo .about{
		margin-top: min(126px,16.8vw);
		padding-bottom: 8.4vw;
	}
	#intermezzo .about .about-introduction{
		margin: 5.86vw auto 0;
		max-width: 650px;
		background-color: rgba(37, 5, 5, 0.6);
		font-size: min(25px,3.33vw);
		padding: 8vw 0;
	}
	#intermezzo .about .about-introduction th{
		margin-right: 6.66vw;
	}
	#intermezzo .about .about-introduction tr + tr{
		margin-top: 20px;
	}
	#intermezzo .about .about-youtube{
		width: 100%;
		margin: 6.66vw auto 0;
	}
	#intermezzo .about .about-youtube .youtube_iframe{
		aspect-ratio: 16 / 9;
		max-width: 704px;
		width: 100%;
	}
	#intermezzo .about .about-btn{
		width: min(564px,75.2vw);
		margin-top: min(58px,7.73vw);
	}
	#intermezzo .about .sns-link{
		margin-top: min(53px,7.06vw);
	}
	#intermezzo .about .sns-link a{
		width: 39px;
		border-radius: 5px;
	}
	#intermezzo .about .about-attention{
		margin-top: min(29px,3.86vw);
		font-size: clamp(11px, 2vw, 15px);
		line-height: 2.3;
	}
	#intermezzo .footer .footer__contents{
		font-size: min(21px,2.8vw);
		margin-bottom: min(17px,2.26vw);
	}
	#intermezzo .footer .footer__logo{
		margin-bottom: min(30px,4vw);
		width: 38.93vw;
	}
	#intermezzo .footer .footer__copyright{
		font-size: min(18px,2.4vw);
	}

	#intermezzo .pagetop img{
		width: 10.8vw;
		height: 10.8vw;
	}
}

/* intermezzo - news一覧ページ
--------------------------------- */
#intermezzo .news{
	box-shadow: none;
}
body#intermezzo{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
#intermezzo main{
	flex: 1;
}
#intermezzo.intermezzo-news .p-news-archive{
	margin-top: 130px;
	padding-bottom: 50px;
}
#intermezzo.intermezzo-news .p-news-archive .p-news-tag{
	display: flex;
    gap: 12px;
    padding: 0 30px;
    margin: 34px auto 0;
    max-width: 1007px;
	flex-wrap: wrap;
}
#intermezzo.intermezzo-news .news .p-news-tag .p-news-category{
	font-family: "Noto Sans JP", sans-serif;
    padding: 0 17px;
    height: 38px;
	font-size: 12px;
	background-color: #fff;
	color: #808080;
	border: 1px solid #d3d3d3;
    display: flex;
    align-items: center;
	text-transform: uppercase;
	transition: 0.3s;
}
#intermezzo.intermezzo-news .news .p-news-tag .p-news-category:hover,
#intermezzo.intermezzo-news .news .p-news-tag .p-news-category.active{
	background-color: #d3d3d3;
	color: #fff;
}
#intermezzo.intermezzo-news .news li + #intermezzo .news li{
	margin-top: 0;
}
#intermezzo .news.p-news-archive .news-archive{
	margin: 18px auto 0;
	padding: 20px 30px;
}
#intermezzo .news.p-news-archive li + li{
	margin-top: 10px;
}
#intermezzo .news.p-news-archive li:nth-child(even) .news-topic{
	background-color: #000;
}
#intermezzo .p-news-empty {
  color: #fff;
  font-size: 16px;
}

/* sp */
@media screen and (max-width: 820px){
	#intermezzo.intermezzo-news .p-news-archive{
		margin-top: min(18.26vw,137px);
		padding-bottom: min(16vw,120px);
	}
	#intermezzo.intermezzo-news .p-news-archive .p-news-tag{
		gap: min(2.66vw,20px);
		margin-top: min(4vw,30px);
		padding: 0 1.73vw;
	}
	#intermezzo.intermezzo-news .news .p-news-tag .p-news-category{
        height: min(10.66vw,80px);
        font-size: clamp(12px,3.2vw,24px);
        padding: 0 4vw;
	}
	#intermezzo .news.p-news-archive .news-archive{
		margin: 4vw auto 0;
		padding: min(2.53vw,19px);
		padding-bottom: 4.8vw;
	}
	#intermezzo .news.p-news-archive .news-topic{
		padding: 4vw 9.33vw 4vw 4vw;
		gap: 2.4vw;
	}
	#intermezzo .news.p-news-archive .news-topic::after{
		right: min(2.4vw,18px);
	}
}

/* intermezzo - news詳細ページ
--------------------------------- */
#intermezzo.intermezzo-news .p-news-body{
	margin-top: 182px;
	padding-bottom: 50px;
}
#intermezzo.intermezzo-news .p-news-body .p-news-date{
	display: flex;
	justify-content: space-between;
    margin: 34px auto 0;
    max-width: 1007px;
	color: #fff;
	font-size: 15px;
	align-items: end;
}
#intermezzo.intermezzo-news .p-news-body .p-news-date p{
	font-family: "Noto Sans JP", sans-serif;
    padding: 0 17px;
    height: 38px;
	font-size: 14px;
	background-color: #fff;
	color: #808080;
	border: 1px solid #d3d3d3;
    display: flex;
    align-items: center;
	text-transform: uppercase;
}
#intermezzo.intermezzo-news .p-news-body .p-news-date time{
	font-size: 19px;
}
#intermezzo.intermezzo-news .p-news-body .p-news-box{
    margin: 18px auto 0;
    max-width: 1007px;
	background-color: rgba(255,255,255,0.2);
	padding: 20px 30px 40px;
	color: #fff;
}
#intermezzo.intermezzo-news .p-news-body .p-news-box .p-news-title{
	background-color: #000;
	padding: 15px 22px;
	display: flex;
	align-items: center;
	font-size: 25px;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
}
#intermezzo.intermezzo-news .p-news-body .p-news-box p{
	margin-top: 20px;
	padding: 0 10px;
	font-size: 19px;
	line-height: 1.7;
}
#intermezzo.intermezzo-news .news-article__pagination{
	margin-top: min(2.66vw,20px);
}
#intermezzo.intermezzo-news .news-article__pagination__link{
	font-size: 1.25rem;
	font-family: "Noto Serif JP", serif;
	padding: 0px 0.78vw;
	line-height: 1;
	font-weight: 600;
}
#intermezzo.intermezzo-news .news-archive__pagination{
	margin-top: min(2.66vw, 20px);
}

/* sp */
@media screen and (max-width: 820px){
	#intermezzo.intermezzo-news .p-news-body{
		margin-top: min(18.26vw,137px);
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-date time{
		font-size: min(3.59vw,27px);
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-date p{
		font-size: min(3.59vw,27px);
		height: min(10.8vw,81px);
		padding: 0 4vw;
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-date{
		align-items: center;
		padding: 0 1.73vw;
		margin-top: min(4.39vw,33px);
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-box{
		max-width: min(86.66vw,650px);
		padding: 2.53vw 2.4vw 4.53vw;
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-box .p-news-title{
		font-size: min(3.59vw,27px);
		padding: 4.53vw 4vw;
	}
	#intermezzo.intermezzo-news .p-news-body .p-news-box p{
		font-size: clamp(16px,3.46vw,26px);
		margin-top: min(5.33vw,40px);
	}
	#intermezzo.intermezzo-news .news-article__pagination__link{
		font-size: clamp(15px,4vw,30px);
		padding: 0px 2.66vw;
	}
	#intermezzo.intermezzo-news .pagination__link {
		font-size: clamp(16px,3.46vw,26px);
	}
}
/* intermezzo -- 英
--------------------------------- */
/* story -- 英 */
#intermezzo.intermezzo_en .intermezzo-story{
	padding-bottom: min(14.32vw, 275px);
}
#intermezzo.intermezzo_en .intermezzo-story h1{
	margin-bottom: min(3.54vw,68px);
}
#intermezzo.intermezzo_en .intermezzo-story p{
	font-size: 30px;
	line-height: 1.8;
}

/* character -- 英 */
#intermezzo.intermezzo_en .js-intermezzo-chara-swiper .swiper-button-prev, 
#intermezzo.intermezzo_en .js-intermezzo-chara-swiper .swiper-button-next{
	transform: translateY(-20%);
}

/* tutorial */
#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
	max-width: 400px;
}

#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__slide{
	margin-top: min(3.64vw, 70px);
}

#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-prev,
#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-next {
	top: 53%;
}

/* about */
#intermezzo.intermezzo_en .about .about-introduction th{
	width: 155px;
	margin-right: 53px;
}
#intermezzo.intermezzo_en .about .sns-link{
    gap: 50px;
}
#intermezzo.intermezzo_en .footer .footer__link:not(:last-child)::after{
	height: 0.9rem;
    transform: translateY(-50%) rotate(20deg);
	top: 53%;
}
@media screen and (max-width: 1278px){
	#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-prev, 
	#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-next{
		top: 34%;
	}
}
/* sp */
@media screen and (max-width: 820px){
	#intermezzo.intermezzo_en .intermezzo-story p{
        max-width: min(90.4vw,678px);
        margin: auto;
        text-align: left;
        font-size: clamp(12px,3.59vw,27px);
	}
	#intermezzo.intermezzo_en .intermezzo-story p + p{
		margin-top: min(7.33vw, 55px);
	}
	#intermezzo.intermezzo_en .js-intermezzo-chara-swiper .swiper-button-prev, 
	#intermezzo.intermezzo_en .js-intermezzo-chara-swiper .swiper-button-next{
		transform: translateY(-40%);
	}
	#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__card .intermezzo-tutorial__text{
		/* max-width: min(57.59vw,432px); */
		font-size: clamp(11px,2.93vw,22px);
	}
	#intermezzo.intermezzo_en .tutorial .tutorial-swiper-pagination .swiper-pagination-bullet{
        width: 2.4vw;
        height: 2.4vw;
        margin: 0 1.6vw;
	}
	#intermezzo.intermezzo_en .tutorial .tutorial-swiper-pagination{
		top: min(52vw, 390px);
		bottom: auto;
	}
	#intermezzo.intermezzo_en .about .about-introduction{
		padding: 8.4vw 4.93vw;
		font-size: clamp(10px,2.8vw,21px);
	}
	#intermezzo.intermezzo_en .about .about-introduction th{
		width: min(19.73vw,148px);
		margin-right: 21px;
		flex-shrink: 0;
	}
	#intermezzo.intermezzo_en .about .about-introduction tr + tr{
		margin-top: min(2.66vw,20px);
	}
	#intermezzo.intermezzo_en .about .sns-link a{
		width: min(8vw,60px);
	}
	#intermezzo.intermezzo_en .about .about-attention{
		font-size: clamp(10px,2.26vw,17px);
	}
	#intermezzo.intermezzo_en .footer .footer__copyright{
		font-size: clamp(9px,2.4vw,18px);
	}
	#intermezzo.intermezzo_en .tutorial .intermezzo-tutorial__slide{
		margin-top: min(56px, 7.46vw);
	}
}
@media screen and (max-width: 551px){
	#intermezzo .tutorial .tutorial-swiper-pagination,
	#intermezzo.intermezzo_en .tutorial .tutorial-swiper-pagination{
		top: min(50.81vw, 280px);
	}
}
@media screen and (max-width: 399px){
	#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-prev, 
	#intermezzo.intermezzo_en .js-intermezzo-tutorial-swiper .swiper-button-next{
		top: 31%;
	}
}