@charset "UTF-8";
@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

html {
	font-size:62.5%; /*10px相当*/
	scroll-behavior: smooth;
}
body {
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size:1.4rem;
	background-image: url("../img/backgraund_noise.png");
	width: auto;
}

header{
	width: auto;
	height: 700px;
	margin: 0;
	padding: 0;
	z-index: 1000;
}

*, *::before, *::after {
	box-sizing:border-box;
}
.clearfix::after {
	content:'';
	display:block;
  	clear:both;
}

.type-logo{
	position: fixed;
	margin: 50px;
	transform: scale(0.7);
	z-index: 9999;
}

.symbol-logo{
	position: fixed;
	right: 0;
	margin: 55px 50px 0px 0px;
	transform: scale(0.7);
}

.top-image{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%)scale(0.5);
}

.top-image img{
	animation: 0.1s linear infinite rotation;
}

.arrow{
	position: fixed;
	margin: 0px 0px 0px 90px;
	top: 50%;
    transform: translateY(-50%)scale(0.7);
}

.copyright{
	font-size: 0.9rem;
	position: fixed;
	transform: translateY(-50%);
	transform: rotate( 90deg );
	top: 50%;
	right: 0;
	margin-right: -50px;
	letter-spacing: 0.15rem;
}
/*------------------------ナビ------------------------*/
.menu{
	width: auto;
	padding: 10px 100px 10px 100px;
	position: fixed;
	left: 50%;
	bottom: 5%;
	transform: translateX(-50%)translateY(-50%);
	z-index: 100;
	backdrop-filter: blur(12px);
}

.menu li{
	list-style: none;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	word-spacing: 7em;
	white-space: nowrap
}

.sp-menu{
	display: none;
}

/*------------------------本文------------------------*/

main{
	padding-bottom: 200px;
	z-index: -1;
}

.main-sction{
	width: auto;
	height: 1080px;
	position: relative;
}

.space{
	position: relative;
	width: auto;
	height: 300px;
}

.lead-menu{
	display: inline-block;
	animation: 0.5s linear infinite rotation;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	word-spacing: 7em;
	position: absolute;
	top: 50%;
	left: 48%;
	transform:translateX(-50%)translateY(-50%);
}

.center{
	width: 100%;
  	margin: 0 auto;
  	max-width: 750px;
}

.center h2{
	font-size: 3.5rem;
	font-weight: 900;
}

.item{
	float: right;
	margin-top: 20px;
	transform: scale(0.7);
	margin-right: -20px;
}

.item2{
	float: right;
	margin-top: 15px;
}

.item3{
	float: right;
	margin-top: 10px;
	transform: scale(0.7);
	margin-right: -5px;
}

.item4{
	float: right;
	margin-top: 10px;
	transform: scale(0.5);
	margin-right: -40px;
}

.about-p{
	font-size: 1.4rem;
	letter-spacing: 0.2rem;
	line-height: 35px;
}

.tb-about-p{
	display: none;
}

.sp-about-p{
	display: none;
}

.member-p{
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	line-height: 35px;
}

.sp-member-p{
	display: none;
}

.containar{
	display: flex;
	justify-content: space-between;
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	line-height: 35px;
}

.sp-work-type{
	display: none;
}

.contact-typo{
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	line-height: 35px;
}

.tb-contact-typo{
	display: none;
}

.sp-contact-typo{
	display: none;
}

.underline{
	text-decoration: underline;
}

.member-type p {
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: 0.3rem;
	line-height: 20px;
}

.member-type img{
	margin: 30px 0px 0px 0px;
}

/*------------------------TB------------------------*/

