@charset "utf-8";
/*-----------------------------------------------
 * common.css
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
 * Bace
 * Modal
 * Header
 * Footer
 * Parts
 * sub_page
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
-------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}

:root {
	--common-min-width: 1280px;
	--common-min-height: 720px;

	/* vw min 計算 => min(calc(数値 / var(--vw-min) * 100vw), 数値); */
	--vw-min: 1336;

	/* メインで使用するサイズやカラー */
	--main-font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	--font-mplus:"M PLUS Rounded 1c", sans-serif;
	--font-coiny:"Coiny", system-ui;

	/* 共通幅 */
	--common-in-width: 84%;
	--common-in-maxwidth: 1500px;

	/* easing */
	--easing-outquart: cubic-bezier(0.25, 1, 0.5, 1);
	--easing-easeinoutback: cubic-bezier(0.68, -0.6, 0.32, 1.6);
	--easing-first: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8% 69.8%, 1.003 76.9%, 1);;

	/* color */
	--color-black: #333333;
	--color-blue: #7A8CEF;
	--color-blue-bg: #BFC6F0;
	--color-yellow: #FFC936;
	--color-yellow-bg: #FEE49C;
	--color-pink: #FF89BA;
	--color-pink-bg: #FFE2EE;
	--color-purple: #D6A5E6;
	--color-purple-bg: #EAD3F2;
	--color-green: #88D73C;
	--color-green-bg: #CEEBB2;
}
@media screen and (max-width:768px){
	:root {
		/* vw min 計算 => calc(数値 / var(--vw-min) * 100vw)*/
		--vw-min: 375;

		--common-min-width: 100%;
		--common-min-height: auto;
		--main-font-size: calc(24 / var(--vw-min) * 100vw);

		/* 共通横幅 */
		--common-in-width: 87.2vw;
		--common-in-maxwidth: 100%;
	}
}

/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: var(--color-black);
	font-family: var(--font-mplus);
	font-size: var(--main-font-size);
	font-weight: normal;
	letter-spacing: 0em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: var(--color-black); }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #B7D4F9;
	color: #000;
}
::-moz-selection{
	background: #B7D4F9;
	color: #000;
}
@media screen and (max-width:768px){
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

/**
 * scroll bar
 */
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: #fff;
}
::-webkit-scrollbar-thumb {
	background: #000;
	margin: 2px;
	box-shadow: none;
}

@keyframes bgAnim{
	from{ background-position:0 0; }
	to{ background-position:545px -545px; }
}
@media screen and (max-width:768px){
	@keyframes bgAnim{
		from{ background-position:0 0; }
		to{ background-position:80vw -80vw; }
	}
}

/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}
#fullBg {
	background: url(../img/common/bg/ptn.jpg) repeat 0 0 / 545px 545px;
	animation: bgAnim 15s linear infinite;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
@media screen and (max-width:768px){
	#fullBg {
		background: url(../img/common/bg/ptn.jpg) repeat 0 0 / 80vw 80vw;
	}
}

@keyframes kaku {
	10% { transform: rotate(1.2deg); }
	20% { transform: rotate(-2.5deg); }
	30% { transform: rotate(4deg); }
	40% { transform: rotate(-1.5deg); }
	50% { transform: rotate(3deg); }
	60% { transform: rotate(0deg); }
	100% { transform: rotate(0); }
}
@keyframes rotate{
	0%{ transform:rotate(0deg); }
	100%{ transform:rotate(720deg); }
}

/*-----------------------------------------------
 * Modal
-------------------------------------------------*/
/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.8);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModal.is-show {
	display: block;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:768px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	width: min(calc(60 / var(--vw-min) * 100vw), 60px);
	height: min(calc(60 / var(--vw-min) * 100vw), 60px);
	position: absolute;
	top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	right: min(calc(40 / var(--vw-min) * 100vw), 40px);
	z-index: 2;
}
@media screen and (max-width:768px){
	.closeBtn{
		width:calc(50 / var(--vw-min) * 100vw);
		height:calc(50 / var(--vw-min) * 100vw);
		top: calc(10 / var(--vw-min) * 100vw);
		right: calc(10 / var(--vw-min) * 100vw);
	}
}

