body {
	background: #f7f6e7;
	color: #971219;
	font-size: 1.6rem;
	line-height: 2em;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-weight: bold;
	text-align: left;
	transition: all 0.4s;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

body.modal {
	overflow: hidden;
}

a {
	outline: none;
	color: #971219;
	text-decoration: none;
	transition: all 0.4s;
}

a:hover {
	text-decoration: none;
}

h1,
h2,
h3,
h4,
p,
dl,
dt,
dd,
strong,
em {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	font-style: inherit;
}

ul,
ol,
dl,
dt,
dd {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	list-style: inherit;
	margin: 0;
	padding: 0;
}

img {
	outline: none;
	max-width: 100%;
	font-size: 1px !important;
	line-height: 0 !important;
	vertical-align: middle;
}

rt {
	transform: translateY(0.2em);
}

.bold {
	font-weight: bold !important;
}

.normal {
	font-weight: normal !important;
}

.under {
	text-decoration: underline;
}

.dis {
	text-decoration: line-through;
}

.emColor01 {
	color: #e68;
}

.mgtQp {
	margin-top: 8px !important;
}

.mgtTp {
	margin-top: 10.7px !important;
}

.mgtHp {
	margin-top: 16px !important;
}

.mgt1p {
	margin-top: 32px !important;
}

.mgt1Hp {
	margin-top: 48px !important;
}

.mgt2p {
	margin-top: 64px !important;
}

.mgt2Hp {
	margin-top: 80px !important;
}

.mgt3p {
	margin-top: 96px !important;
}

.fsS {
	font-size: 0.8em !important;
	line-height: 1.8em !important;
}

.fsL {
	font-size: 1.25em !important;
	line-height: 1.8em !important;
}

.center {
	text-align: center !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

.iblock {
	display: inline-block;
	vertical-align: baseline;
}

.wbreak {
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

.w1 {
	width: 1em !important;
}

.w2 {
	width: 2em !important;
}

.w3 {
	width: 3em !important;
}

.w4 {
	width: 4em !important;
}

.w5 {
	width: 5em !important;
}

.w6 {
	width: 6em !important;
}

.w7 {
	width: 7em !important;
}

.w8 {
	width: 8em !important;
}

.w9 {
	width: 9em !important;
}

.w10 {
	width: 10em !important;
}

.w11 {
	width: 11em !important;
}

.w12 {
	width: 12em !important;
}

.w13 {
	width: 13em !important;
}

.w14 {
	width: 14em !important;
}

.w15 {
	width: 15em !important;
}

.w16 {
	width: 16em !important;
}

.w17 {
	width: 17em !important;
}

.w18 {
	width: 18em !important;
}

.w19 {
	width: 19em !important;
}

.w20 {
	width: 20em !important;
}

.w21 {
	width: 21em !important;
}

.w22 {
	width: 22em !important;
}

.w23 {
	width: 23em !important;
}

.w24 {
	width: 24em !important;
}

.w25 {
	width: 25em !important;
}

.w26 {
	width: 26em !important;
}

.w27 {
	width: 27em !important;
}

.w28 {
	width: 28em !important;
}

.w29 {
	width: 29em !important;
}

.w30 {
	width: 30em !important;
}

table.def {
	border-width: 0px 0 2px;
	border-style: dashed;
	border-color: #d0ad72;
	width: 100%;
}

table.def tr {
	position: relative;
	z-index: 1;
	padding: 15px 0;
	display: flex;
	flex-direction: column;
	border-width: 2px 0 0;
	border-style: dashed;
	border-color: #d0ad72;
}

table.def th,
table.def td {
	text-align: left;
	vertical-align: top;
	width: 100%;
}

table.def th {
	font-weight: 400;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

table.def td { /*padding:15px 0;*/
}

ul.def {
	font-size: inherit;
	line-height: 2em !important;
	text-align: left;
}

ul.def > li {
	position: relative;
	z-index: 1;
	padding-left: 1em;
}

ul.def > li::before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

ul.def.disc > li::before {
	content: "・";
}

ul.def.asta > li::before {
	content: "※";
}

.tab-navi {
	margin-bottom: 80px;
}

.tab-navi ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}

.tab-navi ul > li {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid #4b69a3;
	width: calc((100% - 20px) / 2);
	min-height: 80px;
	background: #fff;
	color: #4b69a3;
	font-size: 1.1em;
	line-height: 1em;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
	text-align: center;
	transition: all 0.4s;
	cursor: pointer;
}

.tab-navi ul > li.cur,
.tab-navi ul > li:hover {
	background: #4b69a3;
	color: #fff;
}

.tab-navi ul > li.cur {
	cursor: default !important;
}

.tab-content {
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.tab-content > section {
	overflow: hidden;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	transition: opacity 0.4s;
}

.tab-content > section.cur {
	opacity: 1;
	position: relative;
	z-index: 1;
}

.scrollShowTarget {
	opacity: 0;
	transform: translateY(50px);
	transition: transform 0.6s ease-out, opacity 0.4s ease-in;
}

.scrollShowTarget.scrollShow {
	opacity: 1;
	transform: translateY(0);
}

.scrollShowTarget.b {
	overflow-y: hidden;
	transform: translateY(0);
}

.scrollShowTarget.b > * {
	display: inline-block;
	transform: translateY(200%);
	transition: transform 1s ease-out;
}

.scrollShowTarget.b.scrollShow > * {
	transform: translateY(0);
}

#Cover {
	overflow: hidden;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	opacity: 0;
	width: 100%;
	height: 100%;
	background: #cde1f9;
	line-height: 0;
	text-align: center;
}

#Cover.show {
	z-index: 59000;
	opacity: 1;
}

#Cover > div {
	opacity: 0;
	filter: blur(20px);
	transform: scale(1.2);
	transition: opacity 0.5s ease-out, filter 0.8s ease-in-out 0.5s, transform 1.1s ease-in-out 0.2s;
}

#Cover > div img {
	max-width: 50%;
}

