@charset "utf-8";

html {
	font-size: 62.5%;
}

/* renewal header footer start*/
.l-header {
	z-index: 200;
}
.l-global-nav__grandchild-link._type-card {
	font-size: 14px;
}
.l-utility-nav__link {
	font-size: 11px;
}
.l-hamburger {
	font-size: 11px;
}
.l-global-nav__panel._large .l-global-nav__panel-title {
	font-size: 16px;
}
.l-global-nav__panel-title {
	font-size: 14px;
}
.l-global-nav__panel-small {
	font-size: 11px;
}
.l-global-nav__title {
	font-size: 16px;
}
.l-global-nav__dropdown {
	font-size: 14px;
}
.l-global-nav__help-link {
	font-size: 16px;
}

.c-list-sns__title {
	font-size: 20px;
}
.c-list-sns__more {
	font-size: 13px;
}
.l-footer-sitemap__link {
	font-size: 16px;
}
.l-footer-sitemap__trigger {
	font-size: 16px;
}
.l-footer-sitemap__lower-list {
	font-size: 14px;
}
.l-footer-sitemap__lower-link:hover {
	color: #fff;
}
.l-footer__nav-list {
	font-size: 14px;
}
.c-pagetop {
	z-index: 200000;
}
@media print, screen and (min-width: 768px) {
	.l-global-nav__dropdown {
		font-size: 16px;
	}
	.l-global-nav__grandchild-link._type-link {
		font-size: 14px;
	}
	.l-utility-nav__title {
		font-size: 14px;
	}
	.l-global-nav__title-text {
		font-size: 15px;
	}
	.l-global-nav__dropdown-heading {
		font-size: 28px;
	}
	.c-list-sns__more {
		font-size: 14px;
	}
}
@media print, screen and (min-width: 1024px) {
	.l-global-nav__title-text {
		font-size: 16px;
	}
}

/* renewal header footer end */

html.no-scroll {
	overflow: hidden;
}

#contents {
	padding: 0;
	width: 100%;
}

#header {
	box-shadow: none;
}

#footerIn img {
	border: none;
}

#wrapper {
	min-width: inherit;
}

.onlySP {
	display: none;
}

#ct_bg {
	font-family: "Zen Maru Gothic","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	color: #592D15;
	background: url(../img/bg_common01.png) repeat-y 0 0 /contain;
	overflow-x: hidden;
	letter-spacing: .12em;
}

#ct_bg.anime {
	background: url(../img/bg_common07.png) repeat-y 0 0 /contain;
}

#wrapper:has(#textModal) {
	position: relative;
	z-index: 99999;
}

#ct_bg.lowerContents {
	padding-top: 12px;
	overflow: hidden;
}

#ct_bg.lowerContents > .inner01 {
	position: relative;
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	min-height: 1000px;
	padding-bottom: 300px;
	margin-bottom: -300px;
	z-index: 5;
}

#ct_bg.lowerContents > .inner01::before {
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 1678px;
	height: 100%;
	background: url(../img/bg_common04.png) repeat-y 50% 0;
	content: "";
	z-index: -1;
}

#ct_bg img {
	max-width: 100%;
	height: auto;
}

#ct_bg .center {
	text-align: center !important;
}
#ct_bg .right {
	text-align: right !important;
}

.fb_iframe_widget > span {
	vertical-align: baseline !important;
}

#ct_bg .wrap01 {
	display: flex;
	flex-wrap: wrap;
}
#ct_bg .wrap01.bC {
	justify-content: center;
}
#ct_bg .wrap01.between {
	justify-content: space-between;
}
#ct_bg .wrap01.aC {
	align-items: center;
}

#ct_bg .headTitleArea01 {
	font-size: 1.4rem;
	text-align: center;
	position: relative;
	z-index: 7;
	background: url(../img/bg_common01.png) no-repeat 0 0 / 100% auto;
}

#ct_bg .headTitleArea01::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_common01.png) no-repeat 0 0 /100% auto;
	mix-blend-mode: multiply;
	opacity: .8;
	z-index: -1;
	content: "";
}

#ct_bg.lowerContents .headTitleArea01 {
	border-radius: 16px 16px 0 0;
	width: calc(100% - 32px);
	margin-inline: auto;
	overflow: hidden;
}

#ct_bg .headTitleArea01 h1 {
	font-weight: 700;
	padding-top: 4px;
	padding-bottom: 4px;
	letter-spacing: .1em;
}

#ct_bg .mainArea01 {
	height: 860px;
	background: url(../../img/bg_main01.png) no-repeat 50% 50%/cover;
	overflow: hidden;
	position: relative;
}

#ct_bg .mainArea01 > .inner01 {
	max-width: 1340px;
	margin-inline: auto;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	height: 100%;
}

#ct_bg .mainArea01 > .inner01 .logo01 {
	position: absolute;
	top: 0;
	left: 110px;
	z-index: 10;
}

#ct_bg .mainArea01 > .inner01 [class^="animeBlock"] {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 {
	text-align: center;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel01 {
	margin-left: 15px;
	margin-top: 60px;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 [class^="panel"] {
	opacity: 0;
	transition: opacity .8s ease-in-out !important;
	position: absolute;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 [class^="panel"].is-active {
	opacity: 1.0;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel02 .text01 {
	font-size: 3.2rem;
	line-height: 2.0;
}

#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel02 .text01 + .text01 {
	margin-top: 1.0em;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 .panel03 .image01 {
	width: 1292px;
	height: 241px;
	background: url(../../img/splash_sprite_step.png) no-repeat 0 -9044px/auto 100%;
}
#ct_bg .mainArea01 > .inner01 .animeBlock02 .panel03.is-active .image01 {
	animation: tomAnime 2.5s steps(7) forwards;
}
@keyframes tomAnime {
	from { background-position: 0px; }
	to { background-position: -9044px; }
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 1290px;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .panel03 {
	transition: opacity 1s ease-in-out;
	opacity: 0;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .panel03.is-active {
	opacity: 1;
	transition: opacity 1s ease-in-out;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 {
	position: absolute;
	width: 100%;
	margin-top: 30px;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	height: 100%;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 > .item01 {
	position: absolute;
	z-index: 1;
	left: 300px;
	top: 140px;
	transition: transform 2.5s linear .5s;
	transform: translateX(0);
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01:last-child.is-active > .item01 {
	transform: translateX(250%);
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01.is-active {
	opacity: 1;
}

#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 img {
	width: 100%;
}

#ct_bg .mainArea01 > .inner01 [class^="icon"] {
	position: absolute;
	z-index: 1;
}

#ct_bg .mainArea01 > .inner01 .icon01 {
	left: -286px;
	top: -149px;
	z-index: 2;
}
#ct_bg .mainArea01 > .inner01 .icon02 {
	left: -126px;
	bottom: -56px;
}
#ct_bg .mainArea01 > .inner01 .icon03 {
	left: 417px;
	bottom: -150px;
}
#ct_bg .mainArea01 > .inner01 .icon04 {
	right: -46px;
	bottom: -111px;
}
#ct_bg .mainArea01 > .inner01 .icon05 {
	right: -182px;
	bottom: 217px;
}
#ct_bg .mainArea01 > .inner01 .icon06 {
	right: -160px;
	top: -85px;
}
#ct_bg .mainArea01 > .inner01 .icon07 {
	left: 475px;
	top: -126px;
}
#ct_bg .mainArea01 > .inner01 [class^="icon"] img {
	transition: transform .4s,opacity .2s !important;
}
#ct_bg .mainArea01 > .inner01 .icon01 img {
	transform: translate(-30px,-30px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .mainArea01 > .inner01 .icon02 img {
	transform: translate(-25px,40px) scale(1.05);
}
#ct_bg .mainArea01 > .inner01 .icon03 img {
	transform: translate(-5px,40px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .mainArea01 > .inner01 .icon04 img {
	transform: translate(30px,35px) scale(1.05);
}
#ct_bg .mainArea01 > .inner01 .icon05 img {
	transform: translate(40px,5px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .mainArea01 > .inner01 .icon06 img {
	transform: translate(30px,-30px) scale(1.05);
}
#ct_bg .mainArea01 > .inner01 .icon07 img {
	transform: translate(5px,-40px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .mainArea01 > .inner01 [class^="icon"] img {
	opacity: 0;
}
#ct_bg .mainArea01.is-show > .inner01 [class^="icon"] img {
	transform: translate(0,0) scale(1);
	opacity: 1;
}

#ct_bg .mainArea02 {
	position: relative;
	pointer-events: none;
}

#ct_bg.character .mainArea02 {
	z-index: 6;
}

#ct_bg .mainArea02 .navArea01,#ct_bg .mainArea02 .naviBtn01 {
	pointer-events: auto;
}

#ct_bg .navArea01 {
	position: absolute;
	z-index: 100;
	left: 16px;
	border-radius: 16px;
	overflow: hidden;
	width: calc(100% - 32px);
	margin-inline: auto;
	background: url(../img/bg_common01.png) no-repeat 0 0 /100% auto;
}

#ct_bg .navArea01.is-fixed {
	position: fixed;
	top: 12px;
	left: 16px;
}

#ct_bg .mainArea02 .navArea01 {
	border-radius: 0 0 16px 16px;
}

#ct_bg .mainArea02 .navArea01.is-fixed {
	border-radius: 16px;
}

#ct_bg .navArea01::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_common01.png) no-repeat 0 0 /100% auto;
	mix-blend-mode: multiply;
	opacity: .8;
	content: "";
	z-index: -1;
}

#ct_bg .navArea01 > .inner01 {
	position: relative;
	max-width: 1240px;
	margin-inline: auto;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 8px;
	padding-bottom: 8px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#ct_bg .navArea01 > .inner01 > .image01 {
	position: absolute;
	top: 22px;
	left: 136px;
}
#ct_bg .navArea01 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 .7%;
	margin-right: 0px;
	max-width: 1084px;
	width: calc(100% - 100px);
}
#ct_bg .navArea01.type02 ul {
	width: calc(100% - 120px);
}

@media screen and (max-width: 1220px) {
#ct_bg .navArea01 > .inner01 > .image01 {
	left: 125px;
}
#ct_bg .navArea01.type02 ul {
	width: calc(100% - 140px);
}
}


#ct_bg .navArea01 ul > li {
	width: 16%;
	height: 68px;
}
#ct_bg .navArea01.type02 ul > li {
	width: 17.52%;
}

#ct_bg .navArea01 ul > li > a {
	padding: 10px 11px 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	column-gap: 8%;
	height: 100%;
	background-color: #fff;
	border-radius: 100vmax;
	box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.20);
}
#ct_bg .navArea01 ul > li.bgType02 > a {
	background-color: #3CB1DF;
}
#ct_bg .navArea01.type02 ul > li > a {
	background-color: #3CB1DF;
}
#ct_bg .navArea01.type02 ul > li.bgType02 > a {
	background-color: #fff;
}

#ct_bg .navArea01 ul > li > a > .icon {
	height: 48px;
	max-width: 43px;
}
#ct_bg .navArea01.type02 ul > li > a > .icon {
	max-width: 50px;
}

#ct_bg .navArea01 ul > li > a > .icon img {
	height: 100%;
	width: auto;
}

#ct_bg .navArea01 ul > li > a > .text {
	height: 44px;
	display: flex;
	align-items: center;
	position: relative;
	top: 2px;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimizequality;
}

#ct_bg .navArea01 ul > li:nth-child(1) > a > .text {
	width: min(100px,62%);
}
#ct_bg .navArea01 ul > li:nth-child(2) > a > .text {
	width: min(100px,63%);
}
#ct_bg .navArea01 ul > li:nth-child(3) > a > .text {
	width: min(44px,29%);
	margin-right: 5px;
}
#ct_bg .navArea01 ul > li:nth-child(4) > a > .text {
	width: min(72px,51%);
}
#ct_bg .navArea01 ul > li:nth-child(5) > a > .text {
	width: min(86px,50%);
}
#ct_bg .navArea01 ul > li:nth-child(6) > a > .text {
	width: min(98px,64%);
}

#ct_bg .navArea01.type02 ul > li:nth-child(1) > a > .text {
	width: min(100px,65%);
}
#ct_bg .navArea01.type02 ul > li:nth-child(2) > a > .text {
	width: min(72px,48%);
}
#ct_bg .navArea01.type02 ul > li:nth-child(3) > a > .text {
	width: min(120px,71%);
}
#ct_bg .navArea01.type02 ul > li:nth-child(4) > a > .text {
	width: min(88px,51%);
}
#ct_bg .navArea01.type02 ul > li:nth-child(5) > a > .text {
	width: min(115px,69%);
}

#ct_bg .navArea01 ul > li > a:hover::before {
	opacity: 1.0;
	transform: scale(1.1);
}


#ct_bg .subSection01 {
	padding-top: 240px;
	position: relative;
	z-index: 1;
}

#ct_bg .subSection01::before {
	position: absolute;
	top: 256px;
	left: 50%;
	transform: translateX(-50%);
	width: 1709px;
	height: 1268px;
	margin-left: -20px;
	background: url(../../img/bg_index01.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection01 > .inner01 {
	max-width: 840px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	position: relative;
}

#ct_bg .subSection01 > .inner01 > .title01 {
	text-align: center;
	margin-bottom: 65px;
	height: 49px;
}

#ct_bg [class^="subSection"] > .inner01 > .title01 img {
	height: 100%;
	width: auto;
}

#ct_bg .subSection01 > .inner01 > .text01 {
	font-size: 2.0rem;
	text-align: center;
}

#ct_bg .subSection01 > .inner01 > .text01:not(:first-of-type) {
	margin-top: 48px;
}

#ct_bg .subSection01 > .inner01 > .image02 {
	position: absolute;
	right: -257px;
	top: 51px;
	width: 464px;
}

#ct_bg .subSection01 > .inner01 > .image03 {
	position: absolute;
	right: -204px;
	top: 487px;
	width: 364px;
}

#ct_bg .subSection01 > .inner01 > .image04 {
	position: absolute;
	left: -204px;
	top: 298px;
	width: 332px;
}

#ct_bg .subSection01 > .inner01 > .image05 {
	position: relative;
	width: 306px;
	height: 110px;
	margin: 40px auto 0;
}

#ct_bg .subSection01 > .inner01 > .image05 > span {
	position: absolute;
}

#ct_bg .subSection01 > .inner01 > .image05 > span:last-child {
	opacity: 0;
}

#ct_bg .subSection01 > .inner01 > .button01 {
	display: table;
	margin: 64px auto 0;
}
#ct_bg .subSection01 > .inner01 > .button01 > a {
	display: block;
	position: relative;
}
#ct_bg .subSection01 > .inner01 > .button01 > a::before {
	position: absolute;
	top: -2px;
	left: -18px;
	content: "";
	aspect-ratio: 52 / 62;
	width: 52px;
	background: url(../../img/img_index19.png) no-repeat 0 0/100%;
}
#ct_bg .subSection01 > .inner01 > .button01 > a::after {
	position: absolute;
	top: -4px;
	right: -22px;
	content: "";
	aspect-ratio: 66 / 62;
	width: 66px;
	background: url(../../img/img_index20.png) no-repeat 0 0/100%;
}