.closeBtn a {
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
@media screen and (hover: hover) and (pointer: fine) {
	.closeBtn a:hover {
		animation: kaku 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
}

/* img */
.closeBtn a:before {
	content: "";
	background-color: var(--color-black);
	-webkit-mask: url(../img/common/icon_deco/icon_close.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/icon_close.svg) no-repeat center / contain;
	width: 50%;
	height: 50%;
	display: block;
}

/**
 * iframe
 */
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}

/* youtube */
.youtubeIframeWrap {
	width: 70%;
	max-width: 159.993vh;
	position: relative;
}
@media screen and (max-width:768px){
	.youtubeIframeWrap {
		width: 100%;
		max-width: 100%;
		margin: 50px 0;
	}
}
.youtubeIframeWrap:before{
	content: "";
	display: block;
	padding-top: 56.25%;
	z-index: 0;
}
.youtubeIframe{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}


/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 999;
}
/* .header:before {
	content: "";
	background-color: rgba(255,255,255,.6);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
} */
.header__inner {
	-webkit-overflow-scrolling: touch;
	width: min(calc(460 / var(--vw-min) * 100vw), 460px);
	height: 100%;
	overflow-y: auto;
	overscroll-behavior: contain;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1;
}
.headerNav {
	height: 100%;
	position: relative;
}
.headerNav__inner {
	display: flex;
	justify-content: center;
	padding: min(calc(40 / var(--vw-min) * 100vw), 40px);
	position: relative;
}
.headerNav__cont {
	width: 100%;
	padding: min(calc(100 / var(--vw-min) * 100vw), 100px) min(calc(40 / var(--vw-min) * 100vw), 40px) min(calc(200 / var(--vw-min) * 100vw), 200px);
	position: relative;
}
.headerNav__cont:before {
	content: "";
	background-color: var(--color-black);
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
	width: min(calc(150 / var(--vw-min) * 100vw), 150px);
	height: min(calc(64 / var(--vw-min) * 100vw), 64px);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
.headerNav__cont:after {
	content: "";
	background: url(../img/common/logo/logo_icon.svg) no-repeat 0 0 / contain;
	width: min(calc(180 / var(--vw-min) * 100vw), 180px);
	height: min(calc(180 / var(--vw-min) * 100vw), 180px);
	position: absolute;
	bottom: min(calc(10 / var(--vw-min) * 100vw), 10px);
	right: min(calc(10 / var(--vw-min) * 100vw), 10px);
	z-index: 2;
}
@media screen and (max-width:768px){
	.header__inner {
		width: 100%;
	}
	.headerNav__inner {
		padding: calc(12 / var(--vw-min) * 100vw);
	}
	.headerNav__cont {
		padding: calc(94 / var(--vw-min) * 100vw) calc(30 / var(--vw-min) * 100vw) calc(200 / var(--vw-min) * 100vw);
	}
	.headerNav__cont:before {
		border-radius: calc(8 / var(--vw-min) * 100vw);
		width: calc(100 / var(--vw-min) * 100vw);
		height: calc(42 / var(--vw-min) * 100vw);
	}
}

/* navLists */
.header-navLists {
	position: relative;
	z-index: 2;
}
.header-navLists > li {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.header-navLists > li a {
	color: #fff;
	display: block;
	font-family: var(--font-coiny);
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	line-height: 1;
	letter-spacing: -.01em;
	text-decoration: none;
	position: relative;
}
.header-navLists > li a:before {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/icon_deco/deco_star.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/deco_star.svg) no-repeat center / contain;
	width: min(calc(17 / var(--vw-min) * 100vw), 17px);
	height: min(calc(17 / var(--vw-min) * 100vw), 17px);
	position: absolute;
	top: -4%;
	left: 0;
	opacity: 0;
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-navLists > li a:before {
		transition: opacity .3s ease, transform 1s ease;
	}
	.header-navLists > li a:hover:before {
		transform: rotate(360deg);
		opacity: 1;
	}
}
.header-navLists > li a.is-blue:before { background-color: var(--color-blue); }
.header-navLists > li a.is-yellow:before { background-color: var(--color-yellow); }
.header-navLists > li a.is-pink:before { background-color: var(--color-pink); }
.header-navLists > li a.is-green:before { background-color: var(--color-green); }
.header-navLists > li a span {
	display: inline-block;
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-navLists > li a span {
		transition: transform .4s var(--easing-outquart);
	}
	.header-navLists > li a:hover span {
		transform: translateX(1em);
	}
}

/* snsLists */
.header-snsLists {
	margin-top: min(calc(48 / var(--vw-min) * 100vw), 48px);
	position: relative;
	z-index: 2;
}
.header-snsLists > li {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.header-snsLists > li a {
	color: #fff;
	display: flex;
	align-items: center;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-snsLists > li a {
		transition: color .3s ease;
	}
	.header-snsLists > li a:hover {
		color: var(--color-yellow);
	}
}
.header-snsLists > li a:before {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/sns/icon_x.svg) no-repeat center / contain;
	mask: url(../img/common/sns/icon_x.svg) no-repeat center / contain;
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	height: min(calc(22 / var(--vw-min) * 100vw), 22px);
	margin-right: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-snsLists > li a:before {
		transition: background-color .3s ease;
	}
	.header-snsLists > li a:hover:before {
		background-color: var(--color-yellow);
	}
}
@media screen and (max-width:768px){
	.header-snsLists > li a {
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
}

/* menu */
.header-menu {
	width: min(calc(150 / var(--vw-min) * 100vw), 150px);
	height: min(calc(64 / var(--vw-min) * 100vw), 64px);
	position: fixed;
	top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	right: min(calc(40 / var(--vw-min) * 100vw), 40px);
	z-index: 2;
}
.header-menu > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
	position: relative;
	text-decoration: none;
}
.header-menu > a:before {
	content: "MENU";
	color: #fff;
	display: inline-block;
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	line-height: 1;
	letter-spacing: -.01em;
	margin-top: 0.2em;
	position: relative;
	z-index: 1;
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-menu > a:hover {
		animation: kaku 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.header-menu > a:before {
		transition: color .3s ease;
	}
	.header-menu > a:hover:before {
		color: var(--color-yellow);
	}
}
.header-menu > a:after {
	content: "";
	background-color: var(--color-black);
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
@media screen and (max-width:768px){
	.header-menu {
		width: calc(100 / var(--vw-min) * 100vw);
		height: calc(42 / var(--vw-min) * 100vw);
		top: calc(12 / var(--vw-min) * 100vw);
		right: calc(12 / var(--vw-min) * 100vw);
	}
	.header-menu > a {
		padding: 0 calc(14 / var(--vw-min) * 100vw);
	}
	.header-menu > a:before {
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
	.header-menu > a:after {
		border-radius: calc(8 / var(--vw-min) * 100vw);
	}
}

/* line */
.header-menu__line {
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(19 / var(--vw-min) * 100vw), 19px);
	position: relative;
	z-index: 1;
}
.header-menu__line:before,
.header-menu__line:after {
	content: "";
	background-color: #fff;
	border-radius: min(calc(3 / var(--vw-min) * 100vw), 3px);
	width: 100%;
	height: min(calc(3 / var(--vw-min) * 100vw), 3px);
	position: absolute;
}
.header-menu__line > span {
	background-color: #fff;
	border-radius: min(calc(3 / var(--vw-min) * 100vw), 3px);
	width: 100%;
	height: min(calc(3 / var(--vw-min) * 100vw), 3px);
	position: absolute;
}
@media screen and (hover: hover) and (pointer: fine) {
	.header-menu__line:before,
	.header-menu__line:after {
		transition: background-color .3s ease;
	}
	.header-menu__line > span {
		transition: background-color .3s ease;
	}
	.header-menu > a:hover .header-menu__line:before,
	.header-menu > a:hover .header-menu__line:after,
	.header-menu > a:hover .header-menu__line > span {
		background-color: var(--color-yellow);
	}
}
.header-menu__line:before {
	top: 0;
}
.header-menu__line:after {
	bottom: 0;
}
.header-menu__line > span {
	margin: auto;
	top: 0;
	bottom: 0;
}
@media screen and (max-width:768px){
	.header-menu__line {
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(13 / var(--vw-min) * 100vw);
	}
}

/* star */
.header-star {
	background: url(../img/common/icon_deco/deco_footer_star.svg) no-repeat center / contain;
	width: min(calc(112 / var(--vw-min) * 100vw), 112px);
	height: min(calc(112 / var(--vw-min) * 100vw), 112px);
	position: absolute;
	top: min(calc(140 / var(--vw-min) * 100vw), 140px);
	right: min(calc(50 / var(--vw-min) * 100vw), 50px);
	z-index: 2;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.header-star {
		width: calc(87 / var(--vw-min) * 100vw);
		height: calc(87 / var(--vw-min) * 100vw);
		top: calc(130 / var(--vw-min) * 100vw);
		right: calc(40 / var(--vw-min) * 100vw);
	}
}

/* is-active */
.header:before {
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s ease;
}
.header.is-active:before {
	pointer-events: auto;
	opacity: 1;
}
.header__inner {
	transform: translateY(-100%);
}
.header.is-active .header__inner {
	transform: translateY(0);
}
.headerNav__cont:before {
	transition: all .5s var(--easing-outquart);
}
.header.is-active .headerNav__cont:before {
	width: 100%;
	height: 100%;
	border-radius: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.header-navLists,
.header-snsLists {
	opacity: 0;
	transition: opacity .3s ease;
}
.header.is-active .header-navLists,
.header.is-active .header-snsLists {
	opacity: 1;
}
.headerNav__cont:after {
	transform: rotate(120deg);
	opacity: 0;
	transition: opacity .3s ease, transform 1s var(--easing-outquart);
}
.header.is-active .headerNav__cont:after {
	transition-delay: .2s;
	transform: rotate(0);
	opacity: 1;
}
.header-menu {
	transition: transform .3s ease;
}
.header.is-active .header-menu {
	transform: translate(-8%,15%);
}
.header-menu > a.is-active:before {
	content: "CLOSE";
}
.header-menu__line:before,
.header-menu__line:after,
.header-menu__line > span {
	transition: transform .3s ease;
}
.header-menu__line > span {
	transition: transform .3s ease, opacity .3s ease;
}
.header-menu > a.is-active .header-menu__line > span {
	transform: translate(40%);
	opacity: 0;
}
.header-menu > a.is-active .header-menu__line:before {
	transform: rotate(30deg);
	top: 40%;
}
.header-menu > a.is-active .header-menu__line:after {
	transform: rotate(-30deg);
	bottom: 43%;
}
.header-star {
	opacity: 0;
	transition: opacity .3s ease;
}
.header.is-active .header-star {
	opacity: 1;
}
.header-navLists > li,
.header-snsLists > li,
.header-star {
	opacity: 0;
	transform: translateY(1em);
	transition: all .5s var(--easing-easeinoutback);
}
.header.is-active .header-navLists > li,
.header.is-active .header-snsLists > li,
.header.is-active .header-star {
	transition-delay: .3s;
	opacity: 1;
	transform: translateY(0);
}
@media screen and (max-width:768px){
	.header.is-active .headerNav {
		height: calc(100% + 1px);
	}
	.header.is-active .headerNav__cont:before {
		border-radius: calc(20 / var(--vw-min) * 100vw);
	}
	.header-menu > a.is-active {
		transform: translate(-5.33333vw,5.33333vw);
	}
	.header-menu > a.is-active .header-menu__line:before {
		top: 37%;
	}
	.header-menu > a.is-active .header-menu__line:after {
		bottom: 43%;
	}
}

/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer {
	margin-top: auto;
}

/* bnr */
.footer-bnrLists {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(calc(30 / var(--vw-min) * 100vw), 30px);
	width: min(calc(786 / var(--vw-min) * 100vw), 786px);
	margin: min(calc(80 / var(--vw-min) * 100vw), 80px) auto min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.footer-bnrLists > li {
	width: min(calc(242 / var(--vw-min) * 100vw), 242px);
}
.footer-bnrLists > li > a {
	display: block;
	width: 100%;
	overflow: hidden;
}
@media screen and (hover: hover) and (pointer: fine) {
	.footer-bnrLists > li > a:hover {
		animation: kaku 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
}
.footer-bnrLists > li > a img {
	width: 100%;
}
@media screen and (max-width:768px){
	.footer-bnrLists {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: calc(15 / var(--vw-min) * 100vw);
		width: 100%;
		margin: calc(50 / var(--vw-min) * 100vw) auto calc(38 / var(--vw-min) * 100vw);
		padding: 0 calc(24 / var(--vw-min) * 100vw);
	}
	.footer-bnrLists > li {
		width: calc(156 / var(--vw-min) * 100vw);
	}
}

/* bottom */
.footer-bottom {
	padding: min(calc(40 / var(--vw-min) * 100vw), 40px);
	position: relative;
}
.footer-bottom__inner {
	border-radius: min(calc(40 / var(--vw-min) * 100vw), 40px);
	height: calc(100vh - min(calc(80 / var(--vw-min) * 100vw), 80px));
	min-height: min(calc(740 / var(--vw-min) * 100vw), 740px);
	max-height: min(calc(840 / var(--vw-min) * 100vw), 840px);
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.footer-bottom__inner:before {
	content: "";
	background-color: var(--color-black);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.footer__pagetop {
	width: min(calc(76 / var(--vw-min) * 100vw), 76px);
	height: min(calc(85 / var(--vw-min) * 100vw), 85px);
	position: absolute;
	top: 0;
	left: min(calc(80 / var(--vw-min) * 100vw), 80px);
	z-index: 10;
}
.footer__pagetop a {
	background: url(../img/common/icon_deco/pagetop.png) no-repeat 0 0 / 100%;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:768px){
	.footer-bottom {
		overflow: visible;
		overflow-x: clip;
		padding: calc(12 / var(--vw-min) * 100vw);
	}
	.footer-bottom__inner {
		border-radius: calc(20 / var(--vw-min) * 100vw);
		height: auto;
		min-height: auto;
		max-height: none;
		padding-top: calc(50 / var(--vw-min) * 100vw);
	}
	.footer__pagetop {
		width: calc(70 / var(--vw-min) * 100vw);
		height: calc(78 / var(--vw-min) * 100vw);
		left: calc(24 / var(--vw-min) * 100vw);
		top: -6vw;
	}
}

/* cont - flex */
.footer-cont {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding-bottom: min(calc(60 / var(--vw-min) * 100vw), 60px);
	position: relative;
	z-index: 1;
}
.footer-share {
	order: 1;
	position: relative;
}
.footer-hgroup {
	order: 2;
	margin-top: auto;
	padding-left: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.footer-copy {
	order: 3;
	color: #fff;
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
	padding-left: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
@media screen and (max-width:768px){
	.footer-cont {
		padding-bottom: calc(24 / var(--vw-min) * 100vw);
	}
	.footer-share {
		order: 2;
	}
	.footer-hgroup {
		order: 1;
		padding-left: calc(24 / var(--vw-min) * 100vw);
	}
	.footer-copy {
		font-size: calc(10 / var(--vw-min) * 100vw);
		margin-top: calc(24 / var(--vw-min) * 100vw);
		margin-left: calc(24 / var(--vw-min) * 100vw);
		padding-left: 0;
		width: calc(183 / var(--vw-min) * 100vw);
	}
}

/* logo */
.footer-logo {
	width: min(calc(600 / var(--vw-min) * 100vw), 600px);
}
.footer-logo img {
	width: 100%;
}
@media screen and (max-width:768px){
	.footer-logo {
		width: calc(310 / var(--vw-min) * 100vw);
	}
}

/* nav */
.footer-nav {
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.footer-navLists {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.footer-navLists > li {
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	line-height: 1;
	letter-spacing: -.01em;
}
.footer-navLists > li a {
	color: #fff;
	display: block;
	position: relative;
	text-decoration: none;
}
@media screen and (hover: hover) and (pointer: fine) {
	.footer-navLists > li a:hover {
		animation: kaku 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
}
.footer-navLists > li a.is-purple { color: var(--color-purple); }
.footer-navLists > li a.is-blue { color: var(--color-blue); }
.footer-navLists > li a.is-yellow { color: var(--color-yellow); }
.footer-navLists > li a.is-pink { color: var(--color-pink); }
.footer-navLists > li a.is-green { color: var(--color-green); }
@media screen and (max-width:768px){
	.footer-nav {
		margin-top: calc(30 / var(--vw-min) * 100vw);
		padding-right: calc(24 / var(--vw-min) * 100vw);
	}
	.footer-navLists {
		gap: calc(12 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw);
	}
	.footer-navLists > li {
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
}

/* share */
.footer-share {
	display: flex;
	align-items: center;
	height: min(calc(135 / var(--vw-min) * 100vw), 135px);
	margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.footer-share:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 100%;
	background: url(../img/common/icon_deco/deco_share_text.svg) repeat-x 0 0 / auto 100%;
	animation: mv-text1 30s linear infinite;
	z-index: 1;
}
@keyframes mv-text1 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: max(calc(-1275 / var(--vw-min) * 100vw),-1275px) 0;
	}
}
.footer-shareLists {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	width: min(calc(280 / var(--vw-min) * 100vw), 280px);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.footer-shareLists > li {
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	height: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
	.footer-share:before {
		top: -6.93333vw;
	}
	.footer-share {
		height: calc(56 / var(--vw-min) * 100vw);
		margin-top: calc(200 / var(--vw-min) * 100vw);
	}
	.footer-shareLists {
		width: calc(170 / var(--vw-min) * 100vw);
		gap: calc(10 / var(--vw-min) * 100vw);
		margin: 0;
		padding-left: calc(24 / var(--vw-min) * 100vw);
	}
	.footer-shareLists > li {
		width: calc(50 / var(--vw-min) * 100vw);
		height: calc(50 / var(--vw-min) * 100vw);
	}
}
.footer-shareLists > li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
}
@media screen and (hover: hover) and (pointer: fine) {
	.footer-shareLists > li a {
		transition: transform .6s var(--easing-outquart);
	}
	.footer-shareLists > li a:hover {
		transform: scale(0.94);
	}
}
.footer-shareLists > li a:before {
	content: "";
	background: url() no-repeat 0 0 / 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	animation: rotate 20s ease infinite;
}
.footer-shareLists > li.is-x a:before { background-image: url(../img/common/icon_deco/icon_frame_x.svg); }
.footer-shareLists > li.is-facebook a:before { background-image: url(../img/common/icon_deco/icon_frame_fb.svg); }
.footer-shareLists > li.is-line a:before { background-image: url(../img/common/icon_deco/icon_frame_line.svg); }
.footer-shareLists > li a:after {
	content: "";
	background-color: #fff;
	-webkit-mask: url() no-repeat center / contain;
	mask: url() no-repeat center / contain;
	margin: auto;
	width: min(calc(28 / var(--vw-min) * 100vw), 28px);
	height: min(calc(28 / var(--vw-min) * 100vw), 28px);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.footer-shareLists > li.is-x a:after { -webkit-mask-image: url(../img/common/sns/icon_x.svg); mask-image: url(../img/common/sns/icon_x.svg); width: min(calc(24 / var(--vw-min) * 100vw), 24px); height: min(calc(24 / var(--vw-min) * 100vw), 24px); }
.footer-shareLists > li.is-facebook a:after { -webkit-mask-image: url(../img/common/sns/icon_facebook.svg); mask-image: url(../img/common/sns/icon_facebook.svg); }
.footer-shareLists > li.is-line a:after { -webkit-mask-image: url(../img/common/sns/icon_line.svg); mask-image: url(../img/common/sns/icon_line.svg); }
@media screen and (max-width:768px){
	.footer-shareLists > li a:after {
		width: calc(18 / var(--vw-min) * 100vw);
		height: calc(18 / var(--vw-min) * 100vw);
	}
	.footer-shareLists > li.is-x a:after {
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(16 / var(--vw-min) * 100vw);
	}
}

/* img */
.footer-bottom__img {
	width: 36.1%;
	height: 93.3%;
	pointer-events: none;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.footer-bottom__img:before {
	content: "";
	background: url(../img/common/icon_deco/footer_chara.png) no-repeat center bottom / contain;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.footer-bottom__star {
	background: url(../img/common/icon_deco/deco_footer_star.svg) no-repeat center / contain;
	width: min(calc(112 / var(--vw-min) * 100vw), 112px);
	height: min(calc(112 / var(--vw-min) * 100vw), 112px);
	position: absolute;
	bottom: 50%;
	left: -6%;
	z-index: 2;
}
@media screen and (max-width:768px){
	.footer-bottom__img {
		width: 67%;
		right: -8vw;
	}
	.footer-bottom__star {
		width: calc(72 / var(--vw-min) * 100vw);
		height: calc(72 / var(--vw-min) * 100vw);
		bottom: 42%;
		left: -14%;
	}
}

/* pagetop */
.pagetop {
	display: flex;
	align-items: center;
	position: fixed;
	width: min(calc(180 / var(--vw-min) * 100vw), 180px);
	height: min(calc(120 / var(--vw-min) * 100vw), 120px);
	position: fixed;
	bottom: 0;
	left: min(calc(20 / var(--vw-min) * 100vw), 20px);
	z-index: 100;
	pointer-events: none;
	transform: translateY(100%);
	transition: transform .6s var(--easing-easeinoutback);
}
#sub .pagetop {
	position: absolute;
	bottom: auto;
	top: max(-18px, -1.3473vw);
	left: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.pagetop.is-show {
	transform: translateY(0);
}
.pagetop > a {
	border-radius: 50%;
	display: block;
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	height: min(calc(80 / var(--vw-min) * 100vw), 80px);
	pointer-events: auto;
	padding: min(calc(8 / var(--vw-min) * 100vw), 8px);
	position: relative;
	transition: transform .6s ease, background-color .3s ease;
}
.pagetop.is-footer > a {
	background-color: #fff;
	transform: translateX(80%) rotate(360deg);
}
#sub .pagetop > a {
	background-color: #fff;
}
@media screen and (max-width:768px){
	.pagetop {
		width: calc(100 / var(--vw-min) * 100vw);
		height: calc(80 / var(--vw-min) * 100vw);
		left: calc(12 / var(--vw-min) * 100vw);
	}
	#sub .pagetop {
		top: -8vw;
		left: calc(30 / var(--vw-min) * 100vw);
	}
	.pagetop.is-footer {
		height: calc(60 / var(--vw-min) * 100vw);
	}
	.pagetop > a {
		width: min(calc(60 / var(--vw-min) * 100vw), 60px);
		height: min(calc(60 / var(--vw-min) * 100vw), 60px);
		padding: calc(6 / var(--vw-min) * 100vw);
	}
	.pagetop.is-footer > a {
		transform: translateX(40%) rotate(360deg);
	}
}
.pagetop > a:before {
	content: "";
	background-color: var(--color-black);
	border-radius: 50%;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.pagetop > a:after {
	content: "";
	background-color: var(--color-black);
	-webkit-mask: url(../img/common/icon_deco/icon_pagetop.svg) no-repeat center top / contain;
	mask: url(../img/common/icon_deco/icon_pagetop.svg) no-repeat center top / contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: -10%;
	left: 0;
	z-index: 2;
}
.pagetop > a > span {
	background-color: var(--color-blue);
	-webkit-mask: url(../img/common/icon_deco/deco_foot.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/deco_foot.svg) no-repeat center / contain;
	width: min(calc(32 / var(--vw-min) * 100vw), 32px);
	height: min(calc(28 / var(--vw-min) * 100vw), 28px);
	margin: auto;
	position: absolute;
	top: -2%;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
@media screen and (max-width:768px){
	.pagetop > a > span {
		width: calc(28 / var(--vw-min) * 100vw);
		height: calc(28 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover: hover) and (pointer: fine) {
	.pagetop > a > span {
		transition: background-color .3s ease;
	}
	.pagetop > a:hover > span {
		animation: kaku 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
		background-color: var(--color-yellow);
	}
}

/*-----------------------------------------------
 * Parts
-------------------------------------------------*/
/* sec-title */
.sec-title {
	display: flex;
	justify-content: center;
	width: var(--common-in-width);
	max-width: var(--common-in-maxwidth);
	margin: 0 auto;
	position: relative;
}
.sec-title.is-hor {
	justify-content: flex-start;
}
.sec-title.is-hor.is-sub {
	flex-direction: column-reverse;
	justify-content: flex-end;
	flex-shrink: 0;
	width: auto;
	max-width: none;
	margin: 0;
}
.sec-title.is-center {
	align-items: center;
	flex-direction: column;
}
@media screen and (max-width:768px){
	.sec-title {
		justify-content: flex-start;
	}
	.sec-title.is-hor.is-sub {
		flex-direction: row;
		justify-content: flex-start;
		width: var(--common-in-width);
		max-width: var(--common-in-maxwidth);
		margin: 0 auto;
	}
}
.sec-title:before {
	content: "BUNGO STRAY DOGS WAN ! TWO";
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	letter-spacing: -.01em;
	line-height: min(calc(28 / var(--vw-min) * 100vw), 28px);
	position: absolute;
	top: 1em;
	left: 0;
	width: min(calc(191 / var(--vw-min) * 100vw), 191px);
}
.sec-title.is-hor:before {
	text-align: right;
	left: auto;
	right: 0;
}
.sec-title.is-hor.is-sub:before {
	text-align: left;
	position: relative;
	top: 2em;
}
.sec-title.is-center:before {
	text-align: center;
	position: relative;
	top: auto;
	left: auto;
}
@media screen and (max-width:768px){
	.sec-title:before {
		text-align: right;
		left: auto;
		right: 0;
		font-size: calc(10 / var(--vw-min) * 100vw);
		line-height: calc(14 / var(--vw-min) * 100vw);
		width: calc(107 / var(--vw-min) * 100vw);
	}
	.sec-title.is-hor.is-sub:before {
		position: absolute;
		text-align: right;
		left: auto;
		right: 0;
		top: 1em;
	}
}
.sec-title__title {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec-title.is-hor .sec-title__title {
	align-items: flex-start;
}
.sec-title__title--en {
	font-family: var(--font-coiny);
	font-size: min(calc(100 / var(--vw-min) * 100vw), 100px);
	letter-spacing: -.01em;
	line-height: 1;
	position: relative;
}
@media screen and (max-width:768px){
	.sec-title .sec-title__title {
		align-items: flex-start;
	}
	.sec-title.is-center .sec-title__title {
		align-items: center;
	}
	.sec-title__title--en {
		font-size: calc(50 / var(--vw-min) * 100vw);
	}
}
.sec-title__title--en.is-yellow { color: var(--color-yellow); }
.sec-title__title--en.is-pink { color: var(--color-pink); }
.sec-title__title--en.is-green { color: var(--color-green); }
.sec-title__title--en:before {
	content: "";
	-webkit-mask: url(../img/common/icon_deco/deco_foot.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/deco_foot.svg) no-repeat center / contain;
	width: min(calc(86 / var(--vw-min) * 100vw), 86px);
	height: min(calc(71 / var(--vw-min) * 100vw), 71px);
	position: absolute;
	top: -0.5em;
	right: -0.4em;
	z-index: 1;
}
@media screen and (max-width:768px){
	.sec-title__title--en:before {
		width: calc(51 / var(--vw-min) * 100vw);
		height: calc(51 / var(--vw-min) * 100vw);
		top: -0.7em;
		right: -0.5em;
	}
	.sec-title__title.is-row-sp .sec-title__title--en:before {
		top: auto;
		right: 0.2em;
		bottom: 0.1em;
	}
	.sec-title__title--en.is-comic-sp:before {
		right: -0.2em;
	}
}
.sec-title__title--en.is-yellow:before { background-color: #FFD86E; }
.sec-title__title--en.is-pink:before { background-color: #FFBFDB; }
.sec-title__title--en.is-green:before { background-color: #ABE970; }
.sec-title__title--en:after {
	content: attr(data-sectitle);
	position: absolute;
	bottom: -0.06em;
	left: 0;
	z-index: 1;
}
.sec-title__title--en.is-yellow:after { color: #FFD86E; }
.sec-title__title--en.is-pink:after { color: #FFBFDB; }
.sec-title__title--en.is-green:after { color: #ABE970; }
.sec-title__title--en > span {
	position: relative;
	z-index: 2;
}
@media screen and (max-width:768px){
	.sec-title__title.is-row-sp .sec-title__title--en,
	.sec-title__title.is-row-sp .sec-title__title--en:after {
		width: calc(210 / var(--vw-min) * 100vw);
	}
}
.sec-title__title--ja {
	font-size: min(calc(26 / var(--vw-min) * 100vw), 26px);
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1;
}
@media screen and (max-width:768px){
	.sec-title__title--ja {
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
}

/* moreLink */
.moreLink {
	width: min(calc(300 / var(--vw-min) * 100vw), 300px);
	height: min(calc(60 / var(--vw-min) * 100vw), 60px);
	position: relative;
}
.moreLink > a {
	background-color: #fff;
	border-radius: min(calc(60 / var(--vw-min) * 100vw), 60px);
	border: min(calc(2 / var(--vw-min) * 100vw), 2px) solid var(--color-black);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	text-decoration: none;
	padding: 0 min(calc(12 / var(--vw-min) * 100vw), 12px) 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.moreLink.is-back > a {
	flex-direction: row-reverse;
	padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px) 0 min(calc(12 / var(--vw-min) * 100vw), 12px);
}
@media screen and (hover: hover) and (pointer: fine) {
	.moreLink > a {
		transition: background-color .3s ease;
	}
	.moreLink > a:hover {
		background-color: var(--color-black);
	}
}
.moreLink__text {
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	line-height: 1;
	letter-spacing: -.01em;
	margin-top: 0.2em;
	position: relative;
	z-index: 1;
}
@media screen and (hover: hover) and (pointer: fine) {
	.moreLink__text {
		transition: color .3s ease;
	}
	.moreLink > a:hover .moreLink__text {
		color: #fff;
	}
}
.moreLink__icon {
	background-color: var(--color-black);
	border-radius: 50%;
	display: block;
	width: min(calc(36 / var(--vw-min) * 100vw), 36px);
	height: min(calc(36 / var(--vw-min) * 100vw), 36px);
	overflow: hidden;
	position: relative;
}
.moreLink__icon:before,
.moreLink__icon:after {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/icon_deco/icon_arrow.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/icon_arrow.svg) no-repeat center / contain;
	width: min(calc(14 / var(--vw-min) * 100vw), 14px);
	height: min(calc(11 / var(--vw-min) * 100vw), 11px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.moreLink__icon:after {
	transform: translateX(-200%);
}
.moreLink.is-back .moreLink__icon:before,
.moreLink.is-back .moreLink__icon:after {
	-webkit-mask-image: url(../img/common/icon_deco/icon_arrow_l.svg);
	mask-image: url(../img/common/icon_deco/icon_arrow_l.svg);
}
.moreLink.is-back .moreLink__icon:after {
	transform: translateX(200%);
}
@media screen and (hover: hover) and (pointer: fine) {
	.moreLink__icon:before,
	.moreLink__icon:after {
		transition: transform .3s var(--easing-outquart), opacity .3s ease;
	}
	.moreLink > a:hover .moreLink__icon:before {
		transform: translateX(200%);
		opacity: 0;
	}
	.moreLink.is-back > a:hover .moreLink__icon:before {
		transform: translateX(-200%);
		opacity: 0;
	}
	.moreLink > a:hover .moreLink__icon:after {
		transform: translateX(0);
		opacity: 1;
	}
}
@media screen and (max-width:768px){
	.moreLink {
		width: calc(242 / var(--vw-min) * 100vw);
		height: calc(46 / var(--vw-min) * 100vw);
	}
	.moreLink.is-back {
		width: calc(240 / var(--vw-min) * 100vw);
	}
	.moreLink > a {
		padding: 0 calc(10 / var(--vw-min) * 100vw) 0 calc(20 / var(--vw-min) * 100vw);
	}
	.moreLink.is-back > a {
		padding: 0 calc(20 / var(--vw-min) * 100vw) 0 calc(10 / var(--vw-min) * 100vw);
	}
	.moreLink__text {
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
	.moreLink__icon {
		width: calc(30 / var(--vw-min) * 100vw);
		height: calc(30 / var(--vw-min) * 100vw);
	}
	.moreLink__icon:before {
		width: calc(12 / var(--vw-min) * 100vw);
		height: calc(8 / var(--vw-min) * 100vw);
	}
}

/* link-a */
.link-a {
	display: inline-block;
	position: relative;
}
.link-a > a {
	background-color: #fff;
	border-radius: min(calc(60 / var(--vw-min) * 100vw), 60px);
	border: min(calc(2 / var(--vw-min) * 100vw), 2px) solid var(--color-black);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: min(calc(60 / var(--vw-min) * 100vw), 60px);
	text-decoration: none;
	padding: 0 min(calc(12 / var(--vw-min) * 100vw), 12px) 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.link-a__text {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 800;
	line-height: 1.4;
	margin-right: .8em;
	position: relative;
	z-index: 1;
}
@media screen and (hover: hover) and (pointer: fine) {
	.link-a > a {
		transition: background-color .3s ease;
	}
	.link-a > a:hover {
		background-color: var(--color-black);
	}
	.link-a__text {
		transition: color .3s ease;
	}
	.link-a > a:hover .link-a__text {
		color: #fff;
	}
}
.link-a__icon {
	background-color: var(--color-black);
	border-radius: 50%;
	display: block;
	width: min(calc(36 / var(--vw-min) * 100vw), 36px);
	height: min(calc(36 / var(--vw-min) * 100vw), 36px);
	flex-shrink: 0;
	position: relative;
}
.link-a__icon:before {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/icon_deco/icon_blank.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/icon_blank.svg) no-repeat center / contain;
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(24 / var(--vw-min) * 100vw), 24px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
@media screen and (max-width:768px){
	.link-a__text {
		font-size: calc(13 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * sub_page
-------------------------------------------------*/
/* sub-header */
.sub-header {
	display: flex;
	align-items: center;
	width: var(--common-in-width);
	max-width: var(--common-in-maxwidth);
	height: min(calc(300 / var(--vw-min) * 100vw), 300px);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.sub-header__logo {
	width: min(calc(480 / var(--vw-min) * 100vw), 480px);
}
.sub-header__logo img {
	width: 100%;
}
.sub-header:before {
	content: "";
	background: url(../img/common/icon_deco/deco_chara_head.png) no-repeat 0 0 / contain;
	width: min(calc(370 / var(--vw-min) * 100vw), 370px);
	height: min(calc(441 / var(--vw-min) * 100vw), 441px);
	position: absolute;
	top: min(calc(8 / var(--vw-min) * 100vw), 8px);
	right: 10%;
}
@media screen and (max-width:768px){
	.sub-header {
		align-items: flex-start;
		height: calc(200 / var(--vw-min) * 100vw);
		padding-top: calc(24 / var(--vw-min) * 100vw);
	}
	.sub-header__logo {
		width: calc(220 / var(--vw-min) * 100vw);
	}
	.sub-header:before {
		background-image: url(../img/common/icon_deco/deco_chara_head_sp.png);
		width: calc(206 / var(--vw-min) * 100vw);
		height: calc(252 / var(--vw-min) * 100vw);
		top: calc(40 / var(--vw-min) * 100vw);
		right: -6.4vw;
	}
}

/* sub-chara-bg */
.sub-chara-bg {
	width: 100%;
	height: calc(100% - min(calc(240 / var(--vw-min) * 100vw), 240px));
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	pointer-events: none;
}
.sub-chara-bg__inner {
	width: 100%;
	height: 100vh;
	min-height: min(calc(768 / var(--vw-min) * 100vw), 768px);
	max-height: 100%;
	position: sticky;
	top: 0;
}
.sub-chara-bg__inner:before {
	content: "";
	background: url(../img/common/icon_deco/deco_chara_foot.png) no-repeat center bottom / contain;
	width: min(calc(274 / var(--vw-min) * 100vw), 274px);
	height: 100%;
	position: absolute;
	top: 0;
	left: -2vw;
	z-index: 2;
}
.sub-chara-bg__inner:after {
	content: "";
	background: url(../img/common/icon_deco/deco_chara_foot_bg.svg) no-repeat center bottom / contain;
	width: min(calc(660 / var(--vw-min) * 100vw), 660px);
	height: 100%;
	position: absolute;
	top: 0;
	left: -2vw;
	z-index: 1;
}
@media screen and (max-width:768px){
	.sub-chara-bg {
		height: calc(247 / var(--vw-min) * 100vw);
		top: auto;
		bottom: 0;
		z-index: 3;
	}
	.sub-chara-bg__inner {
		height: auto;
		min-height: auto;
		position: absolute;
	}
	.sub-chara-bg__inner:before {
		width: calc(146 / var(--vw-min) * 100vw);
		height: calc(247 / var(--vw-min) * 100vw);
		left: -10vw;
	}
	.sub-chara-bg__inner:after {
		content: none;
	}
}

/* pagenavs */
.pagenavs {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
	position: relative;
	z-index: 1;
}
@media screen and (max-width:768px){
	.pagenavs {
		flex-direction: column-reverse;
		margin-top: calc(40 / var(--vw-min) * 100vw);
		width: 50%;
		margin-left: 50%;
	}
}

/* pagenavs-np */
.pagenavs-np {
	width: min(calc(180 / var(--vw-min) * 100vw), 180px);
	height: min(calc(60 / var(--vw-min) * 100vw), 60px);
	position: relative;
}
.pagenavs-np.is-hidden {
	opacity: .6;
	pointer-events: none;
}
.pagenavs-np > a {
	background-color: #fff;
	border-radius: min(calc(60 / var(--vw-min) * 100vw), 60px);
	border: min(calc(2 / var(--vw-min) * 100vw), 2px) solid var(--color-black);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	text-decoration: none;
	padding: 0 min(calc(12 / var(--vw-min) * 100vw), 12px) 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.pagenavs-np.is-prev > a {
	flex-direction: row-reverse;
	padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px) 0 min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.pagenavs-np > a span.-text {
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	line-height: 1;
	letter-spacing: -.01em;
	margin-top: 0.2em;
	position: relative;
	z-index: 1;
}
.pagenavs-np > a span.-icon {
	background-color: var(--color-black);
	border-radius: 50%;
	display: block;
	width: min(calc(36 / var(--vw-min) * 100vw), 36px);
	height: min(calc(36 / var(--vw-min) * 100vw), 36px);
	position: relative;
	flex-shrink: 0;
}
.pagenavs-np > a span.-icon:before {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/icon_deco/icon_arrow.svg) no-repeat center / contain;
	mask: url(../img/common/icon_deco/icon_arrow.svg) no-repeat center / contain;
	width: min(calc(14 / var(--vw-min) * 100vw), 14px);
	height: min(calc(11 / var(--vw-min) * 100vw), 11px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.pagenavs-np.is-prev span.-icon:before {
	-webkit-mask-image: url(../img/common/icon_deco/icon_arrow_l.svg);
	mask-image: url(../img/common/icon_deco/icon_arrow_l.svg);
}
@media screen and (max-width:768px){
	.pagenavs-np {
		width: calc(120 / var(--vw-min) * 100vw);
		height: calc(46 / var(--vw-min) * 100vw);
		margin-left: auto;
	}
	.pagenavs-np.is-prev {
		margin-left: 0;
		margin-top: calc(14 / var(--vw-min) * 100vw);
	}
	.pagenavs-np > a {
		padding: 0 calc(8 / var(--vw-min) * 100vw) 0 calc(14 / var(--vw-min) * 100vw);
	}
	.pagenavs-np.is-prev > a {
		padding: 0 calc(14 / var(--vw-min) * 100vw) 0 calc(8 / var(--vw-min) * 100vw);
	}
	.pagenavs-np > a span.-icon {
		width: calc(30 / var(--vw-min) * 100vw);
		height: calc(30 / var(--vw-min) * 100vw);
	}
	.pagenavs-np > a span.-icon:before {
		width: calc(12 / var(--vw-min) * 100vw);
		height: calc(8 / var(--vw-min) * 100vw);
	}
	.pagenavs-np > a span.-text {
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
}

/* pagenav-num */
.pagenav-num {
	display: flex;
	align-items: center;
	gap: 0 min(calc(5 / var(--vw-min) * 100vw), 5px);
}
@media screen and (max-width:768px){
	.pagenav-num {
		display: none;
	}
}
.pagenav-num > li {
	width: min(calc(50 / var(--vw-min) * 100vw), 50px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.pagenav-num > li a {
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	text-decoration: none;
}
.pagenav-num > li.is-current a {
	background-color: #fff;
}
.pagenav-num > li a > span {
	font-family: var(--font-coiny);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	line-height: 1;
	letter-spacing: -.01em;
	margin-top: 0.2em;
}