#Cover > div.show {
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
}

#Main {
	position: relative;
}

#Main .logo {
	position: absolute;
	top: 20px;
	left: 20px;
}

#Main .main-image-wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: url("../img/mainvsl_bg_pc.jpg");
	background-repeat: repeat-x;
	z-index: -3; /* .dust-layer {
	   position: absolute;
	   top: 0; left: 0;
	   width: 100%; height: 100%;
	   z-index: 2;
	   pointer-events: none;
	   &::before,
	   &::after {
	     content: '';
	     position: absolute;
	     width: 4px; height: 4px;
	     background: rgba(255, 255, 255, 0.3);
	     border-radius: 50%;
	     animation: floatDust 6s linear infinite;
	   }
	   &::after {
	     left: 70%;
	     animation-delay: 2s;
	   }
	 }*/ /* 塵レイヤー：上に重ねる。クリックは下に通す */ /* 粒：移動（速い）＋点滅（更に速い）を同時再生 */ /* ほぼ真上へ。終端でさらに少し小刻みに消えるニュアンス */ /* 点滅を速く・メリハリ強めに */ /* きらきら（明→やや暗→明）。軽いグローを付けたり消したり */
}

#Main .main-image-wrapper::before {
	content: "";
	background: url("../img/mainvsl_side_curtain_left_pc.png") no-repeat center center;
	position: absolute;
	left: 0;
	top: 0;
	width: 320px;
	height: 800px;
	z-index: -1;
}

#Main .main-image-wrapper::after {
	content: "";
	background: url("../img/mainvsl_side_curtain_right_pc.png") no-repeat center center;
	position: absolute;
	right: 0;
	top: 0;
	width: 320px;
	height: 800px;
	z-index: -1;
}

#Main .main-image-wrapper .spotlight-layer {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: 1240px;
	width: 100%;
	height: 100%;
	background: url("../img/mainvsl_spotlight_pc.png") no-repeat center center;
	background-size: contain;
	z-index: -2;
}

#Main .main-image-wrapper .dust {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: -2;
	overflow: hidden;
}

#Main .main-image-wrapper .dust__p {
	position: absolute;
	left: 0;
	top: var(--start, 100%);
	width: 4px;
	height: 4px; /* JSで上書き */
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.55) 55%, rgba(255, 255, 255, 0) 100%);
	filter: blur(0.35px);
	will-change: transform, opacity, filter, box-shadow; /* 速い上昇 & 速い点滅 */
	animation: dustUp calc(var(--dur, 3.5s) * 0.33) linear infinite, twinkleX var(--twDur, 0.45s) ease-in-out infinite, microJit var(--jitDur, 1.8s) linear infinite;
	animation-delay: var(--delay, 0s), var(--twDelay, 0s);
	opacity: var(--op, 0.85);
}

#Main .main-image-wrapper .curtain {
	position: absolute;
	top: calc(-100% + 120px);
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
	transition: top 0.6s ease-in-out;
	background-image: url("../img/mainvsl_head_curtain.png");
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: auto 120px;
}

#Main .main-image-wrapper .curtain .curtain-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 120px);
	background-color: #971219;
}

#Main #main-doll-image {
	margin: 0 auto;
	display: block;
	max-width: 100%;
	height: auto;
}

#Main .costume-slider .slick-list {
	overflow: hidden;
}

#Main .costume-slider .slick-track {
	display: flex;
	align-items: center;
	margin: 0 -120px;
	background: #971219;
	padding: 20px 0;
	border-top: 5px #d0ad72 solid;
	border-bottom: 5px #d0ad72 solid;
}

#Main .costume-slider .slick-slide {
	position: relative;
	width: 240px;
	margin: 0 10px;
	transition: opacity 0.3s, transform 0.3s;
	background: url("../img/slide_base.png") no-repeat center center;
}

#Main .costume-slider .slick-slide img {
	display: block;
	width: 100%;
	height: auto;
}

#Main .costume-slider .slick-center {
	z-index: 1;
}

#Main .costume-slider img.hover-swap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.25s ease;
	z-index: 2;
}

#Main .costume-slider img.hover-swap.is-show {
	opacity: 1;
}

/* PCのみ：非アクティブの衣装サムネだけ pointer & ふわっと浮く */

/* クリック不可のガイドは常に通常カーソル */

#Main .costume-slider .aux-slide,
#Main .costume-slider .aux-slide img {
	cursor: default;
}

#About {
	position: relative; /* 本体：ボタンの上に糸を重ね、糸はマスクで露出量を制御 */ /*▼　コンテンツここから*/
}

#About .ThreadDock {
	position: absolute;
	top: -220px;
	z-index: 1;
}

#About .ThreadDock--left {
	top: -115px;
	left: 0px;
}

#About .ThreadDock--right {
	right: 0px;
}

#About .ThreadReveal {
	position: relative;
	display: inline-block; /* 原寸で表示。幅固定したいなら width を指定してOK */
	line-height: 0;
	pointer-events: none; /* 背景のクリックを邪魔しない（必要なら外す） */ /* 露出用のマスクボックス：高さが 0% → 100% に増える */ /* 糸画像は等倍のまま、上に揃える（伸ばさない・歪ませない） */
}

#About .ThreadReveal img {
	display: block;
	height: auto;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

#About .ThreadReveal .base {
	position: relative;
	z-index: 0; /* 下：ボタン */
}

