@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .circle {
	position: absolute;
	z-index: -1;
}
#main .mainVisual {
	position: relative;
	overflow: hidden;
}
#main .mainVisual:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: overlay;
	background: url(../img/index/mv_bg.png) repeat left top/5rem;
	content: "";
}
#main .mv {
	position: relative;
}
#main .mv > img {
	width: 100%;
}
#main .mv .enTtl {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 9.5rem;
	width: 192rem;
	z-index: 4;
}
#main .mv .ttl {
	position: absolute;
	width: 81.4rem;
	left: 8.2%;
	top: 36.4rem;
	z-index: 5;
}
#main .mv .photo {
	position: absolute;
	right: 10.95%;
	bottom: 0;
	width: 38%;
	z-index: 4;
}
#main .mainVisual .circle {
	position: absolute;
	width: 83.1rem;
	z-index: inherit;
}
#main .mainVisual .circle01 {
	bottom: -12rem;
	right: -34.5rem;
}
#main .mainVisual .circle02 {
	width: 81.8rem;
	left: -20rem;
	top: -5rem;
}
#main .mainVisual .circle03 {
	width: 101.2rem;
	left: -33.5rem;
	bottom: -47.5rem;
}
#main .concept {
	padding: 16rem 0 24.4rem;
	text-align: center;
	background: url(../img/index/concept_bg.jpg) repeat-y center top/100%;
	border-radius: 0 0 20rem 20rem;
}
#main .concept .headLine01 {
	margin-bottom: 5.7rem;
	font-size: 4.8rem;
	line-height: 1.7;
	letter-spacing: 0.4rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#main .concept .headLine01 .en {
	margin: 0;
	color: #fff;
	font-size: 3.2rem;
	line-height: 1.5;
	letter-spacing: 0.3rem;
}
#main .concept p {
	margin-bottom: 6.3rem;
	line-height: 2.5;
}
#main .headLine02 {
	margin-bottom: 5rem;
	align-items: center;
	font-size: 1.8rem;
	line-height: 1.8;
	letter-spacing: 0.2rem;
}
#main .headLine02 .en {
	margin: -0.5rem 2rem 0 0;
	font-size: 5.6rem;
	line-height: 1.1;
	letter-spacing: 0.3rem;
}
#main .work {
	padding: 2.5rem 0 0;
	background: url(../img/index/work_bg.png) no-repeat center top 1.8rem/100%;
}
#main .work .content {
	max-width: 192rem;
	position: relative;
	padding-bottom: 11.2rem;
	align-items: flex-start;
	justify-content: flex-end;
}
#main .work .circle01 {
	left: -15.4rem;
	bottom: -8rem;
	width: 82.6rem;
}
#main .work .txtBox {
	margin: 15.2rem 21rem 0 0;
	width: 48rem;
}
#main .work .txtBox .subTtl {
	margin-bottom: 4rem;
	font-size: 2.4rem;
	letter-spacing: 0.2rem;
}
#main .work .txtBox p {
	margin-bottom: 2rem;
}
#main .work .txtBox .linkList {
	margin-bottom: 5.5rem;
}
#main .work .txtBox .linkList li {
	border-bottom: 1px solid rgba(29, 52, 67, 0.5);
}
#main .work .txtBox .linkList li a {
	display: block;
	font-size: 2.6rem;
	letter-spacing: 0.3rem;
	padding: 2.5rem 0.9rem 2.2rem;
	background: url(../img/common/icon12.png) no-repeat right center/4.2rem;
}
#main .work .txtBox .linkList li a:hover {
	opacity: 0.7;
}
#main .work .phoList {
	margin-right: -1rem;
	width: calc(50% + 1.2rem);
}
#main .work .phoList a {
	display: block;
	position: relative;
}
#main .work .phoList p {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 15.8%;
	padding: 1.6rem 2.8rem;
	font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 0.3rem;
	text-align: right;
	border-radius: 0 0 2rem 2rem;
	background: rgba(255, 255, 255, 0.50);
	backdrop-filter: blur(0.5rem);
}
#main .voice {
	border-radius: 0 0 20rem 20rem;
	position: relative;
	z-index: 2;
	background: #EAF4F3 url(../img/index/voice_bg.png) no-repeat center 13rem/100%;
}
#main .voice > .content {
	padding: 12.6rem 2rem 12.2rem;
	position: relative;
	z-index: 1;
}
#main .voice .content .circle01 {
	left: -18rem;
	top: 3rem;
	width: 74.1rem;
}
#main .voice .content .circle02 {
	width: 58.7rem;
	right: -12rem;
	bottom: 10rem;
}
#main .voice .content .circle03 {
	width: 36.2rem;
	top: 9rem;
	right: -5rem;
}
#main .voice .content.wid {
	max-width: 142.4rem;
}
#main .voice .headLine02 {
	margin-bottom: 4.3rem;
}
#main .voice .ttlBox {
	margin-bottom: 13rem;
	align-items: flex-end;
}
#main .voice .ttlBox .subTtl {
	width: 69rem;
	font-size: 3rem;
	letter-spacing: 0.3rem;
}
#main .voice .ttlBox p {
	flex: 1;
}
#main .voice .linkUl {
	margin-bottom: 5.8rem;
}
#main .voice .linkUl li {
	width: 47.6%;
}
#main .voice .linkUl a {
	display: block;
	position: relative;
	border-radius: 2rem;
	border: 1px solid #FFF;
}
#main .voice .linkUl .enTtl {
	position: absolute;
	left: 2.4rem;
	top: 1rem;
	color: #1CD8D2;
	font-size: 5.6rem;
	line-height: 1.2;
	letter-spacing: 0.3rem;
}
#main .voice .linkUl a:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 2rem;
	background: rgba(255, 255, 255, 0.50);
	backdrop-filter: blur(0.5rem);
	content: "";
}
#main .voice .linkUl .photo {
	margin-bottom: -8.3rem;
	margin-left: 1.5rem;
	transform: translateY(-8.3rem);
	position: relative;
	z-index: 1;
	transition: .3s;
}
#main .voice .linkUl .txt {
	padding: 2.9rem 6.8rem;
	position: relative;
	z-index: 1;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.6;
	transition: .3s;
	letter-spacing: 0.3rem;
	border-radius: 0 0 2rem 2rem;
	background: #fff url(../img/common/icon14.png) no-repeat right 3.2rem center/7.9rem;
}
#main .voice .comBtn02 {
	text-align: center;
}
#main .support {
	position: relative;
	z-index: 1;
}
#main .support .content {
	padding: 7.5rem 2rem 13rem;
	position: relative;
	z-index: 1;
}
#main .support .circle01 {
	right: -35rem;
	top: -44rem;
	width: 101rem;
}
#main .support .circle02 {
	width: 106.8rem;
	left: -38rem;
	bottom: -44rem;
	z-index: 1;
}
#main .support .ttlBox {
	margin-bottom: -10.2rem;
	padding: 4.4rem 11rem 5.7rem;
	border-radius: 2rem;
	background: rgba(200, 209, 217, 0.1);
}
#main .support .ttlBox .sub {
	max-width: 57rem;
}
#main .support .ttlBox .headLine02 {
	margin: 0 -1rem 2.6rem 0;
}
#main .support .ttlBox .headLine02 .en {
	margin: 0;
	font-size: 6.4rem;
	line-height: 1.2;
}
#main .support .linkUl {
	margin: 0 auto;
	max-width: 118.2rem;
	position: relative;
	z-index: 2;
}
#main .support .linkUl li {
	width: 51rem;
}
#main .support .linkUl a {
	padding: 4rem 5.5rem 6.1rem;
	display: block;
	position: relative;
	background: url(../img/index/support_bg02.png) no-repeat left bottom/100% 100%;
}
#main .support .linkUl a:hover {
	opacity: 0.7;
}
#main .support .linkUl .ttl {
	margin-bottom: 4.2rem;
	padding: 0 7rem 1rem 0.8rem;
	font-size: 2.4rem;
	font-weight: 700;
	display: inline-block;
	border-bottom: 1px solid #fff;
}
#main .support .linkUl .ttl .en {
	margin-bottom: 0.6rem;
	display: block;
	color: #1CD8D2;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.3rem;
}
#main .support .linkUl .photo {
	margin: 0 -1rem 3rem -2rem;
}
#main .support .linkUl .photo img {
	border-radius: 2rem;
	width: 100%;
}
#main .support .linkUl .txt {
	margin-left: 3.4rem;
	text-align: center;
}
#main .support .linkUl a:after {
	position: absolute;
	right: -1.1rem;
	top: -0.4rem;
	width: 9.7rem;
	aspect-ratio: 1/1;
	content: "";
	background: url(../img/common/icon15.png) no-repeat left top/100%;
}
#main .support .linkUl li:first-child {
	margin-top: 15rem;
}
#main .support .linkUl li:first-child a {
	background-image: url(../img/index/support_bg01.png);
}
#main .support .linkUl li:first-child .ttl {
	padding-right: 4rem;
}
#main .support .linkUl li:first-child .txt {
	margin: 0 -1.5rem 0 1.5rem;
}
#main .voice02 {
	padding: 24.5rem 0 20rem;
	position: relative;
	align-items: flex-start;
	background: url(../img/index/voice02_bg.jpg) repeat-x center top/5rem 100%;
}
#main .voice02:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 34.1rem;
	background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
	content: "";
}
#main .voice02 .circle {
	z-index: 1;
}
#main .voice02 .circle01 {
	left: -8rem;
	top: -1rem;
	width: 78.3rem;
}
#main .voice02 .circle02 {
	width: 59.5rem;
	left: 37rem;
	top: 22rem;
}
#main .voice02 .circle03 {
	width: 63rem;
	right: -9rem;
	bottom: -11rem;
}
#main .voice02 .txtBox {
	padding: 8.7rem 7rem 12.8rem 8.2rem;
	min-width: 64rem;
	position: relative;
	z-index: 3;
	width: 33.3%;
	justify-content: flex-end;
	border-radius: 0 2rem 2rem 0;
	background: rgba(255, 255, 255, 0.50);
	backdrop-filter: blur(0.5rem);
}
#main .voice02 .txtBox .sub {
	width: 49rem;
}
#main .voice02 .txtBox h2 {
	margin-bottom: 4.9rem;
	font-size: 3.4rem;
	font-weight: 500;
	letter-spacing: 0.3rem;
	display: block;
}
#main .voice02 .txtBox h2 .en {
	display: block;
	margin: 0 0 1rem;
}
#main .voice02 .txtBox p {
	margin: 0 0.8rem 12.5rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.2rem;
}
#main .voice02 .txtBox .comBtn02 {
	margin-left: -0.5rem;
}
#main .voice02 .rBox {
	margin: 3.6rem 0 0 -16rem;
	width: 66.7%;
	flex: 1;
	position: relative;
	z-index: 2;
}
#main .voice02 .enTtl {
	margin: 0 -0.2rem -4.5rem 0;
	color: #fff;
	font-size: 12.8rem;
	font-weight: 200;
	line-height: 1;
	letter-spacing: 0.3rem;
	text-align: right;
	opacity: 0.5;
	position: relative;
	z-index: 1;
}
#main .voice02 .phoList li {
	margin-left: 6rem;
	width: 46rem;
}
#main .voice02 .phoList img {
	border-radius: 2rem;
	width: 100%;
}
#main .guidelines {
	padding: 9.7rem 0 30.5rem;
	background-color: rgba(29, 52, 67, 0.05);
}
#main .guidelines .content {
	position: relative;
}
#main .guidelines .circle01 {
	left: -20rem;
	top: -9rem;
	width: 50rem;
}
#main .guidelines .circle02 {
	right: -20rem;
	bottom: -9rem;
	width: 50rem;
}
#main .guidelines .circle03 {
	left: -35rem;
	bottom: -45rem;
	width: 53.9rem;
	mix-blend-mode: overlay;
}
#main .guidelines h2 {
	display: block;
	text-align: center;
}
#main .guidelines h2 .en {
	margin: 0 0 1rem;
	display: block;
}
#main .guidelines .linkUl {
	margin-bottom: 6rem;
}
#main .guidelines .linkUl li {
	width: 50%;
}
#main .guidelines .linkUl a {
	padding: 4.5rem 19.5% 2.9rem;
	display: block;
	background: #fff url(../img/index/guidelines_img01.png) no-repeat left 7rem/29rem;
	border-radius: 2rem 0 0 2rem;
	box-shadow: 0 0.4rem 0.4rem 0 #9CB3C2;
}
#main .guidelines .linkUl a:hover {
	opacity: 0.7;
}
#main .guidelines .linkUl img {
	margin-bottom: 1.8rem;
	width: 100%;
	border-radius: 2rem;
}
#main .guidelines .linkUl p {
	padding-bottom: 10rem;
	display: flex;
	justify-content: center;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.3rem;
	background: url(../img/common/icon16.png) no-repeat center bottom/7.9rem;
}
#main .guidelines .linkUl p .en {
	margin: 0.3rem 0 0 1rem;
	color: #1CD8D2;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.3rem;
}
#main .guidelines .linkUl li:last-child a {
	border-radius: 0 2rem 2rem 0;
	background-color: #C8D1D9;
	background-image: url(../img/index/guidelines_img02.png);
	background-position: 4rem 8.5rem;
}
#main .guidelines .linkUl li:last-child p .en {
	color: #fff;
}
#main .guidelines .comBtn02 {
	text-align: center;
}
@media all and (min-width: 897px) {
	#main .mv01 .photo {
		width: 51.6%;
		right: 8.3%;
	}
	#main .mv02 .photo {
		width: 39%;
		right: 8.6%;
	}
	#main .support .linkUl li:first-child a:after {
		background-image: url(../img/common/icon14.png)
	}
	#main .support .linkUl li:first-child .ttl .en {
		color: #fff;
	}
	#main .voice .linkUl .photo:hover, #main .voice .linkUl .txt:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 1540px) {
	#main .support .linkUl li:first-child .txt {
		margin-left: -2rem;
	}
}
@media all and (max-width: 896px) {
	#main .mainVisual:after {
		display: none;
	}
	#main .mv .enTtl {
		top: 25%;
		width: 100%;
	}
	#main .mv .ttl {
		width: 100%;
		padding: 0 1.1rem;
		left: 0;
		transform: 0;
		top: 12%;
		z-index: 4;
	}
	#main .mv .photo {
		right: -8.5%;
		width: 109%;
		bottom: -0.5rem;
	}
	#main .mv01 .photo {
		right: -5%;
		width: 120%;
	}
	#main .mv02 .photo {
		right: 0;
		width: 100%;
		bottom: 0;
	}
	#main .mainVisual .circle {
		width: 60.6rem;
	}
	#main .mainVisual .circle01 {
		bottom: 5rem;
		right: -25rem;
	}
	#main .mainVisual .circle02 {
		width: 67.9rem;
		left: -25rem;
		top: -5rem;
	}
	#main .mainVisual .circle03 {
		width: 68.2rem;
		bottom: -20rem;
		left: -25rem;
	}
	#main .concept {
		padding: 6rem 0;
		border-radius: 0 0 5rem 5rem;
	}
	#main .concept .headLine01 {
		margin-bottom: 3rem;
		font-size: 2.1rem;
		letter-spacing: 0.2rem;
	}
	#main .concept .headLine01 .en {
		font-size: 1.8rem;
	}
	#main .concept p {
		margin-bottom: 3rem;
		line-height: 2;
		text-align: left;
	}
	#main .headLine02 {
		margin-bottom: 3rem;
		font-size: 1.6rem;
	}
	#main .headLine02 .en {
		margin: -0.2rem 1rem 0 0;
		font-size: 2.4rem;
	}
	#main .work .content {
		padding-top: 6rem;
		padding-bottom: 15rem;
		position: relative;
		background-position: left -2rem top;
		background-size: 26rem;
	}
	#main .work .circle01 {
		left: -7rem;
		bottom: auto;
		top: -4rem;
		width: 40rem;
	}
	#main .work .txtBox {
		margin: 0;
		width: auto;
	}
	#main .work .txtBox .subTtl {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}
	#main .work .txtBox p {
		margin-bottom: 1rem;
	}
	#main .work .comBtn02 {
		position: absolute;
		left: 50%;
		width: 28.2rem;
		transform: translateX(-50%);
		bottom: 5rem;
	}
	#main .work .phoList {
		margin-right: 0;
		width: auto;
	}
	#main .work .phoList img {
		margin: 0 auto 0.8rem;
		width: 92%;
		transform: translateX(14%);
	}
	#main .work .phoList p {
		margin: 0 1.5rem;
		position: static;
		right: auto;
		padding: 1.7rem 2.8rem;
		font-size: 2.6rem;
		line-height: 1.5;
		text-align: left;
		border-radius: 0;
		backdrop-filter: blur(0);
		display: block;
		font-size: 2.6rem;
		background: url(../img/common/icon12.png) no-repeat right center/4.2rem;
		border-bottom: 1px solid rgba(29, 52, 67, 0.5);
	}
	#main .voice {
		border-radius: 0 0 5rem 5rem;
		background-position: right 6rem;
	}
	#main .voice > .content {
		padding: 8rem 2rem 6rem;
	}
	#main .voice .content .circle01 {
		left: -9rem;
		top: 0;
		width: 30rem;
	}
	#main .voice .content .circle02 {
		width: 30rem;
		right: -6rem;
		bottom: 5rem;
	}
	#main .voice .content .circle03 {
		width: 20rem;
		top: 4rem;
		right: -3rem;
	}
	#main .voice .headLine02 {
		margin-bottom: 3rem;
	}
	#main .voice .ttlBox {
		margin-bottom: 6rem;
		display: block;
	}
	#main .voice .ttlBox .subTtl {
		margin-bottom: 2rem;
		width: auto;
		font-size: 2rem;
	}
	#main .voice .linkUl {
		margin-bottom: 4rem;
		display: block;
	}
	#main .voice .linkUl li {
		width: auto;
	}
	#main .voice .linkUl li:not(:last-child) {
		margin-bottom: 4rem;
	}
	#main .voice .linkUl .enTtl {
		font-size: 4.8rem;
	}
	#main .voice .linkUl .photo {
		margin-bottom: -2.5rem;
		margin-left: 0;
		transform: translateY(-2.5rem);
	}
	#main .voice .linkUl .photo img {
		width: 100%;
	}
	#main .voice .linkUl .txt {
		padding: 1rem 3rem;
		font-size: 2.1rem;
		background-position: right 2rem center;
		background-size: 4rem;
	}
	#main .support .content {
		padding: 4rem 2rem 6rem;
	}
	#main .support .circle01 {
		right: -22rem;
		top: -20rem;
		width: 50rem;
	}
	#main .support .circle02 {
		width: 50rem;
		left: -19rem;
		bottom: -22rem;
	}
	#main .support .ttlBox {
		margin-bottom: 3rem;
		padding: 2rem;
	}
	#main .support .ttlBox .sub {
		max-width: inherit;
	}
	#main .support .ttlBox .headLine02 {
		margin: 0 0 2rem 0;
	}
	#main .support .ttlBox .headLine02 .en {
		font-size: 3rem;
	}
	#main .support .linkUl {
		margin: 0 1.2rem 0 1.6rem;
		flex-direction: column-reverse;
	}
	#main .support .linkUl li {
		width: 100%;
	}
	#main .support .linkUl a {
		padding: 5.128vw 2.821vw 6.923vw;
		background-image: url(../img/index/support_bg02_sp.png);
	}
	#main .support .linkUl .ttl {
		margin-bottom: 5.385vw;
		padding: 0 6.5vw 2.051vw 0;
		font-size: 5.128vw;
	}
	#main .support .linkUl .ttl .en {
		margin-bottom: 2.564vw;
		font-size: 3.59vw;
		letter-spacing: 0.256vw;
	}
	#main .support .linkUl .photo {
		margin: 0 1.026vw 2.564vw 1.538vw;
	}
	#main .support .linkUl .txt {
		margin-left: 3.077vw;
		font-size: 4.103vw;
	}
	#main .support .linkUl a:after {
		right: 0;
		top: 0;
		width: 17.949vw;
	}
	#main .support .linkUl li:first-child {
		margin-top: 6.5rem;
	}
	#main .support .linkUl li:first-child a {
		padding-bottom: 7.1vw;
		background-image: url(../img/index/support_bg01_sp.png);
	}
	#main .support .linkUl li:first-child .ttl {
		padding-right: 2vw;
	}
	#main .support .linkUl li:first-child .txt {
		margin: 0 -1rem;
		font-size: 3.9vw;
		letter-spacing: 0;
	}
	#main .voice02 {
		padding: 6rem 0;
		flex-direction: column-reverse;
	}
	#main .voice02:before {
		height: 20rem;
	}
	#main .voice02 .circle01 {
		left: -8rem;
		top: -1rem;
		width: 32rem;
	}
	#main .voice02 .circle02 {
		width: 30rem;
		left: 20rem;
		top: 11rem;
	}
	#main .voice02 .circle03 {
		width: 30rem;
		right: -5rem;
		bottom: -6rem;
	}
	#main .voice02 .txtBox {
		margin: 0 2rem;
		min-width: inherit;
		padding: 3rem 2rem;
		width: calc(100% - 4rem);
		display: block;
		border-radius: 2rem;
	}
	#main .voice02 .txtBox .sub {
		width: auto;
	}
	#main .voice02 .txtBox h2 {
		margin-bottom: 2.5rem;
		font-size: 1.8rem;
		text-align: center;
	}
	#main .voice02 .txtBox h2 .en {
		margin: 0 0 0.6rem;
	}
	#main .voice02 .txtBox p {
		margin: 0 0 3rem;
	}
	#main .voice02 .txtBox .comBtn02 {
		margin-left: 0;
		text-align: center;
	}
	#main .voice02 .rBox {
		margin: 0 0 3rem;
		width: 100%;
		flex: inherit;
	}
	#main .voice02 .enTtl {
		margin: 0 -0.2rem -2rem 0;
		font-size: 4.5rem;
	}
	#main .voice02 .phoList li {
		margin-left: 3rem;
		width: 23rem;
	}
	#main .guidelines {
		padding: 6rem 0 14rem;
	}
	#main .guidelines .circle01 {
		left: -5rem;
		top: -6rem;
		width: 25rem;
	}
	#main .guidelines .circle02 {
		right: -5rem;
		bottom: -6rem;
		width: 25rem;
	}
	#main .guidelines h2 .en {
		margin: 0 0 0.5rem;
	}
	#main .guidelines .linkUl {
		margin-bottom: 3rem;
		display: block;
	}
	#main .guidelines .linkUl li {
		width: auto;
	}
	#main .guidelines .linkUl a {
		padding: 3rem 2rem 2rem;
		background-position: left 3rem;
		background-size: 15rem;
		border-radius: 2rem 2rem 0 0;
	}
	#main .guidelines .linkUl img {
		margin-bottom: 1rem;
	}
	#main .guidelines .linkUl p {
		padding-bottom: 5rem;
		font-size: 2rem;
		background-size: 4rem;
	}
	#main .guidelines .linkUl p .en {
		font-size: 1.8rem;
	}
	#main .guidelines .linkUl li:last-child a {
		border-radius: 0 0 2rem 2rem;
		background-position: 2rem 4rem;
	}
}