@media screen and (max-width: 1000px) {

	html {
		font-size:62.5%; /*10px相当*/
		scroll-behavior: smooth;
	}
	body {
		font-family: "zen-kaku-gothic-new", sans-serif;
		font-weight: 500;
		font-style: normal;
		font-size:1.6rem;
		background-image: url("../img/backgraund_noise.png");
		width: auto;
	}

	header{
		width: auto;
		height: 1000px;
		margin: 0;
		padding: 0;
		z-index: 1000;
	}

	*, *::before, *::after {
		box-sizing:border-box;
	}
	.clearfix::after {
		content:'';
		display:block;
		clear:both;

	}

	.type-logo{
		position: fixed;
		margin: 50px;
		transform: scale(0.7);
		z-index: 9999;
	}

	.symbol-logo{
		position: fixed;
		right: 0;
		margin: 55px 50px 0px 0px;
		transform: scale(0.7);
	}

	.top-image{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%)translateY(-50%)scale(0.5);
	}

	.top-image img{
		animation: 0.1s linear infinite rotation;
	}

	.arrow{
		position: fixed;
		margin: 0px 0px 0px 70px;
		top: 50%;
		transform: translateY(-50%)scale(0.7);
	}

	.copyright{
		font-size: 0.9rem;
		position: fixed;
		transform: translateY(-50%);
		transform: rotate( 90deg );
		top: 50%;
		right: 0;
		margin-right: -50px;
		letter-spacing: 0.15rem;
	}
	/*------------------------TBナビ------------------------*/
	.menu{
		width: auto;
		padding: 10px 100px 10px 100px;
		position: fixed;
		left: 50%;
		bottom: 5%;
		transform: translateX(-50%)translateY(-50%);
		z-index: 100;
		backdrop-filter: blur(12px);
	}

	.menu li{
		list-style: none;
		font-size: 1.6rem;
		font-weight: 900;
		letter-spacing: 0.15em;
		word-spacing: 5em;
		white-space: nowrap
	}
	
	.sp-menu{
		display: none;
	}
	/*------------------------TB本文------------------------*/

	main{
		padding-bottom: 200px;
	}

	.main-sction{
		width: auto;
		height: 1000px;
		position: relative;
	}

	.space{
		position: relative;
		width: auto;
		height: 150px;
	}

	.lead-menu{
		display: inline-block;
		animation: 0.5s linear infinite rotation;
		font-size: 1.6rem;
		font-weight: 900;
		letter-spacing: 0.15em;
		position: absolute;
		top: 50%;
		left: 47%;
		transform:translateX(-50%)translateY(-50%);
	}

	.center{
		width: 100%;
		margin: 0 auto;
		max-width: 650px;
	}

	.center h2{
		font-size: 2.8rem;
		font-weight: 900;
	}
	.item{
		float: right;
		margin-top: 10px;
		transform: scale(0.7);
		margin-right: -25px;
	}

	.item2{
		float: right;
		margin-top: 10px;
	}

	.item3{
		float: right;
		margin-top: 5px;
		transform: scale(0.7);
		margin-right: -5px;
	}

	.item4{
		float: right;
		margin-top: 0px;
		transform: scale(0.5);
		margin-right: -40px;
	}

	.about-p{
		display: none;
	}
	
	.tb-about-p{
		display: block;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
		line-height: 35px;
	}
	
	.sp-about-p{
		display: none;
	}
	
	.containar{
		display: flex;
		justify-content: space-between;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
		line-height: 35px;
	}

	.sp-work-type{
		display: none;
	}
	
	.contact-typo{
		display: none;
	}
	
	.tb-contact-typo{
		display: block;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
		line-height: 35px;
	}

	.sp-contact-typo{
		display: none;
	}
	
	.underline{
		text-decoration: underline;
	}

	.member-p{
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
		line-height: 35px;
	}
	
	.sp-member-p{
		display: none;
	}
	
	.member-type p {
		text-align: center;
		font-size: 1.4rem;
		letter-spacing: 0.3rem;
		line-height: 20px;
	}

	.member-type img{
		margin: 30px 0px 0px 0px;
		transform: scale(0.9);
	}

}/*ブレークポイント終わり*/

/*------------------------SP------------------------*/

