@charset "utf-8";
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;}
/*-----------------------------------------------
 * Bace
 * Modal
 * Header
 * Parts
-------------------------------------------------*/
:root{
	/* COLOR */
	--color-main: #ff5987;
	--color-white: #ffffff;
	--color-black: #000000;

	/* FONT */
	--font-ja: "Noto Sans JP", sans-serif;
	--font-en: "Lexend", sans-serif;
	--font-serif: "Noto Serif JP", serif;

	/* SIZE */
	--vw-min: 1366;
	--vh-min: 768;
	--max-percent: 1.4056;
}

@media screen and (max-width:768px){
	:root{
		/* size */
		--vw-min: 750;
		--vh-min: 1314;
		--max-percent: 1;
	}
}



/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	font-family: var(--font-ja);
	font-feature-settings: "palt";
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #6ccfee;
	color: #fff;
}
::-moz-selection{
	background: #6ccfee;
	color:#fff;
}
@media screen and (max-width:768px){ 
	html{ 
		font-size: 62.5%;
	}
	body{
		font-size: 10px; 
		font-size: 1rem;
		min-width: 320px;
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

#fullWrap{
	width: 100%;
	position: relative;
}

/* ScrollBar Setting */
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
  border-radius: 4px;
  background: #EFE9EA;
}
::-webkit-scrollbar-thumb {
	background: #ff5987;
	border-radius: 2px;
	margin: 2px;
	box-shadow: none;
}
/* firefox Only Scrollbar */
@-moz-document url-prefix() {
	html{
		scrollbar-color: #ff5987 #EFE9EA;
		scrollbar-width: thin;
	}
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/

/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(255,255,255,100%) url(../img/common/bg_modal.jpg) no-repeat center / cover;
	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;
}

/* 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: min(calc(64 / var(--vw-min) * 100vw), 64px) 0;
}
@media screen and (max-width:768px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: calc(120 / var(--vw-min) * 100vw) 0;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	position: absolute;
	top: 0;
	right: 0;
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	height: min(calc(36 / var(--vw-min) * 100vw), 36px);
	margin-top: min(calc(32 / var(--vw-min) * 100vw), 32px);
	margin-right: min(calc(28 / var(--vw-min) * 100vw), 28px);
	z-index: 2;
}
.btn_closeBtn{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn_closeBtn--line{
	position: relative;
	width: 100%;
	height: 2px;
}
.btn_closeBtn--line:before,
.btn_closeBtn--line:after{
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-main);
}
.btn_closeBtn--line:before{
	transform: rotate(25deg);
}
.btn_closeBtn--line:after{
	transform: rotate(-25deg);
}

@media screen and (max-width:768px){
	.closeBtn{
		width: calc(80 / var(--vw-min) * 100vw);
		height: calc(36 / var(--vw-min) * 100vw);
		margin-top: calc(32 / var(--vw-min) * 100vw);
		margin-right: calc(28 / var(--vw-min) * 100vw);
	}
	.btn_closeBtn--line{
		height: calc(4 / var(--vw-min) * 100vw);
	}
}




/**
 * 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%;
	}
}
.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: absolute;
    top: 0;
    bottom: 0;
	z-index: 999;
    pointer-events: none;
}
.headerCont{
	position: sticky;
	top: 0;
	right: 0;
	width: 100%;
	height: min(100vh, 100%);
	height: min(100dvh, 100%);
}


/* inner */
.header__inner {
	-webkit-overflow-scrolling: touch;
	width: calc(100% - min(calc(80 / var(--vw-min) * 100vw), 80px));
	overflow: auto;
	position: absolute;
	top: 0;
	right: min(calc(80 / var(--vw-min) * 100vw), 80px);
	bottom: 0;
	padding: 0;
	opacity: 0;
	pointer-events: none;
	z-index: 2;
	overscroll-behavior: contain;
	transition: opacity .2s ease-in-out;
}
.header.is-active .header__inner {
	opacity: 1;
	pointer-events: auto;
}