#ct_bg .subSection01 > .inner01 > .box01 {
	margin-top: 70px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.75%;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column01 {
	width: 32.75%;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column01 > .image01 {
	margin-top: 12px;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 {
	width: 59.125%;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	align-items: center;
	width: fit-content;
	padding-bottom: 10px;
	border-bottom: 2px dotted #592D15;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > p {
	margin-left: -2px;
	letter-spacing: 0;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > h3 {
	height: 29px;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > h3 img {
	height: 100%;
	width: auto;
	position: relative;
	top: -4px;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 > .title01 {
	margin-top: 16px;
	font-size: 2.4rem;
	letter-spacing: 0;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 > .text01 {
	margin-top: 16px;
	font-weight: 500;
	letter-spacing: 0;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 {
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 10px;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .button01 {
	max-width: 195px;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .button01 > a {
	display: block;
	color: #fff;
	background-color: #BB2028;
	border-radius: 100vmax;
	padding: 8px 24px;
	box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.20);
	text-decoration: none;
	letter-spacing: 0;
}

#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .text01 {
	line-height: 1.4;
	font-weight: 500;
	font-size: 1.4rem;
	width: calc(100% - 230px);
	text-align: left;
	text-indent: -1.0em;
	padding-left: 1.0em;
	margin-top: 2px;
	letter-spacing: 0;
}

#ct_bg .subSection01 #road01 {
	margin-top: -143px;
	position: relative;
	z-index: -1;
	bottom: 0;
	width: 1500px;
	height: 426px;
	right: 172px;
}

#ct_bg .subSection01 #road01::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221500%22%20height%3D%22427%22%20viewBox%3D%220%200%201500%20427%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M451.055%20276.768C370.074%20262.217%20369.042%20206.41%20396.037%20173.368C396.037%20173.368%20476.946%2066.3508%20372.303%2025.808C306.138%200.17334%200.322535%200.17334%200.322535%200.17334L0.32251%2062.0426C0.32251%2062.0426%20317.613%2053.1532%20342.097%2096.8954C366.58%20140.638%20270.78%20217.543%20277.369%20269.228C285.714%20334.693%20356.685%20382.918%20437.669%20382.918C502.456%20382.918%201178.7%20411.755%201499.5%20426.173V278.583C1197.54%20284.591%20553.302%20295.141%20451.055%20276.768Z%22%20fill%3D%22%23EBE368%22%2F%3E%3C%2Fsvg%3E') no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection01 #road01 > .image01 {
	position: absolute;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: 23.8%;
}

#ct_bg .subSection01 #road01 > .image01.completed img {
	animation: bounceAnimation 3s step-end infinite;
}

@keyframes bounceAnimation {
	0%,3%,9%,15%,100% { transform: translateY(0); }
	6% { transform: translateY(-5px); }
	12% { transform: translateY(-5px); }
}

#ct_bg .subSection01 #road01 > .image02 {
	position: absolute;
	left: 437px;
	top: 147px;
	width: 15.6%;
}

#ct_bg .subSection01 #road01 svg {
	position: absolute;
	top: -4vw;
	left: 0;
	width: 100%;
	height: 100%;
}

#ct_bg .subSection02 {
	padding-top: 220px;
	padding-bottom: 100px;
	margin-top: 50px;
	position: relative;
}

#ct_bg .subSection02::before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	min-width: 2000px;
	height: 100%;
	background: url(../../img/bg_index02.png) no-repeat 50% 0/100%;
	content: "";
}

#ct_bg .subSection02 > .inner01 {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	margin-inline: auto;
}

#ct_bg .subSection02 > .inner01::before {
	position: absolute;
	top: -251px;
	left: -170px;
	width: 1252px;
	height: 970px;
	background: url(../../img/bg_index03.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection02 > .inner01 > .title01 {
	text-align: center;
	height: 72px;
}

#ct_bg .subSection02 > .inner01 > .box01 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
	column-gap: 70px;
	left: 60px;
}

#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] {
	position: relative;
	z-index: 1;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara01 {
	width: 42.8%;
	margin-top: 10px;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara02 {
	width: 39.2%;
}

#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .image01 {
	margin-left: auto;
	margin-right: 0;
	width: fit-content;
	transform-origin: 50% 70%;
}

#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .image01 > a {
	display: block;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .image01 {
	width: 70.99%;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .image01 {
	width: 82%;
}

#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .text01 {
	position: absolute;
	z-index: -1;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .text01 {
	width: 40.65%;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .text01 {
	width: 44.387%;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .text01 {
	left: -10px;
	top: -35px;
}

#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .text01 {
	left: -10px;
	bottom: 10px;
}

#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .text01 > a {
	display: block;
}

#ct_bg .subSection03 {
	margin-top: 120px;
}

#ct_bg .subSection03 > .inner01 {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	margin-inline: auto;
	z-index: 1;
}

#ct_bg .subSection03 > .inner01::before {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -190px;
	margin-top: -225px;
	transform: translateX(-50%);
	width: 1660px;
	height: 957px;
	z-index: -1;
	background: url(../../img/bg_index04.png) no-repeat 0 0/ 100%;
	content: "";
}

#ct_bg .subSection03 > .inner01 > .title01 {
	text-align: center;
	height: 62px;
}

#ct_bg .subSection03 > .inner01 > .box01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
	margin-top: 64px;
	margin-inline: auto;
}

#ct_bg .subSection03 > .inner01 > .box01 > a.column01 {
	display: block;
	position: relative;
	width: 317px;
	border-radius: 32px;
	background: #FFF;
	box-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 0.15);
	padding: 8px 8px 93px 8px;
	text-decoration: none;
	color: #592D15;
	transition: border .2s;
	border: solid 8px #fff;
}

#ct_bg .subSection03 > .inner01 > .box01 > a.column01:hover {
	border-color: #EBE368;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .image01 {
	overflow: hidden;
	border-radius: 16px;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .title01 {
	text-align: center;
	line-height: 1.4;
	font-size: 2.4rem;
	font-weight: 900;
	margin-top: 16px;
	letter-spacing: 0;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .text01 {
	margin-top: 16px;
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: 0;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 {
	position: absolute;
	bottom: 16px;
	left: 50%;
	translate: -50% 0;
	width: 178px;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > span {
	display: block;
	position: relative;
	left: 5px;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > span::before {
	position: absolute;
	top: 1px;
	left: -13px;
	width: 40px;
	height: 52px;
	background: url(../img/chara_common01.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection03 > .inner01 > .button01 {
	margin-inline: auto;
	margin-top: 60px;
	width: fit-content;
	position: relative;
	left: -10px;
}

#ct_bg .subSection03 > .inner01 > .button01 > a {
	display: block;
}

#ct_bg .subSection04 {
	margin-top: 150px;
	position: relative;
	z-index: 1;
}

#ct_bg .subSection04::before {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	min-width: 2000px;
	height: 100%;
	background: url(../../img/bg_index05.png) no-repeat 50% 0 / 100%;
	content: "";
}

#ct_bg .subSection04 #road02 {
	position: absolute;
	top: 30px;
	left: 20px;
	z-index: -1;
	width: 1500px;
	height: 100px;
}

#ct_bg .subSection04 #road02 #path02 {
	width: 100%;
	height: 100%;
}

#ct_bg .subSection04 #road02 .image01 {
	margin-top: -150px;
	position: absolute;
	right: -500px;
}

#ct_bg .subSection04 #road02 > .image01.completed img {
	animation: bounceAnimation 3s step-end infinite;
}

#ct_bg .subSection04 > .inner01 {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	position: relative;
	z-index: 2;
	padding-top: 220px;
	padding-bottom: 240px;
}

#ct_bg .subSection04 > .inner01::before {
	position: absolute;
	top: -1px;
	left: -82px;
	width: 138px;
	height: 168px;
	background: url(../../img/img_index13.gif) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection04 > .inner01 > .title01 {
	text-align: center;
	height: 76px;
}

#ct_bg .subSection04 > .inner01 > .button01,
#ct_bg .subSection05 > .inner01 > .button01 {
	width: 328px;
	margin: 40px auto 0;
}

#ct_bg .subSection04 > .inner01 > .list {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#ct_bg .subSection04 > .inner01 > .list > li {
	width: 48.4%;
}

#ct_bg .subSection04 > .inner01 > .list > li > .title01 {
	background-color: #592D15;
	border-radius: 100vmax;
	margin-bottom: 8px;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 2.4rem;
	color: #fff;
	padding-top: 6px;
	padding-bottom: 10px;
}

#ct_bg .subSection04 > .inner01 > .list > li .movieWrap01 > a {
	border-radius: 14px;
}

#ct_bg .subSection04 > .inner01 > .list > li .movieWrap01 > a::before {
	width: 60px;
	height: 60px;
	margin-top: -30px;
	margin-left: -30px;
}

#ct_bg .subSection05 {
	position: relative;
	z-index: 6;
}

#ct_bg .subSection05 > .inner01 {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	position: relative;
	z-index: 2;
}

#ct_bg .subSection05 > .inner01::before,
#ct_bg .subSection05 > .inner01::after {
	position: absolute;
	content: "";
}

#ct_bg .subSection05 > .inner01 > .image01 {
	width: 415px;
	height: 488px;
	top: -233px;
	right: -410px;
	position: absolute;
	transform-origin: 50% 70%;
}

#ct_bg .subSection05 > .inner01 > .image02 {
	width: 440px;
	height: 537px;
	bottom: 96px;
	left: -405px;
	position: absolute;
	transform-origin: 50% 70%;
}

#ct_bg .subSection05 > .inner01 > .title01 {
	text-align: center;
}

#ct_bg .subSection05 > .inner01 > .box01 {
	margin-top: 80px;
}

#ct_bg .subSection05 > .inner01 > .box01 > .title01 {
	background-color: #592D15;
	border-radius: 100vmax;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 3.6rem;
	color: #fff;
	padding-top: 6px;
	padding-bottom: 10px;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 2.4%;
	margin-top: 40px;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li {
	width: 31.7%;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li:not(:has(> a)),
#ct_bg .subSection05 > .inner01 > .box01 > ul > li {
	display: block;
	padding: 16px 16px 24px 16px;
	text-decoration: none;
	background-color: #fff;
	color: #592D15;
	border-radius: 32px;
	box-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 0.15);
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) {
	padding: 0;
}
#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) > a {
	padding: 16px 16px 24px 16px;
	display: block;
	height: 100%;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a {
	color: #592D15;
	text-decoration: none;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li .textWrap {
	margin-top: 8px;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li .textWrap strong {
	font-weight: 900;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li .img,
#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .image01 {
	border-radius: 16px;
	overflow: hidden;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .title01 {
	line-height: 1.4;
	font-weight: 900;
	margin-top: 8px;
	letter-spacing: 0;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .text01 {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: 8px;
	letter-spacing: 0;
	font-weight: 500;
}

#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .text02 {
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.4;
	margin-top: 8px;
	letter-spacing: 0;
}

#ct_bg .subSection05 > .inner01 > .btnWrap01 {
	margin-top: 60px;
	margin-bottom: -70px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100.6%;
}

#ct_bg .subSection05 > .inner01 > .btnWrap01 > li {
	width: 49.2%;
}

#ct_bg .subSection05 > .inner01 > .btnWrap01 > li > a {
	display: block;
}

#ct_bg .subSection06 {
	padding-top: 535px;
	padding-bottom: 685px;
	position: relative;
	z-index: 5;
	background: url(../img/bg_common08.png) no-repeat 50% 0/2000px;
}

#ct_bg .subSection05 + .subSection06 {
	z-index: 4;
}

#ct_bg .subSection06::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 656px;
	background: url(../img/bg_common09.png) no-repeat 50% 100%/100%;
	z-index: -1;
	pointer-events: none;
	content: "";
}

#ct_bg .subSection06 > .inner01 {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	position: relative;
}

#ct_bg .subSection06::after {
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: 372px;
	height: 360px;
	background: url(../../img/bg_index06.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .subSection06 > .inner01 #road03 {
	position: absolute;
	width: 104vw;
	left: 50%;
	transform: translateX(-50%);
	height: 10vw;
	top: -300px;
}

#ct_bg .subSection06 > .inner01 #road03 svg {
	position: absolute;
	left: -200px;
	top: 0;
	transform: rotate(2deg);
	width: calc(100vw + 600px);
}

#ct_bg .subSection06 > .inner01 #road03 .image01 {
	position: absolute;
	z-index: 1;
	left: -290px;
}

#ct_bg .subSection06 #road04 {
	position: absolute;
	z-index: 10;
	width: 1500px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 100px;
	height: 600px;
}

#ct_bg .subSection06 #road04 svg {
	position: absolute;
	left: -120px;
	bottom: 70px;
	height: 100% !important;
}

#ct_bg .subSection06 #road04 .image01 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 240px;
}

#ct_bg .subSection06 > .inner01 > .title01 {
	text-align: center;
	height: 68px;
}

#ct_bg .subSection06 > .inner01 > .text01 {
	text-align: center;
	margin-top: 30px;
	color: #fff;
	font-weight: 500;
	line-height: 1.4;
}

#ct_bg .subSection06 > .inner01 > .btnWrap01 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 1.6%;
	margin-top: 80px;
}

#ct_bg .subSection06 > .inner01 > .text01 + .btnWrap01 {
	margin-top: 28px;
}

#ct_bg .subSection06 > .inner01 > .btnWrap01 > li {
	width: 23.8%;
}

#ct_bg .subSection06 > .inner01 > .btnWrap01 > li > a {
	display: block;
}

#ct_bg .subSection06 > .inner01 > .box01 {
	margin-top: 30px;
	padding: 40px 16px;
	background-color: #fff;
	border-radius: 32px;
	border: 4px solid #5D5688;
}

#ct_bg .subSection06 > .inner01 > .box01 > .title01 {
	font-weight: 900;
	line-height: 1.4;
	font-size: 2.4rem;
	text-align: center;
}

#ct_bg .subSection06 > .inner01 > .box01 > .text01 {
	text-align: center;
	margin-top: 24px;
	font-weight: 500;
}

#ct_bg .subSection06 > .inner01 > .box01 > .button01 {
	width: 340px;
	margin: 20px auto 0;
}

#ct_bg .subSection06 > .inner01 > .footBtn01 {
	position: relative;
	z-index: 100;
	margin-top: 30px;
	text-align: center;
}

#ct_bg .subSection06 > .text01 {
	position: absolute;
	font-weight: 500;
	color: #fff;
	bottom: 2vw;
	left: 50%;
	transform: translateX(-50%);
}

#ct_bg .slideArea01 {
	margin-top: 40px;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

#ct_bg .swiper-slide {
	transition: transform .1s;
	transform: scale(0.8);
}