#About .ThreadReveal .reveal {
	position: absolute;
	inset: 0; /* base と完全に同座標・同サイズ */
	z-index: 1; /* 上：糸を載せる */
	overflow: hidden; /* 中身（糸）を切り抜く */
	height: 0%; /* 初期は見えない（上から下へ増やす） */
	will-change: height;
	transition: height 0.06s linear; /* 微小スムージング（任意） */
}

#About .ThreadReveal .thread {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%; /* 親に合わせたい時。原寸のままなら外してOK */
	height: auto;
}

#About .about_inner {
	max-width: 1000px;
	width: 100%;
	margin: 220px auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

#About .about_inner .img {
	margin-top: -35px;
}

#About .about_inner .note {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#About .about_inner .note .catch {
	color: #d0ad72;
	font-family: "Chango", sans-serif;
	font-size: 2.6em;
	line-height: 1.6;
}

#About .about_inner .note .txt {
	color: #971219;
	font-size: 1.35em;
	font-weight: bold;
	line-height: 2.5;
	padding-top: 40px;
}

.Gall_Line {
	background: url("../img/img_pattern.jpg");
}

#Gallery {
	position: relative;
	background: #971219;
	z-index: 0;
	padding: 100px 40px 0;
}

#Gallery::before {
	position: absolute;
	content: "";
	background: url("../img/gallery_bg_top_pc.png") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 114px;
	top: -114px;
	left: 0;
}

#Gallery::after {
	position: absolute;
	content: "";
	background: url("../img/gallery_bg_bottom_pc.png") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 114px;
	bottom: -114px;
	left: 0;
}

#Gallery h2 {
	font-family: "Chango", sans-serif;
	color: #d0ad72;
	text-align: center;
	font-size: 4em;
	letter-spacing: 0.05em;
	line-height: 1;
	padding-bottom: 70px;
}

#Gallery #Gallery_wrap {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	z-index: 2; /* グリッド：PC=4列 / SP=3列 */ /* カード */ /* 画像：中央トリミング＋ホバー拡大 */ /* 初期は隠す（JSで解除） */ /* もっと見る */ /* ===================== モーダル ===================== */
}

#Gallery #Gallery_wrap .photo-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 5px;
}

#Gallery #Gallery_wrap .photo-grid__item {
	margin: 0;
	aspect-ratio: 1/1;
	overflow: hidden;
	border-radius: 10px;
	background: #f5f5f5;
	cursor: pointer;
}

#Gallery #Gallery_wrap .photo-grid__img {
	width: 100%;
	height: 100%;
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	transition: transform 0.25s ease, filter 0.25s ease;
	will-change: transform;
}

#Gallery #Gallery_wrap .photo-grid__img:hover {
	transform: scale(1.1); /* お好みで 1.08〜1.12 */
	filter: brightness(1.03);
}

#Gallery #Gallery_wrap .is-hidden {
	display: none;
}

#Gallery #Gallery_wrap #photoMoreBtn {
	padding: 25px 30px;
	border-radius: 999px;
	background: #d0ad72;
	color: #971219;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.4em;
	line-height: 1;
	transition: 0.3s;
	width: 350px;
	border: none;
	font-weight: bold;
	margin: 65px 0 40px;
}

#Gallery #Gallery_wrap #photoMoreBtn::before {
	content: "＋";
	position: absolute;
	left: 30px;
}

#Gallery #Gallery_wrap #photoMoreBtn:hover {
	background: #f7f6e7;
	cursor: pointer;
}

#Gallery #Gallery_wrap .gallery-modal {
	position: fixed;
	inset: 0;
	display: none; /* .is-open で表示 */
	z-index: 9999; /* 黒半透明の背景（ここをクリックで閉じる） */ /* 中央寄せの全画面レイヤー（見た目は維持）
	   ※ ここを pointer-events:none にして、背面backdropまでクリックを通す */ /* 閉じアニメ（is-closing） */
}

#Gallery #Gallery_wrap .gallery-modal.is-open {
	display: block;
}

#Gallery #Gallery_wrap .gallery-modal .gallery-modal__backdrop {
	position: absolute;
	inset: 0;
	background: #000; /* ふわっと登場 */
	animation: modalFadeIn 0.18s ease both;
	z-index: 0;
}

#Gallery #Gallery_wrap .gallery-modal .gallery-modal__content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	outline: none;
	z-index: 1;
	pointer-events: none; /*背景クリックを貫通させる */
}

#Gallery #Gallery_wrap .gallery-modal .gallery-modal__img {
	max-width: 90vw;
	max-height: 90vh;
	display: block;
	-o-object-fit: contain;
	object-fit: contain;
	background: #000;
	animation: modalPopIn 0.18s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	pointer-events: auto;
}

#Gallery #Gallery_wrap .gallery-modal .gallery-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 80px;
	height: 80px;
	border: none;
	border-radius: 50%;
	background: url("../img/btn_modal_close.png") no-repeat center center;
	background-size: contain;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	pointer-events: auto;
	z-index: 1002;
}

#Gallery #Gallery_wrap .gallery-modal.is-closing .gallery-modal__backdrop {
	animation: modalFadeOut 0.16s ease both;
}

#Gallery #Gallery_wrap .gallery-modal.is-closing .gallery-modal__img {
	animation: modalPopOut 0.16s ease both;
}

#Gallery .gallery_share {
	text-align: center;
	transition: 0.3s;
}

#Gallery .gallery_share:hover {
	transform: translateY(-5px);
}

/* モーダル用キーフレーム */

/* ギャラリーモーダルが開いたら、メニューボタンとThreadDockを非表示 */