.header__innerCont{
	width: 100%;
	min-height: 100%;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.header__innerCont:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 0%;
	transition: width .25s ease;
	background-color: #FFF;
}
.header.is-active .header__innerCont:before{
	width: 100%;
	transition-delay: .15s;
}

.header__innerContIn{
	width: calc(780 / var(--vw-min) * 100vw);
	max-width: 100%;
	position: relative;
	padding: min(calc(80 / var(--vw-min) * 100vw), 80px) 0;
	margin-left: auto;
	z-index: 1;
}
.header__innerContIn__cont{
	width: min(calc(712 / var(--vw-min) * 100vw), 712px);
	position: relative;
}

@media screen and (max-width:768px){
	.header__inner {
		width: 100%;
		right: 0;
	}
	.header__innerContIn{
		width: 100%;
		padding: calc(360 / var(--vw-min) * 100vw) calc(96 / var(--vw-min) * 100vw);
	}
	.header__innerContIn__cont{
		width: 100%;
	}
}



/**
 * headerNav
 */
.headerNav {
	position: relative;
	z-index: 1;
}
.navLists{
	display: flex;
	flex-wrap: wrap;
	column-gap: min(calc(8 / var(--vw-min) * 100vw), 8px);
	row-gap: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.navList__link{
	display: block;
	font-family: var(--font-en);
	font-weight: 600;
	font-size: min(calc(40 / var(--vw-min) * 100vw), 40px);
	color: var(--color-black);
	line-height: 0.8;
	letter-spacing: 0;
	padding: min(calc(8 / var(--vw-min) * 100vw), 8px) min(calc(8 / var(--vw-min) * 100vw), 8px) min(calc(8 / var(--vw-min) * 100vw), 8px) min(calc(32 / var(--vw-min) * 100vw), 32px);
	position: relative;
	text-decoration: none;
	background: linear-gradient(var(--color-black), var(--color-black)) right bottom / 0 100% no-repeat;
	transition: background-size 0.35s, color .3s ease .05s;
}
.navList__link:before{
	content: '';
	position: absolute;
	top: 0;
	left: min(calc(8 / var(--vw-min) * 100vw), 8px);
	bottom: 0;
	width: min(calc(14 / var(--vw-min) * 100vw), 14px);
	height: min(calc(26 / var(--vw-min) * 100vw), 26px);
	margin: auto 0;
	-webkit-mask: url(../img/common/triangle_r.svg) no-repeat center / contain;
	mask: url(../img/common/triangle_r.svg) no-repeat center / contain;
	background-color: var(--color-main);
	transform: translateX(-25%);
	opacity: 0;
	transition: opacity .25s ease, transform .3s ease .075s;
}

@media screen and (hover:hover) and (pointer: fine){
	.navList__link:hover{
		background-size: 100% 100%;
		background-position: left bottom;
		color: #FFF;
	}
	.navList__link:hover::before{
		transform: translateX(0%);
		opacity: 1;
	}
}

.navList__link.--is-active{
	background-size: 100% 100%;
	background-position: left bottom;
	color: var(--color-main);
}
.navList__link.--is-active:before{
	transform: translateX(0%);
	opacity: 1;
}


@media screen and (max-width:768px){
	.navLists{
		flex-direction: column;
		align-items: flex-start;
		row-gap: calc(32 / var(--vw-min) * 100vw);
	}
	.navList__link{
		font-size: calc(48 / var(--vw-min) * 100vw);
		padding: calc(10 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) calc(10 / var(--vw-min) * 100vw) calc(44 / var(--vw-min) * 100vw);
	}
	.navList__link:before{
		left: calc(8 / var(--vw-min) * 100vw);
		width: calc(24 / var(--vw-min) * 100vw);
		height: calc(44 / var(--vw-min) * 100vw);
	}

	.navList_sns .navList__link--txt{
		display: inline-flex;
		align-items: center;
	}

	.nav_snsIcon{
		display: inline-block;
		width: calc(48 / var(--vw-min) * 100vw);
		height: calc(48 / var(--vw-min) * 100vw);
		margin-left: calc(12 / var(--vw-min) * 100vw);
		position: relative;
	}
	.nav_snsIcon:before{
		content: '';
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: contain;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		background-color: #000;
	}
	.nav_snsIcon._x:before{
		-webkit-mask-image: url(../img/common/icon_tw.svg);
		mask-image: url(../img/common/icon_tw.svg);
	}
}

.headerNav,
.header__shareLists{
	transform: translateY(min(calc(64 / var(--vw-min) * 100vw), 64px));
	opacity: 0;
	transition: opacity .3s ease, transform .35s ease;
}
header.is-active .headerNav{
	opacity: 1;
	transform: translateY(0%);
	transition-delay: .5s;
}
header.is-active .header__shareLists{
	opacity: 1;
	transform: translateY(0%);
	transition-delay: 0.55s;
}



.header__shareLists{
	display: flex;
	align-items: center;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	padding-left: min(calc(32 / var(--vw-min) * 100vw), 32px);
	margin-top: min(calc(56 / var(--vw-min) * 100vw), 56px);
}
.header__shareLists--dt{
	font-weight: 500;
	line-height: 1;
}

@media screen and (max-width:768px){
	.header__shareLists{
		padding-left: calc(44 / var(--vw-min) * 100vw);
		margin-top: calc(80 / var(--vw-min) * 100vw);
		gap: calc(24 / var(--vw-min) * 100vw);
	}
}


/**
 * header__innerBg
 **/
.header__innerBg{
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.header__innerBg:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(98 / var(--vw-min) * 100vw), 98px);
	background: url(../img/common/deco_header-txt.svg) no-repeat left top / contain;
	margin-top: min(calc(14 / var(--vw-min) * 100vw), 14px);
	margin-left: min(calc(14 / var(--vw-min) * 100vw), 14px);
}
.header__innerBg--color{
	position: absolute;
	inset: 0;
	width: min(calc(544 / var(--vw-min) * 100vw), calc(544px * var(--max-percent)));
	margin: 0 auto;
	background: linear-gradient(var(--color-main), var(--color-main)) center bottom / 100% 0% no-repeat;
}
.header__innerBg--img{
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.header__innerBg--imgIn{
	position: absolute;
	top: calc(-147 / var(--vw-min) * 100vw);
	left: calc(-57 / var(--vw-min) * 100vw);
	width: calc(2743 / var(--vw-min) * 100vw);
	height: calc(1837 / var(--vw-min) * 100vw);
	background: url(../img/common/bg_header.png) no-repeat left center / cover;
	min-width: 100%;
	min-height: calc(100vh + (147 / var(--vw-min) * 100vw));
}

@media screen and (max-width:768px){
	.header__innerBg:before{
		margin-top: calc(12 / var(--vw-min) * 100vw);
		margin-left: calc(12 / var(--vw-min) * 100vw);
		width: calc(36 / var(--vw-min) * 100vw);
		height: calc(152 / var(--vw-min) * 100vw);
	}
	.header__innerBg--color{
		width: calc(300 / var(--vw-min) * 100vw);
	}
	.header__window--decos{
		left: 0;
		margin: 0 auto;
	}

	.header__innerBg--imgIn{
		width: calc(2380 / var(--vw-min) * 100vw);
		height: calc(1594 / var(--vw-min) * 100vw);
		top: calc(-114 / var(--vw-min) * 100vw);
		left: calc(22 / var(--vw-min) * 100vw);
		min-width: 100%;
		min-height: calc(100vh + (114 / var(--vw-min) * 100vw));
	}
	.header__innerBg--img:after{
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 90%;
		background: linear-gradient(0deg,rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	}
}


.header__innerBg--color{
	transition: background-size .3s cubic-bezier(.35,.15,.3,1);
}
header.is-active .header__innerBg--color{
	background-size: 100% 100%;
	background-position: center top;
	transition-delay: .35s;
}

.header__innerBg--imgIn{
	transform: translateX(50%);
	transition: transform .6s cubic-bezier(.23,.2,.16,1);
}
header.is-active .header__innerBg--imgIn{
	transform: translateX(0%);
	transition-delay: .4s;
}

.header__innerBg:before{
	transform: translateX(-150%);
	opacity: 0;
	transition: transform .35s cubic-bezier(.35,.15,.3,1), opacity .2s ease;
}
header.is-active .header__innerBg:before{
	opacity: 1;
	transform: translateX(0%);
	transition-delay: .5s, .5s;
}


/**
 * header__side
 */
.header__side{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	background-color: var(--color-main);
	display: flex;
	align-items: center;
}
.header__navBtn{
	position: relative;
	width: 100%;
	padding-top: 100%;
}
.btn_navBtn{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-black);
	pointer-events: auto;
}
.btn_navBtn--lines{
	position: relative;
	width: min(calc(32 / var(--vw-min) * 100vw), 32px);
	height: 10px;
}
.btn_navBtn--line{
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	background-color: #fff;
	transition: .4s ease;
}
.btn_navBtn--line:nth-of-type(1){
	top: 0;
	bottom: calc(100% - 2px);
}
.btn_navBtn--line:nth-of-type(2){
	top: calc(100% - 2px);
	bottom: 0;
}
@media screen and (hover:hover) and (pointer: fine){
	.btn_navBtn--line:before{
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(var(--color-main), var(--color-main)) left bottom / 0 100% no-repeat;
		transition: background-size 0.3s;
	}
	.btn_navBtn:hover .btn_navBtn--line:before{
		background-position: right bottom;
		background-size: 100% 100%;
	}
}


.header__snsLists{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.header__snsList--dt{
	font-family: var(--font-en);
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	writing-mode: vertical-rl;
	text-orientation: sideways;
	color: #FFF;
	letter-spacing: 0;
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.header__snsList--dd{
	width: min(calc(20 / var(--vw-min) * 100vw), 20px);
	height: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.header__snsList--link{
	display: block;
	width: 100%;
	height: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: #fff;
	pointer-events: auto;
}
.header__snsList--link._icon-x{
	-webkit-mask-image: url(../img/common/icon_tw.svg);
	mask-image: url(../img/common/icon_tw.svg);
}

.header.is-active .btn_navBtn--line:nth-of-type(1),
.header.is-active .btn_navBtn--line:nth-of-type(2){
	top: 50%;
	bottom: 50%;
}

@media screen and (hover:hover) and (pointer: fine){
	.header__snsList--link{
		transition: background-color .2s ease;
	}
	.header__snsList--link:hover{
		background-color: var(--color-black);
	}
}

@media screen and (max-width:768px){
	.header__side{
		bottom: unset;
		background-color: #000;
		width: calc(116 / var(--vw-min) * 100vw);
		z-index: 3;
	}
	.btn_navBtn--lines{
		width: calc(52 / var(--vw-min) * 100vw);
		height: calc(20 / var(--vw-min) * 100vw);
	}
	.btn_navBtn--line{
		height: calc(4 / var(--vw-min) * 100vw);
	}
	.btn_navBtn--line:nth-of-type(1){
		bottom: calc(100% - (4 / var(--vw-min) * 100vw));
	}
	.btn_navBtn--line:nth-of-type(2){
		top: calc(100% - (4 / var(--vw-min) * 100vw));
	}
	.header__snsLists{
		display: none;
	}
}



/*-----------------------------------------------
 * Parts
-------------------------------------------------*/
/**
 * MAIN CONTENT
 */
#fullInWrap{
	position: relative;
	width: calc(100% - min(calc(80 / var(--vw-min) * 100vw), 80px));
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
@media screen and (max-width:768px){
	#fullInWrap{
		width: 100%;
	}
}

.l-main{
	width: 100%;/* 1286 */
	position: relative;
}
body:not([data-page="top"]) .l-main{
	padding-top: min(calc(120 / var(--vw-min) * 100vw), 120px);
	position: relative;
	z-index: 2;
}
@media screen and (max-width:768px){
	body:not([data-page="top"]) .l-main{
		padding-top: calc(152 / var(--vw-min) * 100vw);
	}
}

.sectionContent{
	position: relative;
	width: 100%;
}


/**
* main__logo
**/
.p-main__logo{
	position: absolute;
	top: 0;
	left: 0;
	width: min(calc(120 / var(--vw-min) * 100vw), 120px);
	margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
	margin-left: min(calc(32 / var(--vw-min) * 100vw), 32px);
}
.p-main__logo--link{
	display: block;
	width: 100%;
	filter: drop-shadow(0 0 1px #FFF) drop-shadow(0 0 1px #FFF) drop-shadow(0 0 1px #FFF) drop-shadow(0 0 2px #FFF);
}
.p-main__log--link img{
	width: 100%;
}

@media screen and (hover:hover) and (pointer: fine){
	.p-main__logo{
		transition: transform .2s ease;
	}
	.p-main__logo:hover{
		transform: scale(110%);
	}
}

@media screen and (max-width:768px){
	.p-main__logo{
		width: calc(192 / var(--vw-min) * 100vw);
		margin-top: calc(16 / var(--vw-min) * 100vw);
		margin-left: calc(32 / var(--vw-min) * 100vw);
	}
}


.main__headBg{
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: calc(1286px * var(--max-percent));
	min-height: 100vh;
	margin: 0 auto;
	z-index: -1;
}
.main__headBg--cont{
	position: absolute;
	top: 0;
	left: max(calc(-176 / var(--vw-min) * 100vw), -176px);
	width: min(calc(1280 / var(--vw-min) * 100vw), calc(1280px * var(--max-percent)));
	height: min(calc(640 / var(--vw-min) * 100vw), calc(640px * var(--max-percent)));
	max-height: 100%;
}
.main__headBg--cont:before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(../img/common/bg_inpage-head.svg) no-repeat left top / cover;
}
@media screen and (max-width:768px){
	.main__headBg{
		max-width: 100%;
		height: calc(456 / var(--vw-min) * 100vw);
		overflow: hidden;
	}
	.main__headBg--cont{
		width: calc(972 / var(--vw-min) * 100vw);
		height: calc(486 / var(--vw-min) * 100vw);
		left: calc(-192 / var(--vw-min) * 100vw);
		top: calc(-30 / var(--vw-min) * 100vw);
	}
}

/* Animation */
.main__headBg--cont:before{
	transform: translateY(-100%);
	transition: transform .4s cubic-bezier(.35,.15,.3,1);
}
body.--is-loaded .main__headBg--cont:before{
	transform: translateY(0%);
}



/**
* SectionCont Title
**/
.sectionCont__title{
	display: inline-flex;
	align-items: flex-end;
	line-height: 1;
}
.sectionCont__title--en{
	display: inline-block;
	font-family: var(--font-en);
	font-size: min(calc(96 / var(--vw-min) * 100vw), 96px);
	font-weight: 600;
	line-height: 0.75;
	letter-spacing: 0;
}
.sectionCont__title--en::first-letter{
	color: var(--color-main);
}
.sectionCont__title--ja{
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	display: inline-flex;
	gap: min(calc(2 / var(--vw-min) * 100vw), 2px);
	color: #FFF;
	margin-left: min(calc(14 / var(--vw-min) * 100vw), 14px);
}
.sectionCont__title--ja > span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(calc(25 / var(--vw-min) * 100vw), 25px);
	height: min(calc(25 / var(--vw-min) * 100vw), 25px);
	background-color: var(--color-main);
}

@media screen and (max-width:768px){
	.sectionCont__title--en{
		font-size: calc(96 / var(--vw-min) * 100vw);
	}
	.sectionCont__title--ja{
		font-size: calc(24 / var(--vw-min) * 100vw);
		gap: calc(4 / var(--vw-min) * 100vw);
		margin-left: calc(18 / var(--vw-min) * 100vw);
	}
	.sectionCont__title--ja > span{
		width: calc(36 / var(--vw-min) * 100vw);
		height: calc(36 / var(--vw-min) * 100vw);
	}
}

/* Animation */
.sectionCont__title--en{
	opacity: 0;
	transform: translateY(50%);
	transition: opacity .2s ease, transform .3s ease;
}


.sectionCont__title--ja > span{
	opacity: 0;
	transform: scale(60%) translateY(25%);
    transition: transform .6s cubic-bezier(.17,.67,.45,1.03), opacity .5s cubic-bezier(.17,.67,.45,1.03);
}
.sectionCont__title--ja > span:nth-of-type(1){
	transition-delay: 0.6s;
}
.sectionCont__title--ja > span:nth-of-type(2){
	transition-delay: 0.7s;
}
.sectionCont__title--ja > span:nth-of-type(3){
	transition-delay: 0.8s;
}
.sectionCont__title--ja > span:nth-of-type(4){
	transition-delay: 0.9s;
}
.sectionCont__title--ja > span:nth-of-type(5){
	transition-delay: 1.0s;
}
.sectionCont__title--ja > span:nth-of-type(6){
	transition-delay: 1.1s;
}
.sectionCont__title--ja > span:nth-of-type(7){
	transition-delay: 1.2s;
}
.sectionCont__title--ja > span:nth-of-type(8){
	transition-delay: 1.3s;
}
.sectionCont__title--ja > span:nth-of-type(9){
	transition-delay: 1.4s;
}
.sectionCont__title--ja > span:nth-of-type(10){
	transition-delay: 1.5s;
}
.sectionCont__title--ja > span:nth-of-type(11){
	transition-delay: 1.6s;
}
.sectionCont__title--ja > span:nth-of-type(12){
	transition-delay: 1.7s;
}
.sectionCont__title--ja > span:nth-of-type(13){
	transition-delay: 1.8s;
}
.sectionCont__title--ja > span:nth-of-type(14){
	transition-delay: 1.9s;
}
.sectionCont__title--ja > span:nth-of-type(15){
	transition-delay: 2.0s;
}

/** TOP以外  **/
body:not([data-page="top"]).--is-loaded .sectionCont__title--en{
	transform: translateY(0%);
	transition-delay: .4s;
	opacity: 1;
}
body:not([data-page="top"]).--is-loaded .sectionCont__title--ja > span{
	opacity: 1;
	transform: scale(100%) translateY(0%);
}



/**
 * window_deco
 **/
.window__decos{
	width: min(calc(94 / var(--vw-min) * 100vw), 94px);
	height: min(calc(27 / var(--vw-min) * 100vw), 27px);
	position: absolute;
	top: 0;
	right: 0;
	background-color: #000;
	display: flex;
	padding-top: min(calc(2 / var(--vw-min) * 100vw), 2px);
	padding-left: min(calc(12 / var(--vw-min) * 100vw), 12px);
	z-index: 1;
}
.window__decos:not(:has(._icon-close)){
	width: min(calc(72 / var(--vw-min) * 100vw), 72px);
}
.window__deco{
	display: block;
	position: relative;
	height: min(calc(23 / var(--vw-min) * 100vw), 23px);
}
.window__deco:before{
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: #fff;
}

.window__deco._icon-minimize{
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.window__deco._icon-minimize:before{
	width: min(calc(12 / var(--vw-min) * 100vw), 12px);
	height: min(calc(4 / var(--vw-min) * 100vw), 4px);
	-webkit-mask-image: url(../img/common/window/icon-minimize.svg);
	mask-image: url(../img/common/window/icon-minimize.svg);
}

.window__deco._icon-resize{
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.window__deco._icon-resize:before{
	width: min(calc(12 / var(--vw-min) * 100vw), 12px);
	height: min(calc(12 / var(--vw-min) * 100vw), 12px);
}

.window__deco._icon-resize:before{
	width: min(calc(12 / var(--vw-min) * 100vw), 12px);
	height: min(calc(12 / var(--vw-min) * 100vw), 12px);
	-webkit-mask-image: url(../img/common/window/icon-resize.svg);
	mask-image: url(../img/common/window/icon-resize.svg);
}

.window__deco._icon-close{
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
}
.window__deco._icon-close:before{
	width: min(calc(10 / var(--vw-min) * 100vw), 10px);
	height: min(calc(10 / var(--vw-min) * 100vw), 10px);
	-webkit-mask-image: url(../img/common/window/icon-close.svg);
	mask-image: url(../img/common/window/icon-close.svg);
}

@media screen and (max-width:768px){
	.window__decos{
		width: calc(128 / var(--vw-min) * 100vw);
		height: calc(36 / var(--vw-min) * 100vw);
		padding-top: calc(2 / var(--vw-min) * 100vw);
		padding-bottom: calc(2 / var(--vw-min) * 100vw);
		padding-right: calc(16 / var(--vw-min) * 100vw);
		padding-left: calc(16 / var(--vw-min) * 100vw);
	}
	.window__decos:not(:has(._icon-close)){
		width: calc(96 / var(--vw-min) * 100vw);
	}
	.window__deco{
		height: calc(32 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-minimize{
		width: calc(32 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-minimize:before{
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(8 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-resize{
		width: calc(32 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-resize:before{
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(16 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-close{
		width: calc(32 / var(--vw-min) * 100vw);
	}
	.window__deco._icon-close:before{
		width: calc(14 / var(--vw-min) * 100vw);
		height: calc(14 / var(--vw-min) * 100vw);
	}
}



/**
 * shareLists
 */
.shareLists {
	display: flex;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}

/* item */
.shareLists__item {
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(24 / var(--vw-min) * 100vw), 24px);
}

/* link */
.shareLists__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	text-decoration: none;
}
.shareLists__link:before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FFF;
	display: block;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color .4s ease;
}

.header__shareLists .shareLists__link:before {
	background-color: var(--color-black);
}

@media screen and (hover:hover) and (pointer: fine){
	.shareLists__link:hover:before {
		background-color: var(--color-main);
	}	
	.header__shareLists .shareLists__link:hover:before {
		background-color: var(--color-white);
	}
}

@media screen and (max-width:768px){
	.shareLists {
		gap: calc(24 / var(--vw-min) * 100vw);
	}
	.shareLists__item {
		width: calc(32 / var(--vw-min) * 100vw);
		height: calc(32 / var(--vw-min) * 100vw);
	}
}




/* 各SNSパーツ */
.shareLists__item.is-twitter .shareLists__link:before {
	-webkit-mask-image: url(../img/common/icon_tw.svg);
	mask-image: url(../img/common/icon_tw.svg);
}
.shareLists__item.is-facebook .shareLists__link:before {
	-webkit-mask-image: url(../img/common/icon_fb.svg);
	mask-image: url(../img/common/icon_fb.svg);
}
.shareLists__item.is-line .shareLists__link:before {
	-webkit-mask-image: url(../img/common/icon_line.svg);
	mask-image: url(../img/common/icon_line.svg);
}


/**
 * Animation - rotate360
 **/
@keyframes ani_rotate{
	  0%{transform:rotate(0deg)}
	100%{transform:rotate(360deg)}
}



/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.l-footer{
	width: 100%;
	position: relative;
	z-index: 10;
	margin-top: auto;
}
.footer__toTop{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-top: max(calc(-70 / var(--vw-min) * 100vw), -70px);
	margin-left: auto;
	margin-right: auto;
	width: min(calc(70 / var(--vw-min) * 100vw), 70px);
	height: min(calc(70 / var(--vw-min) * 100vw), 70px);
}
.footer__toTop--link{
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.footer__toTop-txt{
	display: block;
	text-align: center;
	font-family: var(--font-en);
	letter-spacing: 0;
	color: var(--color-black);
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height: 1.15;
}
.footer__toTop-icon{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: min(calc(34 / var(--vw-min) * 100vw), 34px);
	mask: url(../img/common/triangle_b.svg) no-repeat center top / cover;
	background-color: var(--color-black);
	transform: translateY(20%);
}

@media screen and (hover:hover) and (pointer: fine){
	.footer__toTop-icon{
		transition: transform .25s ease;
	}
	.footer__toTop--link:hover .footer__toTop-icon{
		transform: translateY(5%);
	}
}


.footerIn{
	width: 100%;
	padding: min(calc(56 / var(--vw-min) * 100vw), 56px) min(calc(64 / var(--vw-min) * 100vw), 64px) min(calc(40 / var(--vw-min) * 100vw), 40px);
	background-color: var(--color-black);
	color: #FFF;
}

.footer__shareLists{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.footer__shareList-dt{
	font-family: var(--font-en);
	line-height: 0.75;
}

.footer__linkLists{
	display: flex;
	justify-content: center;
	margin-top: min(calc(32 / var(--vw-min) * 100vw), 32px);
}
.footer__linkList{
	padding: min(calc(4 / var(--vw-min) * 100vw), 4px) min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height: 1;
	position: relative;
}
.footer__linkList:not(:last-child):after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 1px;
	background-color: #fff;
}
.footer__linkList--link{
	display: block;
	font-family: var(--font-en);
	text-decoration: none;
	color: #FFF;
}

.footer__sitecaution{
	margin-top: min(calc(48 / var(--vw-min) * 100vw), 48px);
	text-align: center;
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	line-height: 1.5;
}
.footer__copyright{
	text-align: center;
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	line-height: 1;
	margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
}

@media screen and (hover:hover) and (pointer: fine){
	.footer__linkList--link{
		position: relative;
		transition: color .3s ease;
	}
	.footer__linkList--link:before{
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 0%;
		height: 1px;
		background-color: var(--color-main);
		transition: width .3s ease;
	}
	.footer__linkList--link:hover{
		color: var(--color-main);
	}
	.footer__linkList--link:hover::before{
		width: 100%;
	}
}

@media screen and (max-width:768px){
	.footer__toTop{
		margin-top: calc(-100 / var(--vw-min) * 100vw);
		width: calc(96 / var(--vw-min) * 100vw);
		height: calc(100 / var(--vw-min) * 100vw);
	}
	.footer__toTop-txt{
		font-size: calc(24 / var(--vw-min) * 100vw);
		line-height: 1.1667;
	}
	.footer__toTop-icon{
		height: calc(48 / var(--vw-min) * 100vw);
	}

	.footerIn{
		padding: calc(64 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
	}
	
	.footer__shareLists{
		gap: calc(24 / var(--vw-min) * 100vw);
	}

	.footer__linkLists{
		margin-top: calc(40 / var(--vw-min) * 100vw);
	}
	.footer__linkList{
		padding: calc(6 / var(--vw-min) * 100vw) calc(26 / var(--vw-min) * 100vw);
	}
	.footer__linkList:not(:last-child):after{
		width: calc(2 / var(--vw-min) * 100vw);
	}

	.footer__sitecaution{
		margin-top: calc(48 / var(--vw-min) * 100vw);
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
	.footer__copyright{
		font-size: calc(18 / var(--vw-min) * 100vw);
		margin-top: calc(16 / var(--vw-min) * 100vw);
	}
}