#ct_bg .swiper-slide > div {
	margin-left: -25px;
	margin-right: -25px;
}

#ct_bg .swiper-slide-active {
	transform: scale(1);
}

#ct_bg .swiper-pagination {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 16px;
	bottom: inherit;
	width: fit-content;
}

#ct_bg .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	background-color: #592D15;
	margin: 0;
}
#ct_bg .swiper-pagination-bullet-active {
	background-color: #592D15;
}

#ct_bg .naviWrap {
	justify-content: center;
	display: flex;
	column-gap: 40px;
	align-items: center;
	margin-top: 40px;
}

#ct_bg .swiper-button-prev,
#ct_bg .swiper-button-next {
	position: relative;
	width: 24px;
	height: 24px;
	top: inherit;
	margin-top: 0;
}

#ct_bg .swiper-button-prev {
	left: inherit;
}

#ct_bg .swiper-button-next {
	right: inherit;
}

#ct_bg .swiper-button-prev::after,
#ct_bg .swiper-button-next::after {
	font-size: 0;
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2223%22%20viewBox%3D%220%200%2024%2023%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M23.8655%2020.3324C23.8655%2011.5105%2024%2011.5105%2024%202.70793C24%201.05988%2022.5973%200.30371%2021.0793%200.98232C11.222%205.38359%2011.1835%205.32542%201.32619%209.72669C-0.480032%2010.541%20-0.422386%2012.383%201.38383%2013.1973C11.2412%2017.5986%2011.0106%2018.1221%2020.8679%2022.5427C22.3667%2023.2213%2023.8655%2021.9998%2023.8655%2020.3518V20.3324Z%22%20fill%3D%22%23592D15%22%2F%3E%3C%2Fsvg%3E') no-repeat 0 0/100%;
}

#ct_bg .swiper-button-next::after {
	transform: scale(-1,1)
}

#ct_bg .movieWrap01 > a {
	position: relative;
	display: block;
	aspect-ratio: 25 / 14;
	overflow: hidden;
	border-radius: 25px;
	cursor: pointer;
}

#ct_bg .movieWrap01 > a::before {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 84px;
	height: 84px;
	margin-left: -42px;
	margin-top: -42px;
	background: url(../img/icon_common02.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .movieWrap01 > a img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: center center;
}

#ct_bg .modal {
	display: none;
	background: url(../img/bg_common01.png) repeat-y 0 0 /cover;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	overflow: hidden;
}
#ct_bg.anime .modal {
	background: url(../img/bg_common07.png) repeat-y 0 0 /cover;
}

#ct_bg .modal::before {
	position: absolute;
	bottom: 0;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	height: 50px;
	background: url(../img/bg_common01.png) no-repeat 0 0 /100% auto;
	mix-blend-mode: multiply;
	opacity: .8;
	content: "";
}
#ct_bg.anime .modal::before {
	background: url(../img/bg_common07.png) no-repeat 0 0 /100% auto;
}

#ct_bg .modal .modal-content {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	z-index: 1000;
}
#ct_bg .modal #videoContainer {
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	min-height: 100px;
	border-radius: 16px;
	max-height: 672px;
	overflow: hidden;
	max-width: 1200px;
	width: 90%;
	aspect-ratio: 25 / 14;
}

#ct_bg .modal #videoContainer > iframe {
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: center center;
}

#ct_bg .modal #textContainer {
	margin-top: -80px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	min-height: 100px;
	border-radius: 16px;
	overflow: hidden;
	max-width: 1000px;
	width: 90%;
}

#ct_bg .modal #textContainer > .title01 {
	font-size: 2.4rem;
	background-color: #1B648E;
	color: #fff;
	text-align: center;
	padding: 14px 10px 16px;
	line-height: 1.4;
}

#ct_bg .modal #textContainer > .inner01 {
	padding: 30px;
}

#ct_bg .modal #textContainer > .inner01 > .text01 > span {
	color: #f66;
}

#ct_bg .modal #textContainer > .inner01 > .text01:not(:first-child) {
	margin-top: 20px;
}

#ct_bg .modal #textContainer > .inner01 > .button01 {
	width: 360px;
	margin-inline: auto;
	margin-top: 30px;
}

#ct_bg .modal .modal-content:has(#textContainer) {
	align-items: center;
}

#ct_bg .modal .close {
	position: absolute;
	top: 10px;
	right: 16px;
	width: 80px;
	height: 80px;
}

#ct_bg .modal .close > a {
	position: relative;
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}

#ct_bg .modal .close > a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/icon_common03.png) no-repeat 0 0/100%;
	content: "";
}

#ct_bg .modal > ul {
	position: absolute;
	width: 100%;
	max-width: 2000px;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	z-index: 1;
	column-gap: 3%;
}

#ct_bg .modal > ul > li {
	width: 45.8%;
}

#ct_bg .btnWrap01 a,
#ct_bg .subSection04 > .inner01 > .button01 > a,
#ct_bg .subSection03 > .inner01 > .button01 > a,
#ct_bg .subSection05 > .inner01 > .button01 > a,
#ct_bg .subSection06 > .inner01 > .box01 > .button01 > a,
#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > span,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .text01 > a,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .image01 > a,
/*#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a,*/
#ct_bg .modal .close > a,
#ct_bg .movieWrap01 > a > img,
#ct_bg .btn01 > a,
#ct_bg .btnList01 > li > a .image01 img,
#ct_bg .btnList02 > li > a img,
#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) > a img,
#ct_bg #textContainer .button01 > a,
#ct_bg .subSection06 > .inner01 > .footBtn01 > a,
#ct_bg .subSection01 > .inner01 > .button01 > a {
	display: block;
	transition: transform .2s;
}

#ct_bg .navArea01 ul > li > a {
	transition: transform .2s;
}

#ct_bg .navArea01 ul > li > a > .icon {
	transition: transform .2s;
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > a::before,
#ct_bg .movieWrap01 > a::before,
#ct_bg .btn01 > a > span::before,
#ct_bg .btn01 > a > span::after {
	transition: transform .2s;
}

#ct_bg .btnWrap01 a:hover,
#ct_bg .subSection04 > .inner01 > .button01 > a:hover,
#ct_bg .subSection05 > .inner01 > .button01 > a:hover,
#ct_bg .subSection03 > .inner01 > .button01 > a:hover,
#ct_bg .subSection06 > .inner01 > .box01 > .button01 > a:hover,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .text01 > a:hover,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"]:has(> .text01 > a:hover) > .image01 > a,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .image01 > a:hover,
#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"]:has(> .image01 > a:hover) > .text01 > a,
#ct_bg .subSection03 > .inner01 > .box01 > .column01:hover > .button01 > span,
/*#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a:hover,*/
#ct_bg .navArea01 ul > li > a:hover,
#ct_bg .modal .close > a:hover,
#ct_bg .movieWrap01 > a:hover > img,
#ct_bg .btn01 > a:hover,
#ct_bg .btnList01 > li > a:hover .image01 img,
#ct_bg .btnList02 > li > a:hover img,
#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) > a:hover img,
#ct_bg #textContainer .button01 > a:hover,
#ct_bg .subSection06 > .inner01 > .footBtn01 > a:hover,
#ct_bg .subSection01 > .inner01 > .button01 > a:hover {
	transform: scale(1.1);
}

#ct_bg .movieWrap01 > a:hover::before {
	transform: scale(1.3);
}

#ct_bg .subSection03 > .inner01 > .box01 > .column01:hover > .button01 > span::before,
#ct_bg .subSection01 > .inner01 > .button01 > a:hover::before,
#ct_bg .navArea01 ul > li > a:hover > .icon {
	transform: rotate(-8deg);
}

#ct_bg .btn01 > a:hover > span::before {
	transform: rotate(-8deg);
}

#ct_bg .btn01 > a:hover > span::after,
#ct_bg .subSection01 > .inner01 > .button01 > a:hover::after {
	transform: rotate(8deg);
}

#ct_bg .naviBtn01 {
	display: none;
}

#ct_bg .titleArea01 {
	height: 440px;
	position: relative;
	z-index: 1;
}

#ct_bg .titleArea01::before {
	position: absolute;
	top: -42px;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 547px;
	background: url(../img/bg_common05.png) no-repeat 50% 0/100%;
	content: "";
}

#ct_bg .titleArea01 > .inner01 {
	position: relative;
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-inline: auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}

#ct_bg .titleArea01 h2 {
	margin-top: 134px;
}

#ct_bg .titleArea01 h2 img {
	height: 100%;
	width: auto;
}

#ct_bg.toy .titleArea01 h2 {
	height: 51px;
}

#ct_bg.book .titleArea01 h2 {
	height: 61px;
	position: relative;
	top: -17px;
	left: -4px;
}

#ct_bg.character .titleArea01 h2 {
	margin-top: 145px;
}

#ct_bg .titleArea01 [class^="icon"] {
	position: absolute;
	z-index: 1;
}

#ct_bg .titleArea01 .icon01 {
	left: -162px;
	top: -139px;
	z-index: 2;
}
#ct_bg .titleArea01 .icon02 {
	left: -225px;
	bottom: -65px;
}
#ct_bg .titleArea01 .icon03 {
	right: -108px;
	bottom: -61px;
}
#ct_bg .titleArea01 .icon04 {
	right: -85px;
	top: -73px;
}
#ct_bg .titleArea01 .icon05 {
	right: 376px;
	top: -100px;
}
#ct_bg .titleArea01 [class^="icon"] img {
	transition: transform .4s,opacity .2s !important;
}
#ct_bg .titleArea01 .icon01 img {
	transform: translate(-30px,-30px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .titleArea01 .icon02 img {
	transform: translate(-10px,40px) scale(1.05);
}
#ct_bg .titleArea01 .icon03 img {
	transform: translate(10px,40px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .titleArea01 .icon04 img {
	transform: translate(30px,-35px) scale(1.05);
}
#ct_bg .titleArea01 .icon05 img {
	transform: translate(5px,-30px) scale(1.05);
	transition: transform 0.4s 0.1s, opacity 0.2s 0.1s !important;
}
#ct_bg .titleArea01 [class^="icon"] img {
	opacity: 0;
}
#ct_bg .titleArea01.is-show [class^="icon"] img {
	transform: translate(0,0) scale(1);
	opacity: 1;
}

#ct_bg .titleArea02 {
	position: relative;
	z-index: -2;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}

#ct_bg .titleArea02 > .inner01 {
	position: relative;
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	margin-top: 125px;
	margin-inline: auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}

#ct_bg .titleArea02 > .inner01 > .box01 {
	display: none;
}

#ct_bg .frameArea01 {
	border-radius: 80px;
	background: url(../img/bg_common06.jpg) repeat 0 0;
	position: relative;
	z-index: 1;
}

#ct_bg .frameArea01 > .inner01 {
	padding: 32px 100px 40px;
}

#ct_bg .frameArea01 > .inner01 > .title01 {
	text-align: center;
	font-size: 4.0rem;
	font-weight: 900;
	letter-spacing: .02em;
}

#ct_bg .movieArea01:not(:first-child) {
	margin-top: 22px;
}

#ct_bg .movieArea01 > .title01 {
	margin-top: 8px;
	font-weight: 900;
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: .02em;
}

#ct_bg .movieArea01 > .title02 {
	background-color: #592D15;
	border-radius: 100vmax;
	margin-bottom: 14px;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 2.4rem;
	color: #fff;
	padding-top: 7px;
	padding-bottom: 9px;
	letter-spacing: .02em;
}

#ct_bg .movieArea01 .title03 {
	margin-top: 8px;
	font-weight: 900;
	text-align: center;
	font-size: 2.0rem;
	letter-spacing: .02em;
}

#ct_bg .movieArea02 {
	margin: 60px auto 0;
	max-width: 800px;
}

#ct_bg .movieArea02 > .title01 {
	margin-top: 8px;
	font-weight: 900;
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: .02em;
}
#ct_bg .movieArea02 .title02 {
	margin-top: 8px;
	font-weight: 900;
	text-align: center;
	font-size: 2.0rem;
	letter-spacing: .02em;
}

#ct_bg .movieArea02 > .text01 {
	margin-top: 8px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .02em;
}

#ct_bg .movieArea02 + .list01 {
	margin-top: 10px;
}

#ct_bg .frameArea01 .movieWrap01 > a::before {
	width: 104px;
	height: 104px;
	margin-left: -52px;
	margin-top: -52px;
}

#ct_bg .frameArea01 .movieWrap01:not(:first-of-type) {
	margin-top: 40px;
}

#ct_bg .frameArea01 .movieArea01 {
	position: relative;
	z-index: 1;
}

#ct_bg .frameArea01 .movieArea01 > .image01 img,
#ct_bg .frameArea01 .movieArea01 > .image02 img {
	opacity: 0;
}

#ct_bg .frameArea01 .movieArea01 > .image01 {
	position: absolute;
	left: 48px;
	top: -177px;
}

#ct_bg .frameArea01 .movieArea01 > .image02 {
	position: absolute;
	right: 30px;
	top: -164px;
}

#ct_bg .frameArea02 {
	display: block;
	padding: 16px 16px 24px 16px;
	text-decoration: none;
	background-color: #fff;
	color: #592D15;
	border-radius: 32px;
	box-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 0.15);
	position: relative;
}

#ct_bg .list01 > li:nth-child(even) .frameArea02 {
	right: 8px;
}

#ct_bg .frameArea02 > .image01 {
	border-radius: 16px;
	overflow: hidden;
}

#ct_bg .frameArea02 > .title01 {
	line-height: 1.4;
	font-weight: 900;
	margin-top: 8px;
	letter-spacing: 0;
}

#ct_bg .frameArea02 > .text01 {
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 8px;
	letter-spacing: 0;
	font-weight: 500;
}

#ct_bg .frameArea02 > .text01 > span {
	font-size: 1.2rem;
	position: relative;
	top: -1px;
}

#ct_bg .frameArea02 > .text01 + .text01 {
	margin-top: 1.0em;
}

#ct_bg .bookBlock01 {
	padding-top: 180px;
	padding-bottom: 100px;
	position: relative;
	min-height: 1757px;
}

#ct_bg .bookBlock01.type02 {
	min-height: 1875px;
	margin-top: -165px;
}

#ct_bg .bookBlock01.type03 {
	min-height: 1800px;
	margin-top: -165px;
}

#ct_bg .bookBlock01.type04 {
	min-height: 2895px;
	margin-top: -240px;
	margin-bottom: -270px;
	padding-top: 280px;
}

#ct_bg .bookBlock01::before {
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 100%;
	background: url(../../book/img/bg_index01.png) no-repeat 50% 0/cover;
	z-index: -2;
	content: "";
}

#ct_bg .bookBlock01 > .title01 {
	background-color: #592D15;
	border-radius: 100vmax;
	margin-bottom: 14px;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 3.6rem;
	color: #fff;
	padding-top: 7px;
	padding-bottom: 9px;
	letter-spacing: .02em;
}