@media screen and (max-width: 500px) {

	html {
		font-size:62.5%; /*10px相当*/
		scroll-behavior: smooth;
	}
	body {
		font-family: "zen-kaku-gothic-new", sans-serif;
		font-weight: 500;
		font-style: normal;
		font-size:1.6rem;
		background-image: url("../img/backgraund_noise.png");
		width: auto;
	}

	header{
		width: auto;
		height: 800px;
		margin: 0;
		padding: 0;
		z-index: 1000;
	}

	*, *::before, *::after {
		box-sizing:border-box;
	}
	.clearfix::after {
		content:'';
		display: block;
		clear: both;

	}

	.type-logo{
		position: fixed;
		margin: 10px 10px 0px -40px;
		transform: scale(0.5);
		z-index: 9999;
	}

	.symbol-logo{
		display: none;
	}

	.top-image{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%)translateY(-50%);
	}

	.top-image img{
		animation: 0.1s linear infinite rotation;
	}
	
	.arrow{
		position: fixed;
		margin: 0px 0px 0px 10px;
		top: 50%;
		transform: translateY(-50%)scale(0.5,0.9);
	}

	.copyright{
		font-size: 0.9rem;
		position: fixed;
		transform: translateY(-50%);
		transform: rotate( 90deg );
		top: 50%;
		right: 0;
		margin-right: -105px;
		letter-spacing: 0.15rem;
	}
	
	/*------------------------SPナビ------------------------*/
	.menu{
		display: none;
	}

	.menu li{
		display: none;
	}
	.flex-center {
		display: flex;
		align-items: center;
	  	justify-content: center;
	}
	
	*{
		box-sizing: border-box;
		font-family: "zen-kaku-gothic-new", sans-serif;
		font-weight: 900;
	}
	
	a,
	a:visited,
	a:hover,
	a:active {
		color: inherit;
		text-decoration: none;
	}
	.outer-menu {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1;
	}
	.outer-menu .checkbox-toggle {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		cursor: pointer;
		width: 60px;
		height: 60px;
		opacity: 0;
	}
	.outer-menu .checkbox-toggle:checked + .hamburger > div {
		transform: rotate(135deg);
	}
	.outer-menu .checkbox-toggle:checked + .hamburger > div:before,
	.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
		top: 0;
		transform: rotate(90deg);
	}
	.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
		opacity: 0;
	}
	.outer-menu .checkbox-toggle:checked ~ .sp-menu {
		pointer-events: auto;
		visibility: visible;
	}
	.outer-menu .checkbox-toggle:checked ~ .sp-menu > div {
		transform: scale(0.7);
		transition-duration: 0.75s;
	}
	.outer-menu .checkbox-toggle:checked ~ .sp-menu > div > div {
		opacity: 1;
		transition: opacity 0.4s ease 0.4s;
	}
	.outer-menu .checkbox-toggle:hover + .hamburger {
		box-shadow: inset 0 0 10px rgba(0,0,0,0);
	}
	.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
		transform: rotate(225deg);
		animation: 0.1s linear infinite rotation;
	}
	.outer-menu .hamburger {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		width: 80px;
		height: 60px;
		padding: 0.5em 1em;
		background: rgba(0,0,0,0);
		cursor: pointer;
		transition: box-shadow 0.4s ease;
		-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.outer-menu .hamburger > div {
		position: relative;
		flex: none;
		width: 7px;
		height: 7px;
		border-radius: 50px;
		transform: rotate( 90deg );
		background: #000;
		transition: all 0.4s ease;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.outer-menu .hamburger > div:before,
	.outer-menu .hamburger > div:after {
		content: '';
		position: absolute;
		z-index: 1;
		top: -15px;
		left: -10;
		width: 7px;
		height: 7px;
		border-radius: 50px;
		background: inherit;
		transition: all 0.4s ease;
	}
	.outer-menu .hamburger > div:after {
		top: 15px;
	}
	.outer-menu .sp-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		visibility: hidden;
		overflow: hidden;
		-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
		outline: 1px solid transparent;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.outer-menu .sp-menu > div {
		width: 200vw;
		height: 200vw;
		color: #fff;
		background: #000;
		border-radius: 50%;
		transition: all 0.4s ease;
		flex: none;
		transform: scale(0);
		-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.outer-menu .sp-menu > div > div {
		text-align: center;
		max-width: 90vw;
		max-height: 100vh;
		opacity: 0;
		transition: opacity 0.4s ease;
		overflow-y: auto;
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.outer-menu .sp-menu > div > div > ul {
		list-style: none;
		padding: 0 1em;
		margin: 0;
		display: block;
		max-height: 100vh;
	}
	.outer-menu .sp-menu > div > div > ul > li {
		padding: 0;
		margin: 1em;
		font-size: 1.6rem;
		font-weight: 900;
		letter-spacing: 0.3em;
		line-height: 60px;
		display: block;
	}
	.outer-menu .sp-menu > div > div > ul > li > a {
		position: relative;
		display: inline;
		cursor: pointer;
		transition: color 0.4s ease;
	}
	.outer-menu .sp-menu > div > div > ul > li > a:hover {
		color: #fff;
	}
	.outer-menu .sp-menu > div > div > ul > li > a:hover:after {
		width: 100%;
	}
	.outer-menu .sp-menu > div > div > ul > li > a:after {
		content: '';
		position: absolute;
		z-index: 1;
	}
	
	/*------------------------SP本文------------------------*/

	main{
		padding-bottom: 50px;
	}

	.main-sction{
		width: auto;
		height: 800px;
		position: relative;
	}

	.space{
		position: relative;
		width: auto;
		height: 100px;
		margin-bottom: 15px;
	}

	.lead-menu{
		display: inline-block;
		animation: 0.5s linear infinite rotation;
		font-size: 1.2rem;
		font-weight: 900;
		letter-spacing: 0.15em;
		position: absolute;
		top: 50%;
		left: 10%;
		transform:translateX(-50%)translateY(-50%);
	}

	.center{
		position: relative;
		width: 100%;
		margin: 0 auto;
		max-width: 300px;
	}
	
	.item{
		float: none;
		position: absolute;
		top: -15%;
		left: 50%; 
		transform: translateX(-50%) scale(0.4,0.4);
	}

	.item2{
		float: none;
		position: absolute;
		top: -16%;
		left: 50%; 
		transform: translateX(-50%) scale(0.9,0.9);
	}

	.item3{
		float: none;
		position: absolute;
		top: -16%;
		left: 50%; 
		transform: translateX(-50%) scale(0.6,0.6);
	}

	.item4{
		float: none;
		position: absolute;
		top: -12%;
		left: 50%; 
		transform: translateX(-50%) scale(0.4,0.4);
	}

	.about-p{
		display: none;
	}
	
	.tb-about-p{
		display: none;
	}
	
	.sp-about-p{
		display: block;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		line-height: 25px;
	}
	
	.containar{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		line-height: 25px;
	}
	
	.work-type{
		display: none;
	}
	
	.sp-work-type{
		display: block;
	}
	
	.contact-typo{
		display: none;
	}
	
	.tb-contact-typo{
		display: none;
	}

	.sp-contact-typo{
		display: block;
		font-size: 1.4rem;
		letter-spacing: 0.1rem;
		line-height: 20px;
		text-align: center;
	}
	
	.sp-contact-typo span{
		display: block;
		border: solid 0.5px;
		width: 80%;
		height: auto;
		margin: 0 auto;
	}
	
	.underline{
		text-decoration: underline;
	}

	.member-p{
		display: none;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		line-height: 20px;
	}
	
	.sp-member-p{
		display: block;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		line-height: 20px;
	}
	
	.member-type1 img{
		text-align: center;
	}
	
	.member-type p {
		text-align: center;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		line-height: 20px;
	}

	.member-type img{
		margin: 0px;
		width: 130px;
		transform: scale(1,1);
	}
	
	.member-type1{
		margin: 0px 0px 10px 0px;
		flex-basis: 400px;
		text-align: center;
	}
	
	.member-type2{
		margin-left: 10px;
	}
	
	.member-type3{
		margin-right: 10px;
	}
	
}/*ブレークポイント終わり*/



