@charset "utf-8";
/* CSS Document */


body {
	font-family: "source-han-sans-japanese", "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	
}

.sec {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	min-height: 100vh;
	padding-top: 41vh;
	z-index: 1;
}
.sec.disactive {
	display: block;
	z-index: 1;
}

.sec.active {
	display: block;
	z-index: 10;
}
.sec.disactive .sec_title {
	position: absolute;
	top: 41vh;
	left: 200px;
	display: table;
	z-index: 2;
	opacity: 0;
	transition: 0.4s all ease;
}
.sec.disactive.away .sec_title {
	position: absolute;
	top: 41vh;
	left: -200px;
	display: table;
	z-index: 2;
	opacity: 0;
	transition: 0.4s all ease;
}
.sec.active .sec_title {
	position: absolute;
	display: table;
	left: -20px;
	transition: 0.3s all ease;
	z-index: 10;
	opacity: 1.0;
}
.start .sec.active .sec_title {
	position: absolute;
	display: table;
	left: 20px;
	transition: 0.4s all ease;
	z-index: 10;
	opacity: 0;
}
.stop .sec.active .sec_title {
	position: absolute;
	display: table;
	left: -20px;
	transition: 1.0s all ease-in-out 0.5s;
	z-index: 10;
	opacity: 1.0;
}

.sec .sec_title h2 {
	display: table-cell;
	width: 184px;
	height: 68px;
}
.sec#privacy .sec_title h2 {
	display: table-cell;
	width: 240px;
	height: 68px;
}
.sec.active .sec_title h2 {
	display: table-cell;
}
.sec .sec_title h2 span {
	display: block;
}
.sec .sec_title > div {
	display: table-cell;
	width: 25px;
	cursor: pointer;
}
.sec .sec_title > div:hover {
	opacity: 0.6;
}
.sec .sec_title > div.prev {
	background: url("../img/arrow_left.png") center center no-repeat;
	background-size: auto 38px;
}
.sec .sec_title > div.next {
	background: url("../img/arrow_right.png") center center no-repeat;
	background-size: auto 38px;
}
.sec .sec_title h2 span.txt_en {
	font-size: 30px;
	font-weight: 900;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 7px;
}
.sec .sec_title h2 span.txt_jp {
	font-size: 15px;
	text-align: center;
	color:rgba(0,0,0,0.40);
}
.disactive .sec_cont {
	position: relative;
	z-index: 1;
	opacity: 0;
	transition: 0.4s all ease;
	transform: translateY(-1000px);
}
.disactive.away .sec_cont {
	position: relative;
	z-index: 1;
	opacity: 0;
	transition: 0.4s all ease;
	transform: translateY(1000px);
}
.start .active .sec_cont {
	transform: translateY(-200px);
	opacity: 0;
}
.stop .active .sec_cont {
	transform: translateY(0);
	opacity: 1.0;
	transition: 1.0s all ease-in-out 0.5s;
}
.active .sec_cont {
	position: relative;
	z-index: 1;
	display: block;
	opacity: 1.0;
	transition: 0.4s all ease;
	transform: translateY(20px);
}
@media screen and (max-width:1200px) {
	.sec {
		width: 100%;
		max-width: 1200px;
		padding-top: calc(37vh + 40px);
	}
}
@media screen and (max-width:767px) {
	.sec {
		width: 100%;
		max-width: 1200px;
		padding-top: 37vh;
	}
	.sec .sec_title h2 span.txt_en {
	  font-size: 20px;
	  font-weight: 900;
	  text-align: center;
	  padding-top: 15px;
	  padding-bottom: 7px;
	}
	.sec .sec_title h2 span.txt_jp {
	  font-size: 14px;
	}
	.sec .sec_title h2 {
	  width: 145px;
	}
	.sec#privacy .sec_title h2 {
	  width: 145px;
	}	
	.sec#privacy .sec_cont .inner,
	.sec#contact .sec_cont .inner {
		padding-bottom: 150px;
	}
}
#top .sec_cont .cont01 h3 {
	font-size: 50px;
	transform: translateX(0);
}
#top .sec_cont .cont01 h3 span {
	display: block;
	text-align: center;
	font-family: forma-djr-text, "Archivo", "source-han-sans-japanese", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.15;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.02em;
}
#top .sec_cont .cont01 h3 span:nth-child(1) {
	padding-bottom: 31px;
}
#top .sec_cont .cont01 h3 span:nth-child(2) {
	padding-bottom: 20px;
}
#top .sec_cont .cont01 {
	margin-bottom: 76px;
}
#top .sec_cont .cont02 {
	padding-left: 50%;
}
#top .sec_cont .cont02 h4 {
	font-size: 20px;
	font-family: forma-djr-text, "Archivo", "source-han-sans-japanese", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
	margin-bottom: 18px;
}
#top .sec_cont .cont02 p {
	font-size: 16px;
	line-height: 1.7;
	padding-left: 24px;
}
#top .sec_cont .cont02 p span {
	display: inline-block;
}
main {
	position: relative;
	overflow: hidden;
	min-height: 1780px;
}
@media screen and (max-width:900px) {
	main {
		position: relative;
		min-height: 1500px;
		overflow: hidden;
	}	
}
main .obj {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	position: absolute;
	height: 100%;
	min-height: 100vh;
	left: 50%;
	transform: translateX(-50%);
}
main .obj > div, main .obj .bgi {
	display: table-cell;
	width: 1264px;
	height: 1264px;
	transition: 0.3s all ease;
}
main .obj div.obj_pink .bgi {
	background: url("../img/ob_pink.svg") center center no-repeat;
	background-size: 100% auto;
}
main .obj > div.obj_blue .bgi {
	background: url("../img/ob_blue.svg") center center no-repeat;
	background-size: 100% auto;
}
main .obj > div.obj_yellow .bgi {
	background: url("../img/ob_yellow.svg") center center no-repeat;
	background-size: 100% auto;
}
@media screen and (max-width: 1200px) {
	main .obj > div.obj_pink .bgi {
		background: url("../img/ob_pink_sp.svg") center center no-repeat;
		background-size: 100% auto;
	}
	main .obj > div.obj_blue .bgi {
		background: url("../img/ob_blue_sp.svg") center center no-repeat;
		background-size: 100% auto;
	}
	main .obj > div.obj_yellow .bgi {
		background: url("../img/ob_yellow_sp.svg") center center no-repeat;
		background-size: 100% auto;
	}
}
.start main .obj > div.obj_yellow {
	position: absolute;
	right: -1050px;
	top: -100vh;
	transform:translateY(-50%) rotate(600deg);
	transition: 1.5s all ease;
}
main .obj > div.obj_yellow {
	position: absolute;
	right: -1050px;
	top: 50vh;
	transform:translateY(-50%) rotate(0deg);
	transition: 1.5s all ease;
}

