@charset "utf-8";

/*-------------------------------
	ヘッダー
-------------------------------*/

.header{
	transition: var(--transition);
	position: absolute;
}
.header__inner{
	background: transparent;
}
.header-top{
	border-bottom: 1px solid #fff;
}
.header-logo a{
	background-image: url(../images/common/logo-white.svg);
}

.header-top__nav-item a,
.header-top__nav-item a:hover{
	color: #fff;
}
.header-top__nav-item a::before,
.header-top__nav-item a:hover::before{
	background-image: url(../images/common/icon_arrow-white-border.svg);
}
.header-top__nav-item a::after{
	background: #fff;
}
.header-top__nav-youtube{
	border-color: #fff;
}

.header-bottom__nav-item{
	border-left-color: #fff;
}
.header-bottom__nav-item:last-child{
	border-right-color: #fff;
}
.header-bottom__nav-item > a,
.header-bottom__nav-item > .a{
	color: #fff;
}
.header-bottom__nav-item > a > span::before,
.header-bottom__nav-item > .a > span::before,
.header-bottom__nav-item:last-child > a > span::after,
.header-bottom__nav-item:last-child > .a > span::after{
	background: #fff;
}

.header-bottom__nav-button a{
	border: none;
}

.nav__child-item a::before{
	background-image: url(../images/common/icon_arrow-black-border.svg);
}

