@charset "utf-8";

/* -----------------------------------------------------------
about-area
-------------------------------------------------------------- */
.top-area{
	margin: 20px 0 0;
    padding: 100px 0;
	position: relative;
}
.top-area::before{
	/* position: absolute;
	content: "";
	background: url(../img/top-bg-plan.jpg) no-repeat center center / cover;
	width: 100%;
	height: 100%;
	aspect-ratio: 1600 / 1124;
	top: 0px;
	z-index: -1;
	opacity: .8; */

	position: absolute;
    content: "";
    background: url(../img/illust-rabbit02.svg) no-repeat center / cover;
	aspect-ratio: 162 / 311;
    width: 162px;
	left: 20px;
	bottom: 0;
}
.top-area .inner{
	/* display: flex;
	justify-content: space-between; */
	position: relative;
}
.top-area .inner:before{
    position: absolute;
    content: "";
    background: url(../img/illust-rabbit-blue.svg) no-repeat center / cover;
	aspect-ratio: 131 / 258;
    width: 131px;
    /* left: 320px;
    bottom: -90px;
	opacity: .8; */
	right: -100px;
    top: -90px;
	
}

/* .top-area .l{
	position: absolute;
	left: 0;
	top: 0;
} */
/* .top-area .r{
	padding: 120px 0 0 540px;
} */

.top-area .ttl-catch{
	font-size: 5rem;
	font-size: 3.4rem;
	margin: 0 0 30px;
	line-height: 1.5;
	color: var(--txt-navy);
	font-feature-settings: "palt";
	letter-spacing: .05em;
}
.top-area .txt{
	text-align: left;
}

@media screen and (max-width: 768px) {
    .top-area{
		margin: 0;
        padding: 0;
		/*background: url(../img/top-bg-plan-sp.png) no-repeat left top / 100% auto;*/
    }
	.top-area::before{
		display: none;
	}
	
	.top-area .inner{
		display: block;
		padding: 40px 20px;
	}
	.top-area .inner:before{
		width: 80px;
		left: auto;
		right: 20px;
		bottom: 5px;
		opacity: 1;
		top: auto;
	}
	.top-area .l{
		width: 100%;
		position: static;
		left: auto;
		top: auto;
	}
	.top-area .r{
		width: 100%;
		padding: 0;
	}
	.top-area .ttl-catch{
		margin: 0 0 20px;
		font-size: 2.6rem;
	}
	
}