.start main .obj > div.obj_pink {
	position: absolute;
	left: -1004px;
	top: -100vh;
	transition: 3.0s all ease;
	transform: translateY(-50%) rotate(-500deg);
}
.stop main .obj > div.obj_pink,
main .obj > div.obj_pink {
	position: absolute;
	left: -1004px;
	top: 125vh;
}
main .obj > div.obj_pink {
	transform: translateY(-50%) rotate(-40deg);
	transition: 1.5s all ease;
}

main .obj div.obj_pink {
	position: absolute;
	left: -1004px;
	top: 125vh;
}
.start main .obj > div.obj_blue {
	position: absolute;
	left: -528px;
	top: -100vh;
	transform: translateY(-50%) rotate(-400deg);
}
main .obj > div.obj_blue {
	position: absolute;
	left: -528px;
	top: -35vh;
	transform: translateY(-50%) rotate(90deg);
	transition: 1.5s all ease;
}
@media screen and (min-width:1201px) {
	
}
@media screen and (max-width:1200px) {
	.sec.disactive .sec_title {
		position: absolute;
		display: table;
		top: 26vh;
		left: 32%;
		transform: translateX(-50%);
		transition: 1.0s all ease-in-out 1s;
		z-index: 10;
		opacity: 0.0;
	}
	.sec.disactive.away .sec_title {
		position: absolute;
		top: 26vh;
		left: 15%;
		display: table;
		z-index: 2;
		opacity: 0;
		transform: translateX(-50%);
		transition: 0.4s all ease;
	}
	.sec.active .sec_title {
		position: absolute;
		display: table;
		top: 28.7vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 0.3s all ease;
		z-index: 10;
		opacity: 1.0;
	}
	.start .sec.active .sec_title {
		position: absolute;
		display: table;
		top: 10vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 0.4s all ease;
		z-index: 10;
		opacity: 0;
	}
	.stop .sec.active .sec_title {
		position: absolute;
		display: table;
		top: 26vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 1.0s all ease-in-out 1s;
		z-index: 10;
		opacity: 1.0;
	}
	
	main .obj {
	  width: 100%;
	  max-width: 1200px;
	}	
	
	main .obj > div.obj_blue {
	  position: absolute;
	  left: 26%;
	  top: 26vh;
	  transform: translateX(-50%) translateY(-100%) rotate(90deg);
	  transition: 1.5s all ease;
	}
	main .obj > div.obj_yellow {
	  position: absolute;
	  right: 24.7%;
	  top: 39vh;
	  transform: translateX(100%) translateY(-50%) rotate(0deg);
	  transition: 1.5s all ease;
	}
	.stop main .obj > div.obj_pink {
	  position: absolute;
	  left: -20%;
	  top: 48vh;
	  transform:translateX(-50%) translateY(0) rotate(-40deg);
	  transition: 1.5s all ease;
	}
	#top .sec_cont .cont01 h3 {
	  font-size: 44px;
	  transform: translateX(0);
	}
	#top .sec_cont .cont02 {
	  padding-left: 42.5%;
	}

	.start main .obj > div.obj_yellow {
	  position: absolute;
	  right: 24.7%;
	  top: -100vh;
	  transform: translateX(100%) translateY(-50%) rotate(600deg);
		transition: 1.5s all ease;
	}
	.stop main .obj > div.obj_yellow,
	main .obj > div.obj_yellow {
	  position: absolute;
	  right: 24.7%;
	  top: 39vh;
	  transform: translateX(100%) translateY(-50%) rotate(0deg);
	  transition: 1.5s all ease;
	}
	
	.start main .obj > div.obj_pink {
	  position: absolute;
	  left: -20%;
	  top: -130vh;
	  transform:translateX(-50%) translateY(0) rotate(-500deg);
	  transition: 2.0s all ease;
	}
	.stop main .obj > div.obj_pink {
	  position: absolute;
	  left: -20%;
	  top: 48vh;
	  transform:translateX(-50%) translateY(0) rotate(-40deg);
	  transition: 2.3s all ease;
	}
	main .obj > div.obj_pink {
	  position: absolute;
	  left: -20%;
	  top: 48vh;
	  transform:translateX(-50%) translateY(0) rotate(-40deg);
		transition: 0.3s all ease;
	}
	main .obj .bgi {
		transition: 0.3s all ease;
	}
	.start main .obj > div.obj_blue {
		position: absolute;
		  left: 26%;
		top: -100vh;
		transform: translateX(-50%) translateY(-100%) rotate(-400deg);
	}
	.stop main .obj > div.obj_blue {
	  position: absolute;
	  left: 26%;
	  top: 26vh;
	  transform: translateX(-50%) translateY(-100%) rotate(90deg);
	  transition: 1.5s all ease;
	}
}
@media screen and (max-width:767px) {
	.sec.disactive .sec_title {
		position: absolute;
		display: table;
		top: 23vh;
		left: 40%;
		transform: translateX(-50%);
		transition: 1.0s all ease-in-out 1s;
		z-index: 10;
		opacity: 0.0;
	}
	.sec.disactive.away .sec_title {
		position: absolute;
		top: 23vh;
		left: -10%;
		display: table;
		z-index: 2;
		opacity: 0;
		transform: translateX(-50%);
		transition: 0.4s all ease;
	}
	.sec.active .sec_title {
		position: absolute;
		display: table;
		top: 23vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 0.3s all ease;
		z-index: 10;
		opacity: 1.0;
	}
	.start .sec.active .sec_title {
		position: absolute;
		display: table;
		top: 10vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 0.4s all ease;
		z-index: 10;
		opacity: 0;
	}
	.stop .sec.active .sec_title {
		position: absolute;
		display: table;
		top: 23vh;
		left: 26%;
		transform: translateX(-50%);
		transition: 1.0s all ease-in-out 0.5s;
		z-index: 10;
		opacity: 1.0;
	}
	
	main .obj {
	  width: 100%;
	  max-width: 1200px;
	}	
	
	main .obj > div.obj_blue {
	  position: absolute;
	  left: 26%;
	  top: 21vh;
	  transform: translateX(-50%) translateY(-100%) rotate(90deg);
	  transition: 1.5s all ease;
	}
	main .obj > div.obj_yellow {
	  position: absolute;
	  right: 24.7%;
	  top: 39vh;
	  transform: translateX(100%) translateY(-50%) rotate(0deg);
	  transition: 1.5s all ease;
	}
	.stop main .obj > div.obj_pink {
	  position: absolute;
	  left: -20%;
	  top: 48vh;
	  transform:translateX(-50%) translateY(0) rotate(-40deg);
	  transition: 1.5s all ease;
	}
	#top .sec_cont .cont01 h3 {
	  font-size: 20px;
	  transform: translateX(0);
	}
	#top .sec_cont .cont02 {
	  padding-left: 8%;
		position: relative;
		padding-right: 8%;
	}
	#top .sec_cont .cont01 h3 span:nth-child(1) {
	  padding-bottom: 20px;
	}
	#top .sec_cont .cont01 {
	  margin-bottom: 10vh;
	}
	#top .sec_cont .cont02 h4 {
	  font-size: 17px;
	  font-family: forma-djr-text, "Archivo", "source-han-sans-japanese", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	  font-weight: 700;
	  font-style: normal;
	  margin-bottom: 16px;
		text-align: center;
	}
	#top .sec_cont .cont02 p {
	  font-size: 14px;
	  line-height: 1.75;
	  padding-left: 0;
		text-align: center;
	}
	.start main .obj > div.obj_yellow {
	  position: absolute;
	  right: 35%;
	  top: -100vh;
	  transform: translateX(100%) translateY(-50%) rotate(600deg);
		transition: 1.5s all ease;
	}
	.stop main .obj > div.obj_yellow,
	main .obj > div.obj_yellow {
	  position: absolute;
	  right: 35%;
	  top: 43vh;
	  transform: translateX(100%) translateY(-50%) rotate(0deg);
	  transition: 1.5s all ease;
	}
	
	.start main .obj > div.obj_pink {
	  position: absolute;
	  left: auto;
		right: 56%;
	  top: -130vh;
	  transform:translateX(0) translateY(0) rotate(-300deg);
	  transition: 2.0s all ease;
	}
	.stop main .obj > div.obj_pink {
	  position: absolute;
	  left: auto;
		right: 56%;
	  top: 38vh;
	  transform:translateX(0) translateY(0) rotate(-20deg);
	  transition: 2.0s all ease;
	}
	main .obj > div.obj_pink {
	  position: absolute;
	  left: auto;
		right: 56%;
	  top: 38vh;
	  transform:translateX(0%) translateY(0) rotate(-20deg);
		transition: 0.3s all ease;
	}
	
	.start main .obj > div.obj_blue {
		position: absolute;
		  left: 26%;
		top: -100vh;
		transform: translateX(-50%) translateY(-100%) rotate(-400deg);
	}
	.stop main .obj > div.obj_blue {
	  position: absolute;
	  left: 26%;
	  top: 21vh;
	  transform: translateX(-50%) translateY(-100%) rotate(90deg);
	  transition: 1.5s all ease;
	}
}
footer {
	padding-top: 168px;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(226,226,226,0.4) 20%, rgba(220,220,220,0.4) 51%, rgba(217,217,217,0.4) 100%);
}
footer h2 {
	padding-left: 60px;
	margin-bottom: 70px;
}
footer h2 img {
	width: 400px;
	height: auto;
}
footer .menu01 {
	font-size: 0;
	padding-left: 35px;
	position: relative;
	margin-bottom: 50px;
}
footer .menu01 li {
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	cursor: pointer;
	margin-right: 40px;
}
footer .menu01 li:nth-last-child(1) {
	margin: 0;
}
footer .menu01 li:hover {
	opacity: 0.6;
}
footer .menu01 li span {
	line-height: 25px;
	padding: 0 5px;
	display: block;
}
footer .menu01 li span.txt_jp {
	font-size: 15px;
	line-height: 1.0;
	color: rgba(0,0,0,0.40);
	transition: 0.5s all ease;
	opacity: 0;
	text-align: center;
	padding-top: 3px;
}
footer .menu01 li.contact {
	position: absolute;
	right: 190px;
	top: 0;
}
footer .menu01 li.contact:hover {
	opacity: 1.0;
}
@media screen and (min-width: 900px) {
	footer .menu01 li.contact:hover {
		transform: scale3d(1.3);
	}
	footer .menu01 li.contact:hover span.txt_en {
		font-size: 28px;
		transition: 0.3s all ease;
		padding-right: 52px;
	}
	footer .menu01 li:hover span.txt_jp {
		font-size: 15px;
		line-height: 1.0;
		color: rgba(0,0,0,0.40);
		transition: 0.5s all ease;
		opacity: 1.0;
	}
	
}
footer .menu01 li.contact span.txt_en {
	font-size: 23px;
	position: relative;
	padding-right: 48px;
	transition: 0.3s all ease;
}
footer .menu01 li.contact span.txt_jp {
	font-size: 18px;
	position: absolute;
	bottom: -80px;
	right: -60px;
	text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
	width: 28em;
	text-align: right;
	padding: 0;
	opacity: 1.0;
}
footer .menu01 li.contact span.txt_en::after {
	content: "";
	display: table-cell;
	position: absolute;
	right: 0;
	top: 0;
	background: url("../img/icn_link.png") top right no-repeat;
	background-size: 100% auto;
	width: 35px;
	height: 31px;
	opacity: 1.0;
	transition: 0.3s all ease;
}
footer .menu01 li.contact:hover span.txt_en::after {
	width: 40px;
	height: 38px;
	opacity: 1.0;
	right: -5px;
	top: -3px;
	transition: 0.3s all ease;
}
footer .menu01 li.contact:hover span.txt_en::after {
	opacity: 1.0;
}
footer .menu02 {
	font-size: 0;
	padding-left: 196px;
	padding-bottom: 48px;
	position: relative;
}
footer .menu02 li:nth-child(1),
footer .menu02 li:nth-child(2) {
	display: inline-block;
	background-color: #eaeaea;
	border-radius: 50%;
	overflow: hidden;
}
footer .menu02 li:nth-child(1) {
	margin-right: 102px;
}
footer .menu02 li:nth-child(2) {
	margin-right: 0;
}
footer .menu02 li:nth-child(1):hover,
footer .menu02 li:nth-child(2):hover {
	background-color: #000;
	opacity: 1.0;
}
footer .menu02 li a {
	display: table-cell;
	width: 70px;
	height: 70px;
	text-align: center;
	vertical-align: middle;
}
footer .menu02 li:nth-child(1) a {
	background: url("../img/icn_insta.png") center center no-repeat;
	background-size: 60% auto;
}
footer .menu02 li:nth-child(2) a {
	background: url("../img/icn_twitter.png") center center no-repeat;
	background-size: 60% auto;
}
footer .menu02 li:nth-child(1):hover a {
	background: url("../img/icn_insta_white.png") center center no-repeat;
	background-size: 60% auto;
	opacity: 1.0;
}
footer .menu02 li:nth-child(2):hover a {
	background: url("../img/icn_twitter_white.png") center center no-repeat;
	background-size: 60% auto;
	opacity: 1.0;
}
footer .menu02 li.privacy {
	font-size: 15px;
	position: absolute;
	bottom: 0;
	left: 158px;
	margin: 0;
	text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
	cursor: pointer;
}
footer .menu02 li.privacy:hover {
	opacity: 0.6;
}
footer .copy {
	text-align: center;
	padding-bottom: 12px;
	padding-top: 5px;
}
footer .copy small {
	font-size: 15px;
	text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
}
@media screen and (min-width:1201px) {
	.only_sp {
		display: none;
	}
	footer {
		padding-top: 168px;
		background: rgb(255,255,255);
		background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(226,226,226,0.4) 20%, rgba(220,220,220,0.4) 51%, rgba(217,217,217,0.4) 100%);
	}
	footer h2 {
		padding-left: 60px;
		margin-bottom: 70px;
	}
	footer h2 img {
		width: 400px;
		height: auto;
	}
	footer .menu01 {
		font-size: 0;
		padding-left: 35px;
		position: relative;
		margin-bottom: 50px;
	}
	footer .menu01 li {
		display: inline-block;
		font-size: 20px;
		font-weight: bold;
		cursor: pointer;
		margin-right: 40px;
	}
	footer .menu01 li:nth-last-child(1) {
		margin: 0;
	}
	footer .menu01 li:hover {
		opacity: 0.6;
	}
	footer .menu01 li span {
		line-height: 25px;
		padding: 0 5px;
		display: block;
	}
	footer .menu01 li span.txt_jp {
		font-size: 15px;
		line-height: 1.0;
		color: rgba(0,0,0,0.40);
		transition: 0.5s all ease;
		opacity: 0;
		text-align: center;
		padding-top: 3px;
	}
	footer .menu01 li:hover span.txt_jp {
		font-size: 15px;
		line-height: 1.0;
		color: rgba(0,0,0,0.40);
		transition: 0.5s all ease;
		opacity: 1.0;
	}
	footer .menu01 li.contact {
		position: absolute;
		right: 190px;
		top: 0;
	}
	footer .menu01 li.contact:hover {
		opacity: 1.0;
	}
	footer .menu01 li.contact:hover {
		transform: scale3d(1.3);
	}
	footer .menu01 li.contact span.txt_en {
		font-size: 23px;
		position: relative;
		padding-right: 48px;
		transition: 0.3s all ease;
	}
	footer .menu01 li.contact span.txt_jp {
		font-size: 18px;
		position: absolute;
		bottom: -80px;
		right: -60px;
		text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
		width: 28em;
		text-align: right;
		padding: 0;
		opacity: 1.0;
	}
	footer .menu01 li.contact span.txt_en::after {
		content: "";
		display: table-cell;
		position: absolute;
		right: 0;
		top: 0;
		background: url("../img/icn_link.png") top right no-repeat;
		background-size: 100% auto;
		width: 35px;
		height: 31px;
		opacity: 1.0;
		transition: 0.3s all ease;
	}
	footer .menu02 {
		font-size: 0;
		padding-left: 196px;
		padding-bottom: 48px;
		position: relative;
	}
	footer .menu02 li:nth-child(1),
	footer .menu02 li:nth-child(2) {
		display: inline-block;
		background-color: #eaeaea;
		border-radius: 50%;
		overflow: hidden;
	}
	footer .menu02 li:nth-child(1) {
		margin-right: 102px;
	}
	footer .menu02 li:nth-child(2) {
		margin-right: 0;
	}
	footer .menu02 li:nth-child(1):hover,
	footer .menu02 li:nth-child(2):hover {
		background-color: #000;
		opacity: 1.0;
	}
	footer .menu02 li a {
		display: table-cell;
		width: 70px;
		height: 70px;
		text-align: center;
		vertical-align: middle;
	}
	footer .menu02 li:nth-child(1) a {
		background: url("../img/icn_insta.png") center center no-repeat;
		background-size: 60% auto;
	}
	footer .menu02 li:nth-child(2) a {
		background: url("../img/icn_twitter.png") center center no-repeat;
		background-size: 60% auto;
	}
	footer .menu02 li:nth-child(1):hover a {
		background: url("../img/icn_insta_white.png") center center no-repeat;
		background-size: 60% auto;
		opacity: 1.0;
	}
	footer .menu02 li:nth-child(2):hover a {
		background: url("../img/icn_twitter_white.png") center center no-repeat;
		background-size: 60% auto;
		opacity: 1.0;
	}
	footer .menu02 li.privacy {
		font-size: 15px;
		position: absolute;
		bottom: 0;
		left: 158px;
		margin: 0;
		text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
		cursor: pointer;
	}
	footer .menu02 li.privacy:hover {
		opacity: 0.6;
	}
	footer .copy {
		text-align: center;
		padding-bottom: 12px;
		padding-top: 5px;
	}
	footer .copy small {
		font-size: 15px;
		text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
	}
}
@media screen and (min-width:900px) {
	footer .menu01 li.contact:hover span.txt_en {
		font-size: 28px;
		transition: 0.3s all ease;
		padding-right: 52px;
	}
	footer .menu01 li.contact:hover span.txt_en::after {
		width: 40px;
		height: 38px;
		opacity: 1.0;
		right: -5px;
		top: -3px;
		transition: 0.3s all ease;
	}
	footer .menu01 li.contact:hover span.txt_en::after {
		opacity: 1.0;
	}
	
	
}
@media screen and (max-width:1200px) {
	footer {
		position: relative;
	}
	footer h2 {
		position: absolute;
		margin: 0;
		padding: 0;
		left: 32px;
		top: 168px;
		
	}
	.footer_nav {
		height: 320px;
	}
	footer h2 img {
	  width: 240px;
	  height: auto;
	}
	footer .menu01 {
	  font-size: 0;
		margin: 0;
		padding: 0;
	  position: absolute;
		left: 299px;
		top: 168px;
		padding-top: 6px;
		width: calc(100% - 299px);
	}
	footer .menu01 li {
		font-family: "source-han-sans-japanese", "Noto Sans JP", sans-serif;
		font-weight: 400;
		font-style: normal;
	  display: block;
	  font-size: 16px;
	  margin-right: 0;
		width: 120px;
		cursor: pointer;
	}
	footer .menu01 li > span {
		font-family: "source-han-sans-japanese", "Noto Sans JP", sans-serif;
		font-weight: 400;
		font-style: normal;
		padding: 0;
		display: block;
		line-height: 1.0;
	}
	footer .menu01 li > span.txt_en {
		margin-bottom: 0;
		display: block;
		font-weight: bold;
		line-height: 1.0;
	}
	footer .menu01 li > span.txt_jp {
		font-size: 11px;
		margin-bottom: 18px;
		color: #7C7C7C;
		display: block;
		text-align: left;
		opacity: 1.0;
	}
	footer .menu01 li.contact span.txt_en {
		line-height: 38px;
		display: inline-block;
	}
	footer .menu01 li.contact span.txt_jp {
		font-size: 18px;
		color: #000;
		margin-bottom: 0;
		display: inline-block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 38px;
		text-align: center;
		line-height: 24px;
	}
	footer .menu01 li.contact {
	  position: absolute;
	  right:0;
	  top: 0;
		width: calc(100% - 120px);
		height: 100%;
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		padding-top: 80px;
	}
	footer .menu02 {
	  font-size: 0;
	  padding-left: 0;
	  padding-bottom: 0;
	  position: absolute;
		top: 288px;
		left: 32px;
		width: 240px;
		text-align: center;
	}
	footer .menu02 li {
	  display: inline-block;
	  margin-right: 0;
	}
	footer .menu02 li:nth-child(1) {
		margin-right: 45px;
	}
	footer .copy {
	  text-align: center;
	  padding-bottom: 12px;
	  padding-top: 5px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	footer .menu02 li.privacy {
	  font-size: 10px;
	  position: static;
	  text-shadow: 0px 5px 8px rgba(0,0,0,0.20);
	  cursor: pointer;
		display: block;
		text-align: center;
		margin-top: 53px;
	}
	footer .copy small {
	  font-size: 10px;
	}	
}
@media screen and (min-width: 951px) {
}
@media screen and (max-width: 950px) {
	footer {
		padding-top: 90px;
	}
	footer .inner {
		padding: 15px 0 20px;
	}
	footer .menu01 li {
	  font-size: 16px;
	  margin-right: 0;
	  width: 130px;
	  cursor: pointer;
	}	
	
	footer .menu01 li.contact span.txt_jp {
		display: none;
	}
	footer .menu01 li.contact span.txt_en::after {
		display: none;
	}	
	footer .menu01 li.contact span.txt_en {
	  line-height: 1.0;
	}
	footer .menu01 li.contact {
	  position: static;
	  right: 0;
	  top: 0;
	  width: 100%;
	  height: auto;
	  display: block;
	  text-align: left;
	  vertical-align: middle;
	  padding-top: 0;
		font-size: 14px;
	}	
	footer .menu01 li.contact span.txt_en {
	  font-size: 16px;
	  position: static;
	  padding-right: 0;
	}
	footer .menu01 li.contact::after {
		content: "お問い合わせ";
	  font-size: 11px;
	  margin-bottom: 18px;
	  color: #7C7C7C;
	  display: block;
		padding-top: 3px;
	}
	.footer_nav {
	  height: auto;
		padding-right: 190px;
	}	
	footer .menu01 {
	  font-size: 0;
	  margin: 0;
	  padding: 15px 30px 30px 0;
	  position: absolute;
	  left: auto;
	  top: 60px;
		right: 0;
	  width: auto;
	}
	footer .menu02 {
	  position: static;
	  width: 100%;
	  text-align: center;
	}
	footer h2 {
	  position: static;
	  margin: 0 15px 70px;
	  padding-right: 190px;
		text-align: center;
	}	
	footer h2 img {
		width: 100%;
	  max-width: 240px;
	  height: auto;
	}
	footer .menu02 li a {
	  display: table-cell;
	  width: 38px;
	  height: 38px;
	  border: none;
	}	
	footer .menu02 li a img {
		width: 60%;
		height: auto;
	}
	
}
#business .sec_cont .cont01 {
	transform: translateY(-60px);
}
#business .sec_cont .cont01 h3 {
	text-align: center;
	font-size: 50px;
	font-family: forma-djr-text, "Archivo", "Helvetica Neue", Arial, sans-serif;
	font-weight: 900;
	font-style: normal;
	margin-bottom: 10px;
}
#business .sec_cont .cont01 p {
	text-align: center;
	font-size: 18px;
	line-height: 1.0;
	margin-bottom: 26px;
}
#business .sec_cont .cont02 {
	text-align: center;
	font-size: 12px;
}
#business .sec_cont .cont02 .inner {
	display: inline-block;
}
#business .sec_cont .cont02 p {
	text-align: left;
	line-height: 1.6;
}
@media screen and (max-width:1200px) {
	#business .sec_cont .cont01 {
	  transform: translateY(0);
	}
	#business .sec_cont .cont02 .inner {
		transform: translateX(50%);
	}
	#business .sec_cont .cont02 p {
	  text-align: left;
	  line-height: 1.6;
	  transform: translateX(0);
	}
	#business .sec_cont .cont01 {
		margin-bottom: 49px;
	}	
	
	
}
@media screen and (max-width: 767px) {
	#business .sec_cont .cont01 h3 {
	  font-size: 24px;
	  margin-bottom: 10px;
	}
	#business .sec_cont .cont01 p {
	  text-align: center;
	  font-size: 14px;
	  line-height: 1.0;
	  margin-bottom: 25px;
	}
	#business .sec_cont .cont01 {
		padding-right: 9%;
	}
	#business .sec_cont .cont02 .inner {
	  transform: translateX(50%);
	}
	#business .sec_cont .cont02 {
		padding-right: 9%;
	  text-align: center;
	  font-size: 12px;
		transform: translateX(-2em);
	}
	#news.active .sec_cont {
	  transform: translateY(50px);
	}	
	
}
#company .sec_cont {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
#company .sec_cont .inner {
	transform: translateY(-75px);
}
#company .sec_cont .inner h3 {
	text-align: center;
	font-size: 50px;
	margin-bottom: 32px;
}
#company .sec_cont .inner p {
	text-align: center;
}
#company .sec_cont .inner p.text01 {
	font-size: 13px;
	margin-bottom: 5px;
	transform: translateX(-4em);
}
#company .sec_cont .inner p.text02 {
	font-size: 23px;
	margin-bottom: 8px;
}
#company .sec_cont .inner p.text03 {
	font-size: 18px;
	margin-bottom: 15px;
}
#company .sec_cont .inner p.text04 {
	font-size: 17px;
	margin-bottom: 8px;
	transform: translateX(-7.5em);
}
#company .sec_cont .inner p.text05 {
	font-size: 17px;
	margin-bottom: 26px;
}
@media screen and (max-width:767px) {
	
	#company .sec_cont .inner p.text01 {
		font-size: 12px;
		margin-bottom: 5px;
		transform: translateX(-4em);
	}
	#company .sec_cont .inner p.text02 {
		font-size: 14px;
		margin-bottom: 8px;
	}
	#company .sec_cont .inner p.text03 {
		font-size: 14px;
		margin-bottom: 15px;
	}
	#company .sec_cont .inner p.text04 {
		font-size: 14px;
		margin-bottom: 8px;
		transform: translateX(-5.6em);
	}
	#company .sec_cont .inner p.text05 {
		font-size: 14px;
		margin-bottom: 26px;
	}
	
}
#contact .sec_cont .wpcf7-response-output {
	font-size: 20px;
	padding: 20px;
	text-align: center;
	margin-top: 10px;
	transform: translateY(15px);
}
.wpcf7-not-valid-tip {
	padding-top: 5px;
}
#contact .form_area {
	padding-top: 30px;
}
#contact .form_area .title {
  font-size: 20px;
  margin-bottom: 17px;
}	