/*------------------------------------------------------------
	中村追加
------------------------------------------------------------*/
#main .mainVisual {
	max-height: 100vh;
}
#main .mainVisual .mv {
	max-height: 100vh;
}
#main .mv .photo img {
	display: flex;
	align-items:flex-end;
	bottom: 0 !important;
}
#main .mv .photo .slick-track {

}
#main .mv .photo {
	position: absolute;
    right: 9%;
    bottom: 0;
    width: 34vw;
	
}

@keyframes move {
    100% {
        transform: translate3d(0, 0, 1px) rotate(360deg);
    }
}
#main .mainVisual {
	/* z-index: 6; */
}
#main .mainVisual .circle {
	backface-visibility: hidden;
	animation: move;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
#main .mainVisual .circle01 {
	transform-origin: -7vw -16vh;
	top: 0;
	left: 0;
}
#main .mainVisual .circle02 {
    transform-origin: -1vw 5vh;
	animation-duration: 20s;
	top:10;
	left: 10%;
}
#main .mainVisual .circle03 {
    transform-origin: -10vw 24vh;
	top: 50%;
	left: 20%;
}
#main .mainVisual .circle04 {
    transform-origin: 15vw 21vh;
	animation-duration: 8s;
	top: 70%;
	left: 90%;
}
#main .mainVisual .circle05 {
    transform-origin: -17vw 5vh;
	top: 100%;
	left: 10%;
}
#main .mainVisual .circle06 {
    transform-origin: -4vw -5vh;
	animation-duration: 20s;
	top: 30%;
}
#main .mainVisual .circle07 {
	transform-origin: -21vw -3vh;
	left: 80%;
}
#main .mainVisual .circle08 {
	transform-origin: 4vw 18vh;
	animation-duration: 10s;
}
#main .mainVisual .circle09 {
	transform-origin: -2vw -9vh;
	top: 0;
	left: 100%;
}
#main .mainVisual .circle10 {
    transform-origin: 13vw -13vh;
	animation-duration: 15s;
	top: 80%;
	left: 80%;
}
#main .mainVisual .circle11 {
    transform-origin: -7vw -16vh;
	top: 50%;
	left: 0;
}
#main .mainVisual .circle12 {
	transform-origin: 7vw -7vh;
	animation-duration: 25s;
	top: 15%;
	left: 65%;
}

