@charset "UTF-8";
:root {
	--c-navy: #4f65a5;
	--ff-senobi: "senobi-gothic", sans-serif;
}

#fix-area { overflow: hidden;  }
/*

.hero { display: flex; min-height: 100vh; background-image: linear-gradient(-45deg, purple, blue); color: white; align-items: end; overflow: hidden; }
*/

.hero img { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; opacity: 0.2;  }
.hero svg { height: 36px; width: 42px; fill: white; opacity: 0.25; margin-left: auto; margin-right: auto; }
.hero .txt  { width: 100%; height: min-content; padding: 0 1em; margin: 2em 7.5em; display: flex; flex-direction: column; }
.hero .txt h1, .hero .txt p { letter-spacing: 2px; margin: 4px 0; position: relative; z-index: 2; }
.hero .txt p { width: 60%; opacity: 0.7; margin-bottom: 2em; }
.content { margin-top: 12.5em; display: flex; min-height: 100vh; }
.content .txt { margin: 0 7.5em; }


.content { margin-top: 3000px; }	/*	CTRL Scroll Height: ;*?




.hero__ttl,
.hero__catch { opacity: 0; }
.hero__ttl { font-size: 5.0rem; font-weight: 700; line-height: 1.4; }
.hero__catch { font-size: 2.0rem; font-weight: 700; line-height: 1.4; }


/*----------------------------
	Common Things
----------------------------*/
.cmn-inner { width: calc(100% - 32px); margin-left: auto; margin-right: auto; }
.cmn-ttl { font: 500 3.0rem var(--ff-senobi); line-height: 1; color: #fff; }
.cmn-ttl__item { display: inline-block; background: var(--c-navy); }
.cmn-ttl__item:not(:first-of-type) { margin-top: 15px; }
.cmn-ttl__item ._end { letter-spacing: -0.4em; }
.cmn-ttl__item ._lslesser { letter-spacing: -0.2em; }
.cmn-ttl__item ._emp { color: #fff57f; }

@media screen and (max-width: 680px) {
	.l-body {  }
	.l-body::before { position: fixed; top: 0; left: 0; display: block; width: 100%; height: calc(100vh - 60px); background: no-repeat url("../img/bg_fix_sp.jpg") center / cover; z-index: -1; inset: 0; content: ""; }
	
}
@media screen and (min-width: 681px) {
	.cmn-ttl { font-size: 6.0rem; }
	.cmn-ttl__item:not(:first-of-type) { margin-top: 30px; }
	.cmn-ttl__item ._end { letter-spacing: -0.5em; }
}




/*----------------------------
	FV
----------------------------*/
.fv { position: relative; background: #fff url("../img/bg_fv_sp.jpg") no-repeat 50% 0/100% auto; min-height: calc(100svh - 120px); padding-bottom: 55px; }
.fv__inner { margin-top: 30px; }
.fv__ttl {  }
.fv__txt { margin-top: 14px; font-size: 1.4rem; font-weight: 500; line-height: 2; }
@media screen and (max-width: 680px) {
	.fv::before { display: block; width: 100%; aspect-ratio: 375/547; content: ""; }
	.fv__ttl { margin-right: -20px; letter-spacing: -0.05em; }
}
@media screen and (min-width: 681px) {
	.fv { background-image: url("../img/bg_fv_pc.jpg"); background-size: 1728px auto; padding-top: 770px; padding-bottom: 152px; }
	.fv .cmn-inner { display: flex; justify-content: space-between; width: 1118px; }
	.fv__ttl { font-size: 6.0rem; white-space: nowrap; }
	.fv__txt { margin-top: -11px; font-size: 1.5rem; line-height: 2.4; }
}
@media screen and (min-width: 1729px) {
	.fv { background-size: 100% auto; padding-top: 44vw; }
}


/*----------------------------
	
----------------------------*/
/*	Custom	*/
.mnz-wrap { position: relative; min-height: 100vh; background: url("../img/bg_fix_sp.jpg") no-repeat center/cover; overflow: hidden; }

.mnz__obj { position: absolute; }
@media screen and (max-width: 680px) {
	.mnz-wrap { background-image: none; }
}
@media screen and (min-width: 681px) {
	.mnz-wrap { min-height: calc(100vh - 140px); background-image: url("../img/bg_fix_pc.jpg"); }
	.mnz { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; min-height: 100%; opacity: 0; }
	.mnz { width: 100%; height: 100%; }
}

/*----------------------------
	
----------------------------*/
.intro-inner { width: calc(100% - 32px); margin: 60px auto 10px; }
.intro-catch { margin-top: 29px; font-size: 2.0rem; font-weight: 700; line-height: 1; }
.intro-txt { margin-top: 23px; font-size: 1.4rem; font-weight: 500; line-height: 2; }
@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	.intro-inner { display: grid; grid-template-columns: 55% 1fr; grid-template-rows: repeat(2, auto); grid-column-gap: 66px; grid-row-gap: 0px; width: 1040px; }
	.intro-ttl { grid-area: 1 / 1 / 2 / 2; }
	.intro-catch { grid-area: 2 / 1 / 3 / 2; font-size: 4.0rem; line-height: 1.75; }
	.intro-txt { grid-area: 1 / 2 / 3 / 3; margin-top: -11px; font-size: 1.5rem; line-height: 2.4; }
}

/*----------------------------
	Monozukuri
----------------------------*/
.mnz__img { position: relative; }
.mnz__img__deco { position: absolute; top: 50%; left: 50%; transform: translate(-45%, -26%); width: 146.5vw; max-width: 1579px; z-index: 10; pointer-events: none; }
.mnz__main-img { position: relative; left: 50%; }

.mnz--it .mnz__main-img { transform: translateX(-48.7%); width: 118.2vw; max-width: 1123px; }
.mnz--game { margin-top: 42px; }

.mnz--game .mnz__main-img { transform: translateX(-53.0%); width: 135.75vw; max-width: 1136px; }
.mnz--game .mnz__img__deco { transform: translate(-45%, -17%); }
.mnz--design { margin-top: 70px; padding-bottom: 127px; }
.mnz--design .mnz__main-img { transform: translateX(-47.5%); width: 110.2vw; max-width: 1030px; }
.mnz--design .mnz__img__deco { transform: translate(-45%, -22%); }


@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	.mnz--it .mnz__img__deco { transform: translate(-46%, -42%); }
	.mnz--game .mnz__main-img { top: 50%; transform: translate(-50%, -8%); }
	.mnz--game .mnz__img__deco { transform: translate(-51.5%, -46%); }
	.mnz--design .mnz__main-img { top: 50%; transform: translate(-50%, -8%); }
	.mnz--design .mnz__img__deco { transform: translate(-47.5%, -44%); }
}

/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}