#contact .form_area .title p{
	text-align: center;
	font-size: 20px;
	color: #707070;
}
#contact .form_area .input p {
	text-align: center;
	margin-bottom: 17px;
}
#contact .form_area .input input {
	width: 355px;
	height: 35px;
	border: 2px solid #EAEAEA;
	border-radius: 9px;
	padding: 0 10px;
	font-size: 16px;
	color: rgba(73,73,73,1.00);
}
#contact .form_area .input textarea {
	width: 355px;
	height: 168px;
	border: 2px solid #EAEAEA;
	border-radius: 9px;
	padding: 0 10px;
	font-size: 16px;
	color: rgba(73,73,73,1.00);
}
#contact .pp_area {
	width: 355px;
	height: 168px;
	margin: 0 auto;
	overflow-y: scroll;
	background-color: rgba(243,243,243,1.00);
	border-radius: 9px;
}
#contact .pp_area article {
	padding: 2em 1em;
}
#contact .pp_area h1,
#contact .pp_area h4 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 1em;
	color: rgba(63,63,63,1.00);
	padding-left: 0.3em;
	border-left: 5px solid rgba(63,63,63,1.00);
}
#contact .pp_area h2 {
	font-size: 15px;
	font-weight: normal;
	color: #FFF;
	background-color: rgba(91,91,91,1.00);
	padding: 0.2em 0.6em 0.3em;
	margin-bottom: 0.6em;
}
#contact .pp_area p {
	font-size: 13px;
	line-height: 1.3;
	margin-bottom: 1em;
}
#contact .pp_area p a {
	color: rgba(56,69,220,1.00);
	text-decoration: underline;
	padding: 0 0.2em;
}
#contact .check_area p {
	text-align: center;
	padding: 20px 0 50px;
}
#contact .check_area label {
	font-size: 14px;
}
#contact .submit_area {
	margin-top: 50px;
	position: relative;
}
#contact .submit_area p {
	text-align: center;
}
#contact .submit_area input {
	font-size: 24px;
	font-weight: normal;
	letter-spacing: 0.2em;
	color: rgba(65,65,65,1.00);
	line-height: 50px;
	width: 263px;
	height: 50px;
	background: url("../img/submit_bg.svg") top center no-repeat;
	background-size: 100% auto;
	border: none;
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) translateY(-50px);
}
#contact .submit_area input:hover {
	opacity: 0.6;
}
@media screen and (max-width:767px) {
	#company .sec_cont .inner h3 {
	  text-align: center;
	  font-size: 20px;
	  margin-bottom: 32px;
	}
	
}
#news .sec_cont .inner {
	width: 500px;
	margin: 0 auto;
	transform: translateY(-16vh);
}
#news .sec_cont .slider {
}
#news .sec_cont .slider .slick-list {
	overflow: hidden;
}
#news .sec_cont .inner li {
	margin-bottom: 50px;
	margin-top: 50px;
}
#news .sec_cont .inner li .date {
	display: block;
	text-align: center;
	font-size: 26px;
	line-height: 1.0;
	margin-bottom: 17px;
}
#news .sec_cont .inner li .text {
	display: block;
	text-align: center;
	font-size: 23px;
	line-height: 1.3;
}
@media screen and (max-width:767px) {
	#news .sec_cont .inner {
		width: 96%;
		margin-right: 9%;
	  transform: translateY(50px);
	}
	#news .sec_cont .inner li .date {
	  font-size: 14px;
	  margin-bottom: 10px;
	}
	#news .sec_cont .inner li .text {
	  font-size: 14px;
	  line-height: 1.3;
	}
	#news .sec_cont .inner li {
	  margin-bottom: 20px;
	  margin-top: 20px;
	}	
}

