@media only screen and (max-width: 991px) {
	body {
		height: 100%;
		overflow: hidden
	}
}
body.overflowhidden {
	height: 100vh;
	overflow: hidden
}
body.nonpointer {
	cursor: none !important
}
body.nonpointer a {
	cursor: none !important
}
@media only screen and (max-width: 991px) {
	body .bodyinner {
		width: 100%;
		height: 100%;
		overflow: auto
	}
}
#cursor {
	position: fixed;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	width: 120px;
	height: 120px;
	transition: transform .25s .1s, opacity .25s;
	color: #fff;
	background: #000;
	border-radius: 100%;
	text-align: center;
	font-size: 15px;
	letter-spacing: .1rem;
	pointer-events: none;
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
	box-shadow: 0px 0px 15px #000
}
#cursor::after {
	content: "";
	display: block;
	transition: transform 0.3s;
	font-family: "Material Symbols Outlined";
	font-weight: 100;
	font-size: 2.4rem;
	line-height: 1
}
#cursor.is-active {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1
}
@media only screen and (max-width: 991px) {
	#cursor {
		display: none
	}
}
.loading-sec {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 100000;
	transition: 1.2s ease
}
.loading-sec.loadanim .load-frame {
	border: 0vw solid #fff
}
.loading-sec.loadanim .load-img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
	pointer-events: none;
	user-select: none
}
.loading-sec.loadend {
	opacity: 0;
	pointer-events: none;
	user-select: none
}
.loading-sec .load-frame {
	width: 100%;
	height: 100%;
	border: 10vw solid #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: 2.4s ease
}
.loading-sec .load-img {
	width: 100%;
	height: 100%
}
.loading-sec .load-img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	z-index: 1;
	pointer-events: none;
	user-select: none;
	transition: 2.4s ease
}
.loading-sec .load-img img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
.kv-sec {
	width: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden
}
.kv-sec:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 5;
	pointer-events: none;
	user-select: none
}
.kv-sec .kv-ttlwrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 6
}
@media only screen and (max-width: 767px) {
	.kv-sec .kv-ttlwrap {
		width: 100%
	}
}
.kv-sec .kv-ttlwrap h2 {
	text-align: center;
	color: #fff;
	font-weight: Roman;
	font-size: 70px;
	font-weight: 100;
	letter-spacing: 0.05em;
	line-height: 0.6;
	margin-bottom: 40px
}
@media only screen and (max-width: 991px) {
	.kv-sec .kv-ttlwrap h2 {
		font-size: 41px;
		margin-bottom: 20px
	}
}
.kv-sec .kv-ttlwrap h2 small {
	font-size: 32px
}
@media only screen and (max-width: 991px) {
	.kv-sec .kv-ttlwrap h2 small {
		font-size: 24px
	}
}
.kv-sec .kv-ttlwrap .kv-copy {
	text-align: center;
	color: #fff;
	font-size: 23px;
	line-height: 1;
	letter-spacing: 10px
}
@media only screen and (max-width: 991px) {
	.kv-sec .kv-ttlwrap .kv-copy {
		font-size: 14px
	}
}
.kv-sec .kv-mov {
	width: 100%;
	height: 100%;
	position: absolute
}
.kv-sec .kv-mov .kv-video {
	width: 100%;
	height: 100%;
	object-fit: cover
}
.origin-modal-fixed {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.5);
	pointer-events: none;
	user-select: none;
	opacity: 0;
	transition: 0.4s ease 0s
}
.origin-modal-fixed.active {
	opacity: 1;
	pointer-events: auto;
	user-select: auto
}
.origin-modal-fixed .origin-modal-close {
	position: absolute;
	top: 80px;
	right: 80px;
	width: 120px;
	height: 120px;
	z-index: 100;
	transition: 0.4s ease
}
@media only screen and (max-width: 767px) {
	.origin-modal-fixed .origin-modal-close {
		right: 20px;
		top: 20px;
		width: 60px;
		height: 60px
	}
}
.origin-modal-fixed .origin-modal-close:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: translate(-50%, -50%) rotate(45deg)
}
.origin-modal-fixed .origin-modal-close:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: translate(-50%, -50%) rotate(-45deg)
}
.origin-modal-fixed .origin-modal-close:hover {
	transform: rotate(90deg)
}
.origin-modal-fixed .archive-modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: calc(100% - 60px);
	max-height: 70vh;
	opacity: 0;
	pointer-events: none;
	user-select: none;
	display: none;
	transition: 0.4s ease 0.4s
}
.origin-modal-fixed .archive-modal-content.active {
	opacity: 1;
	pointer-events: auto;
	user-select: auto;
	display: block !important
}
.origin-modal-fixed .archive-modal-content img {
	width: auto;
	height: 100%
}
#global-nav {
	width: 100%;
	position: absolute;
	z-index: 100;
	padding-top: 70px;
	padding-bottom: 40px;
	top: 0
}
#global-nav.white {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent)
}
@media only screen and (max-width: 1250px) {
	.origin-modal-fixed .archive-modal-content img {
		max-width: initial;
	}
	#global-nav {
		display: none !important
	}
}
#global-nav.m_fixed {
	left: 0;
	position: fixed;
	top: 0;
	z-index: 100
}
#global-nav .global-nav-inner {
	padding-bottom: 0;
	padding-top: 0;
	margin: 0 auto;
	width: 100%;
	/* padding-left: calc(15vw + 20px) */
}
#global-nav .global-list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: flex-end
}
#global-nav .global-item {
	width: fit-content;
	position: relative;
	padding: 0px 30px
}
@media only screen and (max-width: 1440px) {
	#global-nav .global-item {
		padding: 0px 20px
	}
}
#global-nav .global-item:before {
	content: "";
	width: 1px;
	height: 10px;
	background: #373737;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	transition: 0.4s ease
}
#global-nav .global-item:first-child:before {
	display: none
}
#global-nav .global-item:last-child:after {
	content: "";
	width: 1px;
	height: 10px;
	background: #373737;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	display: none
}
#global-nav .global-item a {
	color: #373737;
	display: block;
	font-size: 18px;
	font-size: clamp(1.5rem, 0.3rem + 1.21vw, 1.8rem);
	text-align: center;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.4s ease;
	position: relative;
	padding-bottom: 5px
}
#global-nav .global-item a:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0%;
	transform: translate(-50%, 0);
	height: 1px;
	background: #373737;
	display: block;
	transition: 0.4s ease
}
/* #global-nav .global-item a:hover {
	opacity: 0.6
} */
#global-nav .global-item a:hover:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	transform: translate(-50%, 0);
	height: 2px;
	background: #373737;
	display: block
}
#global-nav .global-item.white a:hover:before {
	background: #fff;
}
#global-nav .global-item.white:before {
	content: "";
	width: 1px;
	height: 10px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%)
}
#global-nav .global-item.white a {
	color: #fff
}
.design-sec {
	width: 100%;
	position: relative
}
.design-sec .design-inner {
	padding-top: 250px;
	padding-bottom: 200px;
	width: calc(100% - 60px);
	margin: 0 auto
}
@media only screen and (max-width: 991px) {
	.design-sec .design-inner {
		padding-top: 100px;
		padding-bottom: 100px
	}
}
.design-sec .design-inner .design-logo {
	width: 122px;
	margin: 0 auto;
	display: block
}
.design-sec .design-inner .design-logo img {
	width: 100%
}
.design-sec .design-inner .design-copy {
	text-align: center;
	font-size: 14px;
	margin-top: 60px;
	line-height: 2
}
@media only screen and (max-width: 991px) {
	.design-sec .design-inner .design-copy {
		margin-top: 50px
	}
}
.design-sec .design-inner .design-copy span {
	color: #13447D;
	display: inline-block;
	position: relative
}
.design-sec .design-inner .design-copy span:before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #13447D
}
.archive-sec {
	width: 100%;
	padding-top: 150px
}
@media only screen and (max-width: 991px) {
	.archive-sec {
		padding-top: 60px;
		overflow: hidden;
	}	
}
.archive-sec .archive-ttl-wrap {
	width: 100%;
	margin-bottom: 60px
}
@media only screen and (max-width: 991px) {
	.archive-sec .archive-ttl-wrap {
		width: calc(100% - 60px);
		margin: 0 auto;
		margin-bottom: 30px
	}
}
.archive-sec .archive-ttl-wrap h2 {
	text-align: center;
	font-size: 24px;
	line-height: 1.7;
	font-weight: 400
}
@media only screen and (max-width: 991px) {
	.archive-sec .archive-ttl-wrap h2 {
		font-size: 20px
	}
}
.archive-sec .archive-text-swiper {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
	pointer-events: none;
	user-select: none
}
.archive-sec .archive-text-swiper .swiper-wrapper {
	transition-timing-function: linear
}
.archive-sec .archive-text-swiper .swiper-wrapper .swiper-slide {
	flex-shrink: 0
}
.archive-sec .archive-text-swiper .swiper-wrapper .swiper-slide img {
	width: 100%
}
.archive-sec .archive-slide-wrap {
	width: 100%;
	position: relative
}
.archive-sec .archive-slide-wrap:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(67, 67, 67, 0), #434343)
}
.archive-sec .archive-slide-wrap .archive-swiper {
	width: 100%;
	overflow: hidden
}
.archive-sec .archive-slide-wrap .archive-swiper .swiper-wrapper {
	transition-timing-function: linear
}
.archive-sec .archive-slide-wrap .archive-swiper .swiper-wrapper .swiper-slide {
	filter: brightness(0.8);
	transition: filter 0.4s ease
}
.archive-sec .archive-slide-wrap .archive-swiper .swiper-wrapper .swiper-slide:hover {
	filter: brightness(1)
}
.archive-sec .archive-slide-wrap .archive-swiper .swiper-wrapper .swiper-slide img {
	width: 100%
}
.mov-sec {
	padding-top: 400px
}
@media only screen and (max-width: 991px) {
	.mov-sec {
		padding-top: 60px
	}
}
.mov-sec .mov-wrap {
	width: 100%;
	position: relative;
	overflow: hidden
}
.mov-sec .mov-wrap:before {
	content: "";
	width: 101%;
	height: 101%;
	background: #000;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none !important;
	user-select: none !important
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap {
		margin: 0 auto
	}
}
.mov-sec .mov-wrap .mov-ttl-wap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 60px);
	z-index: 2;
	text-align: center
}
.mov-sec .mov-wrap .mov-ttl-wap h2 {
	color: #fff;
	font-size: 32px;
	margin-bottom: 80px;
	letter-spacing: 2px
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap .mov-ttl-wap h2 {
		font-size: 18px;
		margin-bottom: 40px
	}
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap .mov-ttl-wap h2 {
		font-size: 18px;
		margin-bottom: 30px
	}
}
.mov-sec .mov-wrap .mov-ttl-wap .arrowlink {
	font-size: 16px;
	color: #fff;
	padding-bottom: 15px;
	padding-right: 80px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap .mov-ttl-wap .arrowlink {
		font-size: 12px;
		padding-bottom: 10px
	}
}
.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:hover {
	padding-right: 40px;
	padding-left: 40px
}
.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:hover:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	opacity: 0
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:hover:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px);
		transition: 0.4s ease
	}
}
.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff
}
.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.mov-sec .mov-wrap .mov-ttl-wap .arrowlink:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px)
	}
}
.mov-sec .mov-wrap figure {
	width: 100%;
	position: relative
}
.mov-sec .mov-wrap figure img {
	width: 100%;
	opacity: 0
}
.mov-sec .mov-wrap .kodawari-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}
.grid-intro-sec {
	width: 100%;
	margin-top: 350px;
	margin-bottom: 50px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec {
		margin-top: 100px;
		margin-bottom: 30px
	}
}
.grid-intro-sec .grid-intro-inner {
	width: 100%;
	position: relative;
	text-align: center
}
.grid-intro-sec .grid-intro-inner h2 {
	-ms-writing-mode: tb-rl;
	display: block;
	text-align: center;
	margin: 0 auto;
	writing-mode: vertical-rl;
	font-size: 40px;
	color: #fff;
	position: relative;
	z-index: 1
}
.grid-intro-sec .grid-intro-inner h2.is-inview span {
	opacity: 1;
	filter: blur(0px);
	transform: scale(1)
}
.grid-intro-sec .grid-intro-inner h2 span {
	opacity: 0;
	filter: blur(10px);
	transform: scale(1.3);
	display: inline-block;
	transition: 1.2s ease;
	letter-spacing: 0.1em;
	font-size: 40px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner h2 span {
		font-size: 26px
	}
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(1) {
	transition-delay: 1.1s
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(2) {
	transition-delay: 0.4s
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(3) {
	transition-delay: 0.7s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(3) {
		font-size: 24px
	}
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(4) {
	transition-delay: 1.2s
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(5) {
	transition-delay: 0.3s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(5) {
		font-size: 24px
	}
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(6) {
	transition-delay: 0.5s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(6) {
		font-size: 24px
	}
}
.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(7) {
	transition-delay: 0.4s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner h2 span:nth-of-type(7) {
		font-size: 24px
	}
}
.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
	opacity: 0;
	transition: 1.2s ease 1.5s
}
.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap.is-inview {
	opacity: 1
}
.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap p {
	color: #000000
}
.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap p:nth-of-type(1) {
	font-size: 95px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap p:nth-of-type(1) {
		font-size: 50px
	}
}
.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap p:nth-of-type(2) {
	font-size: 38px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.grid-intro-sec .grid-intro-inner .abs-bg-ttl-wrap p:nth-of-type(2) {
		font-size: 21px
	}
}
.grid-sec {
	width: 100%;
	height: 100vh;
	position: relative;
	background: #333
}
@media only screen and (max-width: 767px) {
	.grid-sec {
		min-height: 100vh !important
	}
}
.grid-sec .grid-sec-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
	user-select: none;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0
}
.grid-sec .grid-main-copy-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	text-align: center;
	opacity: 0;
	pointer-events: none;
	user-select: none;
	width: calc(100% - 60px)
}
.grid-sec .grid-main-copy-wrap .merit-ttl {
	font-size: 16px;
	position: relative;
	color: #fff
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-main-copy-wrap .merit-ttl {
		font-size: 12px
	}
}
.grid-sec .grid-main-copy-wrap .merit-ttl:before {
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0)
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-main-copy-wrap .merit-ttl:before {
		width: 20px
	}
}
.grid-sec .grid-main-copy-wrap .merit-ttl span {
	font-size: 22px;
	padding-left: 5px
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-main-copy-wrap .merit-ttl span {
		font-size: 16px
	}
}
.grid-sec .grid-main-copy-wrap .merit-sub-ttl {
	font-size: 22px;
	color: #fff;
	opacity: 0.5;
	margin-top: 30px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-main-copy-wrap .merit-sub-ttl {
		font-size: 16px;
		margin-top: 10px
	}
}
.grid-sec .grid-main-copy-wrap h2 {
	font-size: 32px;
	color: #fff;
	font-weight: 500;
	margin-top: 100px;
	letter-spacing: 2px
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-main-copy-wrap h2 {
		font-size: 20px;
		margin-top: 30px
	}
}
.grid-sec .grid-wrap {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative
}
.grid-sec .grid-wrap .grid-inner {
	display: flex;
	gap: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	align-items: center;
	justify-content: center;
	will-change: transform;
	pointer-events: none;
	user-select: none
}
.grid-sec .grid-wrap .grid-inner .grid-line-content {
	width: calc(25vw - 6px);
	display: flex;
	flex-direction: column;
	gap: 30px;
	will-change: transform
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-wrap .grid-inner .grid-line-content {
		width: calc(50vw - 10px)
	}
}
@media only screen and (max-width: 767px) {
	.grid-sec .grid-wrap .grid-inner .grid-line-content {
		width: calc(70vw - 10px)
	}
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-wrap .grid-inner .grid-line-content:nth-of-type(1) {
		display: none
	}
}
@media only screen and (max-width: 991px) {
	.grid-sec .grid-wrap .grid-inner .grid-line-content:nth-of-type(5) {
		display: none
	}
}
.grid-sec .grid-wrap .grid-inner .grid-line-content.grid-line-center {
	position: relative;
	z-index: 10
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img {
	width: 100%;
	height: auto
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img img {
	width: 100%;
	height: auto
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img.grid-img-center {
	position: relative;
	z-index: 10
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img.grid-img-center .grid-img-center-main {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: calc(100% * 1);
	height: calc(100% * 1);
	will-change: transform;
	display: flex;
	align-items: center;
	justify-content: center
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img.grid-img-center .grid-img-center-main figure {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden
}
.grid-sec .grid-wrap .grid-inner .grid-line-content .grid-img.grid-img-center .grid-img-center-main figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	height: auto
}
.merit02-sec {
	width: 100%;
	height: 100vh;
	position: relative;
	background: url("../img/top/merit02.jpg");
	background-size: 150%;
	background-position: center 0%;
	background-repeat: no-repeat
}
@media only screen and (max-width: 1280px) {
	.merit02-sec {
		background-size: 180%
	}
}
@media only screen and (max-width: 991px) {
	.merit02-sec {
		background-size: cover !important;
		background: url("../img/top/merit02-sp.jpg")
	}
}
.merit02-sec .merit-copy-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	text-align: center;
	pointer-events: none;
	user-select: none;
	width: calc(100% - 60px)
}
.merit02-sec .merit-copy-wrap .merit-ttl {
	font-size: 16px;
	position: relative;
	color: #fff
}
@media only screen and (max-width: 991px) {
	.merit02-sec .merit-copy-wrap .merit-ttl {
		font-size: 12px
	}
}
.merit02-sec .merit-copy-wrap .merit-ttl:before {
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0)
}
@media only screen and (max-width: 991px) {
	.merit02-sec .merit-copy-wrap .merit-ttl:before {
		width: 20px
	}
}
.merit02-sec .merit-copy-wrap .merit-ttl span {
	font-size: 22px;
	padding-left: 5px
}
@media only screen and (max-width: 991px) {
	.merit02-sec .merit-copy-wrap .merit-ttl span {
		font-size: 16px
	}
}
.merit02-sec .merit-copy-wrap .merit-sub-ttl {
	font-size: 22px;
	color: #fff;
	opacity: 0.5;
	margin-top: 30px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.merit02-sec .merit-copy-wrap .merit-sub-ttl {
		font-size: 16px;
		margin-top: 10px
	}
}
.merit02-sec .merit-copy-wrap h2 {
	font-size: 32px;
	color: #fff;
	font-weight: 500;
	margin-top: 100px;
	letter-spacing: 2px
}
@media only screen and (max-width: 991px) {
	.merit02-sec .merit-copy-wrap h2 {
		font-size: 20px;
		margin-top: 30px
	}
}
.merit03-sec {
	width: 100%;
	height: 100vh;
	position: relative;
	background: url("../img/top/merit03.jpg");
	background-size: 150%;
	background-position: center 0%;
	background-repeat: no-repeat
}
@media only screen and (max-width: 1280px) {
	.merit03-sec {
		background-size: 180%
	}
}
@media only screen and (max-width: 991px) {
	.merit03-sec {
		background-size: cover !important;
		background: url("../img/top/merit03-sp.jpg")
	}
}
.merit03-sec .merit-copy-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	text-align: center;
	pointer-events: none;
	user-select: none;
	width: calc(100% - 60px)
}
.merit03-sec .merit-copy-wrap .merit-ttl {
	font-size: 16px;
	position: relative;
	color: #fff
}
@media only screen and (max-width: 991px) {
	.merit03-sec .merit-copy-wrap .merit-ttl {
		font-size: 12px
	}
}
.merit03-sec .merit-copy-wrap .merit-ttl:before {
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0)
}
@media only screen and (max-width: 991px) {
	.merit03-sec .merit-copy-wrap .merit-ttl:before {
		width: 20px
	}
}
.merit03-sec .merit-copy-wrap .merit-ttl span {
	font-size: 22px;
	padding-left: 5px
}
@media only screen and (max-width: 991px) {
	.merit03-sec .merit-copy-wrap .merit-ttl span {
		font-size: 16px
	}
}
.merit03-sec .merit-copy-wrap .merit-sub-ttl {
	font-size: 22px;
	color: #fff;
	opacity: 0.5;
	margin-top: 30px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.merit03-sec .merit-copy-wrap .merit-sub-ttl {
		font-size: 16px;
		margin-top: 10px
	}
}
.merit03-sec .merit-copy-wrap h2 {
	font-size: 32px;
	color: #fff;
	font-weight: 500;
	margin-top: 100px;
	letter-spacing: 2px
}
@media only screen and (max-width: 991px) {
	.merit03-sec .merit-copy-wrap h2 {
		font-size: 20px;
		margin-top: 30px
	}
}
.thanks-sec {
	width: 100%;
	position: relative;
	margin-top: 200px;
	padding-bottom: 200px
}
@media only screen and (max-width: 991px) {
	.thanks-sec {
		margin-top: 100px;
		padding-bottom: 80px
	}
}
.thanks-sec .thanks-inner {
	width: 100%;
	position: relative;
	text-align: center;
	padding-bottom: 80px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner {
		padding-bottom: 30px
	}
}
.thanks-sec .thanks-inner h2 {
	-ms-writing-mode: tb-rl;
	display: block;
	text-align: center;
	margin: 0 auto;
	writing-mode: vertical-rl;
	font-size: 40px;
	color: #fff;
	position: relative;
	z-index: 1
}
.thanks-sec .thanks-inner h2.en_title {
	writing-mode: horizontal-tb;
}
.thanks-sec .thanks-inner h2.is-inview span {
	opacity: 1;
	filter: blur(0px);
	transform: scale(1)
}
.thanks-sec .thanks-inner h2 span {
	opacity: 0;
	filter: blur(10px);
	transform: scale(1.3);
	display: inline-block;
	transition: 1.2s ease;
	letter-spacing: 0.1em;
	font-size: 40px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span {
		font-size: 26px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(1) {
	transition-delay: 0.3s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(1) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(2) {
	transition-delay: 0.4s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(2) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(3) {
	transition-delay: 0.7s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(3) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(4) {
	transition-delay: 0.6s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(4) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(5) {
	transition-delay: 0.3s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(5) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(6) {
	transition-delay: 0.5s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(6) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner h2 span:nth-of-type(7) {
	transition-delay: 1.0s
}
.thanks-sec .thanks-inner h2 span:nth-of-type(8) {
	transition-delay: 0.4s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2 span:nth-of-type(8) {
		font-size: 24px
	}
}
.thanks-sec .thanks-inner .en-ttl-wrap {
	text-align: center;
	z-index: 0;
	opacity: 0;
	transition: 1.2s ease 1.5s
}
.thanks-sec .thanks-inner .en-ttl-wrap.is-inview {
	opacity: 1
}
.thanks-sec .thanks-inner .en-ttl-wrap p {
	color: #555;
	font-size: 32px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner .en-ttl-wrap p {
		font-size: 28px
	}
}
.thanks-sec .thanks-slide-wrap {
	width: 100%;
	position: relative
}
.thanks-sec .thanks-slide-wrap:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(67, 67, 67, 0), #434343)
}
.thanks-sec .thanks-slide-wrap .thanks-swiper {
	width: 100%;
	overflow: hidden
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper {
	transition-timing-function: linear
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide {
	line-height: 0
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner {
	display: block;
	position: relative
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	transition: 0.4s ease
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner:hover:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner .link-ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate(-50%, -50%);
	-ms-writing-mode: tb-rl;
	margin: 0 auto;
	writing-mode: vertical-rl;
	color: #fff;
	font-size: 24px;
	line-height: 1.5
}
@media only screen and (max-width: 1280px) {
	.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner .link-ttl {
		font-size: 21px
	}
}
@media only screen and (max-width: 767px) {
	.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner .link-ttl {
		font-size: 15px
	}
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide .inner .link-ttl p {
	text-align: start
}
.thanks-sec .thanks-slide-wrap .thanks-swiper .swiper-wrapper .swiper-slide img {
	width: 100%;
	height: auto
}
.logo-scroll-sec {
	background: #000;
	padding-top: 250px;
	text-align: center;
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec {
		padding-top: 150px
	}
}
.logo-scroll-sec .logo-scroll-inner {
	width: 100%;
	position: relative;
	text-align: center;
	padding-bottom: 80px
}
.logo-scroll-sec .logo-scroll-inner h2 {
	-ms-writing-mode: tb-rl;
	display: block;
	text-align: center;
	margin: 0 auto;
	writing-mode: vertical-rl;
	font-size: 40px;
	color: #fff;
	position: relative;
	z-index: 1
}
.logo-scroll-sec .logo-scroll-inner h2.en_title {
	writing-mode: horizontal-tb;
}
.logo-scroll-sec .logo-scroll-inner h2.is-inview span {
	opacity: 1;
	filter: blur(0px);
	transform: scale(1)
}
.logo-scroll-sec .logo-scroll-inner h2 span {
	opacity: 0;
	filter: blur(10px);
	transform: scale(1.3);
	display: inline-block;
	transition: 1.2s ease;
	letter-spacing: 0.1em;
	font-size: 40px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span {
		font-size: 26px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(1) {
	transition-delay: .3s
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(2) {
	transition-delay: 0.4s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(2) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(3) {
	transition-delay: 0.7s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(3) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(4) {
	transition-delay: 0.6s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(4) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(5) {
	transition-delay: 0.3s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(5) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(6) {
	transition-delay: 0.5s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(6) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(7) {
	transition-delay: 0.8s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(7) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(8) {
	transition-delay: 0.4s;
	font-size: 36px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner h2 span:nth-of-type(8) {
		font-size: 24px
	}
}
.logo-scroll-sec .logo-scroll-inner .en-ttl-wrap {
	text-align: center;
	z-index: 0;
	opacity: 0;
	transition: 1.2s ease 1.5s
}
.logo-scroll-sec .logo-scroll-inner .en-ttl-wrap.is-inview {
	opacity: 1
}
.logo-scroll-sec .logo-scroll-inner .en-ttl-wrap p {
	color: #555;
	font-size: 32px;
	line-height: 1
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-inner .en-ttl-wrap p {
		font-size: 28px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap {
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center
}
@media only screen and (max-width: 767px) {
	.logo-scroll-sec .logo-scroll-content-wrap {
		min-height: 100vh !important
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .logo-scroll-content-inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-text-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: 1
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-text-wrap {
		pointer-events: none
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap {
	position: relative;
	width: calc(100% - 160px);
	max-width: 1100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap {
		width: 100vw;
		flex-shrink: 0
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text {
	position: absolute;
	width: 37.3%;
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.3);
	pointer-events: none;
	z-index: 1;
	opacity: 0;
	transition: 0.4s ease
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.6);
	pointer-events: none;
	opacity: 1;
	transition: 0.4s ease
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-abs-ttl {
	color: #000
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-detail {
	color: #000
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-detail {
	height: 120px;
	overflow: hidden;
	padding-top: 60px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-detail {
		height: 60px;
		padding-top: 30px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-detail:before {
	opacity: 1
}
@media only screen and (max-width: 1280px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover .scroll-abs-ttl-wrap .scroll-detail {
		font-size: 10px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text:hover img {
	filter: blur(10px)
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	display: flex;
	flex-direction: column;
	width: 100%
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap {
		pointer-events: none
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-abs-ttl {
	font-size: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-abs-ttl {
		font-size: 16px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-abs-ttl span {
	font-size: 20px;
	padding-right: 20px
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-abs-ttl span {
		font-size: 10px;
		padding-right: 10px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-detail {
	text-align: center;
	font-size: 14px;
	color: #fff;
	width: 120%;
	margin: 0 auto;
	margin-left: -10%;
	padding-top: 0px;
	position: relative;
	height: 0;
	overflow: hidden;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-detail {
		font-size: 12px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-detail:before {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 30px;
	height: 1px;
	background: #373737;
	opacity: 0;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-detail:before {
		top: 10px
	}
}
@media only screen and (max-width: 1280px) {
	.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text .scroll-abs-ttl-wrap .scroll-detail {
		font-size: 10px
	}
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text.js-scroll-text01 {
	top: 34.8%;
	left: 10.4%
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text.js-scroll-text02 {
	top: 10.5%;
	left: 50.5%;
	transform: translate(-50%, 0)
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text.js-scroll-text03 {
	top: 34.8%;
	right: 9.8%
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-text img {
	width: 100%;
	height: auto;
	transition: 0.4s ease
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-img-wrap {
	width: 100%;
	position: relative;
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-img-wrap .js-scroll-img {
	width: 100%;
	margin: 0 auto
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-img-wrap .js-scroll-img img {
	width: 100%;
	height: auto
}
.logo-scroll-sec .logo-scroll-content-wrap .js-scroll-wrap .js-scroll-img-wrap .js-scroll-img img.abs-img {
	position: absolute;
	top: 0;
	left: 0;
	display: none
}
.after-scroll-sec {
	width: 100%;
	position: relative;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 350px
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec {
		padding-bottom: 80px
	}
}
.after-scroll-sec .after-scroll-copy-wrap {
	z-index: 10;
	text-align: center;
	display: flex;
	align-items: center;
	flex-direction: column;
	width: calc(100% - 60px)
}
.after-scroll-sec .after-scroll-copy-wrap .after-scroll-logo {
	max-width: 514px;
	width: calc(100% - 60px);
	text-align: center;
	margin: 0 auto;
	margin-bottom: 60px
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec .after-scroll-copy-wrap .after-scroll-logo {
		max-width: 300px
	}
}
.after-scroll-sec .after-scroll-copy-wrap .after-scroll-logo img {
	width: 100%;
	height: auto
}
.after-scroll-sec .after-scroll-copy-wrap h2 {
	font-size: 21px;
	color: #fff;
	font-weight: 500;
	letter-spacing: 2px
}
.after-scroll-sec .after-scroll-copy-wrap .after-scroll-copy {
	font-size: 16px;
	text-align: center;
	line-height: 2;
	color: #fff;
	margin-top: 40px;
	margin-bottom: 100px
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec .after-scroll-copy-wrap .after-scroll-copy {
		font-size: 15px;
		margin-bottom: 40px
	}
}
.after-scroll-sec .after-scroll-copy-wrap .arrowlink {
	font-size: 16px;
	color: #fff;
	padding-bottom: 15px;
	padding-right: 80px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec .after-scroll-copy-wrap .arrowlink {
		font-size: 12px;
		padding-bottom: 10px
	}
}
.after-scroll-sec .after-scroll-copy-wrap .arrowlink:hover {
	padding-right: 40px;
	padding-left: 40px
}
.after-scroll-sec .after-scroll-copy-wrap .arrowlink:hover:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	opacity: 0
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec .after-scroll-copy-wrap .arrowlink:hover:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px);
		transition: 0.4s ease
	}
}
.after-scroll-sec .after-scroll-copy-wrap .arrowlink:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff
}
.after-scroll-sec .after-scroll-copy-wrap .arrowlink:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.after-scroll-sec .after-scroll-copy-wrap .arrowlink:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px)
	}
}
.inquiry-sec {
	width: 100%;
	height: 100vh;
	position: relative;
	background: url("../img/top/inq.jpg");
	background-size: 150%;
	background-position: center 0%;
	background-repeat: no-repeat
}
@media only screen and (max-width: 1280px) {
	.inquiry-sec {
		background-size: 180%
	}
}
@media only screen and (max-width: 991px) {
	.inquiry-sec {
		background-size: cover !important;
		background: url("../img/top/inq-sp.jpg");
		overflow: hidden;
	}
}
.inquiry-sec .inquiry-copy-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	text-align: center;
	width: calc(100% - 60px)
}
.inquiry-sec .inquiry-copy-wrap .inquiry-sub-ttl {
	font-size: 22px;
	color: #fff
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap .inquiry-sub-ttl {
		font-size: 16px
	}
}
.inquiry-sec .inquiry-copy-wrap h2 {
	font-size: 40px;
	color: #fff;
	font-weight: 500;
	margin-top: 30px;
	letter-spacing: 2px
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap h2 {
		font-size: 20px
	}
}
.inquiry-sec .inquiry-copy-wrap .inquiry-copy {
	font-size: 16px;
	text-align: center;
	line-height: 2;
	color: #fff;
	margin-top: 80px;
	margin-bottom: 100px
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap .inquiry-copy {
		font-size: 15px;
		margin-top: 40px;
		margin-bottom: 60px
	}
}
.inquiry-sec .inquiry-copy-wrap .arrowlink {
	font-size: 16px;
	color: #fff;
	padding-bottom: 15px;
	padding-right: 80px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap .arrowlink {
		font-size: 12px;
		padding-bottom: 10px
	}
}
.inquiry-sec .inquiry-copy-wrap .arrowlink:hover {
	padding-right: 40px;
	padding-left: 40px
}
.inquiry-sec .inquiry-copy-wrap .arrowlink:hover:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	opacity: 0
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap .arrowlink:hover:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px);
		transition: 0.4s ease
	}
}
.inquiry-sec .inquiry-copy-wrap .arrowlink:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff
}
.inquiry-sec .inquiry-copy-wrap .arrowlink:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.inquiry-sec .inquiry-copy-wrap .arrowlink:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px)
	}
}
.gallery-sec {
	width: 100%;
	position: relative;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 250px;
	padding-bottom: 160px
}
@media only screen and (max-width: 991px) {
	.gallery-sec {
		padding-top: 40px;
		padding-bottom: 80px
	}
}
.gallery-sec .gallery-copy-wrap {
	z-index: 10;
	text-align: center;
	display: flex;
	align-items: center;
	flex-direction: column;
	width: calc(100% - 60px)
}
.gallery-sec .gallery-copy-wrap .gallery-sub-ttl {
	font-size: 22px;
	color: #fff;
	margin-bottom: 10px
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .gallery-sub-ttl {
		font-size: 16px
	}
}
.gallery-sec .gallery-copy-wrap h2 {
	font-size: 30px;
	color: #fff;
	font-weight: 500
}
.gallery-sec .gallery-copy-wrap .mov-wrap {
	width: 100%;
	margin-bottom: 100px;
	position: relative
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-main-img {
	width: 100%;
	max-width: 1680px;
	margin: 0 auto;
	margin-top: 80px;
	position: relative
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-main-img img {
	width: 100%;
	height: auto;
	opacity: 0
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-main-img .mov-video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex {
	width: 100%;
	max-width: 1360px;
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 0 auto;
	margin-top: 60px
}
@media only screen and (max-width: 767px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex {
		flex-wrap: wrap
	}
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a {
	width: calc(100%/3 - 15px);
	position: relative;
	transition: .4s;
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a:hover {
	opacity: .7;
}
@media only screen and (max-width: 767px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a {
		width: 100%
	}
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link {
	width: 100%;
	position: relative
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 60px);
	text-align: center;
	z-index: 1
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl {
		width: calc(100% - 20px)
	}
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl h2 {
	font-size: 33px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.1em
}
@media only screen and (max-width: 1280px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl h2 {
		font-size: 24px
	}
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl h2 {
		font-size: 21px
	}
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link figure {
	width: 100%;
	position: relative
}
.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link figure img {
	width: 100%
}
.gallery-sec .gallery-copy-wrap .arrowlink {
	font-size: 16px;
	color: #fff;
	padding-bottom: 15px;
	padding-right: 80px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .arrowlink {
		font-size: 12px;
		padding-bottom: 10px
	}
}
.gallery-sec .gallery-copy-wrap .arrowlink:hover {
	padding-right: 40px;
	padding-left: 40px
}
.gallery-sec .gallery-copy-wrap .arrowlink:hover:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	opacity: 0
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .arrowlink:hover:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px);
		transition: 0.4s ease
	}
}
.gallery-sec .gallery-copy-wrap .arrowlink:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff
}
.gallery-sec .gallery-copy-wrap .arrowlink:after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	transform: translate(0, -50%);
	width: 15px;
	height: 10px;
	background: url("../img/linkarrow.svg");
	background-size: contain;
	transition: 0.4s ease
}
@media only screen and (max-width: 991px) {
	.gallery-sec .gallery-copy-wrap .arrowlink:after {
		width: 10px;
		height: 7.5px;
		top: calc(50% - 7.5px)
	}
}
body .iziModal {
	z-index: 10010 !important
}
body .iziModal-navigate {
	z-index: 10008 !important
}
body .iziModal-overlay {
	z-index: 10007 !important
}
body .iziModal {
	background: none
}
body .iziModal .iziModal-content {
	padding: 60px !important;
	background: #fff
}
@media only screen and (max-width: 767px) {
	body .iziModal .iziModal-content {
		padding: 60px 20px 20px !important
	}
}
body .iziModal .iziModal-content .modalclose {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1000;
	border: none;
	padding: 0;
	background: #000
}
body .iziModal .iziModal-content .modalclose .modalIcon {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	color: #fff;
	cursor: pointer
}
@media only screen and (max-width: 767px) {
	body .iziModal .iziModal-content .modalclose .modalIcon {
		width: 38px;
		height: 37px;
		line-height: 38px
	}
}
body .iziModal .iziModal-content .modalclose .modalIcon::before {
	font-family: 'Material Symbols Outlined';
	content: "\e5cd";
	color: #fff;
	font-size: 25px;
	font-weight: 200
}
body .iziModal .twoColumn {
	display: flex;
	justify-content: center;
	flex-wrap: wrap
}
body .iziModal .twoColumn .textWrap {
	width: 80%;
	padding: 3% 5% 3% 3%
}
@media only screen and (max-width: 767px) {
	body .iziModal .twoColumn .textWrap {
		width: 100%;
		padding: 0
	}
}
body .iziModal .twoColumn .textWrap .title {
	margin: 0 0 30px;
	font-size: 24px
}
@media only screen and (max-width: 767px) {
	body .iziModal .twoColumn .textWrap .title {
		font-size: 18px
	}
}
body .iziModal .twoColumn .textWrap .text {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 2
}
@media only screen and (max-width: 767px) {
	body .iziModal .twoColumn .textWrap .text {
		font-size: 15px
	}
}
body .iziModal .twoColumn .imgWrap {
	width: 20%
}
@media only screen and (max-width: 767px) {
	body .iziModal .twoColumn .imgWrap {
		width: 100%
	}
}
body .iziModal .twoColumn .imgWrap figure img {
	max-width: 100%
}
body .iziModal .twoColumn .imgWrap figure + figure {
	margin-top: 20px
}
body .iziModal-navigate > button {
	background: rgba(0, 0, 0, 0.85);
	height: 60px;
	width: 60px;
	top: 50%;
	transform: translateY(-50%);
	opacity: 1
}
body .iziModal-navigate > button::before {
	font-family: 'Material Symbols Outlined';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	z-index: 10;
	margin: auto;
	text-align: center;
	transform: translateY(-50%);
	color: #fff;
	font-size: 2rem
}
body .iziModal-navigate > button.iziModal-navigate-prev::before {
	content: "\e5c4"
}
body .iziModal-navigate > button.iziModal-navigate-next::before {
	content: "\e5c8"
}
@media only screen and (max-width: 991px) {
	body .iziModal-navigate > button {
		height: 50px;
		width: 50px
	}
}
@media only screen and (max-width: 767px) {
	body .iziModal-navigate > button {
		height: 50px;
		width: 30px
	}
	body .iziModal-navigate > button.iziModal-navigate-prev {
		transform: translateY(-50%) translateX(150%)
	}
	body .iziModal-navigate > button.iziModal-navigate-next {
		transform: translateY(-50%) translateX(-150%)
	}
}
#global-nav .drop-menu-item a:before {
	content: none !important;
}

@media only screen and (max-width:768px) {
	.modaal-video-wrap {
		margin: auto 0;
		position: relative;
	}
}

  /* 英語サイト用
  ================================================ */
  #global-nav.en {
			padding-top: 80px;
}
	#global-nav.en .global-nav-inner {
			padding: 0 20px;
	}
	#global-nav.en .global-item {
			padding: 0px 14px;
	}
	#global-nav.en .global-item a {
			font-size: 14px;
			padding-bottom: 5px;
	}

	.thanks-sec .thanks-slide-wrap.en .thanks-swiper .swiper-wrapper .swiper-slide .inner .link-ttl {
		width: 90%;
		writing-mode: horizontal-tb;
	}
	/* 英語サイト用
  ================================================ */


.thanks-inner {
	position: relative;
}
.thanks-sec .thanks-inner h2.opacity {
	opacity: 0;
	height: 300px;
}
.thanks-sec .thanks-inner h2.change0417 {
	opacity: 1;
	transform: translate(5px, 3px);
}
.thanks-sec .thanks-inner h2.change0417 {
	writing-mode: unset;
	position: absolute;
	top: 0;
	width: 100%;
	/* transform: translate(-50%, -50%); */
}
.thanks-sec .thanks-inner h2.is-inview.change0417 span {
	display: block;
	line-height: 1.1;
}
.thanks-sec .thanks-inner h2.change0417 span:nth-of-type(8) {
    transform: translate(21px, -26px);
}


.grid-intro-inner {
	position: relative;
}
.grid-intro-sec .grid-intro-inner h2.opacity {
	opacity: 0;
}
.grid-intro-sec .grid-intro-inner h2.change0417 {
	opacity: 1;
	transform: translate(5px, 3px);
}
.grid-intro-sec .grid-intro-inner h2.change0417 {
	writing-mode: unset;
	position: absolute;
	top: 0;
	width: 100%;
	/* transform: translate(-50%, -50%); */
}
.grid-intro-sec .grid-intro-inner h2.is-inview.change0417 span {
	display: block;
	line-height: 1.1;
}
.grid-intro-sec .grid-intro-inner h2.change0417 span:nth-of-type(7) {
    transform: translate(21px, -21px);
}

.is-safari .thanks-sec .thanks-inner h2.is-inview.change0417 {
	transform: translate(5px, -260px);
}

@media only screen and (max-width: 991px) {
	.thanks-sec .thanks-inner h2.opacity {
		height: 200px;
	}
}
body {
	overflow: hidden;
	/* background-color: red; */
}
.swiper-wrapper {
	overflow: unset!important;
}

@media only screen and (max-width: 1300px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex {
		flex-wrap: wrap;
	}
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a {
		width: 46%;
	}

}
@media only screen and (min-width: 1301px) {
	.gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a .mov-link .mov-ttl h2 {
		font-size: 23px;
	}

}
@media only screen and (max-width: 767px) {
    .gallery-sec .gallery-copy-wrap .mov-wrap .mov-link-flex a {
        width: 100%;
    }
}