body:has(.gallery-modal.is-open) .menu-btn,
body:has(.gallery-modal.is-open) .ThreadDock {
	display: none !important;
}

#Lineup {
	padding: 0px 40px 100px;
	margin-top: 114px;
}

#Lineup h2 {
	font-family: "Chango", sans-serif;
	color: #971219;
	text-align: center;
	font-size: 4em;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 100px 0 50px;
}

#Lineup .inner .lineup {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

#Lineup .inner .lineup article {
	width: 49%;
	margin-top: 20px;
	transition: 0.3s;
	position: relative;
}

#Lineup .inner .lineup article::after {
	content: "＋";
	background: #d0ad72;
	border-radius: 50%;
	position: absolute;
	width: 60px;
	height: 60px;
	color: #971219;
	right: 10px;
	bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 35px;
	line-height: 1;
}

#Lineup .inner .lineup article:hover {
	transform: translateY(-5px);
}

#Lineup .inner .lineup article .pic img {
	border-radius: 10px;
}

#Care {
	padding: 150px 40px 200px;
}

#Care .care_inner {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

#Care .care_inner h2 {
	font-family: "Chango", sans-serif;
	background: #971219;
	color: #f7f6e7;
	width: -moz-fit-content;
	width: fit-content;
	padding: 25px 45px;
	border-radius: 50px;
	font-size: 3em;
	line-height: 1;
	margin: 0 auto 30px;
	letter-spacing: 0.05em;
}

#Care .care_inner .lead {
	background: #d0ad72;
	color: #971219;
	width: -moz-fit-content;
	width: fit-content;
	padding: 15px 25px;
	border-radius: 50px;
	font-size: 1.4em;
	line-height: 1;
	margin: 0 auto;
}

#Care .care_inner .lesson_a {
	background-size: 20px 3px;
	background-image: linear-gradient(to right, #971219 10px, transparent 10px);
	background-repeat: repeat-x;
	background-position: left top;
	margin: 80px 0 50px;
}

#Care .care_inner .lesson_a .txt {
	text-align: center;
	font-size: 1.3em;
	padding: 40px 0 35px;
}

#Care .care_inner .lesson_a .img {
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
}

#Care .care_inner .lesson_b {
	background-size: 20px 3px;
	background-image: linear-gradient(to right, #971219 10px, transparent 10px);
	background-repeat: repeat-x;
	background-position: left top;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 65px 0 45px;
}

#Care .care_inner .lesson_b > div {
	width: 28%;
	text-align: center;
}

#Care .care_inner .lesson_b > div .num img {
	width: 75%;
}

#Care .care_inner .lesson_b > div .txt {
	font-size: 1.3em;
	padding: 30px 0;
}

#Care .care_inner .lesson_b .les_01,
#Care .care_inner .lesson_b .les_02 {
	background-image: linear-gradient(to bottom, #971219 10px, transparent 10px);
	background-size: 3px 20px;
	background-repeat: repeat-y;
	background-position: right top;
	padding: 0 40px 0 0;
}

#Care .care_inner .lesson_b .les_01 .img,
#Care .care_inner .lesson_b .les_02 .img {
	position: relative;
}

#Care .care_inner .lesson_b .les_01 .img::after,
#Care .care_inner .lesson_b .les_02 .img::after {
	content: "";
	position: absolute;
	background: url("../img/img_arrow_pc.png");
	right: -70px;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	background-size: contain;
}

#Care .care_inner .lesson_b .les_03 {
	position: relative;
}

#Care .care_inner .lesson_b .les_03 .icon {
	position: absolute;
	bottom: 10px;
	right: -60px;
	width: 180px;
}

#Care .care_inner .post {
	background-size: 20px 3px;
	background-image: linear-gradient(to right, #971219 10px, transparent 10px);
	background-repeat: repeat-x;
	background-position: left top;
	display: flex;
	justify-content: space-between;
	padding-top: 80px;
}

#Care .care_inner .post > div {
	width: 48%;
	background: url("../img/img_pattern.jpg");
	border-radius: 30px;
	padding: 60px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

#Care .care_inner .post > div .tit {
	background: #971219;
	color: #f7f6e7;
	width: -moz-fit-content;
	width: fit-content;
	padding: 10px 30px;
	border-radius: 20px;
	font-size: 1.3em;
	line-height: 1;
	margin: 0 auto;
}

#Care .care_inner .post > div .txt {
	font-size: 1.2em;
	text-align: center;
	margin: 25px 0 30px;
	line-height: 2;
}

#Care .care_inner .post > div .img {
	padding: 0 60px;
	margin-top: auto;
}

.scroll-infinity {
	padding: 20px 0;
	border-bottom: 10px solid #d0ad72;
}

.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}

.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0;
}

.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s linear infinite 0.5s both;
}

.scroll-infinity__item {
	width: 50vw;
}

.scroll-infinity__item > img {
	display: block;
	width: 100%;
	height: auto;
}

/* 右上の共通ボタン外観（開く用・閉じる用で共通） */