/* -------------------------------------------------------------
    intro-area
-------------------------------------------------------------- */
.intro-area{
	min-height: 700px;
	/*height: 100vh;*/
	position: relative;
}
.intro-area .inner{
	/* display: flex;
	justify-content: space-between; */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	left: 0;
	margin: 0 auto;
	text-align: center;
}
.intro-area .img{
	margin: 40px 0;
}
.intro-area .movie video{
	width: 100%;
	height: 100%;
	object-fit: cover;

	/* 画像マスクを適用 */
	-webkit-mask-image: url("../img/movie-mask.png"); /* 透明部分が抜ける */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.intro-area .bg_img{
	position: absolute;
	/*top: 208px;*/
	top: 50%;
	/*right: calc((100% - 1400px) / 2);*/
	line-height: 1;
	left: 50%;
	transform: translate(-50% , -50%);
	z-index: -1;
	opacity: .8;
}

.intro-area .bg_img .masked {
	width: 675px;
	height: 564px;
	overflow: hidden;
	clip-path: url(#myClip);
}
.intro-area .bg_img video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

.intro-area .svg-wrap{
	position:rerative;
	overflow:hidden;
	text-align:center;
	max-width: 900px;
	width:100%;
	margin: 0 auto;
}

.intro-area .svg{
	margin: 0 auto 0;
	width: 100%;
	height: 100%;
}

.intro-area .txt-area{
	width: 800px;
	margin: 0 auto;
}
.intro-area .ttl-catch{
	margin: 0 0 30px;
	font-size: 4rem;
	line-height: 1.5;
	color: var(--txt-navy);
	font-feature-settings: "palt";
	letter-spacing: .05em;
}
.intro-area .txt{
	text-align: left;
}

@media screen and (max-width: 768px) {
	.intro-area{
		padding: 0;
		min-height: inherit;
		height: 400px;
		margin: 60px 0 0;
	}
	.intro-area .inner{
		flex-wrap: wrap;
	}
	.intro-area .inner .movie{
		order: 0;
		width: 100%;
	}
	.intro-area .inner .txt-box{
		width: 100%;
		order: 1;
		padding: 0 20px;
	}
	.intro-area .mv-ttl{
		font-size: 3.2rem;
		margin: 0 0 20px;
	}
	.intro-area .mv-catch{
		font-size: 1.8rem;
		letter-spacing: 0.05em;
		line-height: 1.7;
	}
	.intro-area .inner .txt{
		text-align: left;
		font-weight: 500;
	}
	.intro-area .bg_img{
		width: 100%;
	}
	
	.intro-area .txt-area{
		width: 100%;
	}
	.intro-area .ttl-catch{
		margin: 0 0 20px;
		font-size: 2.4rem;
	}
	
}


/* -----------------------------------------------------------
feature-area
-------------------------------------------------------------- */
.feature-area {
    background: var(--bg-blue);
}
.feature-area .inner .ttl-m {
    margin: 0 0 100px;
}
.feature-area .feature-box{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 80px;
    margin: 0 0 140px;
    position: relative;
    background: none;
    padding: 0;
}
.feature-area .feature-box:nth-child(2n+1){
    flex-flow: row-reverse;
}
.feature-area .feature-box .txt-box{
    z-index: 1;
    width: 60%;
    padding: 60px 70px 60px calc((100% - 1200px) / 2);
    position: relative;
    background-color: #fff;
    border-radius: 0 20px 20px 0;
}
.feature-area .feature-box:nth-child(2n+1) .txt-box{
    padding: 60px calc((100% - 1200px) / 2) 60px 70px;
    border-radius: 20px 0 0 20px;
}
.feature-area .feature-box .txt-box .sub-catch{
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0 0 10px;
}
.feature-area .feature-box .img{
    width: 50%;
    height: 100%;
    border-radius: 20px 0 0 20px;
    position: absolute;
    top: -80px;
    right: 0;
}
.feature-area .feature-box:nth-child(2n+1)  .img{
    border-radius:  0 20px 20px 0;
    left: 0;
}
.feature-area .feature-box.one .img{
    background: url(../img/about-feature01.jpg) no-repeat center / cover;
}
.feature-area .feature-box.two .img{
    background: url(../img/about-feature02.jpg) no-repeat center / cover;
}
.feature-area .feature-box.three .img{
    background: url(../img/about-feature03.jpg) no-repeat center / cover;
}
@media screen and (max-width: 768px) {
    .feature-area .inner .ttl-m{
        margin: 0 0 30px;
    }
    .feature-area .feature-box{
        flex-wrap: wrap !important;
        margin: 0 0 30px;
    }
    .feature-area .feature-box .txt-box .sub-catch{
        font-size: 1.6rem;
        line-height: 1.5;
        margin: 0;
    }
    .feature-area .feature-box .img{
        width: 100%;
        position: relative;
        top: auto;
        border-radius: 20px 20px 0 0 !important;
        height: 200px;
    }
    .feature-area .feature-box .txt-box{
        border-radius: 0 0 20px 20px;
        width: 100%;
        padding: 30px 20px 40px !important;
    }
}
/* -----------------------------------------------------------
alice-bnr-area
-------------------------------------------------------------- */
.about-area .alice-bnr-area{
    margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
    .about-area .alice-bnr-area{
        margin: 40px auto 0;
    }
}
/* -----------------------------------------------------------
alice-bnr-area
-------------------------------------------------------------- */
/*.bnr-area .inner{
    margin: 60px auto 140px;
}
.bnr-area .inner .bnr-box{
    width: 100%;
}
.bnr-area .inner .bnr-box a{
    height: 280px;
}
.bnr-area .inner .bnr-box a::before{
    height: 100%;
}
@media screen and (max-width: 768px) {
    .bnr-area .inner{
        margin: 20px auto 60px;
    }
    .bnr-area .inner .bnr-box a{
        height: 160px;
    }
}*/