.slick-prev::before {
  content: '';
	width: 34px;
	height: 22px;
	background: url("../img/Icon material-keyboard-arrow-down.png") center center no-repeat;
	background-size: 100% auto;
	display: table-cell;
	transform: rotate(180deg);
}
.slick-next::before {
  content: '';
	width: 34px;
	height: 22px;
	background: url("../img/Icon material-keyboard-arrow-down.png") center center no-repeat;
	background-size: 100% auto;
	display: table-cell;	
}
#recruit {
	
}
#recruit .sec_cont .inner {
	transform: translateY(-60px) translateX(-88px);
	position: absolute;
	left: 50%;
}
#recruit .sec_cont .inner .box {
	margin-bottom: 22px;
}
#recruit .sec_cont .inner .box h3 {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 8px;
}
#recruit .sec_cont .inner .box h4 {
	font-size: 21px;
	font-weight: normal;
	margin-bottom: 8px;
}
#recruit .sec_cont .inner .box h4::before {
	content: "〇";
}
#recruit .sec_cont .inner .box p {
	font-size: 21px;
	line-height: 1.3;
	font-weight: normal;
	margin-bottom: 8px;
	padding-left: 8px;
}
#privacy .sec_cont .inner {
	transform: translateY(130px);
	width: 86%;
	max-width: 940px;
	margin: 0 auto;
}
#privacy .sec_cont h3,#privacy .sec_cont p {
	font-size: 9px;
	font-weight: normal;
	line-height: 1.3;
	margin-bottom: 1.3em;
}
@media screen and (max-width:1200px) {
	#company .sec_cont .inner {
	  transform: translateY(0);
	}
	#news .sec_cont .inner {
	  transform: translateY(0);
	}
	#recruit .sec_cont .inner {
	  transform: translateY(0) translateX(-63px);
	  position: absolute;
	  left: 50%;
	}	
}
@media screen and (max-width: 767px){
	#company .sec_cont .inner {
		padding-right: 9%;
	}
	#recruit .sec_cont {
		padding-right: 23.5%;
		text-align: center;
	}
	#recruit .sec_cont .inner {
	  transform: translateY(0) translateX(0);
	  position: static;
	  left: 0;
		display: inline-block;
	}
	#recruit .sec_cont .inner .box h3 {
	  font-size: 14px;
	  font-weight: bold;
	  margin-bottom: 5px;
	}
	#recruit .sec_cont .inner .box h4 {
	  font-size: 14px;
	  font-weight: normal;
	  margin-bottom: 5px;
	}
	#recruit .sec_cont .inner .box p {
	  font-size: 14px;
	  line-height: 1.3;
	  font-weight: normal;
	  margin-bottom: 5px;
	  padding-left: 5px;
	}	
	#privacy .sec_cont .inner {
	  transform: translateY(0);
	  width: 94%;
	  max-width: 940px;
	  margin: 0 auto;
	}
	#contact .form_area .title {
	  font-size: 20px;
	  margin-bottom: 4px;
	}	
	
	
}
.pp_area span#contact {
	color: rgba(50,157,184,1.00);
}