.menu-btn,
.menu-close {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 1001;
	width: 80px;
	height: 80px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.menu-btn .menu-bg,
.menu-close .menu-bg {
	position: absolute;
	inset: 0;
	width: 80px;
	height: 80px;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	display: block;
}

.menu-btn .icon,
.menu-close .icon {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	display: block;
	opacity: 1;
	transition: opacity 0.22s linear;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

/* 初期：外のボタンだけ見える。内の「閉じる」は非表示 */

.menu-close {
	opacity: 0;
	pointer-events: none;
}

/* dialog本体（背景クリックで閉じない＝バックドロップは透明でOK） */

.menu {
	border: 0;
	padding: 0;
	margin: 0;
	inset: 0;
	width: 100dvw;
	height: 100dvh;
	background: transparent;
}

.menu::backdrop {
	background: transparent;
}

/* 全画面の赤い背景＆スライドアニメ */

.menu-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: fixed;
	inset: 0;
	background: #971219; /* ← 指定の赤 */
	color: #f7f6e7;
	transform: translateY(-100%);
	animation: none;
}

.menu-body .links {
	margin: 0;
}

.menu-body .links a {
	display: block;
	color: #f7f6e7;
	text-decoration: none;
	font-family: "Chango", sans-serif;
	font-size: 2.5em;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 50px;
}

.menu-body .links a:hover {
	color: #d0ad72;
}

.menu-body .official {
	max-width: 300px;
	width: 100%;
	margin: 30px auto 0;
}

.menu[open] .menu-body {
	animation: slideIn 0.28s ease forwards;
}

.menu.closing .menu-body {
	animation: slideOut 0.22s ease forwards;
}

/* メニュー表示中だけ、内側の閉じるボタンを有効化 */

.menu[open] .menu-close {
	opacity: 1;
	pointer-events: auto;
}

#Wrap > footer {
	overflow: hidden;
	position: relative;
	z-index: 10000;
	background: #971219;
	color: #fff;
	padding: 100px 40px;
}

#Wrap > footer > .inner {
	max-width: 1000px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
}

#Wrap > footer > .inner .official {
	max-width: 300px;
	width: 100%;
	transition: 0.3s;
}

#Wrap > footer > .inner .official:hover {
	opacity: 0.7;
}

#Wrap > footer > .inner .share ul {
	display: flex;
	justify-content: flex-end;
}

#Wrap > footer > .inner .share ul li {
	width: 35px;
	margin-left: 10px;
	transition: 0.3s;
}

#Wrap > footer > .inner .share ul li:hover {
	opacity: 0.7;
}

#Wrap > footer > .inner .copy {
	font-size: 0.7em;
	line-height: 2em;
	text-align: right;
	margin-top: 30px;
}

#Wrap > #Lineup .bol {
	position: relative;
	z-index: 1;
	text-align: center;
}

#Wrap > #Lineup .bol::before {
	content: "※";
	display: inline-block;
}

#Wrap > #Lineup .lineup {
	display: flex;
	flex-flow: row wrap;
}

#Wrap > #Lineup .lineup > article {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	margin-top: 40px;
	padding: 30px 30px calc(10px + 1em + 30px);
	width: calc((100% - 60px) / 3);
	background: #fff;
	line-height: 1em;
}

#Wrap > #Lineup .lineup > article:hover {
	transform: translateY(-10px);
}

#Wrap > #Lineup .lineup > article:not(:nth-of-type(3n+3)) {
	margin-right: 30px;
}

#Wrap > #Lineup .lineup > article .pic {
	box-sizing: border-box;
	margin-bottom: 30px;
	border: 1px solid #cde1f9;
	border-radius: 4px;
	min-height: 260px;
	line-height: 0;
}

#Wrap > #Lineup .lineup > article .pic.np {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
}

#Wrap > #Lineup .lineup > article .pic.np::after {
	content: "NOW PRINTING";
	color: #cde1f9;
	font-size: 1em;
	line-height: 1em;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}

#Wrap > #Lineup .lineup > article h1 {
	font-size: 1.2em;
	line-height: 1.2em;
}

#Wrap > #Lineup .lineup > article .bottom {
	position: absolute;
	left: 30px;
	bottom: 30px;
	z-index: 1;
}

body.modal {
	overflow: hidden;
}

.modalPic,
[data-modal-pic],
[data-modal-page] {
	cursor: pointer;
}

img.modalPic {
	transition: opacity 0.4s;
}

img.modalPic:hover {
	opacity: 0.6;
}

#Popup {
	display: none;
}

#Modal {
	overflow: hidden;
	display: flex;
	justify-content: ceter;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 58000;
	width: 100%;
	height: 100%;
	background: url("../img/img_pattern.jpg");
}

#Modal > .inner {
	opacity: 0;
	overflow: auto;
	position: relative;
	z-index: 10;
	width: 100%;
	height: 100%;
	transition: all 0.4s ease-out;
	transform: translateY(2%);
	padding: 0 40px;
}

#Modal > .inner.show {
	opacity: 1;
	transform: translateY(0);
}

#Modal .close {
	background: url("../img/btn_modal_close.png") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 2000;
	width: 80px;
	height: 80px;
	cursor: pointer;
	transition: all 0.4s;
	position: absolute;
	top: 20px;
	right: 20px;
}

#Modal .close:hover {
	transform: scale(1.05);
}

#Modal .pictBox {
	box-sizing: border-box;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	margin: 140px 0;
	padding: 40px;
	min-height: calc(100% - 280px);
}

#Modal .pictBox img {
	border: 2px solid #cde1f9;
}

#Modal .inlineBox {
	box-sizing: border-box;
	margin: 70px auto 40px;
	padding: 80px;
	background: #f7f6e7;
	border: 5px #971219 solid;
	border-radius: 10px;
	max-width: 1200px;
}

#Modal .inlineBox > div {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	max-width: 1020px;
	text-align: left;
}

#Modal .inlineBox .j001 table::before {
	content: "";
	background: url("../img/j001.jpg") no-repeat center center;
}

#Modal .inlineBox.goods .layout {
	display: table;
	table-layout: fixed;
	margin: 0 auto;
	width: 100%; /* ===== メイン（ふわっと切替の補強） =====
	   ※ JS側で slick({ fade: true, cssEase: 'linear' }) を使っている前提。
	   Slick のフェードは .slick-slide に opacity を当てるので、
	   ここでトランジションを指定して“より滑らか”に。 */
}