#ct_bg .bookBlock01 > .box01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 40px;
}

#ct_bg .bookBlock01 > .box01 > .column01 {
	width: 50%;
}

#ct_bg .bookBlock01 > .box01 > .column01 > .image01 {
	border: solid 4px #fff;
}

#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 {
	margin-top: 16px;
	padding-left: min(62px,5.96vw);
	padding-right: min(62px,5.96vw);
}

#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a {
	width: min(18.26vw,196px);
}

#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a::before,#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a::after {
	position: absolute;
	top: 0;
	width: min(4.42vw,46px);
	height: min(5.76vw,60px);
	content: "";
	pointer-events: none;
}

#ct_bg .bookBlock01 > .box01 > .column01 > .text01 {
	margin-top: 10px;
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: 0.02em;
}

#ct_bg .bookBlock01 > .box01 > .column02 {
	width: 46.8%;
}

#ct_bg .bookBlock01 > .box01 > .column02 > .text01 {
	font-weight: 900;
	letter-spacing: .02em;
}

#ct_bg .bookBlock01 > .box01 > .column02 > .text01 + .text01 {
	margin-top: 1.7em;
}

#ct_bg .bookBlock01 > .box01 > .column02 > .text02 {
	margin-top: 24px;
	letter-spacing: .02em;
}

#ct_bg .bookBlock01 > .textBox01 {
	margin-top: 40px;
}

#ct_bg .bookBlock01 > .textBox01 > .text01 {
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: .02em;
}

#ct_bg .bookBlock01 > .textBox01 > .text02 {
	margin-top: 8px;
	font-weight: 500;
	letter-spacing: .02em;
}
#ct_bg .bookBlock01 > .textBox01 > .text02 + .text02 {
	margin-top: 1.7em;
}

#ct_bg .bookBlock01 > .image01,
#ct_bg .bookBlock01 > .image02,
#ct_bg .bookBlock01 > .image03,
#ct_bg .bookBlock01 > .image04,
#ct_bg .bookBlock01 > .image05,
#ct_bg .bookBlock01 > .image06,
#ct_bg .bookBlock01 > .image07,
#ct_bg .bookBlock01 > .image08 {
	position: absolute;
	z-index: -1;
}
#ct_bg .bookBlock01 > .image01 {
	top: -41px;
	left: -182px;
}
#ct_bg .bookBlock01 > .image02 {
	bottom: 40px;
	right: -135px;
}
#ct_bg .bookBlock01 > .image03 {
	top: -79px;
	left: -115px;
}
#ct_bg .bookBlock01 > .image02,
#ct_bg .bookBlock01 > .image03 {
	transform-origin: 50% 70%;
}
#ct_bg .bookBlock01 > .image04 {
	bottom: 120px;
	left: -167px;
}
#ct_bg .bookBlock01 > .image05 {
	top: -27px;
	right: -108px;
}
#ct_bg .bookBlock01 > .image06 {
	bottom: 180px;
	left: -99px;
}
#ct_bg .bookBlock01 > .image07 {
	top: 20px;
	right: -63px;
}
#ct_bg .bookBlock01 > .image08 {
	bottom: 252px;
	left: -100px;
}


#ct_bg .charaBlock01 {
	position: relative;
	padding-bottom: 120px;
	padding-top: 120px;
	z-index: 1;
}

#ct_bg .charaBlock01:first-of-type {
	top: -30px;
}

#ct_bg .charaBlock01::before {
	position: absolute;
	top: 0;
	right: -200px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: 100%;
	z-index: -1;
	background: url(../../character/img/bg_index01.png) no-repeat 100% 0/auto 100%;
	content: "";
}

#ct_bg .charaBlock01:nth-of-type(2)::before {
	right: inherit;
	left: -200px;
	margin-right: calc(50% - 50vw);
	margin-left: 0;
	background: url(../../character/img/bg_index02.png) no-repeat 0 0/auto 100%;
	mix-blend-mode: multiply;
}

#ct_bg .charaBlock01:last-child {
	margin-bottom: 30px;
}

#ct_bg .charaBlock01 > .box01 {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.2%;
	align-items: center;
}

#ct_bg .charaBlock01 > .box01 > .title01 {
	width: 33.5%;
}

#ct_bg .charaBlock01 > .box01 > .text01 {
	width: 63.3%;
	font-size: 2.2rem;
	font-weight: 900;
	letter-spacing: .02em;
}

#ct_bg .charaBlock01 > .box02 {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	column-gap: 3.2%;
}

#ct_bg .charaBlock01:nth-of-type(1) > .box02 {
	flex-direction: row-reverse;
}

#ct_bg .charaBlock01:nth-of-type(1) > .box02 > .image01 {
	width: 40.8%;
}

#ct_bg .charaBlock01:nth-of-type(1) > .box02 > .image02 {
	width: 56%;
}

#ct_bg .charaBlock01:nth-of-type(2) > .box02 > .image01 {
	width: 34.6%;
}

#ct_bg .charaBlock01:nth-of-type(2) > .box02 > .image02 {
	width: 64%;
	margin-right: -2%;
}

#ct_bg .animeFrame01 {
	position: relative;
	margin-top: 80px;
	padding: 170px 0 220px;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}
#ct_bg .animeFrame01::before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 100%;
	background: rgba(222, 254, 255, 0.30);
	content: "";
	z-index: -3;
}
#ct_bg .animeFrame01 > .innerFrame01::before {
	position: absolute;
	top: -90px;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 315px;
	background: url(../../anime/img/bg_index01_pc.png) no-repeat 50% 0/cover;
	content: "";
	z-index: -2;
}
#ct_bg .animeFrame01 > .innerFrame01::after {
	position: absolute;
	bottom: -85px;
	left: 50%;
	transform: translateX(-50%);
	width: 2000px;
	height: 315px;
	background: url(../../anime/img/bg_index02_pc.png) no-repeat 50% 0/cover;
	content: "";
	z-index: -2;
}

#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 {
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1040px;
}

#ct_bg .animeFrame01 .image01 {
	position: absolute;
	top: -160px;
	left: -62px;
	width: 207px;
}
#ct_bg .animeFrame01 .image01 img {
	rotate: 8deg;
}
#ct_bg .animeFrame01 .image02 {
	position: absolute;
	bottom: -220px;
	right: -56px;
	width: 140px;
}

#ct_bg .animeFrame01 .movieWrap01 {
	position: relative;
}
#ct_bg .animeFrame01 .movieWrap01 .image02 {
	right: -96px;
	bottom: -22px;
}

#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .comingsoon01 {
	margin-top: 56px;
	text-align: center;
}

#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .title01 {
	margin: 0 auto;
	max-width: 215px;
}

#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .title02 {
	margin: 0 auto;
	max-width: 290px;
}

#ct_bg .animeArea01 {
	margin-top: 80px;
}

#ct_bg .animeArea01 > .title01 {
	margin: 0 auto;
	max-width: 465px;
	text-align: center;
}
#ct_bg .animeArea01 > .title01.w02 {
	max-width: 667px;
}

#ct_bg .animeArea01 > .title02 {
	background-color: #592D15;
	border-radius: 100vmax;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 3.6rem;
	color: #fff;
	padding-top: 7px;
	padding-bottom: 9px;
	letter-spacing: .02em;
}

#ct_bg .animeArea01 > .image01 {
	margin-top: 40px;
}

#ct_bg .animeCol01 {
	position: relative;
	margin: 112px 0 0 2.4%;
	padding: 0 16px 32px 16px;
	width: 48.4%;
	border-radius: 32px;
	background-color: #fff;
	box-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 0.15);
}
#ct_bg .animeCol01[class*="type"] {
	margin-left: 4.8%;
	padding-top: 16px;
	width: 45.2%;
}

#ct_bg .animeCol01:nth-child(odd) {
	margin-left: 0;
}
#ct_bg .animeCol01:nth-child(1),
#ct_bg .animeCol01:nth-child(2) {
	margin-top: 104px;
}
#ct_bg .animeCol01.type01:nth-child(1),
#ct_bg .animeCol01.type02:nth-child(2) {
	margin-top: 60px;
}

#ct_bg .animeCol01.type04 {
	margin-top: 60px;
	width: 95.2%;
}


#ct_bg .animeCol01 > .title01 {
	position: relative;
	margin-top: -47px;
	width: 81.5%;
}
#ct_bg .animeCol01 > .title01 > .chara01 {
	position: absolute;
	top: -33px;
	right: -90px;
	width: 43.2%;
}
#ct_bg .animeCol01 > .title01 > .chara02 {
	position: absolute;
	top: -33px;
	right: -90px;
	width: 54.34%;
}
#ct_bg .animeCol01 > .title01 > .chara03 {
	position: absolute;
	top: -49px;
	right: -72px;
	width: 37.7%;
}
#ct_bg .animeCol01 > .title01 > .chara04 {
	position: absolute;
	top: -33px;
	right: -91px;
	width: 46.2%;
}
#ct_bg .animeCol01 > .title01 > .chara05 {
	position: absolute;
	top: -44px;
	right: -66px;
	width: 36.1%;
}

#ct_bg .animeCol01 > .title02 {
	border-radius: 100vmax;
	text-align: center;
	line-height: 1.4;
	font-weight: 900;
	font-size: 2.4rem;
	color: #fff;
	padding-top: 7px;
	padding-bottom: 9px;
	letter-spacing: .02em;
}
#ct_bg .animeCol01.type01 > .title02 {
	background-color: #592D15;
}
#ct_bg .animeCol01.type02 > .title02 {
	background-color: #1B648E;
}
#ct_bg .animeCol01.type03 > .title02 {
	background-color: #DE4D5C;
}
#ct_bg .animeCol01.type04 > .title02 {
	background-color: #5D5688;
}

#ct_bg .animeCol01 > .text01 {
	margin-top: 25px;
	text-align: center;
	letter-spacing: .02em;
}

#ct_bg .animeCol01 > .text02 {
	margin-top: 25px;
	color: #5D5688;
	font-size: 2.8rem;
	line-height: 1.6;
	letter-spacing: .02em;
	text-align: center;
}
#ct_bg .animeCol01 > .text02 > .font01 {
	font-size: 3.0rem;
}
#ct_bg .animeCol01 > .text02 > .font02 {
	font-size: 2.0rem;
}

#ct_bg .animeCol01 > .text03 {
	margin-top: 25px;
	color: #5D5688;
	font-size: 3.0rem;
	line-height: 1.6;
	letter-spacing: .02em;
	text-align: center;
}
#ct_bg .animeCol01 > .text03 > .font01 {
	font-size: 3.2rem;
}
#ct_bg .animeCol01 > .text03 > .font02 {
	font-size: 3.8rem;
}

#ct_bg .animeCol01 > .text04 {
	margin-top: 24px;
	margin-left: 24px;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

#ct_bg .animeCol01 > .image01 {
	position: absolute;
	z-index: 2;
	right: -24px;
	bottom: -32px;
	width: 28.9%;
}
#ct_bg .animeCol01 > .image02 {
	position: absolute;
	z-index: 2;
	right: -22px;
	bottom: -32px;
	width: 36.5%;
}
#ct_bg .animeCol01 > .image03 {
	position: absolute;
	z-index: 2;
	right: -24px;
	bottom: -32px;
	width: 25.8%;
}
#ct_bg .animeCol01 > .image04 {
	position: absolute;
	z-index: 2;
	right: -24px;
	bottom: -20px;
	width: 15.3%;
}

#ct_bg .list01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 80px;
	row-gap: 30px;
}

#ct_bg .list01:first-child {
	margin-top: 0;
}

#ct_bg .movieArea01 > .title02 + .list01 {
	margin-top: 14px;
}

#ct_bg .list01 > li {
	width: 48.4%;
}

#ct_bg .list01 > li .movieWrap01 > a::before {
	width: 64px;
	height: 64px;
	margin-left: -32px;
	margin-top: -32px;
}

#ct_bg .list01 + .movieArea01 {
	margin-top: 80px;
}

#ct_bg .list02 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 24px;
}
#ct_bg .type02 .list02 {
	color: #1B648E;
}
#ct_bg .type03 .list02 {
	color: #DE4D5C;
}

#ct_bg .list02 > dt {
	position: relative;
	padding-right: 32px;
	width: 50%;
	line-height: 2.0;
	text-align: right;
}
#ct_bg .list02 > dt::after {
	position: absolute;
	top: 50%;
	right: 8px;
	content: "：";
	translate: 0 -50%;
}

#ct_bg .list02 > dd {
	width: 50%;
	line-height: 2.0;
}

#ct_bg .type01 .list02 > dt:nth-of-type(2n),
#ct_bg .type01 .list02 > dd:nth-of-type(2n) {
	background-color: #FCECDF;
}
#ct_bg .type02 .list02 > dt:nth-of-type(2n),
#ct_bg .type02 .list02 > dd:nth-of-type(2n) {
	background-color: #E6F5FF;
}
#ct_bg .type03 .list02 > dt:nth-of-type(2n),
#ct_bg .type03 .list02 > dd:nth-of-type(2n) {
	background-color: #FFF2F3;
}

#ct_bg .btn01 {
	margin: 30px auto 0;
	padding-left: min(62px,5.96vw);
	padding-right: min(62px,5.96vw);
	width: fit-content;
}

#ct_bg .btn01 > a {
	display: block;
	position: relative;
	width: min(23.07vw,240px);
}

#ct_bg .btn01 > a > span {
	display: block;
	position: relative;
}

#ct_bg .btn01 > a > span::before,#ct_bg .btn01 > a > span::after {
	position: absolute;
	top: 0;
	width: min(4.42vw,46px);
	height: min(5.76vw,60px);
	content: "";
	pointer-events: none;
}
#ct_bg .btn01 > a > span::before {
	left: max(-5.96vw,-62px);
	background: url(../img/chara_common01.png) no-repeat 0 0/100%;
}
#ct_bg .btn01 > a > span::after {
	right: max(-5.96vw,-62px);
	background: url(../img/chara_common02.png) no-repeat 0 0/100%;
}

#ct_bg .btnList01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 80px;
	row-gap: 80px;
	margin: 0 -40px;
	position: relative;
	z-index: 2;
}

#ct_bg .btnList01 > li {
	width: 300px;
}

#ct_bg .btnList01 > li > a {
	text-decoration: none;
	color: #592D15;
	position: relative;
	padding-bottom: 20px;
	display: block;
}

#ct_bg .btnList01 > li > a::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 12px;
	height: 14px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%2213%22%20viewBox%3D%220%200%2012%2013%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.43602%200.448478C5.80746%200.448478%205.80746%200.381225%2010.1693%200.381226C10.9859%200.381226%2011.3606%201.08258%2011.0244%201.84157C8.84344%206.77025%208.87227%206.78946%206.69135%2011.7181C6.28784%2012.6212%205.37512%2012.5924%204.9716%2011.6893C2.79069%206.76064%202.53128%206.87593%200.340763%201.94726C0.0044994%201.19787%200.609775%200.448478%201.42642%200.448478L1.43602%200.448478Z%22%20fill%3D%22%23592D15%22%2F%3E%3C%2Fsvg%3E') no-repeat 0 0/100%;
	content: "";
}