/* ─── 2026 追記：事業内容を箇条書きに ─── */
#business .sec_cont .cont02 .lead_copy{font-size:22px;font-weight:700;line-height:1.7;margin-bottom:22px;color:#363636;}
#business .sec_cont .cont02 .biz_list{list-style:none;margin:0 0 20px;padding:0;}
#business .sec_cont .cont02 .biz_list li{position:relative;padding-left:20px;margin-bottom:10px;line-height:1.8;font-size:15px;}
#business .sec_cont .cont02 .biz_list li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:#363636;}
#business .sec_cont .cont02 .biz_note{color:#8a8a8a;font-size:14px;margin-bottom:16px;}
#business .sec_cont .cont02 .biz_link a{display:inline-block;border:1px solid #363636;border-radius:999px;padding:9px 22px;font-size:14px;text-decoration:none;transition:.2s all ease;}
#business .sec_cont .cont02 .biz_link a:hover{background:#363636;color:#fff;}
@media screen and (max-width:900px){
 #business .sec_cont .cont02 .lead_copy{font-size:19px;}
 #business .sec_cont .cont02 .biz_list li{font-size:14px;}
}


/* ── トップページ：HARKの入口カード ── */
#top .sec_cont .cont03{margin-top:92px;display:flex;justify-content:center;padding:0 24px}
.hark_card{
	display:block;width:100%;max-width:620px;box-sizing:border-box;
	background:rgba(255,255,255,0.88);
	border:1px solid #dfe7e7;border-radius:20px;
	padding:44px 40px 40px;text-align:center;
	text-decoration:none;color:#363636;
	transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.hark_card:hover{border-color:#0F6B6B;box-shadow:0 10px 32px rgba(15,107,107,.10);transform:translateY(-2px)}
.hc_lb{display:block;font-size:12px;letter-spacing:.20em;color:#0F6B6B;font-weight:700;margin-bottom:16px}
.hc_ttl{
	display:block;
	font-family: forma-djr-text, "Archivo", "source-han-sans-japanese", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	font-weight:700;font-size:44px;line-height:1;letter-spacing:.02em;margin-bottom:22px;
}
.hc_ttl em{display:block;font-size:14px;font-style:normal;font-weight:500;color:rgba(0,0,0,.45);letter-spacing:.12em;margin-top:10px}
.hc_txt{display:block;font-size:15px;line-height:1.95;color:#4a4a4a;margin-bottom:28px}
.hc_txt span{display:inline-block}
.hc_go{display:inline-block;font-size:15px;font-weight:700;color:#0F6B6B;border-bottom:2px solid #0F6B6B;padding-bottom:3px}
.hc_go::after{content:" →"}
.hark_card:hover .hc_go{opacity:.65}
@media screen and (max-width:900px){
	#top .sec_cont .cont03{margin-top:56px;padding:0 20px}
	.hark_card{padding:32px 22px 30px;border-radius:16px}
	.hc_ttl{font-size:34px}
	.hc_txt{font-size:14px;line-height:1.9}
}

/* ── フッターの補助リンク（HARK／料金／特商法／プライバシー／利用規約）────────────
   もともと .menu02 は「SNSアイコン2つ ＋ プライバシー1本」の想定で書かれており、
   `footer .menu02 li a { display:table-cell; width:70px; height:70px }` が
   ul の中のリンク全部に当たる。そこにテキストリンクを足したため70px幅に潰され、
   PCでは2〜3行に折り返し、SPでは縦書きのように崩れて見えていた。
   → テキストリンクは .menu02 から出して .menu03 に分け、専用のスタイルを当てる。 */
footer .menu03{
	padding-left:196px; padding-bottom:40px;
	display:flex; flex-wrap:wrap; align-items:center; gap:10px 30px;
}
footer .menu03 li{ margin:0 }
footer .menu03 li a{
	display:inline-block; font-size:14px; line-height:1.6; white-space:nowrap;
	text-shadow:0 5px 8px rgba(0,0,0,0.20); transition:opacity .3s ease;
}
footer .menu03 li a:hover{ opacity:.6 }
/* SP：フッターは右カラム(.menu01)が position:absolute・高さ333pxで、
   親(.inner)の幅は200pxしかない。その中に素直に置くと右カラムに重なる。
   → 幅を 100vw にして200pxの箱から出し、margin-top で右カラムの下まで送る。
     絶対配置にしないのは、中身が増えてもフッターが伸びて逃げ場が保てるため。 */
/* フッターは幅で3つのレイアウトに切り替わる（実測）
     ≤950px      … menu01 が絶対配置の右カラム
     951〜1200px … menu01 も menu02 も絶対配置。流し込みの高さがほぼ無い
     ≥1201px     … 両方とも通常の流し込み（ここは .menu03 も流し込みでよい）
   下2つは流し込みで位置を決められないので、フッターの下に余白を作り、
   .copy と .menu03 をその中に絶対配置で積む。menu01 の高さに依存しない。 */
@media screen and (max-width:1200px){
	footer{ position:relative; padding-bottom:150px }
	footer .menu03{
		position:absolute; left:0; bottom:24px; width:100%;
		box-sizing:border-box; padding:0 16px; margin:0;
		justify-content:center; gap:10px 20px;
	}
	footer .menu03 li a{ font-size:13px }
	footer .copy{ bottom:104px }
}
/* 狭い画面ではリンクが2〜3行に折り返すぶん、下の余白をさらに広げる */
@media screen and (max-width:600px){
	footer{ padding-bottom:270px }
	footer .copy{ bottom:120px }
	footer .menu03{ gap:8px 16px; padding-left:12px; padding-right:12px; bottom:28px }
	footer .menu03 li a{ font-size:12px }
}

/* ═══════════════════════════════════════════════════════════════
   オープニングアニメーション（2026-09-23 追加）

   ねらい＝「LEONE CREATE のロゴ」から「六角形が降ってくる既存の演出」へ繋げる。

   🔑 既存の演出は消さずに"順番だけ"変える。
      このサイトは読み込み時 body に `start` が付いており、jQuery の ready で
      `stop` に変わった瞬間に、六角形3つが画面上から降り、0.5s遅れで本文、
      2.5s遅れでヘッダーが出る——つまり「六角形が先・ロゴが最後」だった。
      オープニングは `stop` への切替を待たせ、その間にロゴを見せ、
      ロゴがヘッダーの定位置に着いた瞬間に `stop` にする＝ロゴ → 六角形 の順になる。
      既存のCSSは1行も書き換えていない。

   🔑 オーバーレイのDOMはJSで作る。JSが無い／落ちた時はオーバーレイ自体が
      存在しないので、サイトは従来どおり表示される（真っ白で固まる事故が起きない）。

   ★2種類の見せ方を切り替えられる（js/function.js の VARIANT）
      'type'     … ロゴが1文字ずつ組み上がる。出る瞬間だけ3色が走って黒に落ち着く（約1.3秒）
      'assemble' … 3色の六角形が外から集まって重なり、中心にロゴが生まれる（約2.1秒）
   ═══════════════════════════════════════════════════════════════ */

html.lc-op-on, html.lc-op-on body{ overflow:hidden }

.lc-op{
	position:fixed; inset:0; z-index:100000; background:#fff;
	opacity:1; transition:opacity .5s ease;
}
.lc-op.is-out{ opacity:0; pointer-events:none }

/* ロゴ（インラインSVG）。位置は JS が transform で与える（左上原点＋scale） */
.lc-op__logo{
	position:fixed; left:0; top:0; transform-origin:0 0;
	will-change:transform,opacity;
}
.lc-op__logo svg{ display:block; width:100%; height:auto; overflow:visible }
.lc-op__logo svg path{
	fill:#231815;
	transform-box:fill-box; transform-origin:50% 100%;
}

/* ── 'type'：1文字ずつ下から組み上がる ── */
.lc-op--type .lc-op__logo svg path{
	opacity:0; transform:translateY(7px);
	transition:opacity .26s ease, transform .34s cubic-bezier(.2,.9,.25,1), fill .34s ease .16s;
}
.lc-op--type.is-in .lc-op__logo svg path{ opacity:1; transform:translateY(0) }

/* ── 'assemble'：3枚の六角形が外から集まる ── */
.lc-op__hex{
	position:fixed; left:0; top:0; transform-origin:0 0;
	will-change:transform,opacity; opacity:0;
}
/* 🔴 回転を外側に掛けると左上を軸に回ってしまい、3枚が中心からズレる。
   外＝移動と拡大（左上原点）／内＝回転（中心原点）に分ける。 */
.lc-op__hin{ display:block; transform-origin:50% 50% }
.lc-op__hex img{ display:block; width:100%; height:auto }
/* 🔴 .lc-op__logo の transform-origin は 0 0 のまま動かさない（飛び先の計算が左上基準のため）。
   中央から"生まれる"ふくらみは、内側のラッパーで別に掛ける。 */
.lc-op__in{ display:block; transform-origin:50% 50% }
.lc-op--assemble .lc-op__logo{ opacity:0 }
/* 生まれた瞬間だけ3色を帯びて、そこから黒へ落ちる（六角形の色がロゴに移ったように見せる） */
.lc-op--assemble .lc-op__logo svg path{ transition:fill .32s ease }
.lc-op--assemble .lc-op__in{ transform:scale(.94) }
.lc-op--assemble.is-born .lc-op__logo{ opacity:1 }
.lc-op--assemble.is-born .lc-op__in{ transform:scale(1) }

/* オープニング中はヘッダーの実ロゴを伏せておき、着地の瞬間に入れ替える */
html.lc-op-on header .logo img{ opacity:0 }

/* 引き継ぎの瞬間、ヘッダーは"滑って降りてくる"のではなく、もう定位置に居る状態にする。
   （通常は stop から 2.5s 遅れ＋2.0s かけて降りてくる。それだとロゴが着地してから
     2秒以上あとに本物のヘッダーが来て、ロゴが二重に見える）
   飛んできたロゴと本物のロゴが 1px の狂いもなく重なるので、入れ替わりが見えない。 */
html.lc-op-hand header{ transition:none !important }
/* ナビだけは動きを残す（右からスッと出る） */
html.lc-op-hand .header_nav,
html.lc-op-hand .stop .header_nav{ transition:0.45s all ease 0.15s !important }

/* 飛び先（ヘッダーロゴ・六角形の定位置）を測る一瞬。この間はすべてのアニメを止める */
html.lc-measure *{ transition:none !important; animation:none !important }

/* OSで「動きを減らす」を選んでいる人にはオープニングを出さない */
@media (prefers-reduced-motion: reduce){ .lc-op{ display:none !important } }

/* ═══════════════════════════════════════════════════════════════
   Business の見出しをリンクにする（2026-09-24 追記）
   「Web」→ pages/web.html（制作実績）／「HARK」→ pages/hark.html

   ★見出しのフォント・サイズ・中央揃えは既存のまま触らない。
     a を block にすると text-align:center が効かなくなるので inline のまま使い、
     「押せる」と分かるように下線だけ足す（色を変えると既存の配色が崩れるため）。
   ═══════════════════════════════════════════════════════════════ */
#business .sec_cont .cont01 h3 a{
	color:inherit;
	text-decoration:none;
	border-bottom:3px solid rgba(54,54,54,0.18);
	padding-bottom:2px;
	transition:0.2s border-color ease;
}
#business .sec_cont .cont01 h3 a:hover{ border-bottom-color:#363636 }
#business .sec_cont .cont01 h3 a:focus-visible{ outline:3px solid #363636; outline-offset:4px }
@media screen and (max-width: 767px){
	#business .sec_cont .cont01 h3 a{ border-bottom-width:2px }
}
