@charset "UTF-8";
/* CSS Document */
/* mainArea */
.mainArea {
	width: 100%;
	position: relative;
}
.mainArea:before {
	background-image: url("../img/top/main_bg.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	content: "";
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -10;
}
/*.mainArea:after {
    background-color: rgba(255,255,255,1.00);
    content: "";
    width: 320px;
    height: 102vh;
    left: 0;
    position: absolute;
    top: 0;
    z-index: -5;
}*/
.mainArea .main_inner {
	max-width: 1900px;
    margin: 0 auto;
    padding: 0 5vw 100px;
    height: calc( var(--vh) * 100);
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    position: relative;
}
/*.mainArea .main_inner:before {
	background-image: url(../img/top/logo_mark.svg);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: contain;
    content: "";
    width: 30rem;
    height: 30rem;
    position: absolute;
    bottom: 0;
    left: -8%;
    z-index: -1;
}*/
.mainArea .main_inner .main_txt {
	margin-bottom: 120px;
	font-size: min(7vw,47px);
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .09em;
	text-align: left;
}
.mainArea .main_inner .main_txt span {
	display: inline-block;
	margin-bottom: 7px;
	color: #838afc;
	background-color: #FFF;
	padding-left: .5em;
	padding-right: 0;
	line-height: 1.1;
}
.mainArea .main_inner .main_txt span.txt01 {
	padding-left: 0em;
}
/*.mainArea .main_inner .main_txt::first-letter {
	color: #FFF;
}
.mainArea .main_inner .main_txt span {
	display: block;
	padding-top: 20px;
	padding-left: 5px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: min(3.1vw,19px);
	line-height: 1.5;
	letter-spacing: .15em;
	text-align: left;
	color: #FFF;
}*/
.on800 {
	display: none;
}
/*スクロールダウン*/
.scrolldown1{
	position:absolute;
	right: 5%;
	bottom: 0;
	z-index: -1;
	height: 200px;
}
.scrolldown1 span{
	width: 4em;
	height: auto;
	position: absolute;
	left: -10%;
	top: 0;
	color: #FFF;
	font-size: 13px;
	transform: rotate(90deg);
	letter-spacing: 0.05em;
	transform-origin: right top;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	position: absolute;
	top: 0;
	left: 40px;
	width: 1px;
	height: 200px;
	background: #eee;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height: 90px;
    opacity: 1;
  }
  100%{
    height:0;
    top: 200px;
    opacity: 0;
  }
}