/*----------------------------
	
----------------------------*/
.outro { background: url("../img/bg_outro_sp.jpg") no-repeat 50% 0/cover; padding-top: 50px; padding-bottom: 60px; }
.outro-inner { width: calc(100% - 32px); margin: 0 auto 0; }
.outro-catch { font-size: 1.6rem; font-weight: 700; line-height: 1.75; letter-spacing: 0.15em; }
.outro-ttl { margin-top: 16px; }
.outro-txt { margin-top: 22px; font-size: 1.4rem; font-weight: 500; line-height: 2; }
.outro-img { margin-top: 15px; }
@media screen and (max-width: 680px) {
	.outro-img { margin-right: -16px; margin-left: -16px; }
}
@media screen and (min-width: 681px) {
	.outro { position: relative; background-image: url("../img/bg_outro_pc.jpg"); padding-top: 150px; padding-bottom: 80px; }
	
	.outro-inner { display: grid; grid-template-columns: 60% 1fr; grid-template-rows: repeat(2, auto); grid-column-gap: 66px; grid-row-gap: 0px; width: 1012px; }
	.outro-catch { grid-area: 1 / 1 / 2 / 2; font-size: 2.8rem; }
	.outro-ttl { grid-area: 2 / 1 / 3 / 2; }
	.outro-txt { grid-area: 1 / 2 / 3 / 3; margin-top: 2px; font-size: 1.5rem; line-height: 2.4; }
	.outro-img { margin-top: 28px; }
	.outro-img img { position: relative; left: 50%; transform: translateX(-38.3%); max-width: none; width: 1728px; }
}

/*----------------------------
	
----------------------------*/

.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }
@media screen and (max-width: 680px) {
	.sp-only { display: block !important; }
	.sp-only-2 { display: inline-block !important; }
	.pc-only { display: none !important; }
	.pc-only-2 { display: none !important; }
}