#Modal .inlineBox.goods .layout > div {
	display: table-cell;
	vertical-align: top;
}

#Modal .inlineBox.goods .layout .thumb-slider {
	margin-top: 12px;
	margin-right: 40px;
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* ★横5固定 */
	gap: 8px;
}

#Modal .inlineBox.goods .layout .thumb-slider > div {
	cursor: pointer;
	border-radius: 6px;
	overflow: hidden;
	transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
	border: #971219 1px solid;
	border-radius: 10px;
}

#Modal .inlineBox.goods .layout .thumb-slider > div img {
	display: block;
	width: 100%;
	height: auto;
}

#Modal .inlineBox.goods .layout .thumb-slider > div:hover {
	transform: translateY(-1px);
}

#Modal .inlineBox.goods .layout .thumb-slider > div.is-current {
	position: relative;
	opacity: 1;
}

#Modal .inlineBox.goods .layout .thumb-slider > div.is-current::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(208, 173, 114, 0.5);
}

#Modal .inlineBox.goods .layout .goods-slider {
	margin-right: 40px;
}

#Modal .inlineBox.goods .layout .goods-slider .slick-slide {
	transition: opacity 0.28s linear; /* ふわっと感（好みで .2〜.4s） */
}

#Modal .inlineBox.goods .layout .goods-slider img {
	display: block;
	width: 100%;
	height: auto;
}

#Modal .inlineBox.goods h1 {
	font-size: 1.8em;
	line-height: 1.4em;
	font-weight: 700;
}

#Modal .inlineBox.goods h1 .work {
	display: block;
	margin-bottom: 0.5em;
	font-size: 0.6em;
	line-height: 1.2em;
}

#Modal .inlineBox.goods table.def {
	line-height: 1.6em;
}

#Modal .inlineBox.goods table.def th {
	font-weight: 700;
}

#Modal .inlineBox.goods .goods-slider .slick-list {
	border: #971219 1px solid;
	border-radius: 10px;
}

#Modal .inlineBox.goods .goods-slider .slick-dots {
	margin-top: 20px;
	font-size: 1px;
	line-height: 0;
	text-align: center;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li {
	display: inline-block;
	margin: 0 5px;
	padding: 0;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li button {
	overflow: hidden;
	opacity: 0.4;
	outline: none;
	border: none;
	border-radius: 100%;
	padding: 0;
	width: 10px;
	height: 10px;
	background: #4b69a3;
	text-indent: -9999px;
	transition: opacity 0.4s;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li.slick-active button,
#Modal .inlineBox.goods .goods-slider .slick-dots > li button:hover {
	opacity: 1;
}

#Modal .inlineBox.goods .buy_but {
	border-radius: 999px;
	background: #d0ad72;
	color: #971219;
	position: relative;
	left: 0;
	font-size: 1.2em;
	line-height: 1;
	transition: 0.3s;
	width: 350px;
	border: none;
	font-weight: bold;
	margin: 45px auto 40px 0;
	transition: 0.3s;
}

#Modal .inlineBox.goods .buy_but::before {
	content: "";
	background: url(../img/ico_buy.png) no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 40px;
	width: 20px;
	height: 18px;
	top: 50%;
	transform: translateY(-50%);
}

#Modal .inlineBox.goods .buy_but:hover {
	opacity: 0.8;
}

#Modal .inlineBox.goods .buy_but a {
	display: block;
	padding: 20px 30px;
}

@media screen and (min-width: 960px) {

.sp {
	display: none !important;
}

}

@media screen and (min-width: 961px) {

.w1.pcbreak,
.w2.pcbreak,
.w3.pcbreak,
.w4.pcbreak,
.w5.pcbreak,
.w6.pcbreak,
.w7.pcbreak,
.w8.pcbreak,
.w9.pcbreak,
.w10.pcbreak,
.w11.pcbreak,
.w12.pcbreak,
.w13.pcbreak,
.w14.pcbreak,
.w15.pcbreak,
.w16.pcbreak,
.w17.pcbreak,
.w18.pcbreak,
.w19.pcbreak,
.w20.pcbreak,
.w21.pcbreak,
.w22.pcbreak,
.w23.pcbreak,
.w24.pcbreak,
.w25.pcbreak,
.w26.pcbreak,
.w27.pcbreak,
.w28.pcbreak,
.w29.pcbreak,
.w30.pcbreak {
	width: auto !important;
}

}

@media (hover: hover) and (pointer: fine) and (min-width: 961px) {

#Main .costume-slider { /* 基本のトランジション（滑らかに） */ /* 1) 非アクティブ & 非ガイドのみ → pointer & 浮かす */ /* 2) アクティブ or ガイド → 常に通常カーソル & ホバー無効（上書き） */ /* ホバーで動かないよう強制リセット（詳細度＆!importantで勝つ） */
}

#Main .costume-slider .slick-slide {
	transition: transform 0.3s ease, background-color 0.2s ease, opacity 0.3s;
}

#Main .costume-slider .slick-slide:not(.is-active):not(.aux-slide),
#Main .costume-slider .slick-slide:not(.is-active):not(.aux-slide) img {
	cursor: pointer;
}

#Main .costume-slider .slick-slide:not(.is-active):not(.aux-slide):hover {
	transform: translateY(-5px);
}

#Main .costume-slider .slick-slide.is-active,
#Main .costume-slider .slick-slide.aux-slide,
#Main .costume-slider .slick-slide.is-active img,
#Main .costume-slider .slick-slide.aux-slide img {
	cursor: default !important;
}