/* transparent_bg */
.transparent_bg {
	position: relative;
    z-index: 1;
	/*background: rgba(255,255,255,0);*/
	/*background: #F2F9FD;*/
}
/*aboutArea*/
.aboutArea {
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 90px, #FFF 90px, #FFF 100%);
}
.aboutArea .inner {
	margin-top: -90px;
	padding: 50px 60px 150px;
	background-color: #FFF;
	border-radius: 30px;
	position: relative;
}
.aboutArea .inner:before {
	position: absolute;
	content: "";
	width: 482px;
	height: 307px;
	background-image: url("../img/common/bg01.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	top: 16vh;
    left: -30%;
	z-index: -10;
}
.aboutArea .inner:after {
	position: absolute;
	content: "";
	width: 414px;
	height: 416px;
	background-image: url("../img/common/bg02.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: -90px;
    right: -20%;
	z-index: -10;
}
.aboutArea .inner .h2Area {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.aboutArea .inner .h2Area .left {
	width: 40%;
}
.aboutArea .inner .h2Area .right {
	width: 60%;
	padding: 0 40px;
}
.aboutArea .inner .h2Area .right h2 {
	font-size: min(5.5vw,35px);
	font-weight: bold;
	color: #231815;
}
.aboutArea .inner .h2Area .right p {
	font-size: min(4vw,21px);
	color: #727171;
}
.aboutArea .inner .imgBox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 80px;
}
.aboutArea .inner .imgBox li {
	width: calc(100% / 3 - 40px);
	margin: 20px;
	border-radius: 50%;
	overflow: hidden;
}
.aboutArea .inner h3 {
	margin-top: 50px;
	padding-left: 65px;
	font-size: min(5vw,25px);
	font-weight: bold;
	color: #727171;
	position: relative;
}
.aboutArea .inner h3:before {
	position: absolute;
	top: 10px;
	left: 0;
	content: "";
	width: 48px;
	height: 34px;
	background-image: url("../img/common/mark.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.aboutArea .inner h3 span {
	font-size: min(5vw,30px);
	font-weight: bold;
	color: #838afc;
}
.aboutArea .inner p.txt01 {
	padding: 25px 0;
	font-size: min(4vw,21px);
	color: #727171;
}
/*naviArea*/
.naviArea {
	padding-top: 35px;
	background-color: #FFF;
	position: relative;
	padding-bottom: 80px;
}
.naviArea:before {
	background: linear-gradient(91.17deg, #838afc 0.7%, #cca1d9 95.51%);
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 150px;
}
.naviArea .inner ul {
	display: flex;
	flex-wrap: wrap;
}
.naviArea .inner ul li {
	width: calc(100% / 2 - 30px);
	margin: 0 15px;
}
.naviArea .inner ul li:nth-child(2) {
	margin-top: 60px;
}
.naviArea .inner ul li a:hover img {
	opacity: .95;
}

@media screen and (max-width: 1400px) {
	.aboutArea .inner:before {
		left: -10%;
	}
}
@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1000px) {
/*スクロールダウン*/
	.scrolldown1{
		right: 8%;
	}
/*aboutArea*/
	.aboutArea .inner {
		padding: 50px 5vw 80px;
	}
	.aboutArea .inner .h2Area .left {
		width: 100%;
		padding: 0 3vw;
	}
	.aboutArea .inner .h2Area .right {
		width: 100%;
		padding: 20px 3vw;
	}
	.aboutArea .inner .imgBox {
		margin-top: 30px;
		justify-content: center;
	}
	.aboutArea .inner .imgBox li {
		width: calc(100% / 2 - 10px);
        margin: 0 5px;
	}
	.aboutArea .inner:after {
		right: -15%;
	}
}	
@media screen and (max-width: 800px) {
/*スクロールダウン*/
.scrolldown1{
	right: 10%;
}
/*mainArea*/
	.mainArea .main_inner {
		padding: 0 5vw 50px;
	}
	.mainArea:after {
		background-position: top -75px left 85%;
		background-size: cover;
		height: 115vh;
	}
	.on800 {
		display: block;
	}
	.mainArea:after {
		width: 35%;
	}
}

@media screen and (max-width: 767px) {
	.mainArea:before {
		background-image: url(../img/top/main_bg_sp.webp);
	}
	.aboutArea .inner p.txt01 {
		padding: 25px 5vw;
	}
	.naviArea .inner ul li {
		width: calc(100% / 1 - 30px);
		margin: 0 15px;
	}
	.naviArea .inner ul li:nth-child(2) {
		margin-top: 15px;
	}
	.naviArea:before {
		background: linear-gradient(91.17deg, #838afc 0.7%, #cca1d9 95.51%);
		height: 350px;
	}
}	
@media screen and (max-width: 600px) {
/*mainArea*/
	.mainArea .main_inner {
		padding: 0 8vw 16vh;
	}
	.mainArea:after {
		background-position: top -75px left 65%;
	}
/*スクロールダウン*/
	.scrolldown1{
		right: 15%;
	}
	.aboutArea .inner .btn {
        margin: 0 auto;
		width: 90%;
    }
	.naviArea .inner ul {
        margin: 0 auto;
		width: 90%;
	}
}
@media screen and (max-width: 500px) {
}
@media screen and (max-width: 400px) {
}
