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


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

.txt_jp {
}

.txt_en {
	font-family: forma-djr-text, "Archivo", "Helvetica Neue", Arial, sans-serif;
	font-weight: 900;
	font-style: normal;
}
@media screen and (min-width: 1260px) {
	.start header {
		top: -100%;
		opacity: 0;
	}
	header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 80px;
		background-color:rgba(255,255,255,0.49);
		border-top: 1px solid rgba(240,240,240,0.49);
		border-bottom: 1px solid rgba(240,240,240,0.49);
		z-index: 999;
		opacity: 1.0;
		transition: 2.0s all ease;
	}
	header h1 img {
		width: auto;
		height: 38px;
	}
	/* ロゴとナビを横並びにする。absoluteだとロゴの上に乗るので flex に変更 */
	header .inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 80px;
		padding-right: 30px;
	}
	header .logo {
		height: auto;
		padding: 0 0 0 59px;
		flex: none;
	}
	header .header_nav {
		position: static;
		flex: none;
	}
	header .header_nav ul {
		font-size: 0;
	}
	header .header_nav ul li {
		display: inline-block;
		height: 55px;
		border-radius: 16px;
		position: relative;
		padding: 0 20px;
		margin-right: 10px;
		z-index: 2;
		cursor: pointer;
		border: 1px solid rgba(255,255,255,0.00);
		transition: all ease 0.3s;
	}
	header .header_nav ul li.navon	{
		display: inline-block;
		height: 55px;
		border: 1px solid #767676;
		border-radius: 16px;
		position: relative;
		padding: 0 20px;
		margin-right: 10px;
		z-index: 2;
		transition: all ease 0.3s;	
	}
	header .header_nav ul li.navon::before {
		content: "";
		display: table-cell;
		width: 100%;
		height: 55px;
		border: 3px solid rgba(240,240,240,0.49);
		position: absolute;
		z-index: 1;
		top: 1px;
		left: 1px;
		border-radius: 16px;
		box-sizing: border-box;
		transition: all ease 0.5s;
	}
	header .header_nav ul li:nth-last-child(1) {
		margin-right: 0;
	}
	header .header_nav ul li span {
		display: block;
		text-align: center;
	}
	header .header_nav ul li span.txt_en {
		font-size: 20px;
		text-align: center;
		line-height: 14px;
		padding-top: 15px;
		padding-bottom: 6px;
	}
	header .header_nav ul 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;
	}
	header .header_nav ul li:hover span.txt_jp,
	header .header_nav ul li.navon span.txt_jp {
		opacity: 1.0;
		transition: 0.5s all ease;
	}
	/* HARK：ラベルを <a> で包む。CSSやJSが落ちても素のリンクとして機能する */
	header .header_nav ul li.hark > a {
		display: block;
		color: inherit;
		text-decoration: none;
	}
	.header_nav .btn {
		display: none;
	}
}
/* 1260〜1400px：7項目が収まるようナビの余白を詰める */
@media screen and (min-width:1260px) and (max-width:1400px) {
	header .header_nav ul li,
	header .header_nav ul li.navon {
		padding: 0 12px;
		margin-right: 4px;
	}
	header .header_nav ul li span.txt_en {
		font-size: 18px;
	}
	header .logo {
		padding-left: 32px;
	}
	header .inner {
		padding-right: 16px;
	}
}
@media screen and (max-width: 1259px) {
	header {
		width: 100%;
		height: 80px;
		background-color: rgba(255,255,255,0.49);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	.start header {
		transform: translateY(-80px);
		transition: 0.3s all ease 2.5s;
	}
	.stop header {
		transform: translateY(0);
		transition: 0.3s all ease 2.5s;
	}
	
	header .logo {
		padding-top: 24px;
		padding-left: 53px;
	}
	header .logo img {
		width: 300px;
		height: auto;
	}
	.header_nav {
		position: fixed;
		right: 0;
		top: 160px;
		z-index: 999;
		transform: translateX(0);
		transition: 0.3s all ease;
	}
	.start .header_nav {
		position: fixed;
		top: 160px;
		z-index: 999;
		transform: translateX(100%);
		transition: 0.3s all ease 2.5s;
	}
	.stop .header_nav {
		position: fixed;
		top: 160px;
		z-index: 999;
		transform: translateX(0);
		transition: 0.3s all ease 2.5s;
	}
	
	.open .header_nav {
		position: fixed;
		z-index: 999;
		transform: translateX(-11px);
		transition: 0.3s all ease;
	}
	.header_nav .txt_jp {
		display: none;
	}
	.header_nav ul {
	}
	.open .header_nav ul {
	}
	.header_nav ul {
		width: 81px;
		display: flex;
		flex-wrap: wrap;
		margin-top: 7px;
	}
	.header_nav li {
		flex: 0 0 100%;
		cursor: pointer;
		margin-bottom: 7px;
		transform: rotate(-90deg);
		transition: 0.3s all ease;
		opacity: 0.0;
	}
	.header_nav li:nth-child(1) {
		transform: translateY(-88px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.header_nav li:nth-child(2) {
		transform: translateY(-176px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.header_nav li:nth-child(3) {
		transform: translateY(-264px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.header_nav li:nth-child(4) {
		transform: translateY(-352px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.header_nav li:nth-child(5) {
		transform: translateY(-440px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.header_nav li:nth-child(6) {
		transform: translateY(-528px) rotate(-90deg);
		transition: 0.3s all ease;
	}
	.open .header_nav li {
		transform: translateY(0) rotate(0);
		transition: 0.3s all ease;
		opacity: 1.0;
	}
	.header_nav li:hover {
		opacity: 0.6;
	}
	.header_nav li span {
		font-size: 14px;
		display: table-cell;
		width: 81px;
		height: 81px;
		text-align: center;
		vertical-align: middle;
		background: url("../img/sptbn_white.png") center center no-repeat;
		background-size: 81px 81px;
	}
	.header_nav li:nth-child(1) {
		font-size: 16px;
	}
	.header_nav .btn {
		font-family: forma-djr-text, "Archivo", "Helvetica Neue", Arial, sans-serif;
		font-weight: 900;
		font-style: normal;		
		display: table-cell;
		width: 81px;
		height: 81px;
		text-align: center;
		vertical-align: middle;
		position: relative;
		z-index: 999;
		cursor: pointer;
	}
	.header_nav .btn {
		transform: rotate(-90deg);
		transition: 0.3s all;
		color: #000;
		background: url("../img/sptbn_white.png") center center no-repeat;
		background-size: 81px 81px;
		
	}
	.open .header_nav .btn {
		color: #FFF;
		transform: rotate(0);
		transition: 0.3s all;
		background: url("../img/sptbn_black.png") center center no-repeat;
		background-size: 81px 81px;;
	}
	.header_nav .btn span:nth-child(1) {
		font-size: 16px;
		position: absolute;
		bottom: 37px;
		left: 50%;
		transform: translateX(-50%);
	}
	.header_nav .btn span:nth-child(2) {
		content: "";
		display: table-cell;
		width: 34px;
		height: 4px;
		background-color: #000;
		border-radius: 2px;
		position: absolute;
		left: 50%;
		bottom: 26px;
		transform: translateX(-50%);
		transition: 0.6s all;
	}
	.header_nav .btn span:nth-child(3) {
		content: "";
		display: table-cell;
		width: 34px;
		height: 4px;
		background-color: #000;
		border-radius: 2px;
		position: absolute;
		left: 50%;
		bottom: 16px;
		transform: translateX(-50%);
		transition: 0.6s all;
	}
	.open .header_nav .btn span:nth-child(2) {
		content: "";
		display: table-cell;
		width: 34px;
		height: 4px;
		background-color: #FFF;
		border-radius: 2px;
		position: absolute;
		left: 50%;
		bottom: 26px;
		transform: translateX(-50%) translateY(4px) rotate(-18deg);
		transition: 0.6s all;
	}
	.open .header_nav .btn span:nth-child(3) {
		content: "";
		display: table-cell;
		width: 34px;
		height: 4px;
		background-color: #FFF;
		border-radius: 2px;
		position: absolute;
		left: 50%;
		bottom: 16px;
		transform: translateX(-50%) translateY(-6px) rotate(18deg);
		transition: 0.6s all;
	}
}
@media screen and (max-width: 767px) {
	header {
	  background: none;
	}
	header .logo {
	  padding-top: 30px;
	  padding-left: 26px;
	}
	header .logo img {
	  width: 180px;
	  height: auto;
	}	
	.stop .header_nav {
	  position: fixed;
	  top: 30px;
	  z-index: 999;
	  transform: translateX(0);
	  transition: 0.3s all ease 2.5s;
	}
	.header_nav {
	  top: 30px;
	}	
}
.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 ナビ（SP含む共通）。<a> がラベルを包むので、CSSやJSが落ちても素のリンクとして動く */
.header_nav ul li.hark > a{display:block;color:inherit;text-decoration:none}
/* ナビが7項目になったので、SPの開閉アニメーションに7番目を追加 */
@media screen and (max-width:900px){
	.header_nav li:nth-child(7){transform:translateY(-616px) rotate(-90deg);transition:0.3s all ease}
	.open .header_nav li:nth-child(7){transform:translateY(0) rotate(0)}
}

/* ── トップページ：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}
}