#ct_bg .btnList01 > li > a > .image01 {
	width: 290px;
	margin-inline: auto;
	margin-top: -30px;
	border-radius: 16px;
	border: 4px solid #fff;
	box-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 0.15);
	transform: rotate(-4deg);
	overflow: hidden;
}

#ct_bg .btnList01 > li:nth-child(even) > a > .image01 {
	transform: rotate(4deg);
}

#ct_bg .btnList01 > li > a > .title01 {
	text-align: center;
	font-weight: 900;
	letter-spacing: 0;
	margin-top: 10px;
}

#ct_bg .btnList02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 60px;
	position: relative;
	z-index: 2;
}
#ct_bg .btnList02 > li {
	margin-top: 20px;
	width: 49.6%;
}
#ct_bg .btnList02 > li:nth-child(2n) {
	margin-left: .8%;
}

#ct_bg .btnList02 > li img.onlySP {
	display: none !important;
}

#ct_bg .img01 {
	margin-top: 40px;
}

#ct_bg .mallLinkBtn .mallLink.reserve,
#ct_bg .mallLinkBtn .mallLink.waiting {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#ct_bg .mallLinkBtn .mallLink.reserve::before,
#ct_bg .mallLinkBtn .mallLink.waiting::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

#ct_bg .mallLinkBtn .mallLink.reserve::before {
	background: url(../img/btn_common05.png) no-repeat 0 0/100%;
}

#ct_bg .mallLinkBtn .mallLink.waiting::before {
	background: url(../img/btn_common06.png) no-repeat 0 0/100%;
}

#ct_bg .mallLinkBtn img {
	width: 100%;
}

@media screen and (min-width: 768px) and (max-width: 1800px) {
	#ct_bg .subSection06 {
		padding-bottom: 45vw;
	}
	#ct_bg .subSection06::before {
		width: 130vw;
		right: inherit !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		height: 40.44vw;
	}
	#ct_bg .subSection06 #road04 {
		height: 40.44vw !important;
		width: 126vw !important;
		bottom: 0  !important;
		left: 50% !important;
		right: inherit!important;
		transform: translateX(-50%) !important;
	}
	#ct_bg .subSection06 #road04 svg {
		width: 100% !important;
		bottom: 10vw !important;
		right: inherit!important;
		left: 54% !important;
		transform: translateX(-50%) !important;
	}
	#ct_bg .subSection06 #road04 .image01 {
		width: 13.33vw !important;
	}
}

@media screen and (max-width: 1600px) {
	#ct_bg .subSection05 > .inner01 > .image01 {
		width: 250px;
		right: -140px;
		top: -200px;
	}

	#ct_bg .subSection05 > .inner01 > .image02 {
		width: 250px;
		left: -200px;
		bottom: -80px;
	}
}

@media screen and (max-width: 1400px) {
	#ct_bg .charaBlock01::before {
		width: calc(100vw + 100px);
		right: -100px;
	}
	#ct_bg .charaBlock01:nth-of-type(2)::before {
		left: -100px;
	}
	#ct_bg .subSection05 > .inner01 > .image01,
	#ct_bg .subSection05 > .inner01 > .image02 {
		display: none;
	}
}
@media screen and (max-width: 1300px) {
	#ct_bg .navArea01 ul > li {
		height: 5.5vw;
	}
	#ct_bg .navArea01 ul > li > a {
		padding-left: 1%;
		padding-right: 1%;
		padding-top: .4vw;
		padding-bottom: .6vw;
		align-items: center;
		column-gap: 4%;
	}
	#ct_bg .navArea01 ul > li > a > .text {
		height: 100%;
	}
	#ct_bg .navArea01 ul > li > a > .icon {
		height: 3vw;
	}
	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel01 {
		margin-top: 4vw;
		margin-left: 4vw;
	}
	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel01 .image01 {
		width: 63vw;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel02 .text01 {
		font-size: 3.07vw;
	}
	#ct_bg .mainArea01 > .inner01 .logo01 {
		left: 20px;
	}
	#ct_bg .mainArea01 {
		height: 66.15vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon01 {
		width: 48.92vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon02 {
		width: 37.31vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon03 {
		width: 35.38vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon04 {
		width: 43.85vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon05 {
		width: 31.54vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon06 {
		width: 61.38vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon07 {
		width: 25.15vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon01 {
		left: -22.00vw;
		top: -11.46vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon02 {
		left: -9.69vw;
		bottom: -4.62vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon03 {
		left: 30.54vw;
		bottom: -18.08vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon04 {
		right: -4.31vw;
		bottom: -10.77vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon05 {
		right: -15.38vw;
		bottom: 15.85vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon06 {
		right: -13.08vw;
		top: -11.77vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon07 {
		left: 31.15vw;
		top: -9.69vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon01 img {
		transform: translate(-2.31vw, -2.31vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon02 img {
		transform: translate(-1.92vw, 3.08vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon03 img {
		transform: translate(-0.38vw, 3.08vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon04 img {
		transform: translate(2.31vw, 2.69vw) scale(1.05);
	}

	#ct_bg .mainArea01 > .inner01 .icon05 img {
		transform: translate(3.08vw, 0.38vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon06 img {
		transform: translate(2.31vw, -2.31vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon07 img {
		transform: translate(0.38vw, -3.08vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .animeBlock02 .panel03 .image01 {
		max-width: 1292px;
		width: 64.6vw;
		height: 12.05vw;
		background: url(../../img/splash_sprite_step.png) no-repeat 0 0/auto 100%;
	}
	@keyframes tomAnime {
		from { background-position: 0px; }
		to { background-position: -452.2vw; }
	}
	#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 > .item01 {
		left: 23vw;
		top: 11vw;
		width: 46vw;
	}
	#ct_bg .subSection01 #road01 {
		margin-top: -4vw;
		width: 96vw;
		height: 27.3vw;
		left: -12.6vw;
		right: inherit;
	}

	#ct_bg .subSection01 #road01 > .image02 {
		left: 28.61vw;
		top: 9.8vw;
	}

	#ct_bg .subSection01::before {
		width: min(1709px,170%);
		transform: translateX(-54%);
		top: min(340px,50vw);
	}

	#ct_bg .subSection01 > .inner01 > .text01 {
		font-size: min(2.2vw,2.0rem);
	}

	#ct_bg .subSection01 > .inner01 > .text01:not(:first-of-type) {
		margin-top: 48px;
	}

	#ct_bg .subSection01 > .inner01 > .image02 {
		right: -5%;
		top: min(51px,15vw);
		width: 35%;
	}

	#ct_bg .subSection01 > .inner01 > .image03 {
		right: 1%;
		top: min(62vw,530px);
		width: 27%;
	}

	#ct_bg .subSection01 > .inner01 > .image04 {
		left: -2%;
		top: min(36vw,300px);
		width: 26%;
	}
	#ct_bg .subSection02::before{
		background: url(../../img/bg_index02.png) no-repeat 50% 0 / 100% 110%;
	}
	#ct_bg .subSection02 > .inner01::before {
		width: 117%;
		left: 52%;
		top: 44%;
		transform: translate(-50%,-50%);
		background-position: 50% 50%;
	}

	#ct_bg .subSection03 > .inner01::before {
		width: 100%;
		transform: translateX(0);
		left: inherit;
		right: 0;
		margin-top: -60px;
	}

	#ct_bg .subSection04 #road02 {
		left: 100px;
	}

	#ct_bg .subSection04 > .inner01::before {
		left: 0;
	}

	#ct_bg .subSection06::before {
		right: -300px;
		left: inherit;
		transform: translateX(0);
	}

	#ct_bg .subSection06 #road04 {
		left: inherit;
		right: 0;
		transform: translateX(0);
	}

	#ct_bg .subSection06 #road04 svg {
		left: inherit;
		right: -300px;
		height: auto;
	}
}

@media screen and (max-width: 1040px) {
	#ct_bg .bookBlock01 {
		padding-top: 180px;
		padding-bottom: 9.61vw;
		min-height: inherit;
		/* height: 196vw; */
		/* max-height: 1700px; */
	}

	#ct_bg .bookBlock01.type02 {
		min-height: inherit;
		height: 200vw;
		margin-top: -15.86vw;
		max-height: 1760px;
	}
	#ct_bg .bookBlock01.type03 {
		min-height: inherit;
		height: 200vw;
		margin-top: -15.86vw;
		max-height: 1760px;
	}
	#ct_bg .bookBlock01.type04 {
		min-height: inherit;
		height: 315vw;
		margin-top: -24.86vw;
		max-height: 2820px;
	}

	#ct_bg .bookBlock01::before {
		width: 1040px;
	}
	#ct_bg .bookBlock01 > .image08 {
		bottom: 252px;
		left: -100px;
	}
	#ct_bg .list02 > dt {
		padding-right: 32px;
		font-size: 1.5vw;
	}

	#ct_bg .list02 > dd {
		font-size: 1.5vw;
	}

}