#main .concept {
	padding-top: 50vh;
	position: relative;
	z-index: 12;
}
#main .concept .bg{
	height: 100vh;
	width: 100vw;
	z-index: -1;
	background: url(../img/index/concept_bg.jpg) repeat-y top center/100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .4s ease-in-out;
	pointer-events: none;
}
#main .concept .bg.is_fixed{
	position: fixed;
	opacity: 1;
}
#main .concept .bg.active{
	opacity: 0;
	z-index: -1;
}

#main .work .phoList li {
	transition: .3s;
	opacity: 0;
}

#main .work .phoList {
	position: relative;
}
#main .work .phoList li.absolute {
	position: absolute;
	top: 0;
	left: 0;
}
#main .work .phoList li.active {
	opacity: 1;
}

@media all and (max-width: 896px) {
    #main .mv .photo {
        right: -2.5%;
        width: 104%;
        bottom: -0.5rem;
    }

	#main .concept {
		padding-top: 30vh;
	}

	#main .concept .headLine01 {
        font-size: 2.6rem;
	}

	.comEntry .linkBox h2 .en {
		font-size: 4.4rem !important;
        background: url(../img/common/icon04.png) no-repeat left 1.8rem / 4.5rem;
        padding-left: 0;
        text-align: center;
    }

	#main .work .phoList li {
		opacity: 1;
	}

	#main .work .phoList li.absolute {
		position: unset;
	}

}