#Main .costume-slider .slick-slide.is-active:hover,
#Main .costume-slider .slick-slide.aux-slide:hover {
	transform: none !important;
}

}

@media screen and (max-width: 960px) {

body {
	font-size: 2.4rem;
	line-height: 1.8em;
}

.pc {
	display: none !important;
}

.mgtQp {
	margin-top: 10.8px !important;
}

.mgtTp {
	margin-top: 14.4px !important;
}

.mgtHp {
	margin-top: 21.6px !important;
}

.mgt1p {
	margin-top: 43.2px !important;
}

.mgt1Hp {
	margin-top: 64.8px !important;
}

.mgt2p {
	margin-top: 86.4px !important;
}

.mgt2Hp {
	margin-top: 108px !important;
}

.mgt3p {
	margin-top: 129.6px !important;
}

.fsS {
	font-size: 0.85em !important;
	line-height: 1.8em !important;
}

.w1.spbreak,
.w2.spbreak,
.w3.spbreak,
.w4.spbreak,
.w5.spbreak,
.w6.spbreak,
.w7.spbreak,
.w8.spbreak,
.w9.spbreak,
.w10.spbreak,
.w11.spbreak,
.w12.spbreak,
.w13.spbreak,
.w14.spbreak,
.w15.spbreak,
.w16.spbreak,
.w17.spbreak,
.w18.spbreak,
.w19.spbreak,
.w20.spbreak,
.w21.spbreak,
.w22.spbreak,
.w23.spbreak,
.w24.spbreak,
.w25.spbreak,
.w26.spbreak,
.w27.spbreak,
.w28.spbreak,
.w29.spbreak,
.w30.spbreak {
	width: auto !important;
}

table.def.spbreak {
	display: block;
	border-width: 0 0 2px;
}

table.def.spbreak tbody,
table.def.spbreak tr,
table.def.spbreak th,
table.def.spbreak td {
	display: block;
}

table.def.spbreak th {
	border-width: 2px 0 0;
	padding: 15px 0 0;
}

table.def.spbreak td {
	border: none;
	padding: 0 0 15px;
}

ul.def {
	line-height: 1.6em !important;
}

.tab-navi ul > li {
	border-width: 2px;
	width: 50%;
	min-height: 100px;
}

.tab-navi ul > li:not(.cur):hover {
	background: #fff;
	color: #4b69a3;
}

#Cover > div img {
	max-width: 70%;
}

#Main .logo {
	left: 50%;
	transform: translateX(-50%);
}

#Main .main-image-wrapper {
	background: url("../img/mainvsl_bg_sp.jpg");
	height: 750px;
}

#Main .main-image-wrapper::before {
	background: url("../img/mainvsl_side_curtain_left_sp.png") no-repeat center center;
	width: 130px;
	height: 750px;
}

#Main .main-image-wrapper::after {
	background: url("../img/mainvsl_side_curtain_right_sp.png") no-repeat center center;
	width: 130px;
	height: 750px;
}

#Main .main-image-wrapper .spotlight-layer {
	background: url("../img/mainvsl_spotlight_sp.png") no-repeat center center;
	max-width: 750px;
	height: 750px;
}

#Main #main-doll-image {
	position: absolute;
	bottom: 70px;
}

#Main .costume-slider .slick-slide {
	width: 240px;
}

#Main .costume-slider img.hover-swap {
	transition-duration: 0.2s;
}

#About .ThreadDock--left .base {
	top: -30px;
}

#About .about_inner {
	justify-content: center;
}

#About .about_inner .img {
	margin-top: 0;
	position: absolute;
	left: 90px;
	bottom: 50px;
	width: 210px;
}

#About .about_inner .note {
	align-items: flex-end;
}

#About .about_inner .note .catch {
	font-size: 2.1em;
	line-height: 1;
	margin-bottom: 50px;
}

#About .about_inner .note .catch > span {
	display: block;
}

#About .about_inner .note .catch .txt01 {
	text-align: left;
}

#About .about_inner .note .catch .txt02 {
	text-align: center;
	padding: 25px 0 20px;
}

#About .about_inner .note .catch .txt03 {
	text-align: right;
}

#About .about_inner .note .txt {
	margin-right: -40px;
	line-height: 2;
	font-size: 1.3em;
}

#Gallery {
	padding: 100px 40px 120px;
}

#Gallery::before {
	background: url("../img/gallery_bg_top_sp.png") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 78px;
	top: -75px;
	left: 0;
}

#Gallery::after {
	background: url("../img/gallery_bg_bottom_sp.png") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 78px;
	bottom: -75px;
	left: 0;
}

#Gallery h2 {
	font-size: 2.8em;
}

#Gallery #Gallery_wrap .photo-grid {
	grid-template-columns: repeat(3, 1fr);
}

#Gallery #Gallery_wrap #photoMoreBtn {
	margin: 65px 0 0px;
}

#Gallery .gallery_share {
	margin-top: 100px;
}

#Lineup h2 {
	font-size: 2.8em;
}

#Lineup .inner .lineup article {
	width: 100%;
	margin-top: 30px;
}

#Care .care_inner h2 {
	font-size: 2.2em;
}

#Care .care_inner .lesson_b {
	flex-direction: column;
	padding-top: 0;
}

#Care .care_inner .lesson_b > div {
	width: 100%;
}

#Care .care_inner .lesson_b > div .num img {
	width: 45%;
}

#Care .care_inner .lesson_b .les_01,
#Care .care_inner .lesson_b .les_02 {
	background-size: 20px 3px;
	background-image: linear-gradient(to right, #971219 10px, transparent 10px);
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 50px 0;
}