@media screen and (max-width: 767px) {
	#ct_bg {
		font-size: 4vw;
	}

	#ct_bg.lowerContents {
		padding-top: 0;
	}

	#ct_bg.lowerContents > .inner01 {
		padding-left: 4vw;
		padding-right: 4vw;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	#ct_bg.lowerContents.toy > .inner01 {
		padding-bottom: 4vw;
	}
	#ct_bg.lowerContents > .inner01::before {
		content: none;
	}

	#ct_bg a {
		text-decoration: underline;
	}
	#ct_bg a:hover {
		text-decoration: none;
	}
	#header {
		border-bottom: #ccc solid 1px;
	}
	#ct_bg img {
		width: 100%;
		height: auto;
	}

	#ct_bg .imgOver01 a:hover img {
		opacity: 1.0;
	}

	.onlyPC {
		display: none;
	}
	.onlySP {
		display: block;
	}
	img.onlySP {
		display: inline-block;
	}

	#ct_bg .headTitleArea01 {
		font-size: 3.5vw;
	}

	#ct_bg.lowerContents .headTitleArea01 {
		border-radius: 0;
		width: 100%;
		margin-inline: auto;
		overflow: hidden;
	}

	#ct_bg .headTitleArea01 h1 {
		font-weight: 700;
		padding-top: 1vw;
		padding-bottom: 1vw;
		line-height: 1.4;
	}

	#ct_bg .mainArea01 {
		height: 126.25vw;
	}

	#ct_bg .mainArea01 > .inner01 {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	#ct_bg .mainArea01 > .inner01 .logo01 {
		width: 40.5vw;
		left: 50%;
		transform: translateX(-50%);
	}

	#ct_bg .mainArea01 > .inner01 [class^="animeBlock"] {
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 {
		text-align: center;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel01 {
		margin-left: -2vw;
		margin-top: -4vw;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel01 .image01 {
		width: 96vw;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 [class^="panel"] {
		opacity: 0;
		transition: opacity .8s ease-in-out;
		position: absolute;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 [class^="panel"].is-active {
		opacity: 1.0;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 [class^="panel"]:not(:first-child) {
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel02 .text01 {
		font-size: 5vw;
		margin-top: -2vw;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock01 .panel02 .text01 + .text01 {
		margin-top: 1.0em;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock02 .panel03 .image01 {
		width: 100vw;
		height: 30vw;
		background: url(../../img/splash_sprite_step_sp.png) no-repeat 0 -700vw/auto 100%;
	}
	#ct_bg .mainArea01 > .inner01 .animeBlock02 .panel03.is-active .image01 {
		animation: tomAnime 3s steps(7) forwards;
	}

	@keyframes tomAnime {
		from { background-position: 0px; }
		to { background-position: -700vw; }
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock02 {
		width: 96vw;
		height: 96vw;
		margin-top: 11.75vw;
		margin-left: auto;
		margin-right: auto;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 {
		margin-top: 0;
		left: 2vw;
	}

	#ct_bg .mainArea01 > .inner01 .animeBlock02 > .image01 > .item01 {
		left: 15vw;
		top: 28vw;
		width: 57vw;
	}

	#ct_bg .mainArea01 > .inner01 .icon01 {
		width: 67.5vw;
		left: -24vw;
		top: -23vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon02 {
		width: 25vw;
		left: -7vw;
		bottom: 31vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon03 {
		width: 53.475vw;
		left: -4vw;
		bottom: 0vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon04 {
		width: 49.625vw;
		right: 0vw;
		bottom: 1vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon05 {
		width: 40.25vw;
		right: -20vw;
		bottom: 28vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon06 {
		width: 30.75vw;
		right: -11vw;
		top: 13vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon07 {
		width: 22.25vw;
		left: 58vw;
		top: -9vw;
	}
	#ct_bg .mainArea01 > .inner01 .icon01 img {
		transform: translate(-5vw,-5vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon02 img {
		transform: translate(-6vw,1vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon03 img {
		transform: translate(-5vw,4vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon04 img {
		transform: translate(5vw,5vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon05 img {
		transform: translate(6vw,1vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon06 img {
		transform: translate(5vw,-3vw) scale(1.05);
	}
	#ct_bg .mainArea01 > .inner01 .icon07 img {
		transform: translate(5vw,-5vw) scale(1.05);
	}

	#ct_bg .mainArea02:has(.navArea01.is-open) {
		position: static;
	}

	#ct_bg .subSection01 {
		padding-top: 12vw;
	}

	#ct_bg .subSection01::before {
		content: none;
	}

	#ct_bg .subSection01 > .inner01 {
		max-width: 100%;
		padding-left: 4vw;
		padding-right: 4vw;
	}

	#ct_bg .subSection01 > .inner01 > .title01 {
		margin-bottom: 12vw;
		height: 8.125vw;
	}

	#ct_bg .subSection01 > .inner01 > .text01 {
		font-size: 4vw;
	}

	#ct_bg .subSection01 > .inner01 > .text01:not(:first-of-type) {
		margin-top: 8vw;
	}

	#ct_bg .subSection01 > .inner01 > .image02 {
		position: relative;
		width: 87vw;
		margin-left: 0;
		margin-right: auto;
		margin-top: 8vw;
		right: inherit;
		top: inherit;
		z-index: 1;
	}

	#ct_bg .subSection01 > .inner01 > .image02::before {
		position: absolute;
		top: 0;
		left: 2vw;
		width: 90.125vw;
		height: 126.25vw;
		background: url(../../img/bg_index01_sp.png) no-repeat 0 0/cover;
		content: "";
	}

	#ct_bg .subSection01 > .inner01 > .image03 {
		position: static;
		width: 68.25vw;
		margin-left: 0;
		margin-right: auto;
		margin-top: 11.25vw;
		margin-bottom: 8vw;
	}

	#ct_bg .subSection01 > .inner01 > .image04 {
		position: static;
		width: 62.25vw;
		margin-right: 8vw;
		margin-left: auto;
		margin-top: 2vw;
	}

	#ct_bg .subSection01 > .inner01 > .image05 {
		width: 76.5vw;
		height: 27.75vw;
		margin: 8vw auto 0;
	}

	#ct_bg .subSection01 > .inner01 > .image05 > span {
		position: absolute;
		display: block;
		width: 100%;
		top: 0;
		left: 0;
	}

	#ct_bg .subSection01 > .inner01 > .image05 > span:last-child {
		opacity: 0;
	}

	#ct_bg .subSection01 > .inner01 > .button01 {
		margin-top: 8vw;
		width: 74.5vw;
	}
	#ct_bg .subSection01 > .inner01 > .button01 > a::before {
		top: 50%;
		translate: 0 -50%;
		left: -8.75vw;
		width: 13vw;
	}
	#ct_bg .subSection01 > .inner01 > .button01 > a::after {
		top: 50%;
		translate: 0 -50%;
		right: -8.75vw;
		width: 16.5vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 {
		margin-top: 14vw;
		display: block;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column01 {
		width: 54.25vw;
		margin-inline: auto;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column01 > .image01 {
		margin-top: 0;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 {
		width: 84vw;
		margin-inline: auto;
		margin-top: 7vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup {
		column-gap: 3.75vw;
		padding-bottom: 2.5vw;
		width: 100%;
		justify-content: space-between;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > p {
		margin-left: 0;
		font-size: 3.75vw;
		letter-spacing: 0;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > h3 {
		height: 6.86vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 hgroup > h3 img {
		top: -1vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 > .title01 {
		margin-top: 4.5vw;
		font-size: 5vw;
		text-align: center;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 > .text01 {
		margin-top: 4vw;
		letter-spacing: 0;
		font-size: 3.5vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 {
		margin-top: 4vw;
		display: flex;
		flex-wrap: wrap;
		column-gap: 0;
		row-gap: 8px;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .button01 {
		max-width: inherit;
		width: 45.25vw;
		margin-inline: auto;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .button01 > a {
		border-radius: 100vmax;
		padding: 2vw 4vw;
		font-size: 3.5vw;
	}

	#ct_bg .subSection01 > .inner01 > .box01 > .column02 .btnWrap01 > .text01 {
		font-size: 3vw;
		width: 100%;
		text-align: center;
		margin-top: 0;
	}

	#ct_bg .subSection01 #road01 {
		margin-top: 0;
		width: 143vw;
		height: 40.5vw;
		left: -22vw;
	}

	#ct_bg .subSection01 #road01 > .image01 {
		width: 34vw;
	}

	#ct_bg .subSection01 #road01 > .image02 {
		left: 41.5vw;
		top: 14vw;
		width: 22.5vw;
	}

	#ct_bg .subSection02 {
		padding-top: 25vw;
		padding-bottom: 45vw;
		margin-top: 18vw;
	}

	#ct_bg .subSection02::before {
		left: 0;
		transform: translateX(0);
		min-width: 100%;
		height: 160.375vw;
		background: url(../../img/bg_index02_sp.png) no-repeat 50% 0/cover;
	}

	#ct_bg .subSection02 > .inner01 {
		padding-left: 5vw;
		padding-right: 5vw;
		z-index: 1;
	}

	#ct_bg .subSection02 > .inner01::before {
		top: -35.5vw;
		left: 3vw;
		width: 83.25vw;
		height: 183.5vw;
		transform: translate(0);
		z-index: -1;
		background: url(../../img/bg_index03_sp.png) no-repeat 0 0/100%;
	}

	#ct_bg .subSection02 > .inner01 > .title01 {
		height: 12vw;
		width: 100%;
	}

	#ct_bg .subSection02 > .inner01 > .box01 {
		margin-top: 4.5vw;
		column-gap: 0;
		margin-left: 0;
		left: 0;
		justify-content: space-between;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara01 {
		width: 42.25vw;
		margin-top: 10px;
		position: relative;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara02 {
		width: 44.75vw;
		margin-right: -1.3vw;
		margin-top: 10vw;
		position: relative;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .image01 {
		width: 100%;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .image01 {
		width: 100%;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .text01 {
		width: 33.5vw;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .text01 {
		width: 33.5vw;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara01 > .text01 {
		left: 4.5vw;
		top: inherit;
		bottom: -17vw;
	}

	#ct_bg .subSection02 > .inner01 > .box01 > .chara02 > .text01 {
		left: 5.4vw;
		bottom: -25vw;
	}

	#ct_bg .subSection03 {
		margin-top: 40vw;
		position: relative;
	}

	#ct_bg .subSection03 > .inner01 {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	#ct_bg .subSection03 > .inner01::before {
		margin-top: 0;
		left: inherit;
		right: -4vw;
		margin-left: 0;
		transform: translateX(0);
		width: 176vw;
		height: 50vw;
		top: -49vw;
	}

	#ct_bg .subSection03 > .inner01 > .title01 {
		height: 10.3vw;
	}

	#ct_bg .subSection03 > .inner01 > .box01 {
		display: block;
		margin-top: 11vw;
		width: 100%;
		gap: 0;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > a.column01 {
		width: 100%;
		padding: 2vw 2vw 4vw 2vw;
		border-width: 2vw;
		display: block;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > a.column01 + .column01 {
		margin-top: 6vw;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > a.column01:hover {
		border-color: #fff;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .title01 {
		font-size: 6vw;
		margin-top: 4vw;
		letter-spacing: 0;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .text01 {
		margin-top: 4vw;
		font-size: 4vw;
		letter-spacing: 0;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 {
		position: relative;
		bottom: 0;
		left: 0;
		translate: 0 0;
		width: 44.5vw;
		margin-inline: auto;
		margin-top: 6vw;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > span {
		left: 2vw;
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01 > .button01 > span::before {
		top: .2vw;
		left: -3.25vw;
		width: 10vw;
		height: 13vw;
	}

	#ct_bg .subSection03 > .inner01 > .button01 {
		margin-top: 10vw;
		width: 102%;
		left: 0;
	}

	#ct_bg .subSection04 {
		margin-top: 36vw;
	}

	#ct_bg .subSection04::before {
		left: 0;
		transform: translateX(0);
		min-width: 100vw;
		height: 307vw;
		background: url(../../img/bg_index05_sp.png) no-repeat 50% 0 / 100%;
		content: "";
	}

	#ct_bg .subSection04 #road02 {
		top: -8vw;
		left: 30vw;
		width: 100vw;
		height: 25vw;
	}

	#ct_bg .subSection04 #road02 .image01 {
		margin-top: -9vw;
		right: -20vw;
		width: 59.5vw;
	}

	#ct_bg .subSection04 > .inner01 {
		padding-left: 4vw;
		padding-right: 4vw;
		padding-top: 25vw;
		padding-bottom: 18vw;
	}

	#ct_bg .subSection04 > .inner01::before {
		top: -10vw;
		left: 1vw;
		width: 17.75vw;
		height: 20.5vw;
	}

	#ct_bg .subSection04 > .inner01 > .title01 {
		height: 13vw;
	}

	#ct_bg .subSection04 > .inner01 > .button01,
	#ct_bg .subSection05 > .inner01 > .button01 {
		width: 60vw;
		margin: 10vw auto 0;
	}

	#ct_bg .subSection04 > .inner01 > .list {
		margin-top: 10vw;
	}

	#ct_bg .subSection04 > .inner01 > .list > li {
		width: 100%;
	}

	#ct_bg .subSection04 > .inner01 > .list > li:not(:first-child) {
		margin-top: 7.5vw;
	}

	#ct_bg .subSection04 > .inner01 > .list > li > .title01 {
		margin-bottom: 2vw;
		font-size: 5vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}

	#ct_bg .subSection04 > .inner01 > .list > li .movieWrap01 > a {
		border-radius: 10px;
	}

	#ct_bg .subSection05 {
		margin-top: 20vw;
	}

	#ct_bg .subSection05 > .inner01 {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	#ct_bg .subSection05 > .inner01 > .image01,
	#ct_bg .subSection05 > .inner01 > .image02 {
		display: block;
	}

	#ct_bg .subSection05 > .inner01 > .image01 {
		width: 26vw;
		height: 30.5vw;
		top: -31vw;
		right: -1vw;
	}

	#ct_bg .subSection05 > .inner01 > .image02 {
		width: 26vw;
		height: 30.5vw;
		bottom: inherit;
		top: 15vw;
		left: -3vw;
	}

	#ct_bg .subSection05 > .inner01 > .title01 {
		height: 27.5vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 {
		margin-top: 10vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > .title01 {
		font-size: 5vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul {
		display: block;
		margin-top: 6vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li {
		width: 100%;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li:not(:first-child) {
		margin-top: 4vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li:not(:has(> a)),
	#ct_bg .subSection05 > .inner01 > .box01 > ul > li {
		padding: 4vw 4vw 6vw 4vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) > a {
		padding: 4vw 4vw 6vw 4vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .image01 {
		width: 71.25vw;
		margin-inline: auto;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .title01 {
		margin-top: 2vw;
		font-size: 4vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .text01 {
		font-size: 3.5vw;
		margin-top: 2vw;
	}

	#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a > .text02 {
		font-size: 3vw;
		margin-top: 2vw;
		letter-spacing: .02em;
	}

	#ct_bg .subSection05 > .inner01 > .button01 {
		margin-top: 6vw;
	}

	#ct_bg .subSection05 > .inner01 > .btnWrap01 {
		margin-top: 10vw;
		margin-bottom: 0;
		display: block;
		width: 100%;
	}

	#ct_bg .subSection05 > .inner01 > .btnWrap01 > li {
		width: 100%;
	}

	#ct_bg .subSection05 > .inner01 > .btnWrap01 > li + li {
		margin-top: 6vw;
	}

	#ct_bg .subSection06 {
		padding-top: 68.75vw;
		padding-bottom: 43.75vw;
		background: url(../img/bg_common08_sp.png) no-repeat 0 0/cover;
	}

	#ct_bg .subSection06::before {
		left: 0;
		transform: translateX(0);
		width: 100%;
		height: auto;
		aspect-ratio: 800 / 267;
		background: url(../img/bg_common09_sp.png) no-repeat 0 0/100%;
	}

	#ct_bg .subSection06::after {
		width: 47.75vw;
		height: 47vw;
		right: -5vw;
	}

	#ct_bg .subSection06 > .inner01 #road03 {
		position: absolute;
		width: 120vw;
		left: 50%;
		transform: translateX(-50%);
		height: 10vw;
		top: -35vw;
	}

	#ct_bg .subSection06 > .inner01 #road03 svg {
		left: -30vw;
		transform: rotate(1deg);
		width: 110vw;
	}

	#ct_bg .subSection06 > .inner01 #road03 .image01 {
		width: 39.5vw;
	}

	#ct_bg .subSection06 #road04 {
		z-index: 10;
		width: 130vw;
		left: 50%;
		transform: translateX(-50%);
		bottom: 5vw;
		height: 30.75vw;
	}

	#ct_bg .subSection06 #road04 svg {
		left: 4vw;
		bottom: 2.2vw;
		right: inherit;
		height: 30.75vw;
		width: 100%;
	}

	#ct_bg .subSection06 #road04 .image01 {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 10vw;
	}

	#ct_bg .subSection06 > .inner01 {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	#ct_bg .subSection06 > .inner01 > .title01 {
		height: 11.3vw;
	}

	#ct_bg .subSection06 > .inner01 > .text01 {
		font-size: 3.5vw;
		margin-top: 6vw;
	}

	#ct_bg .subSection06 > .inner01 > .btnWrap01 {
		gap: 4vw 4vw;
		margin-top: 10vw;
	}

	#ct_bg .subSection06 > .inner01 > .text01 + .btnWrap01 {
		margin-top: 6vw;
	}

	#ct_bg .subSection06 > .inner01 > .btnWrap01 > li {
		width: 47.7%;
	}

	#ct_bg .subSection06 > .inner01 > .box01 {
		margin-top: 10vw;
		padding: 10vw 6vw;
		border-width: 1vw;
	}

	#ct_bg .subSection06 > .inner01 > .box01 > .title01 {
		font-size: 5.5vw;
	}

	#ct_bg .subSection06 > .inner01 > .box01 > .text01 {
		margin-top: 6vw;
		font-size: 3.5vw;
	}

	#ct_bg .subSection06 > .inner01 > .box01 > .button01 {
		width: 80vw;
		margin: 6vw auto 0;
	}

	#ct_bg .subSection06 > .text01 {
		bottom: .5vw;
		font-size: 3vw;
	}
	#ct_bg .subSection06 > .inner01 > .footBtn01 {
		margin-top: 10vw;
	}
	#ct_bg .slideArea01 {
		margin-top: 10vw;
	}

	#ct_bg .swiper-slide {
		transform: scale(1.0);
	}

	#ct_bg .swiper-slide > div {
		margin-left: 0;
		margin-right: 0;
	}

	#ct_bg .swiper-slide-active {
		transform: scale(1);
	}

	#ct_bg .swiper-pagination {
		gap: 3vw 4vw;
	}

	#ct_bg .swiper-pagination-bullet {
		width: 5vw;
		height: 5vw;
	}

	#ct_bg .naviWrap {
		column-gap: 10vw;
		margin-top: 10vw;
	}

	#ct_bg .swiper-button-prev,
	#ct_bg .swiper-button-next {
		width: 6vw;
		height: 6vw;
	}

	#ct_bg .movieWrap01 > a {
		border-radius: 10px;
	}

	#ct_bg .movieWrap01 > a::before {
		width: 14vw;
		height: 14vw;
		margin-left: -7vw;
		margin-top: -7vw;
	}

	#ct_bg .modal::before {
		content: none;
	}

	#ct_bg .modal .modal-content {
		align-items: center;
		justify-content: center;
		align-content: center;
		row-gap: 4vw;
	}

	#ct_bg .modal #videoContainer {
		margin-top: 0;
		border-radius: 0;
		width: 100%;
	}


	#ct_bg .modal#textModal .modal-content {
		padding-top: 24vw;
		padding-bottom: 8vw;
		display: block;
	}

	#ct_bg .modal #textContainer {
		margin-top: 0;
		overflow: auto;
		height: 70svh;
	}

	#ct_bg .modal #textContainer > .title01 {
		font-size: 5vw;
		text-align: center;
		padding: 3.5vw 2.5vw 4vw;
	}

	#ct_bg .modal .modal-content:has(#textContainer) {
		align-items: flex-start;
	}

	#ct_bg .modal #textContainer > .inner01 {
		padding: 6vw 4vw;
	}

	#ct_bg .modal #textContainer > .inner01 > .text01 {
		font-size: 3.5vw;

	}

	#ct_bg .modal #textContainer > .inner01 > .text01:not(:first-child) {
		margin-top: 3.5vw;
	}

	#ct_bg .modal #textContainer > .inner01 > .button01 {
		width: 80vw;
		margin-top: 4vw;
	}

	#ct_bg .modal #textContainer + .close {
		margin-top: 4vw;
		margin-inline: auto;
	}

	#ct_bg .modal .close {
		position: relative;
		top: 0;
		right: 0;
		width: 20vw;
		height: 20vw;
	}

	#ct_bg .modal .close > a {
		position: relative;
		display: block;
		text-indent: -9999px;
		width: 100%;
		height: 100%;
	}

	#ct_bg .modal > ul {
		position: absolute;
		width: 100%;
		max-width: inherit;
		bottom: inherit;
		left: 0;
		top: 0;
		transform: translateX(0);
		display: block;
		height: 100%;
	}

	#ct_bg .modal > ul > li {
		width: 100%;
		position: absolute;
		padding-left: 5vw;
		padding-right: 5vw;
	}

	#ct_bg .modal > ul > li:nth-child(1) {
		top: 4vw;
	}

	#ct_bg .modal > ul > li:nth-child(2) {
		bottom: 4vw;
	}

	#ct_bg .btnWrap01 a:hover,
	#ct_bg .subSection04 > .inner01 > .button01 > a:hover,
	#ct_bg .subSection05 > .inner01 > .button01 > a:hover,
	#ct_bg .subSection03 > .inner01 > .button01 > a:hover,
	#ct_bg .subSection06 > .inner01 > .box01 > .button01 > a:hover,
	#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .text01 > a:hover,
	#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"]:has(> .text01 > a:hover) > .image01 > a,
	#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"] > .image01 > a:hover,
	#ct_bg .subSection02 > .inner01 > .box01 > [class^="chara"]:has(> .image01 > a:hover) > .text01 > a,
	#ct_bg .subSection03 > .inner01 > .box01 > .column01:hover > .button01 > span,
	#ct_bg .subSection05 > .inner01 > .box01 > ul > li > a:hover,
	#ct_bg .navArea01 ul > li > a:hover,
	#ct_bg .modal .close > a:hover,
	#ct_bg .movieWrap01 > a:hover > img,
	#ct_bg .btnList01 > li > a:hover .image01 img,
	#ct_bg .btnList02 > li > a:hover img,
	#ct_bg .subSection05 > .inner01 > .box01 > ul > li:has(> a) > a:hover img,
	#ct_bg #textContainer .button01 > a:hover,
	#ct_bg .subSection06 > .inner01 > .footBtn01 > a:hover,
	#ct_bg .subSection01 > .inner01 > .button01 > a:hover {
		transform: scale(1.0);
	}

	#ct_bg .movieWrap01 > a:hover::before {
		transform: scale(1.0);
	}

	#ct_bg .subSection03 > .inner01 > .box01 > .column01:hover > .button01 > span::before,
	#ct_bg .subSection01 > .inner01 > .button01 > a:hover::before,
	#ct_bg .subSection01 > .inner01 > .button01 > a:hover::after,
	#ct_bg .navArea01 ul > li > a:hover > .icon {
		transform: rotate(0);
	}

	#ct_bg .navArea01 {
		position: absolute;
		z-index: 99;
		border-radius: 0;
		width: 100%;
		top: var(--sm-header-height);
		left: 0;
		background: url(../img/bg_common01.png) repeat-y 0 0 / 100% auto;
		height: 200vh;
		opacity: 0;
		visibility: hidden;
		overflow-y: auto;
	}
	#ct_bg .navArea01.type02 {
		height: 100vh;
		background: url(../img/bg_common07.png) repeat-y 0 0 / 100% auto;
	}
	#ct_bg .navArea01.is-open {
		transition: opacity .2s, visibility .2s;
		opacity: 1.0;
		visibility: visible;
		height: 100vh;
	}

	#ct_bg .navArea01::before {
		height: 130vh;
		background: url(../img/bg_common01.png) repeat-y 0 0 / 100% auto;
	}
	#ct_bg .navArea01.type02::before {
		background: url(../img/bg_common07.png) repeat-y 0 0 / 100% auto;
	}

	#ct_bg .navArea01.is-fixed {
		top: 0;
		left: 0;
		height: 100vh;
	}
	#ct_bg .navArea01 > .inner01 {
		padding-left: 6vw;
		padding-right: 6vw;
		padding-bottom: 20vw;
		padding-top: 8vw;
		display: block;
		height: 110%;
	}
	#ct_bg .navArea01.is-open > .inner01 {
		height: 100%;
	}
	#ct_bg .navArea01 > .inner01 > .logo01 {
		width: 51.5vw;
		margin-inline: auto;
	}
	#ct_bg .navArea01 > .inner01 > .image01 {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 4vw;
		margin-inline: auto;
		width: 54vw;
	}

	#ct_bg .navArea01 ul,
	#ct_bg .navArea01.type02 ul {
		display: block;
		margin-right: 0;
		width: 100%;
		margin-top: 4vw;
		padding: 8vw 2vw 12vw;
		position: relative;
	}

	#ct_bg .navArea01 ul::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/bg_common03.png) no-repeat 0 0/100% 100%;
		content: "";
	}

	#ct_bg .navArea01 ul > li {
		width: 60vw;
		height: 17vw;
	}
	#ct_bg .navArea01.type02 ul > li {
		width: 60vw;
	}

	#ct_bg .navArea01 ul > li:not(:first-child) {
		margin-top: 4vw;
	}

	#ct_bg .navArea01 ul > li > a {
		padding: 2.1vw 4vw;
		column-gap: 3vw;
		background-color: #fff;
		border-radius: 100vmax;
		box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.20);
		background-image: none;
	}

	#ct_bg .navArea01 ul > li > a > .icon {
		height: 12vw;
		max-width: 10.75vw;
	}

	#ct_bg .navArea01.type02 ul > li > a > .icon {
		max-width: 12.5vw;
	}

	#ct_bg .navArea01 ul > li > a > .icon img {
		height: 100%;
		width: auto;
	}

	#ct_bg .navArea01 ul > li > a > .text {
		height: 5.5vw;
		top: 0;
	}

	#ct_bg .navArea01 ul > li > a > .text img {
		height: 100%;
		width: auto;
	}

	#ct_bg .navArea01 ul > li:nth-child(1) > a > .text {
		width: auto;
		height: 4.4vw;
	}
	#ct_bg .navArea01 ul > li:nth-child(2) > a > .text {
		width: auto;
	}
	#ct_bg .navArea01 ul > li:nth-child(4) > a > .text {
		width: auto;
	}
	#ct_bg .navArea01 ul > li:nth-child(3) > a > .text {
		width: auto;
		margin-right: 0;
	}
	#ct_bg .navArea01 ul > li:nth-child(5) > a > .text {
		width: auto;
		height: 11vw;
	}
	#ct_bg .navArea01 ul > li:nth-child(6) > a > .text {
		width: auto;
	}

	#ct_bg .navArea01.type02 ul > li:nth-child(1) > a > .text {
		width: auto;
		height: 5.5vw;
	}
	#ct_bg .navArea01.type02 ul > li:nth-child(2) > a > .text {
		width: auto;
	}
	#ct_bg .navArea01.type02 ul > li:nth-child(3) > a > .text {
		width: auto;
		height: 11vw;
	}
	#ct_bg .navArea01.type02 ul > li:nth-child(4) > a > .text {
		width: auto;
	}
	#ct_bg .navArea01.type02 ul > li:nth-child(5) > a > .text {
		width: auto;
		height: 11vw;
	}

	#ct_bg .navArea01 ul > li:nth-child(even) {
		margin-right: 0;
		margin-left: auto;
	}

	#ct_bg .naviBtn01 {
		display: block;
		width: 20vw;
		height: 21vw;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 100;
	}

	#ct_bg .naviBtn01.is-fixed {
		position: fixed;
		top: 0;
	}

	#ct_bg .naviBtn01 > a {
		display: block;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
	}

	#ct_bg .naviBtn01 > a::before,#ct_bg .naviBtn01 > a::after {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: "";
	}
	#ct_bg .naviBtn01 > a::before {
		background: url(../img/icon_common01.png) no-repeat 0 0/100%;
	}
	#ct_bg .naviBtn01 > a::after {
		background: url(../img/icon_common01_on.png) no-repeat 0 0/100%;
		opacity: 0;
	}
	#ct_bg .naviBtn01.type02 > a::before {
		background-image: url(../img/icon_common04.png);
	}
	#ct_bg .naviBtn01.type02 > a::after {
		background-image: url(../img/icon_common04_on.png);
	}

	#ct_bg:has(.navArea01.is-open) .naviBtn01 {
		top: var(--sm-header-height);
	}

	#ct_bg:has(.navArea01.is-open) .naviBtn01.is-fixed {
		top: 0;
	}

	#ct_bg:has(.navArea01.is-open) .mainArea01 {
		position: static;
	}

	#ct_bg:has(.navArea01.is-open) .naviBtn01 > a::before {
		opacity: 0;
	}

	#ct_bg:has(.navArea01.is-open) .naviBtn01 > a::after {
		opacity: 1.0;
	}

	#ct_bg .titleArea01 .icon01 img {
		transform: translate(-5vw,-5vw) scale(1.05);
	}
	#ct_bg .titleArea01 .icon02 img {
		transform: translate(5vw,4vw) scale(1.05);
	}
	#ct_bg .titleArea01 .icon03 img {
		transform: translate(-5vw,4vw) scale(1.05);
	}
	#ct_bg .titleArea01 .icon04 img {
		transform: translate(5vw,-5vw) scale(1.05);
	}
	#ct_bg .titleArea01 .icon05 img {
		transform: translate(2vw,-1vw) scale(1.05);
	}

	#ct_bg .titleArea01 {
		height: 59vw;
	}

	#ct_bg .titleArea01::before {
		top: 0;
		left: 0;
		transform: translateX(0);
		width: 100%;
		height: 74.25vw;
		background: url(../img/bg_common05_sp.png) no-repeat 50% 0/100%;
	}

	#ct_bg .titleArea01 > .inner01 {
		padding-left: 0;
		padding-right: 0;
	}

	#ct_bg .titleArea01 h2 {
		position: relative;
		z-index: 10;
		top: 1vw;
		margin-top: 0;
	}

	#ct_bg.movie .titleArea01 h2 {
		height: 9vw;
	}

	#ct_bg.toy .titleArea01 h2 {
		height: 8.5vw;
	}

	#ct_bg.book .titleArea01 h2 {
		height: 10.125vw;
		top: 2vw;
		left: -1vw;
	}

	#ct_bg.character .titleArea01 h2 {
		height: 9vw;
		margin-top: 0;
		top: 2vw;
	}

	#ct_bg .titleArea01 .icon01 {
		width: 40.5vw;
		left: -12vw;
		top: -10.5vw;
		z-index: 2;
	}
	#ct_bg .titleArea01 .icon02 {
		width: 34.75vw;
		left: inherit;
		right: -8vw;
		bottom: -2vw;
	}
	#ct_bg .titleArea01 .icon03 {
		width: 47vw;
		right: inherit;
		left: -11vw;
		bottom: -10vw;
		transform: rotate(12deg);
	}
	#ct_bg .titleArea01 .icon04 {
		width: 51.75vw;
		right: 13vw;
		top: -11vw;
	}
	#ct_bg .titleArea01 .icon05 {
		width: 18.25vw;
		right: -4vw;
		top: 16vw;
		transform: rotate(12deg);
	}

	#ct_bg .titleArea02 {
		position: relative;
		z-index: -2;
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}

	#ct_bg .titleArea02 > .inner01 {
		position: relative;
		margin-top: 0;
		padding: 0 0 0;
	}
	#ct_bg .titleArea02 > .inner01::before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		aspect-ratio: 800 / 177;
	}

	#ct_bg .titleArea02 > .inner01 > .box01 {
		display: flex;
		flex-wrap: wrap;
		margin-left: 4vw;
		align-items: center;
		column-gap: 4vw;
		margin-top: 2vw;
		margin-bottom: 2vw;
		margin-right: auto;
	}

	#ct_bg .titleArea02 > .inner01 > .box01 > .logo01 {
		width: 24vw;
	}

	#ct_bg .titleArea02 > .inner01 > .box01 > .text01 {
		width: 40vw;
		padding-top: .2vw;
	}

	#ct_bg .frameArea01 {
		border-radius: 40px;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}

	#ct_bg .frameArea01 > .inner01 {
		padding: 6vw 4vw 10vw;
	}

	#ct_bg .frameArea01 > .inner01 > .title01 {
		font-size: 8vw;
	}

	#ct_bg .movieArea01:not(:first-child) {
		margin-top: 4vw;
	}
	#ct_bg .movieArea01:last-child {
		margin-bottom: 4vw;
	}

	#ct_bg .movieArea01 > .title01 {
		margin-top: 2vw;
		font-size: 4vw;
	}

	#ct_bg .movieArea01 > .title02 {
		margin-bottom: 3.5vw;
		font-size: 5vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}

	#ct_bg .movieArea01 .title03 {
		margin-top: 2vw;
		font-size: 4vw;
	}

	#ct_bg .movieArea02 {
		margin-top: 7.5vw;
	}

	#ct_bg .movieArea02 > .title01 {
		margin-top: 2vw;
		font-size: 4vw;
	}

	#ct_bg .movieArea02 > .text01 {
		margin-top: 2vw;
		font-size: 3.5vw;
	}

	#ct_bg .movieArea02 + .list01 > li,
	#ct_bg .movieArea02 + .list01 > li:not(:first-child) {
		margin-top: 0;
	}

	#ct_bg .frameArea01 .movieWrap01 > a::before {
		width: 14vw;
		height: 14vw;
		margin-left: -7vw;
		margin-top: -7vw;
	}

	#ct_bg .frameArea01 .movieWrap01:not(:first-of-type) {
		margin-top: 6vw;
	}

	#ct_bg .frameArea01 .movieArea01 > .image01 {
		position: absolute;
		left: 1vw;
		top: -20vw;
		width: 20.5vw;
	}

	#ct_bg .frameArea01 .movieArea01 > .image02 {
		position: absolute;
		right: 0;
		top: -20vw;
		width: 22vw;
	}

	#ct_bg .frameArea02 {
		padding: 4vw;
	}

	#ct_bg .list01 > li:nth-child(even) .frameArea02 {
		right: 0;
	}

	#ct_bg .frameArea02 > .title01 {
		margin-top: 2vw;
		font-size: 4vw;
	}

	#ct_bg .frameArea02 > .text01 {
		font-size: 3.5vw;
		margin-top: 2vw;
	}

	#ct_bg .frameArea02 > .text01 > span {
		font-size: 3vw;
		line-height: 1.2;
	}

	#ct_bg .bookBlock01 {
		padding-top: 41vw;
		padding-bottom: 8vw;
		position: relative;
		min-height: 366vw;
		height: auto;
		max-height: inherit;
	}

	#ct_bg .bookBlock01.type02 {
		min-height: 358vw;
		max-height: inherit;
		margin-top: 10vw;
		height: auto;
		padding-bottom: 0;
	}
	#ct_bg .bookBlock01.type03 {
		min-height: 382vw;
		max-height: inherit;
		margin-top: 10vw;
		height: auto;
		padding-bottom: 0;
	}
	#ct_bg .bookBlock01.type04 {
		padding-top: 41vw;
		padding-bottom: 14vw;
		min-height: 382vw;
		max-height: inherit;
		margin-top: 9vw;
		height: auto;
		margin-bottom: 16.5vw;
	}

	#ct_bg .bookBlock01::before {
		position: absolute;
		top: 20vw;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		height: 100%;
		background: url(../../book/img/bg_index01_sp.png) no-repeat 50% 0/100% 100%;
		z-index: -2;
		content: "";
	}

	#ct_bg .bookBlock01 > .title01 {
		font-size: 5vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}

	#ct_bg .bookBlock01 > .box01 {
		display: block;
		margin-top: 10vw;
	}

	#ct_bg .bookBlock01 > .box01 > .column01 {
		width: 100%;
	}

	#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 {
		margin-top: 4vw;
		padding-left: 12vw;
		padding-right: 12vw;
	}

	#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a {
		width: 49vw;
	}

	#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a::before,#ct_bg .bookBlock01 > .box01 > .column01 > .btn01 > a::after {
		width: 10vw;
		height: 13vw;
	}

	#ct_bg .bookBlock01 > .box01 > .column01 > .text01 {
		font-size: 3.0vw;
		margin-top: 4vw;
		letter-spacing: 0.02em;
	}

	#ct_bg .bookBlock01 > .box01 > .column02 {
		width: 100%;
		margin-top: 7.5vw;
	}

	#ct_bg .bookBlock01 > .box01 > .column02 > .text02 {
		margin-top: 6vw;
	}

	#ct_bg .bookBlock01 > .textBox01 {
		margin-top: 10vw;
	}

	#ct_bg .bookBlock01 > .textBox01 > .text01 {
		font-size: 6vw;
	}

	#ct_bg .bookBlock01 > .textBox01 > .text02 {
		margin-top: 2vw;
	}

	#ct_bg .bookBlock01 > .image01 {
		width: 44vw;
		top: 8vw;
		left: -9vw;
	}
	#ct_bg .bookBlock01 > .image02 {
		bottom: -31vw;
		right: 1vw;
		width: 27.25vw;
	}
	#ct_bg .bookBlock01 > .image03 {
		top: 5vw;
		left: -1vw;
		width: 24.5vw;
	}
	#ct_bg .bookBlock01 > .image04 {
		bottom: -26vw;
		left: -1vw;
		width: 40.5vw;
	}
	#ct_bg .bookBlock01 > .image05 {
		top: 11vw;
		right: -1.5vw;
		width: 43.37vw;
	}
	#ct_bg .bookBlock01 > .image06 {
		bottom: -15vw;
		left: 0;
		width: 38.6vw;
	}
	#ct_bg .bookBlock01 > .image07 {
		top: 5vw;
		right: -2.32vw;
		width: 35vw;
	}
	#ct_bg .bookBlock01 > .image08 {
		bottom: -10vw;
		left: 0;
		width: 35.25vw;
	}

	#ct_bg .animeFrame01 {
		margin-top: 30vw;
		padding: 16.75vw 0 26vw;
	}
	#ct_bg .animeFrame01.mt02 {
		margin-top: 20vw;
	}

	#ct_bg .animeFrame01::before {
		width: 100%;
	}
	#ct_bg .animeFrame01 > .innerFrame01::before {
		top: -6.25vw;
		width: 100%;
		height: auto;
		aspect-ratio: 800 / 126;
		background: url(../../anime/img/bg_index01_sp.png) no-repeat 50% 0/100% auto;
	}
	#ct_bg .animeFrame01 > .innerFrame01::after {
		bottom: -6.25vw;
		width: 100%;
		height: auto;
		aspect-ratio: 800 / 126;
		background: url(../../anime/img/bg_index02_sp.png) no-repeat 50% 0/100% auto;
	}

	#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 {
		padding: 0 4vw;
	}

	#ct_bg .animeFrame01 .image01 {
		top: -30vw;
		left: 50%;
		margin-left: -12.5vw;
		width: 25.75vw;
	}
	#ct_bg .animeFrame01 .image02 {
		position: absolute;
		bottom: -32vw;
		left: 50%;
		right: auto;
		margin-left: -10vw;
		width: 20vw;
	}

	#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .comingsoon01 {
		margin: 16vw auto 0;
		padding-bottom: 16vw;
		width: 59.5vw;
	}

	#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .title01 {
		width: 38.75vw;
	}
	#ct_bg .animeFrame01 > .innerFrame01 > .innerFrame02 > .title02 {
		width: 48vw;
	}
	#ct_bg .animeFrame01 .movieWrap01 {
		position: static;
	}
	#ct_bg .animeFrame01 .movieWrap01 .image02 {
		right: auto;
		bottom: -32vw;
	}

	#ct_bg .animeArea01 {
		margin-top: 25vw;
	}

	#ct_bg .animeArea01 > .title01 {
		margin: 0 auto;
		width: 78.5vw;
	}
	#ct_bg .animeArea01 > .title01.w02 {
		width: 67.75vw;
	}

	#ct_bg .animeArea01 > .title02 {
		margin-bottom: 3.5vw;
		font-size: 7vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}
	#ct_bg .animeArea01 > .image01 {
		margin-top: 4vw;
	}

	#ct_bg .animeCol01 {
		margin: 20vw 0 0;
		padding: 0 4vw 8vw 4vw;
		width: 100%;
		border-radius: 8vw;
		background-color: #fff;
		box-shadow: 1.5vw 1.5vw 0px 0px rgba(0, 0, 0, 0.15);
	}
	#ct_bg .animeCol01[class*="type"] {
		margin-left: 0;
		padding-top: 4vw;
		width: 100%;
	}

	#ct_bg .animeCol01:nth-child(1) {
		margin-top: 25vw;
	}
	#ct_bg .animeCol01:nth-child(1),
	#ct_bg .animeCol01:nth-child(2) {
		margin-top: 20vw;
	}
	#ct_bg .animeCol01.type01 {
		margin-top: 8vw;
		padding-bottom: 30vw;
	}
	#ct_bg .animeCol01.type01:nth-child(1) {
		margin-top: 8vw;
	}
	#ct_bg .animeCol01.type02 {
		margin-top: 8vw;
		padding-bottom: 30vw;
	}
	#ct_bg .animeCol01.type02:nth-child(2) {
		margin-top: 8vw;
	}

	#ct_bg .animeCol01.type03 {
		margin-top: 10vw;
		padding-bottom: 32vw;
	}
	#ct_bg .animeCol01.type04 {
		margin-top: 10vw;
		padding-bottom: 14vw;
	}

	#ct_bg .animeCol01 > .title01 {
		margin-top: -9.25vw;
	}
	#ct_bg .animeCol01 > .title01 > .chara01 {
		top: -6.18vw;
		right: -16.8vw;
	}
	#ct_bg .animeCol01 > .title01 > .chara02 {
		top: -6.18vw;
		right: -16.8vw;
	}
	#ct_bg .animeCol01 > .title01 > .chara03 {
		top: -9.18vw;
		right: -13.5vw;
	}
	#ct_bg .animeCol01 > .title01 > .chara04 {
		top: -6.18vw;
		right: -16.8vw;
	}
	#ct_bg .animeCol01 > .title01 > .chara05 {
		top: -8.25vw;
		right: -12.37vw;
	}

	#ct_bg .animeCol01 > .title02 {
		font-size: 5vw;
		padding: 1.8vw 2.5vw 2.2vw;
	}
	#ct_bg .animeCol01 > .text01 {
		margin-top: 6vw;
	}

	#ct_bg .animeCol01 > .text02 {
		margin-top: 6vw;
		font-size: 6.0vw;
		letter-spacing: 0;
	}
	#ct_bg .animeCol01 > .text02 > .font01 {
		font-size: 6.5vw;
	}
	#ct_bg .animeCol01 > .text02 > .font02 {
		font-size: 4vw;
	}

	#ct_bg .animeCol01 > .text03 {
		margin-top: 6vw;
		font-size: 4vw;
		letter-spacing: 0;
	}
	#ct_bg .animeCol01 > .text03 > .font01 {
		font-size: 4.5vw;
	}
	#ct_bg .animeCol01 > .text03 > .font02 {
		font-size: 6.0vw;
	}

	#ct_bg .animeCol01 > .text04 {
		margin-top: 4vw;
		font-size: 3.5vw;
	}

	#ct_bg .animeCol01 > .image01 {
		left: 50%;
		right: auto;
		bottom: -4vw;
		margin-left: -13.75vw;
		width: 27.5vw;
	}
	#ct_bg .animeCol01 > .image02 {
		left: 50%;
		right: auto;
		bottom: -8vw;
		margin-left: -17.25vw;
		width: 34.5vw;
	}
	#ct_bg .animeCol01 > .image03 {
		left: 50%;
		right: auto;
		bottom: -8vw;
		margin-left: -12.1vw;
		width: 24.3vw;
	}
	#ct_bg .animeCol01 > .image04 {
		right: 2.9vw;
		bottom: -8vw;
		width: 29.25vw;
	}

	#ct_bg .list01 {
		margin-top: 18vw;
		row-gap: 0;
	}

	#ct_bg .movieArea01 > .title02 + .list01 {
		margin-top: 14px;
	}

	#ct_bg .list01 > li {
		width: 100%;
	}

	#ct_bg .list01 > li:not(:first-child) {
		margin-top: 5.5vw;
	}

	#ct_bg .list01 > li .movieWrap01 > a::before {
		width: 14vw;
		height: 14vw;
		margin-left: -7vw;
		margin-top: -7vw;
	}

	#ct_bg .list01 + .movieArea01 {
		margin-top: 80px;
	}

	#ct_bg .list02 {
		margin-top: 6vw;
		letter-spacing: 0;
	}
	#ct_bg .list02 > dt {
		font-size: 3.5vw;
	}

	#ct_bg .list02 > dd {
		font-size: 3.5vw;
	}

	#ct_bg .list02 > dt::after {
		right: 5px;
	}

	#ct_bg .btn01 {
		margin: 5vw auto 0;
		padding-left: 12vw;
		padding-right: 12vw;
	}

	#ct_bg .btn01 > a {
		width: 60vw;
	}

	#ct_bg .btn01 > a > span::before,#ct_bg .btn01 > a > span::after {
		width: 10vw;
		height: 13vw;
	}
	#ct_bg .btn01 > a > span::before {
		left: -12vw;
	}
	#ct_bg .btn01 > a > span::after {
		right: -12vw;
	}

	#ct_bg .btnList01 {
		display: block;
		margin: 0;
		row-gap: 0;
	}

	#ct_bg .btnList01 > li {
		width: 102%;
		margin-left: -2%;
	}

	#ct_bg .btnList01 > li:not(:first-child) {
		margin-top: 5vw;
	}

	#ct_bg .btnList01 > li > a {
		padding-bottom: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}

	#ct_bg .btnList01 > li:nth-child(even) > a {
		flex-direction: row-reverse;
	}

	#ct_bg .btnList01 > li > a::before {
		content: none;
	}

	#ct_bg .btnList01 > li > a > .image01 {
		width: 50%;
		margin-top: 0;
	}

	#ct_bg .btnList01 > li > a > .title01 {
		width: 46%;
		position: relative;
		padding-bottom: 5.5vw;
		margin-top: 0;
	}

	#ct_bg .btnList01 > li > a > .title01::before {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 3vw;
		height: 3.5vw;
		content: "";
		background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%2213%22%20viewBox%3D%220%200%2012%2013%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.43602%200.448478C5.80746%200.448478%205.80746%200.381225%2010.1693%200.381226C10.9859%200.381226%2011.3606%201.08258%2011.0244%201.84157C8.84344%206.77025%208.87227%206.78946%206.69135%2011.7181C6.28784%2012.6212%205.37512%2012.5924%204.9716%2011.6893C2.79069%206.76064%202.53128%206.87593%200.340763%201.94726C0.0044994%201.19787%200.609775%200.448478%201.42642%200.448478L1.43602%200.448478Z%22%20fill%3D%22%23592D15%22%2F%3E%3C%2Fsvg%3E') no-repeat 0 0/100%;
	}

	#ct_bg .btnList02 {
		column-gap: 0;
		margin-top: 12vw;
		margin-bottom: 20vw;
	}
	#ct_bg .btnList02 > li {
		margin-top: 2.5vw;
		width: 100%;
	}
	#ct_bg .btnList02 > li:nth-child(2n) {
		margin-left: 0;
	}
	#ct_bg .btnList02 > li img.onlySP {
		display: block !important;
	}
	#ct_bg .btnList02 > li img.onlyPC {
		display: none !important;
	}

	#ct_bg .img01 {
		margin-top: 10vw;
	}

	#ct_bg .charaBlock01 {
		padding-bottom: 24vw;
		padding-top: 15vw;
	}

	#ct_bg .charaBlock01:first-of-type {
		top: -6vw;
	}

	#ct_bg .charaBlock01::before {
		right: 0;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		background: url(../../character/img/bg_index01_sp.png) no-repeat 100% 0/100% 100%;
	}

	#ct_bg .charaBlock01:nth-of-type(2)::before {
		right: 0;
		left: 0;
		margin: 0 calc(50% - 50vw);
		background: url(../../character/img/bg_index01_sp.png) no-repeat 100% 0/100% 100%;
	}

	#ct_bg .charaBlock01:not(:first-of-type) {
		margin-top: -10vw;
	}

	#ct_bg .charaBlock01:last-child {
		margin-bottom: 0;
	}

	#ct_bg .charaBlock01 > .box01 {
		display: block;
	}

	#ct_bg .charaBlock01 > .box01 > .title01 {
		width: 91%;
		margin-inline: auto;
	}

	#ct_bg .charaBlock01 > .box01 > .text01 {
		width: 100%;
		margin-top: 3vw;
		font-size: 4vw;
	}

	#ct_bg .charaBlock01 > .box02 {
		margin-top: 8vw;
		display: block;
	}

	#ct_bg .charaBlock01 > .box02 > .image01 {
		margin-inline: auto;
	}

	#ct_bg .charaBlock01 > .box02 > .image02 {
		margin: 6vw auto 0;
	}

	#ct_bg .charaBlock01:nth-of-type(1) > .box02 > .image01 {
		width: 65.21%;
	}

	#ct_bg .charaBlock01:nth-of-type(1) > .box02 > .image02 {
		width: 95.65%;
	}

	#ct_bg .charaBlock01:nth-of-type(2) > .box02 > .image01 {
		width: 65.21%;
	}

	#ct_bg .charaBlock01:nth-of-type(2) > .box02 > .image02 {
		width: 95.65%;
		margin-right: 0;
	}

}