/* メニューをhoverした時のスタイル */
.header:has(.header-bottom__nav-item:hover) .header__inner{
	background: #fff;
}
.header:has(.header-bottom__nav-item:hover) .header-logo a{
	background-image: url(../images/common/logo.svg);
}
.header:has(.header-bottom__nav-item:hover) .header-top{
	border-bottom-color: var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-top__nav-youtube{
	border: 1px solid var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-top__nav-item a{
	color: var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-top__nav-item a::before{
	background-image: url(../images/common/icon_arrow-black-border.svg);
}
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item{
	border-left-color: var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item:last-child{
	border-right-color: var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > a,
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > .a{
	color: var(--blackcolor);
}
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > a > span::before,
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > .a > span::before,
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > a > span::after,
.header:has(.header-bottom__nav-item:hover) .header-bottom__nav-item > .a > span::after{
	background: var(--blackcolor);
}

/* スクロール時に一旦隠す */
.header.hide-before-fixed {
	transform: translateY(-100%);
	opacity: 0;
}

/* 固定して表示 */
.header.on {
	position: fixed;
	background: #fff;
}
.header.on .header-logo a{
	background-image: url(../images/common/logo.svg);
}
.header.on .header-top{
	border-bottom-color: var(--blackcolor);
}
.header.on .header-top__nav-item a,
.header.on .header-top__nav-item a:hover{
	color: var(--blackcolor);
}
.header.on .header-top__nav-item a::before,
.header.on .header-top__nav-item a:hover::before{
	background-image: url(../images/common/icon_arrow-black-border.svg);
}
.header.on .header-top__nav-youtube{
	border-color: var(--blackcolor);
}
.header.on .header-bottom__nav-item > a > span::before,
.header.on .header-bottom__nav-item > .a > span::before,
.header.on .header-bottom__nav-item:last-child > a > span::after,
.header.on .header-bottom__nav-item:last-child > .a > span::after{
	background: var(--blackcolor);
}
.header.on .header-bottom__nav-item > a,
.header.on .header-bottom__nav-item > .a{
	color: var(--blackcolor);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.header-top{
		border-bottom: none;
	}

	/*----- ハンバーガー */
	.menu-button {
		background: #fff;
	}
	.menu-button i{
		background: var(--maincolor);
	}
	.menu-button i::before,
	.menu-button i::after{
		background: var(--maincolor);
	}
	.menu-button.is_open + .header .header-logo a{
		background-image: url(../images/common/logo.svg);
	}

}



/*-------------------------------
	お問い合わせ（共通）
-------------------------------*/

.Contact{
	margin-top: -5rem;
	position:  relative;
	z-index: 4000;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Contact{
		margin-top: -5rem;
	}

}



/*-------------------------------
	パーツ
-------------------------------*/

/*----- 見出し */
.Index-title{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.Index-title__en{
	color: var(--maincolor);
	font-family: var(--en);
	width: 100%;
	letter-spacing: .06em;
	margin-bottom: 2.4rem;
	line-height: 1;
	font-weight: 500;
	display: block;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Index-title__en::before{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	margin-right: .3rem;
	border-radius: 50%;
}
.Index-title__jp{
	font-family: var(--mincho);
	font-size: 3rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: calc(4.8 / 3);
	display: block;
}

/*----- 詳しく見る */
.Index-more{
	width: 10rem;
}
.Index-more a{
	color: var(--blackcolor);
	padding-right: 1.6rem;
	padding-bottom: .5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	display: block;
	position: relative;
	opacity: 1 !important;
}
.Index-more a::before{
	background: var(--blackcolor);
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
}
.Index-more a::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(../images/common/icon_arrow-black-border.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 0;
}
.Index-more a:hover{
	color: var(--maincolor);
}
.Index-more a:hover::before{
	background: var(--maincolor);
}
.Index-more a:hover::after{
	background-image: url(../images/common/icon_arrow-border.svg);
}

/*----- レイアウト1 */
.Index-layout__inner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.Index-layout__body{
	width: calc(50% - 7.5rem);
	padding-top: 14.8rem;
}
.Index-layout__title{
	margin-bottom: 6.6rem;
}
.Index-layout__text{
	margin-bottom: 6rem;
}
.Index-layout__image{
	width: calc(50% - 2rem);
	position: sticky;
	right: 0;
	top: 0;
	/* display: flex;
	align-items: flex-start;
	justify-content: flex-start; */
}
.Index-layout__image__inner{
	width: 50vw;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Index-layout__image img{
	/* width: calc(100% + 13.5rem); */
	width: 100%;
	height: 60.5rem;
	object-fit: cover;
	border-bottom-left-radius: 3rem;
}
/* 反転 */
.Index-layout__inner.-reverse{
	flex-direction: row-reverse;
}
.Index-layout__inner.-reverse .Index-layout__image__inner{
	/* justify-content: flex-end; */
	float: right;
}
.Index-layout__inner.-reverse .Index-layout__image img{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 3rem;
}

/*----- レイアウト2 */
.Index-layout2-header{
	width: 100%;
	margin-bottom: 4.5rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.Index-layout2-header__title{
	width: calc(100% - 10rem);
}
.Index-layout2__body{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Index-layout2-link{
	width: 47.5rem;
}
.Index-layout2-link__item{
	border-bottom: 1px solid var(--graycolor);
}
.Index-layout2-link__item:first-child{
	border-top: 1px solid var(--graycolor);
}
.Index-layout2-link__item a{
	color: var(--blackcolor);
	font-size: 2rem;
	width: 100%;
	height: 7.2rem;
	padding-right: 6rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: calc(3 / 2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	opacity: 1 !important;
}
.Index-layout2-link__item a::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 1.4rem;
	height: 1.5rem;
	background-image: url(../images/common/icon_arrow-black-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
}
.Index-layout2-link__item a:hover{
	color: var(--maincolor);
}
.Index-layout2-link__item a:hover::after{
	transform: translate(.5rem,-50%);
	background-image: url(../images/common/icon_arrow-blue-naked.svg);
}
.Index-layout2__image{
	width: calc(100% - 47.5rem);
	padding-left: 9.5rem;
}
.Index-layout2__image img{
	width: 100%;
	border-bottom-left-radius: 3rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Index-layout__body{
		width: calc(50% - 2.5rem);
	}

	.Index-layout2-link{
		width: 50%;
	}
	.Index-layout2__image{
		width: 50%;
		padding-left: 5rem;
	}

}
@media screen and (max-width:768px){

	/*----- 見出し */
	.Index-title__en{
		font-size: 2.2rem;
		margin-bottom: .8rem;
	}
	.Index-title__en::before{
		width: 1.7rem;
		height: 1.7rem;
		margin-right: .5rem;
	}
	.Index-title__jp{
		font-size: 4rem;
		line-height: calc(5 / 4);
	}

	/*----- 詳しく見る */
	.Index-more{
		width: 18rem;
	}
	.Index-more a{
		padding-right: 2.9rem;
	}
	.Index-more a::after{
		width: 2.9rem;
		height: 2.9rem;
	}

	/*----- レイアウト1 */
	.Index-layout__inner{
		flex-direction: column;
	}
	.Index-layout__body{
		width: 100%;
		padding-top: 0;
	}
	.Index-layout__title{
		margin-bottom: 6rem;
	}
	.Index-layout__text{
		margin-bottom: 5rem;
	}
	.Index-layout__image{
		margin-top: 5.3rem;
		width: 100%;
		position: static;
	}
	.Index-layout__image__inner{
		width: calc(100% + var(--padding-leftright));
	}
	.Index-layout__image img{
		width: 100%;
	}
	/* 反転 */
	.Index-layout__inner.-reverse{
		flex-direction: column;
	}
	/* .Index-layout__inner.-reverse .Index-layout__image{
		justify-content: flex-start;
	} */
	.Index-layout__inner.-reverse .Index-layout__image__inner{
		float: none;
	}
	.Index-layout__inner.-reverse .Index-layout__image img{
		border-bottom-left-radius: 3rem;
		border-bottom-right-radius: 0;
	}

	/*----- レイアウト2 */
	.Index-layout2-header{
		margin-bottom: 6.2rem;
	}
	.Index-layout2-header__title{
		width: auto;
	}
	.Index-layout2__body{
		flex-direction: column;
	}
	.Index-layout2-link{
		width: 100%;
	}
	.Index-layout2-link__item a{
		font-size: 3rem;
		width: 100%;
		height: 9.2rem;
		padding-right: 3.2rem;
		line-height: calc(3.9 / 3);
	}
	.Index-layout2-link__item a::after{
		width: 1.9rem;
		height: 1.9rem;
		right: 3.2rem;
	}
	.Index-layout2__image{
		width: 100%;
		padding-left: 0;
		margin-top: 3.5rem;
	}
	.Index-layout2__image img{
		width: 100%;
		border-bottom-left-radius: 3rem;
	}

}



/*-------------------------------
	メインビジュアル
-------------------------------*/

.Mainvisual{
	z-index: 6000;
	position: relative;
	background: #fff;
}
.Mainvisual-slider__item{
	width: 100%;
	height: 100vh;
	position: relative;
}
.Mainvisual-slider__item-title{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 6000;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: flex-start;
}
.Mainvisual-slider__item-title-en{
	letter-spacing: .3em;
	padding-top: .5em;
}
.Mainvisual-slider__item-title-jp{
	font-family: var(--mincho);
	font-size: 4rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .2em;
	white-space: nowrap;
	font-feature-settings: normal;
}
.Mainvisual-slider__item-image{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 4000;
}
.Mainvisual-slider__item-image::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(27,60,82,.4);
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 6000;
}
.Mainvisual-slider__item-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Mainvisual-slider:has(.swiper-slide:nth-of-type(1).swiper-slide-active) .swiper-slide:last-child img,
.Mainvisual-slider .swiper-slide-active img,
.Mainvisual-slider .swiper-slide-duplicate-active img,
.Mainvisual-slider .swiper-slide-prev img {
	animation: zoomUp 15s linear 0s normal both;
}
@keyframes zoomUp {
	0% {
	transform: scale(1.15);
	}
	100% {
	transform: scale(1.0);
	}
}
.Mainvisual-slider__pagination{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	bottom: 3.2rem !important;
	padding-left: 13rem;
}
.Mainvisual-slider__pagination .swiper-pagination-bullet{
	transition: var(--transition);
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #fff;
	position: relative;
	margin-left: 1.5rem !important;
	margin-right: 1.5rem !important;
	opacity: 1 !important;
}
.Mainvisual-slider__pagination .swiper-pagination-bullet .circle{
    display: block;
    width: 2rem;
    height: 2rem;
	position:absolute;
	left:-1rem;
	top:-.6rem;
	transform:rotate(-90deg);
}
.Mainvisual-slider__pagination .swiper-pagination-bullet .circle svg{
	width: 100%;
    height: 100%;
    fill: none;
}
.Mainvisual-slider__pagination .swiper-pagination-bullet .circle-01{
	stroke: rgba(255, 255, 255, 0);
    stroke-width: 2px;
}
.Mainvisual-slider__pagination .swiper-pagination-bullet .circle-02{
	stroke: #fff;
    stroke-width: 2px;
    stroke-dasharray: 188.4px;
    stroke-dashoffset: 188.4px;
}
.Mainvisual-slider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
	transform: scale(2);
}
.Mainvisual-slider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active .circle-02{
	animation: white-circle 8s linear;
	animation-fill-mode: forwards;
}
@-webkit-keyframes white-circle {
    100% {
		stroke-dashoffset: 0;
    }
}

@keyframes white-circle {
    100% {
		stroke-dashoffset: 0;
    }
}

.Mainvisual-ownersclub{
	transition: var(--transition);
	border-top-left-radius: 3rem;
	width: 100%;
	max-width: 37.8rem;
	padding: 2.8rem 3rem 1.8rem;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 6000;
	transform: translateY(100%);
	background: #fff;
}
.Mainvisual-ownersclub.-on{
	transform: translateY(0%);
}
.Mainvisual-ownersclub__title{
	border-bottom: 1px solid var(--graycolor);
	color: var(--maincolor);
	font-size: 2rem;
	margin-bottom: 1.2rem;
	padding-bottom: 2rem;
	line-height: 1;
	font-weight: 700;
}
.Mainvisual-ownersclub__title a{
	width: 100%;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	opacity: 1 !important;
}
.Mainvisual-ownersclub__title a::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 1.5rem;
	height: 1.6rem;
	margin-left: 3.5rem;
	background-image: url(../images/common/icon_arrow-naked.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}
.Mainvisual-ownersclub__text{
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: calc(2 / 1.2);
}
.Mainvisual-ownersclub__title a:hover::after{
	transform: translateX(.25rem);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Mainvisual-slider__pagination{
		padding-left: var(--padding-leftright);
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Mainvisual-slider__item{
		height: 100svh;
	}
	.Mainvisual-slider__item-title{
		transform: translate(-50%,-80%);
	}
	.Mainvisual-slider__item-title-en{
		padding-top: .25em;
	}
	.Mainvisual-slider__item-title-jp{
		font-size: 4.9rem;
		letter-spacing: .1em;
	}
	.Mainvisual-slider__pagination{
		bottom: 30rem !important;
		padding-left: 0;
		justify-content: center;
	}
	.Mainvisual-slider__pagination .swiper-pagination-bullet{
		width: 1.1rem;
		height: 1.1rem;
		margin-left: 2.4rem !important;
		margin-right: 2.4rem !important;
	}
	.Mainvisual-slider__pagination .swiper-pagination-bullet .circle{
		/* width: 4.9rem;
		height: 4.9rem;
		left:-1.9rem;
		top:-1.9rem; */
		width: 3.5rem;
		height: 3.5rem;
		left: -1.8rem;
		top: -1.3rem;
	}

	.Mainvisual-ownersclub{
		max-width: calc(100% - 3rem);
		width: calc(100% - 3rem);
		padding: 4.2rem 3rem 4rem;
	}
	.Mainvisual-ownersclub__title{
		font-size: 3.6rem;
		margin-bottom: 2rem;
		padding-bottom: 3.5rem;
	}
	.Mainvisual-ownersclub__title a::after{
		width: 2.7rem;
		height: 2.9rem;
		margin-left: 7rem;
	}
	.Mainvisual-ownersclub__text{
		font-size: 2.4rem;
		line-height: calc(3.5 / 2.4);
	}

}



/*-------------------------------
	ビジョン
-------------------------------*/

.Vision{
	border-left: 5rem solid #fff;
	border-right: 5rem solid #fff;
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
	z-index: 1;
}
.Vision::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background-image: url(../images/index/bg_vision.jpg);
	background-image: image-set(url(../images/index/bg_vision.jpg) 1x, url(../images/index/bg_vision@2x.jpg) 2x);
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.Vision_pallax__outer{
	padding-bottom: 31rem;
	position: relative;
}
.Vision__frame{
	width: 100%;
	height: 100vh;
	position: absolute;
	z-index: 5000;
}
.Vision__frame::before,
.Vision__frame::after{
	content: "";
	display: block;
	width: 100%;
	height: 5rem;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 6000;
}
.Vision__frame::before{
	top: 0;
}
.Vision__frame::after{
	bottom: 0;
}
.Vision__frame > span{
	width: 100%;
	height: 2rem;
	display: flex;
	align-items: center;
	position: absolute;
}
.Vision__frame > span > span{
	width: 2rem;
	height: 2rem;
	display: block;
	position: relative;
}
.Vision__frame > span > span > span{
	width: 200%;
	height: 200%;
	display: block;
	position: absolute;
	mask-image: radial-gradient(circle 2rem at center, transparent 1.9rem, black 2.1rem);
	background: #fff;
}
.Vision__frame > span:nth-of-type(1){
	top: 5rem;
	left: 0;
	justify-content: flex-start;
}
.Vision__frame > span:nth-of-type(1) > span > span{
	left: 0;
	top: 0;
    clip-path: inset(0 2rem 2rem 0);
}
.Vision__frame > span:nth-of-type(2){
	top: 5rem;
	right: 0;
	justify-content: flex-end;
}
.Vision__frame > span:nth-of-type(2) > span > span{
	right: 0;
	top: 0;
    clip-path: inset(0 0 2rem 2rem);
}
.Vision__frame > span:nth-of-type(3){
	bottom: 5rem;
	left: 0;
	justify-content: flex-start;
}
.Vision__frame > span:nth-of-type(3) > span > span{
	left: 0;
	bottom: 0;
    clip-path: inset(2rem 2rem 0 0);
}
.Vision__frame > span:nth-of-type(4){
	bottom: 5rem;
	right: 0;
	justify-content: flex-end;
}
.Vision__frame > span:nth-of-type(4) > span > span{
	right: 0;
	bottom: 0;
    clip-path: inset(2rem 0 0 2rem);
}
.Vision__inner{
	position: relative;
}
.Vision-top{
	width: 100%;
	margin-bottom: 30rem;
	height: 100vh;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Vision-top__inner-wrap{
	width: 100%;
	position: relative;
}
.Vision-top__inner{
	width: 100%;
	max-width: 95rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	margin-left: auto;
    margin-right: auto;
}
.Vision__en{
	font-family: var(--en);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .2em;
	position: absolute;
	left: -5rem;
	top: -11.5rem;
	transform: 0;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Vision__en::before{
	content: "";
	display: block;
	width: 5.4rem;
	height: 5.4rem;
	margin-bottom: 3.3rem;
	background-image: url(../images/common/logo-white.png);
	background-image: image-set(url(../images/common/logo-white.png) 1x, url(../images/common/logo-white@2x.png) 2x);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}
.Vision-top__title{
	font-family: var(--mincho);
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: calc(6 / 3.2);
}
.Vision-top__text{
	font-size: 1.8rem;
	letter-spacing: .01em;
	font-weight: 500;
	line-height: calc(6.3 / 1.8);
}

.Vision-bottom{
	width: 100%;
	max-width: 95rem;
	margin-top: 150vh;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.Vision-bottom::before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: -12.2rem;
	right: 0;
}
.Vision-bottom__text{
	color: var(--maincolor);
	margin-bottom: 9rem;
	text-align: center;
}
.Vision-bottom__list{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.Vision-bottom__list-item{
	width: 17rem;
	height: 17rem;
	padding: .5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0070B880;
	background: linear-gradient(135deg,rgba(0, 112, 184, 1) 0%, rgba(88, 190, 255, 1) 100%);
}
.Vision-bottom__list-item:not(:last-child){
	margin-right: 2.4rem;
}
.Vision-bottom__list-item-title{
	color: var(--maincolor);
	width: 100%;
	height: 100%;
	font-size: 2rem;
	font-weight: 700;
	border-radius: 50%;
	line-height: calc(3 / 2);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.Vision-bottom__list-item-title::after{
	content: "";
	display: block;
	margin-top: 1.2rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.Vision-bottom__list-item:nth-of-type(1) .Vision-bottom__list-item-title::after{
	width: 3.7rem;
	height: 3.7rem;
	background-image: url(../images/index/icon_vision1.svg);
}
.Vision-bottom__list-item:nth-of-type(2) .Vision-bottom__list-item-title::after{
	width: 5.3rem;
	height: 4.7rem;
	background-image: url(../images/index/icon_vision2.svg);
}
.Vision-bottom__list-item:nth-of-type(3) .Vision-bottom__list-item-title::after{
	width: 4.6rem;
	height: 3.8rem;
	background-image: url(../images/index/icon_vision3.svg);
}
.Vision-bottom__list-item:nth-of-type(4) .Vision-bottom__list-item-title::after{
	width: 4.4rem;
	height: 4.3rem;
	background-image: url(../images/index/icon_vision4.svg);
}
.Vision-bottom__list-item:nth-of-type(5) .Vision-bottom__list-item-title::after{
	width: 3.9rem;
	height: 3.9rem;
	background-image: url(../images/index/icon_vision5.svg);
}

.Vision-slider{
	padding-top: 14.5rem;
}
.Vision-slider .swiper-wrapper{
	transition-timing-function: linear;
}
.Vision-slider__item{
	width: 92.8rem;
	margin-left: 5rem;
	margin-right: 5rem;
}
.Vision-slider__item img{
	width: 100%;
}

/* 固定 */
.Vision.-fixed .Vision__frame{
	height: 100%;
}
.Vision.-fixed .Vision__frame::before,
.Vision.-fixed .Vision__frame > span:nth-of-type(1),
.Vision.-fixed .Vision__frame > span:nth-of-type(2){
	position: sticky;
}
.Vision.-fixed .Vision__frame::after,
.Vision.-fixed .Vision__frame > span:nth-of-type(3),
.Vision.-fixed .Vision__frame > span:nth-of-type(4){
	position: fixed;
}
.Vision.-fixed .Vision__frame > span:nth-of-type(3){
	left: 5rem;
}
.Vision.-fixed .Vision__frame > span:nth-of-type(4){
	right: 5rem;
}
.Vision.-fixed .Vision-top{
	position: sticky;
	top: 0;
	left: 0;
}
.Vision.-fixed.-end .Vision__frame::after,
.Vision.-fixed.-end .Vision__frame > span:nth-of-type(3),
.Vision.-fixed.-end .Vision__frame > span:nth-of-type(4){
	position: absolute;
}
.Vision.-fixed.-end .Vision__frame > span:nth-of-type(3){
	left: 0;
}
.Vision.-fixed.-end .Vision__frame > span:nth-of-type(4){
	right: 0;
}

/* @media screen and (min-width:769px) , print{	
	.Vision{
		padding-block: 0;
		height: 62.5rem;
		overflow: hidden;
	}
	.Vision_pallax__outer{
		height: 100%;
		overflow-y: scroll; 
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.Vision_pallax__outer::-webkit-scrollbar {
		display: none;
	}
	.Vision_pallax{
		padding-top: 20.5rem;
		padding-bottom: 26rem;
		width: 100%;
		position: relative;
	}
	.Vision_pallax::before{
		content: "";
		display: block;
		width: 100%;
		max-width: 126.6rem;
		height: 100%;
		border-radius: 2rem;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		z-index: -1;
		background-image: url(../images/index/bg_vision.jpg);
		background-image: image-set(url(../images/index/bg_vision.jpg) 1x, url(../images/index/bg_vision@2x.jpg) 2x);
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
	}
} */
@media screen and (max-width:1240px) and (min-width: 769px){

	.Vision-top__title{
		width: 30.5rem;
	}
	.Vision-top__text{
		width: calc(100% - 30.5rem);
		padding-left: 5rem;
	}
	.Vision-top__text br{
		display: none;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Vision{
		padding: 0 3rem;
		border-left: none;
		border-right: none;
	}
	.Vision::before{
		display: none;
	}
	.Vision_pallax__outer{
		padding-bottom: 5rem;
	}
	.Vision__inner{
		width: 100%;
		padding: 8.3rem 6rem 40rem 3rem;
		border-radius: 2rem;
		background-image: url(../images/index/sp_bg_vision.jpg);
		background-image: image-set(url(../images/index/sp_bg_vision.jpg) 1x, url(../images/index/sp_bg_vision@2x.jpg) 2x);
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	/* 固定 */
	.Vision.-fixed .Vision__frame > span:nth-of-type(3){
		left: 3rem;
	}
	.Vision.-fixed .Vision__frame > span:nth-of-type(4){
		right: 3rem;
	}

	.Vision-top{
		margin-bottom: calc(100vh - 40rem);
	}

	.Vision-top__inner-wrap{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.Vision__en{
		width: 12rem;
		padding-right: 6rem;
		margin-top: -8.4rem;
		position: static;
	}
	.Vision__en::before{
		width: 6rem;
		height: 6rem;
		margin-bottom: 2.8rem;
	}
	.Vision__en span{
		font-size: 2.8rem;
	}
	.Vision-top__inner{
		width: calc(100% - 12rem);
		flex-direction: column;
	}
	.Vision-top__title{
		font-size: 4rem;
		margin-bottom: 7.5rem;
		line-height: calc(7 / 4);
	}
	.Vision-top__text{
		font-size: 2.8rem;
		line-height: calc(6 / 2.8);
	}

	.Vision-bottom{
		width: calc(100% - 12rem);
		max-width: 100%;
		margin-top: 50vh;
		margin-right: 0;
	}
	.Vision-bottom__text{
		margin-bottom: 8rem;
		text-align: left;
	}
	.Vision-bottom__list{
		justify-content: space-between;
		align-items: flex-start;
	}
	.Vision-bottom__list-item{
		width: 22.4rem;
		height: 22.4rem;
		padding: .6rem;
	}
	.Vision-bottom__list-item:not(:nth-last-of-type(-n+2)){
		margin-bottom: 3.7rem;
	}
	.Vision-bottom__list-item:not(:last-child){
		margin-right: 0;
	}
	.Vision-bottom__list-item-title{
		font-size: 2.4rem;
		line-height: calc(3.7 / 2.4);
	}
	.Vision-bottom__list-item-title::after{
		margin-top: 2.5rem;
	}
	.Vision-bottom__list-item:nth-of-type(1) .Vision-bottom__list-item-title::after{
		width: 5.1rem;
		height: 5.1rem;
	}
	.Vision-bottom__list-item:nth-of-type(2) .Vision-bottom__list-item-title::after{
		width: 7rem;
		height: 6.2rem;
	}
	.Vision-bottom__list-item:nth-of-type(3) .Vision-bottom__list-item-title::after{
		width: 6.1rem;
		height: 5rem;
	}
	.Vision-bottom__list-item:nth-of-type(4) .Vision-bottom__list-item-title::after{
		width: 5.8rem;
		height: 5.7rem;
	}
	.Vision-bottom__list-item:nth-of-type(5) .Vision-bottom__list-item-title::after{
		width: 5.1rem;
		height: 5.1rem;
	}

	.Vision-slider{
		padding-top: 0;
	}

}



/*-------------------------------
	御幸建設が選ばれる理由
-------------------------------*/

.Point{
	background: #fff;
}
.Point-banner{
	width: 100%;
	margin-top: 10.6rem;
	overflow: hidden;
}
.Point-banner a{
	/* border: 1px solid var(--maincolor); */
	width: 100%;
	border-bottom-left-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
}
.Point-banner a::before{
	transition: var(--transition);
	content: "";
	display: block;
	width: 3.4rem;
	height: 3.5rem;
	background-image: url(../images/common/icon_arrow-blue-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	right: 2rem;
	bottom: 1.5rem;
}
.Point-banner img{
	width: 100%;
}
.Point-banner a:hover::before{
	transform: translateX(.5rem);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Point-banner a{
		border: 1px solid #707070;
	}
	.Point-banner a::before{
		display: none;
	}
	.Point-banner__button {
        position: absolute;
        left: 0;
        bottom: 6.5rem;
        right: 0;
    }

}



/*-------------------------------
	土地活用と賃貸経営コンサルティング
-------------------------------*/

.Service{
	padding-top: 0;
	border-top-right-radius: 3rem;
	background: #ECF2F7;
}
.Service-search{
	margin-top: 15.5rem;
	padding: 7rem 5.5rem 8.8rem;
	box-shadow: 0 0 .6rem rgba(0,0,0,.16);
	border-radius: 1rem;
	background: #fff;
}
.Service-search__title{
	color: var(--maincolor);
	font-size: 2.8rem;
	margin-bottom: 4rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.Service-search__title span{
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.Service-search__title > span::before,
.Service-search__title > span::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 9.5rem;
	height: 1px;
}
.Service-search__title > span > span{
	padding-left: 3.5rem;
	padding-right: 3.5rem;
}
.Service-search__title > span > span::before,
.Service-search__title > span > span::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.Service-search__title > span > span::before{
	left: -9.5rem;
}
.Service-search__title > span > span::after{
	right: -9.5rem;
}
.Service-search__subtitle{
	font-family: var(--mincho);
	font-size: 2.4rem;
	margin-bottom: 9rem;
	letter-spacing: .05em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.Service-search__subtitle span{
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Service-search__subtitle span::before,
.Service-search__subtitle span::after{
	line-height: 1;
	display: block;
}
.Service-search__subtitle span::before{
	content: "＼";
}
.Service-search__subtitle span::after{
	content: "／";
}
.Service-search-panel{
	margin-bottom: 9.6rem;
}
.Service-search-panel__title{
	color: var(--maincolor);
	font-size: 2rem;
	margin-bottom: 4rem;
	letter-spacing: .01em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.Service-search-panel__title span{
	line-height: 1;
	display: inline-block;
	position: relative;
}
.Service-search-panel__title span::before{
	font-family: var(--en);
	content: "CASE";
	width: 4.6rem;
	height: 4.6rem;
	font-size: 1.2rem;
	border-radius: 50%;
	font-weight: 500;
	letter-spacing: .06em;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,112,184,.1);
	position: absolute;
	left: 0;
	top: -4rem;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.Service-search-panel__list{
	width: 100%;
	row-gap: 2rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.Service-search-panel__list::before,
.Service-search-panel__list::after{
	content: "";
	display: block;
	width: calc((100% - (2.3rem * 3)) / 4);
	order: 9999;
}
.Service-search__list-item{
	width: calc((100% - (2.3rem * 3)) / 4);
}
.Service-search__list-item a{
	border: 1px solid var(--maincolor);
	width: 100%;
	height: 5rem;
	font-weight: 700;
	border-radius: .8rem;
	letter-spacing: .05em;
	padding: 1rem 5rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	opacity: 1 !important;
}
.Service-search__list-item a::before{
	content: "";
	display: block;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	left: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
}
.Service-search__list-item a::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 1.7rem;
	height: 1.7rem;
	background-image: url(../images/common/icon_arrow-circle2.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	right: 1.2rem;
	top: 50%;
	transform: translateY(-50%);
}
.Service-search__list-item span{
	line-height: 1;
	display: block;
}
.Service-search__list-item:nth-of-type(1) a::before{
	width: 2.5rem;
	height: 2.8rem;
	background-image: url(../images/index/icon_service-search1.svg);
}
.Service-search__list-item:nth-of-type(2) a::before{
	width: 2.6rem;
	height: 2.4rem;
	background-image: url(../images/index/icon_service-search2.svg);
}
.Service-search__list-item:nth-of-type(3) a::before{
	width: 2.2rem;
	height: 2.2rem;
	background-image: url(../images/index/icon_service-search3.svg);
}
.Service-search__list-item:nth-of-type(4) a::before{
	width: 2.5rem;
	height: 2.8rem;
	background-image: url(../images/index/icon_service-search4.svg);
}
.Service-search__list-item:nth-of-type(5) a::before{
	width: 2.1rem;
	height: 1.4rem;
	background-image: url(../images/index/icon_service-search5.svg);
}
.Service-search__list-item:nth-of-type(6) a::before{
	width: 2.5rem;
	height: 1.3rem;
	background-image: url(../images/index/icon_service-search6.svg);
}
.Service-search__list-item:nth-of-type(7) a::before{
	width: 2.2rem;
	height: 2rem;
	background-image: url(../images/index/icon_service-search7.svg);
}
.Service-search__list-item:nth-of-type(8) a::before{
	width: 1.6rem;
	height: 2.2rem;
	background-image: url(../images/index/icon_service-search8.svg);
}
.Service-search__list-item:nth-of-type(9) a::before{
	width: 2.2rem;
	height: 2rem;
	background-image: url(../images/index/icon_service-search9.svg);
}
.Service-search__list-item:nth-of-type(10) a::before{
	width: 2.3rem;
	height: 2.3rem;
	background-image: url(../images/index/icon_service-search10.svg);
}

.Service-search__list-item a:hover{
	background: var(--maincolor);
	color: #fff;
}
.Service-search__list-item a:hover::after{
	transform: translate(.25rem,-50%);
	background-image: url(../images/common/icon_arrow-white-circle2.svg);
}
.Service-search__list-item:nth-of-type(1) a:hover::before{
	background-image: url(../images/index/icon_service-search1-white.svg);
}
.Service-search__list-item:nth-of-type(2) a:hover::before{
	background-image: url(../images/index/icon_service-search2-white.svg);
}
.Service-search__list-item:nth-of-type(3) a:hover::before{
	background-image: url(../images/index/icon_service-search3-white.svg);
}
.Service-search__list-item:nth-of-type(4) a:hover::before{
	background-image: url(../images/index/icon_service-search4-white.svg);
}
.Service-search__list-item:nth-of-type(5) a:hover::before{
	background-image: url(../images/index/icon_service-search5-white.svg);
}
.Service-search__list-item:nth-of-type(6) a:hover::before{
	background-image: url(../images/index/icon_service-search6-white.svg);
}
.Service-search__list-item:nth-of-type(7) a:hover::before{
	background-image: url(../images/index/icon_service-search7-white.svg);
}
.Service-search__list-item:nth-of-type(8) a:hover::before{
	background-image: url(../images/index/icon_service-search8-white.svg);
}
.Service-search__list-item:nth-of-type(9) a:hover::before{
	background-image: url(../images/index/icon_service-search9-white.svg);
}
.Service-search__list-item:nth-of-type(10) a:hover::before{
	background-image: url(../images/index/icon_service-search10-white.svg);
}

.Service-search__button{
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Service-search__list-item{
		width: calc((100% - (2.3rem * 2)) / 3);
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Service{
		padding-top: var(--padding-topbottom);
		border-top-right-radius: 0;
	}
	.Service-search{
		width: calc(100% + 6rem);
		margin-top: 7.6rem;
		margin-left: -3rem;
		padding: 6rem 3rem 7.5rem;
	}
	.Service-search__title{
		font-size: 3.6rem;
		margin-bottom: 6.6rem;
	}
	.Service-search__title > span::before,
	.Service-search__title > span::after{
		width: 9rem;
	}
	.Service-search__title > span > span{
		padding-left: 2rem;
		padding-right: 2rem;
		line-height: calc(5 / 3.6);
	}
	.Service-search__title > span > span::before{
		left: -9rem;
	}
	.Service-search__title > span > span::after{
		right: -9rem;
	}
	.Service-search__subtitle{
		font-size: 3.2rem;
		margin-bottom: 10.6rem;
	}
	.Service-search-panel{
		margin-bottom: 11.2rem;
	}
	.Service-search-panel__title{
		font-size: 3rem;
		margin-bottom: 2.6rem;
	}
	.Service-search-panel__title span::before{
		width: 6.5rem;
		height: 6.5rem;
		font-size: 2rem;
		top: -6rem;
	}
	.Service-search-panel__list{
		row-gap: 2rem;
	}
	.Service-search-panel__list::before,
	.Service-search-panel__list::after{
		display: none;
	}
	.Service-search__list-item{
		width: calc((100% - (3rem * 1)) / 2);
	}
	.Service-search__list-item a{
		height: 8.8rem;
		font-size: 2.6rem;
		letter-spacing: 0;
		padding: 1.9rem 2rem 1.9rem 6.2rem;
	}
	.Service-search__list-item a::after{
		width: 2.2rem;
		height: 2.2rem;
		right: 1.5rem;
	}
	.Service-search__list-item:nth-of-type(1) a::before{
		width: 3.3rem;
		height: 3.6rem;
	}
	.Service-search__list-item:nth-of-type(2) a::before{
		width: 3.6rem;
		height: 3.4rem;
	}
	.Service-search__list-item:nth-of-type(3) a::before{
		width: 3.2rem;
		height: 3.2rem;
	}
	.Service-search__list-item:nth-of-type(4) a::before{
		width: 3.2rem;
		height: 3.3rem;
	}
	.Service-search__list-item:nth-of-type(5) a::before{
		width: 3.5rem;
		height: 2.4rem;
	}
	.Service-search__list-item:nth-of-type(6) a::before{
		width: 3.7rem;
		height: 2rem;
	}
	.Service-search__list-item:nth-of-type(7) a::before{
		width: 3.4rem;
		height: 3.1rem;
	}
	.Service-search__list-item:nth-of-type(8) a::before{
		width: 2.1rem;
		height: 2.9rem;
	}
	.Service-search__list-item:nth-of-type(9) a::before{
		width: 3.1rem;
		height: 2.8rem;
	}
	.Service-search__list-item:nth-of-type(10) a::before{
		width: 3rem;
		height: 3.1rem;
	}

}



/*-------------------------------
	オーダーメイド設計・施工
-------------------------------*/

.Brand{
	padding-top: 0;
	background: #ECF2F7;
}
.Brand-list{
	padding-top: 15.2rem;
}
.Brand-list__item{
	width: 100%;
}
.Brand-list__item a{
	color: var(--blackcolor);
	width: 100%;
	height: 12.5rem;
	border-bottom: 1px solid #707070;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	opacity: 1 !important;
}
.Brand-list__item:first-child a{
	border-top: 1px solid #707070;
}
.Brand-list__item a::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 3.3rem;
	height: 3.3rem;
	background-image: url(../images/common/icon_arrow-black-circle2.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.Brand-list__item-image{
	width: 9.5rem;
	height: 9.5rem;
}
.Brand-list__item-image img{
	width: 100%;
	height: 100%;
	border-radius: 1rem;
	object-fit: cover;
}
.Brand-list__item-title{
	width: 100%;
	padding-right: 5.5rem;
	font-size: 2rem;
	font-weight: 700;
}
.Brand-list__item-image + .Brand-list__item-title{
	width: calc(100% - 9.5rem);
	padding-left: 2.2rem;
}
.Brand-list__item a:hover{
	color: var(--maincolor);
}
.Brand-list__item a:hover::after{
	transform: translateX(-.5rem);
	background-image: url(../images/common/icon_arrow-grad-circle2.svg);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Brand-list{
		padding-top: 10rem;
	}
	.Brand-list__item a{
		height: 16.8rem;
	}
	.Brand-list__item a::after{
		width: 4.4rem;
		height: 4.4rem;
	}
	.Brand-list__item-image{
		width: 12.6rem;
		height: 12.6rem;
	}
	.Brand-list__item-title{
		padding-right: 5.5rem;
		font-size: 3rem;
	}
	.Brand-list__item-image + .Brand-list__item-title{
		width: calc(100% - 12.6rem);
		padding-left: 3rem;
	}

}



/*-------------------------------
	施工実績
-------------------------------*/

.Works{
	border-bottom-left-radius: 5rem;
	border-bottom-right-radius: 5rem;
	background: #fff;
	position: relative;
	z-index: 6000;
}
.Works__inner{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	z-index: 5000;
}
.Works__inner::before{
	width: calc(((100vw - 100%) / 2) + var(--padding-leftright));
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	left: calc(((100vw - 100%) / 2) * -1);
	top: 0;
	bottom: 0;
	z-index: 6000;
	background: #fff;
}
.Works__left{
	width: 34rem;
	position: relative;
	z-index: 6000;
	background: #fff;
}
.Works-title{
	margin-bottom: 2.8rem;
}
.Works-list{
	width: calc(100% - 34rem);
	padding-top: 5rem;
	overflow: visible;
	position: relative;
	z-index: 4000;
}
.Works-list__item{
	background: var(--maincolor);
	width: 34rem;
	border-radius: 1.5rem;
	overflow: hidden;
}
.Works-list__item:not(:last-child){
	margin-right: 4rem;
}
.Works-list__item a{
	width: 100%;
	height: 100%;
	display: block;
	opacity: 1 !important;
}
.Works-list__item-image{
	width: 100%;
	height: 26.8rem;
	overflow: hidden;
}
.Works-list__item-image img{
	transition: var(--transition);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Works-list__item-body{
	padding: 2rem 3.3rem;
	color: #fff;
}
.Works-list__item-title{
	margin-bottom: .3rem;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.5;
}
.Works-list__item-text{
	font-size: 1.2rem;
	letter-spacing: .01em;
	line-height: 1.5;
}
.Works-list__item-image img:hover{
	transform: scale(1.1);
}


.Works-list__arrow{
	right: var(--padding-leftright);
	width: 9.5rem;
	position: absolute;
	top: 0;
	z-index: 6000;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Works-list__arrow-item{
	border: 1px solid var(--blackcolor);
	transition: var(--transition);
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.Works-list__arrow-item.-prev{
	transform: scale(-1,1);
}
.Works-list__arrow-item::after{
	content: "";
	display: block;
	width: 1.8rem;
	height: 1.9rem;
	background-image: url(../images/common/icon_arrow-black-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.Works-list__arrow-item:hover{
	background: var(--blackcolor);
}
.Works-list__arrow-item:hover::after{
	background-image: url(../images/common/icon_arrow-white-naked.svg);
}

.Works-banner{
	width: 100%;
	margin-top: 14rem;
}
.Works-banner a{
	width: 100%;
	/* padding: 1rem 5.5rem 1rem 4.3rem; */
	border-bottom-left-radius: 3rem;
	overflow: hidden;
	position: relative;
	/* background-image: url(../images/index/bg_works-banner.jpg);
	background-image: image-set(url(../images/index/bg_works-banner.jpg) 1x, url(../images/index/bg_works-banner@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 6000; */
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Works-banner a::before{
	transition: var(--transition);
    content: "";
    display: block;
    width: 3.4rem;
    height: 3.5rem;
    background-image: url(../images/common/icon_arrow-white-naked.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
	z-index: 6000;
}
.Works-banner img{
	width: 100%;
}
/* .Works-banner a::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 4000;
	background: rgba(27,60,82,.46);
}
.Works-banner-title{
	color: #fff;
	position: relative;
	z-index: 6000;
}
.Works-banner-title__en{
	font-family: var(--en);
	font-size: 1.4rem;
	padding-left: 1rem;
	font-weight: 500;
	letter-spacing: .5em;
	line-height: 1;
	display: block;
}
.Works-banner-title__jp{
	font-size: 4.4rem;
	font-weight: 700;
	line-height: calc(5.8 / 4.4);
} */
.Works-banner a:hover::before{
	transform: translateX(.5rem);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Works__left{
		width: 25rem;
	}
	.Works-list{
		width: calc(100% - 25rem);
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Works{
		border-bottom-left-radius: 3rem;
		border-bottom-right-radius: 3rem;
	}
	.Works__inner{
		flex-direction: column;
	}
	.Works__inner::before{
		display: none;
	}
	.Works__left{
		width: 100%;
		background: none;
	}
	.Works-title{
		margin-bottom: 6rem;
	}
	.Works-list{
		width: calc(100% + var(--padding-leftright));
		padding-right: var(--padding-leftright);
		padding-top: 2.8rem;
		overflow: hidden;
	}
	.Works-list__item{
		width: 36rem;
	}
	.Works-list__item:not(:last-child){
		margin-right: 3rem;
	}
	.Works-list__item-image{
		height: 28.6rem;
	}
	.Works-list__item-body{
		padding: 2rem 3.3rem;
	}
	.Works-list__item-title{
		line-height: calc(3.6 / 2.8);
	}
	.Works-list__item-text{
		font-size: 2rem;
		line-height: calc(3.4 / 2);
	}
	.Works-list__arrow{
		right: var(--padding-leftright);
		width: 15rem;
		top: 11rem;
	}
	.Works-list__arrow-item{
		width: 6.3rem;
		height: 6.3rem;
	}
	.Works-list__arrow-item::after{
		width: 2.8rem;
		height: 2.9rem;
	}

	.Works-banner{
		margin-top: 7rem;
	}
	.Works-banner a{
		flex-direction: column;
		justify-content: flex-end;
	}
	.Works-banner a::before{
		display: none;
	}
	.Works-banner__button{
		position: absolute;
		left: 0;
		bottom: 6.5rem;
		right: 0;
	}

}



/*-------------------------------
	会社案内
-------------------------------*/

.Company{
	margin-top: -5rem;
	padding-top: calc(var(--padding-topbottom) + 5rem);
	background: #fff;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Company{
		margin-top: 0;
		padding-top: var(--padding-topbottom);
	}

}



/*-------------------------------
	サステナビリティ
-------------------------------*/

.Sustainability{
	padding-top: 0;
	border-bottom-left-radius: 3rem;
	border-bottom-right-radius: 3rem;
	background: #fff;
}
.Sustainability-banner{
	margin-top: 6.5rem;
}
.Sustainability-banner a{
	border: 1px solid var(--maincolor);
	width: 100%;
	padding: 4rem 6.5rem 5rem;
	border-bottom-left-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	overflow: hidden;
}
.Sustainability-banner a::before{
	transition: var(--transition);
    content: "";
    display: block;
    width: 3.4rem;
    height: 3.5rem;
    background-image: url(../images/common/icon_arrow-blue-naked.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
}
.Sustainability-banner__image{
	width: 34.2rem;
}
.Sustainability-banner__image img{
	width: 100%;
}
.Sustainability-banner__text{
	color: var(--blackcolor);
	width: calc(100% - 34.2rem);
	padding-left: 6.8rem;
	line-height: calc(2.8 / 1.6);
}
.Sustainability-banner a:hover::before{
	transform: translateX(.5rem);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Sustainability-banner{
		margin-top: 6.8rem;
	}
	.Sustainability-banner a{
		padding: 3.5rem 6rem 10rem;
		flex-direction: column;
	}
	.Sustainability-banner a::before{
		width: 4.4rem;
		height: 4.5rem;
		right: 4rem;
		bottom: 4rem;
	}
	.Sustainability-banner__image{
		width: 48.6rem;
		margin-bottom: 6.5rem;
	}
	.Sustainability-banner__text{
		width: 100%;
		padding-left: 0;
		line-height: calc(6 / 2.8);
	}

}



/*-------------------------------
	お知らせ
-------------------------------*/

.News{
	padding-bottom: calc(var(--padding-topbottom) + 5rem);
	/* margin-top: 58.4rem; */
	padding-top: 0;
	background: #fff;
}
.News::before{
	content: "";
	display: block;
	width: 100%;
	height: 58.4rem;
	/* position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1; */
	background-image: url(../images/index/bg_news-para.jpg);
	background-image: image-set(url(../images/index/bg_news-para.jpg) 1x, url(../images/index/bg_news-para@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.News__inner{
	padding-top: var(--padding-topbottom);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){
	.News::before {
		background-image: url(../images/index/sp_bg_news-para.jpg);
		background-image: image-set(url(../images/index/sp_bg_news-para.jpg) 1x, url(../images/index/sp_bg_news-para@2x.jpg) 2x);
		background-attachment: scroll;
	}
}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.News{
		padding-bottom: calc(var(--padding-topbottom) + 5rem);
		/* margin-top: 58.4rem; */
		padding-top: 0;
	}
	.News::before{
		background-image: url(../images/index/sp_bg_news-para.jpg);
		background-image: image-set(url(../images/index/sp_bg_news-para.jpg) 1x, url(../images/index/sp_bg_news-para@2x.jpg) 2x);
		background-attachment: scroll;
	}
	.News__inner{
		padding-top: var(--padding-topbottom);
	}

}



/*-------------------------------
	採用情報
-------------------------------*/

.Recruit{
	padding-top: 10rem;
	padding-bottom: 10rem;
	margin-top: -5rem;
	border-radius: 5rem;
	background-image: url(../images/index/bg_recruit.jpg);
	background-image: image-set(url(../images/index/bg_recruit.jpg) 1x, url(../images/index/bg_recruit@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 6000;
	overflow: hidden;
}
.Recruit::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: #DE789980;
	background: linear-gradient(90deg,rgba(222, 120, 153, 1) 0%, rgba(10, 128, 204, 1) 100%);
	opacity: .74;
	mix-blend-mode: overlay;
}
.Recruit-title{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: center;
}
.Recruit-title::before{
	content: "";
	display: block;
	width: 8.7rem;
	height: 47.3rem;
	background-image: url(../images/index/txt_recruit.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.Recruit-title__jp{
	font-size: 2.4rem;
	margin-left: 2rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	color: #fff;
}
.Recruit-title__jp span{
	line-height: 1;
	transform: rotate(90deg);
	display: block;
}
.Recruit__inner{
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	position: relative;
}
.Recruit__inner::before{
	content: "";
	display: block;
	width: 26rem;
	height: 26rem;
	background-image: url(../images/index/txt_recruit-circle.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	left: 0;
	bottom: -5rem;
	animation: 15s linear infinite rotation;
}
@keyframes rotation{
	0%{ transform:rotate(0);}
	100%{ transform:rotate(360deg); }
}
.Recruit-link{
	width: 100%;
	max-width: 43.5rem;
}
.Recruit-link__item{
	width: 100%;
}
.Recruit-link__item:not(:last-child){
	margin-bottom: 2.8rem;
}
.Recruit-link__item a{
	width: 100%;
	height: 15.8rem;
	border-radius: 1rem;
	padding: 2.2rem 3.5rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: calc(3 / 2);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	text-align: center;
	position: relative;
	box-shadow: 0 0 2rem rgba(37,126,185,.25);
	opacity: 1 !important;
}
.Recruit-link__item a::after{
	content: "";
	display: block;
	width: 2.1rem;
	height: 2.2rem;
	background-image: url(../images/common/icon_arrow-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	right: 3.4rem;
	top: 50%;
	transform: translateY(-50%);
}
.Recruit-link__item-image{
	transition: var(--transition);
	width: 11.3rem;
	height: 11.3rem;
}
.Recruit-link__item-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Recruit-link__item-text{
	transition: var(--transition);
	width: calc(100% - 11.3rem);
	padding-right: 2.1rem;
	line-height: calc(3 / 2);
}
.Recruit-link__item a:hover{
	transform: translateY(-.5rem);
	background: #dfedf8;
}
.Recruit-link__item a:hover .Recruit-link__item-image{
	transform: scale(1.1);
}
/* .Recruit-link__item a:hover .Recruit-link__item-text{
	transform: scale(1.1);
} */

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Recruit{
		padding-top: 10rem;
		padding-bottom: 10rem;
		margin-top: -5rem;
		border-radius: 5rem;
	}
	.Recruit-title{
		top: 4.5rem;
		transform: translateY(0);
	}
	.Recruit-title__jp{
		display: none;
	}
	.Recruit__inner::before{
		width: 17.4rem;
		height: 17.4rem;
		left: 5rem;
		bottom: -5.5rem;
	}
	.Recruit-link__item a{
		padding: 2.2rem 3.5rem;
		font-size: 3rem;
		line-height: calc(3.6 / 3);
	}
	.Recruit-link__item-text{
		line-height: calc(3.6 / 3);
	}

}