#Care .care_inner .lesson_b .les_01 .img::after,
#Care .care_inner .lesson_b .les_02 .img::after {
	background: url("../img/img_arrow.png");
	background-size: contain;
	transform: translateX(-50%);
	top: inherit;
	bottom: -80px;
	right: inherit;
	left: 50%;
}

#Care .care_inner .lesson_b .les_03 {
	padding-top: 50px;
}

#Care .care_inner .lesson_b .les_03 .icon {
	bottom: 20px;
	right: 0px;
	width: 260px;
}

#Care .care_inner .post {
	flex-direction: column;
}

#Care .care_inner .post > div {
	width: 100%;
	margin-bottom: 50px;
}

.scroll-infinity__item {
	width: 83.3333333333vw;
}

.menu-body .links a {
	margin-bottom: 90px;
}

#Wrap > footer > .inner {
	flex-direction: column;
}

#Wrap > footer > .inner .official {
	max-width: 400px;
	margin: 60px 0 50px;
}

#Wrap > footer > .inner .share ul li {
	width: 75px;
}

#Wrap > footer > .inner .copy {
	font-size: 0.8em;
	line-height: 2em;
	text-align: center;
}

#Wrap > #Lineup .bol {
	padding-left: 1em;
	text-align: left;
}

#Wrap > #Lineup .bol::before {
	position: absolute;
	left: 0;
}

#Wrap > #Lineup .lineup > article {
	margin-top: 50px;
	margin-right: 0 !important;
	padding-bottom: calc(15px + 1em + 30px);
	width: calc((100% - 30px) / 2);
}

#Wrap > #Lineup .lineup > article:hover {
	transform: translateY(0);
}

#Wrap > #Lineup .lineup > article:not(:nth-of-type(2n+2)) {
	margin-right: 30px !important;
}

#Wrap > #Lineup .lineup > article .pic {
	border-width: 2px;
}

#Wrap > #Lineup .lineup > article h1 {
	font-size: 1.1em;
	line-height: 1.2em;
}

#Wrap > #Lineup .lineup > article .price {
	font-size: 0.9em;
	line-height: inherit;
}

img.modalPic:hover {
	opacity: 1;
}

#Modal .close:hover {
	transform: scale(1);
}

#Modal .pictBox {
	max-width: none;
}

#Modal .inlineBox {
	margin: 120px 0 60px;
	padding: 80px 40px;
}

#Modal .inlineBox > div {
	max-width: 670px;
}

#Modal .inlineBox.goods .layout {
	display: block;
	width: auto;
}

#Modal .inlineBox.goods .layout > div {
	display: block;
}

#Modal .inlineBox.goods .layout .thumb-slider {
	margin-right: 0px;
	margin-bottom: 80px;
}

#Modal .inlineBox.goods .layout .goods-slider {
	margin-right: 0;
}

#Modal .inlineBox.goods h1 {
	font-size: 1.5em;
	line-height: 1.4em;
}

#Modal .inlineBox.goods h1 .work {
	margin-bottom: 0;
	font-size: 0.6em;
	line-height: 1.2em;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li {
	margin: 0 8px;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li button {
	width: 16px;
	height: 16px;
}

#Modal .inlineBox.goods .goods-slider .slick-dots > li:not(.slick-active) button:hover {
	opacity: 0.4;
}

#Modal .inlineBox.goods .buy_but {
	width: 100%;
}

#Modal .inlineBox.goods .buy_but::before {
	left: 60px;
	width: 25px;
	height: 22px;
}

#Modal .inlineBox.goods .buy_but a {
	padding: 35px 0;
}

}

@keyframes dustUp {

0% {
	transform: translateY(0) translateX(0) scale(1);
	opacity: 0;
}

8% {
	opacity: 1;
}

100% {
	transform: translateY(-170%) translateX(var(--dx, 0)) scale(1.04);
	opacity: 0;
}

}

@keyframes twinkle {

0% {
	filter: brightness(1);
	box-shadow: 0 0 0px 0 rgba(255, 255, 255, 0);
}

50% {
	filter: brightness(1.5);
	box-shadow: 0 0 10px 3px rgba(255, 255, 255, 0.45);
}

100% {
	filter: brightness(1);
	box-shadow: 0 0 0px 0 rgba(255, 255, 255, 0);
}

}

@keyframes twinkle {

0% {
	filter: brightness(1);
	box-shadow: 0 0 0px 0 rgba(255, 255, 255, 0);
}

50% {
	filter: brightness(1.35);
	box-shadow: 0 0 8px 2px rgba(255, 255, 255, 0.35);
}

100% {
	filter: brightness(1);
	box-shadow: 0 0 0px 0 rgba(255, 255, 255, 0);
}

}

@keyframes floatDust {

0% {
	transform: translateY(100%) scale(1);
	opacity: 0;
}

20% {
	opacity: 0.8;
}

100% {
	transform: translateY(-120%) scale(1.2);
	opacity: 0;
}

}

@keyframes modalFadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes modalFadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

@keyframes modalPopIn {

from {
	transform: translateY(6px) scale(0.97);
	opacity: 0;
}

to {
	transform: translateY(0) scale(1);
	opacity: 1;
}

}

@keyframes modalPopOut {

from {
	transform: translateY(0) scale(1);
	opacity: 1;
}

to {
	transform: translateY(6px) scale(0.97);
	opacity: 0;
}

}

@keyframes infinity-scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes slideIn {

from {
	transform: translateY(-100%);
	opacity: 0.7;
}

to {
	transform: translateY(0);
	opacity: 1;
}

}

@keyframes slideOut {

from {
	transform: translateY(0);
}

to {
	transform: translateY(-100%);
}

}


/*# sourceMappingURL=../map/style.css.map */
