.p-head {
	background: url("../images/bg_01_sp.jpg") no-repeat top center/contain;
	background-size: 75rem 103.4rem;
	position: relative;
	z-index: 4;
}

.p-head .logo {
	width: 35.2rem;
	height: 3rem;
	position: absolute;
	top: 3.6rem;
	left: 4rem;
}

.p-head__img {
	margin: 0 auto;
	text-align: center;
	opacity: 0;
	position: relative;
	width: 75rem;
	height: 104.5rem;
}

.p-head__img .full-image {
	margin-top: 28rem;
	animation: blur 1s cubic-bezier(0.18, 0.99, 0.76, 1) forwards;
	animation-delay: .5s;
}

.p-head__screen {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 41.5rem;
	height: 25rem;
	margin-top: 23rem;
	overflow: hidden;
	border-radius: 2rem 2rem 0 0;
	will-change: transform;
}

.p-head__screen .glitch {
	background: url("../images/img_screen.png") #000 no-repeat center;
	background-size: 0;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	border-radius: 2rem 2rem 0 0;
	will-change: transform;
}

.p-head__screen .glitch::before,
.p-head__screen .glitch::after,
.p-head__screen .glitch .channel {
	background: inherit;
	background-size: cover;
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.p-head__screen .glitch::before {
	animation: glitch-before 2s linear infinite alternate both;
	content: "";
}

.p-head__screen .glitch::after {
	animation: glitch-after 2s linear infinite alternate both;
	content: "";
}

.p-head__screen .glitch .channel {
	mix-blend-mode: screen;
}

.p-head__screen .glitch .channel::before {
	bottom: 0;
	content: "";
	display: block;
	mix-blend-mode: multiply;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}

.p-head__screen .glitch .r {
	animation: rgb-shift-r 2s steps(1, jump-end) infinite alternate both;
}

.p-head__screen .glitch .r::before {
	background: red;
}

.p-head__screen .glitch .g {
	animation: rgb-shift-g 2s steps(1, jump-end) infinite alternate both;
}

.p-head__screen .glitch .g::before {
	background: lime;
}

.p-head__screen .glitch .b {
	animation: rgb-shift-b 2s steps(1, jump-end) infinite alternate both;
}

.p-head__screen .glitch .b::before {
	background: blue;
}

.p-head__des {
	position: absolute;
	top: 51rem;
	left: 2rem;
	color: #fff;
	font-size: 2.8rem;
	font-family: "Isego",sans-serif;
	letter-spacing: .08em;
	line-height: 1.7142857143;
	z-index: 1;
	opacity: 0;
}

.p-head__des .tleft {
	padding-left: 5rem;
}

.p-head__txt {
	color: #fff;
	font-size: 3.2rem;
	font-family: "Noto Serif JP",serif;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .05em;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -2rem;
	text-align: center;
	opacity: 0;
}

.p-head__btn {
	width: 73.5rem;
	height: 21.6rem;
	position: absolute;
	bottom: -23.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: opacity .3s ease-in-out;
}

.p-head__btn.is-none {
	opacity: 0;
}

.p-head__btn:hover {
	opacity: .7;
}

.p-f__btn {
	width: 73.5rem;
	height: 21.6rem;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	transform: translateY(200px);
	z-index: 99999;
	transition: all .3s ease-in-out;
}

.p-f__btn.is-show {
	transform: translateY(0px);
}

.hline01 {
	position: relative;
}

.hline01::after {
	content: "";
	background: url("../images/bg_first_ttl.png") no-repeat center/cover;
	width: 93.1rem;
	height: 52.4rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hline01-ttl {
	font-size: 4.8rem;
	font-weight: 400;
	font-family: "Isego",sans-serif;
	line-height: 1.5;
	letter-spacing: .08em;
	text-shadow: 0 .3rem .7rem rgba(15,87,250,.75);
	text-align: center;
	transform: rotate(-3deg);
	position: relative;
	z-index: 2;
}

.hline01-ttl span {
	display: block;
}

.p-first {
	background: url(../images/bg_first_sp.jpg) no-repeat top center;
	background-size: cover;
	color: #fff;
	text-align: center;
	position: relative;
	margin-top: -3rem;
	padding: 20rem 0 20rem;
	z-index: 1;
}

.p-first__txt {
	font-size: 2.8rem;
	letter-spacing: .05em;
	line-height: 2;
	margin-top: 3rem;
}

.p-first__slider {
	height: 100vh;
	position: relative;
}

.p-first__slider::before,
.p-first__slider::after {
	content: "";
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
}

.p-first__slider::before {
	background-image: url("../images/left.png");
	width: 73.1rem;
	height: 60.6rem;
	bottom: 0;
	left: 0;
}

.p-first__slider::after {
	background-image: url("../images/right.png");
	width: 54.3rem;
	height: 62rem;
	top: 0;
	right: 0;
}

.p-first__slider .panel-text {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0%;
	top: 0%;
	right: 0%;
	bottom: 0%;
	z-index: 1;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.p-first__slider.is-progress .p-first__progress {
	opacity: 1;
	visibility: visible;
}

.p-first__progress {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 60%;
	transform: translateY(-50%);
	right: 20rem;
	z-index: 2;
}

.p-first__progress .progress {
	height: 12rem;
}

.p-first__progress progress {
	height: 3px;
	width: 20rem;
	transform: rotate(90deg);
}

.p-first__progress progress::-webkit-progress-bar {
	background: rgba(0,0,0,0);
}

.p-first__progress progress::-webkit-progress-value {
	background: #3faff9;
	background-attachment: fixed;
}

.p-first__progress progress::-moz-progress-bar {
	background: #db38b5;
	background-attachment: fixed;
}

.p-first__progress .note {
	font-family: "Poppins",sans-serif;
	font-weight: 500;
	display: flex;
	justify-content: center;
	margin-top: .3rem;
	color: #3faff9;
}

.p-first__progress .note .section_nav {
	position: relative;
	width: 1.2rem;
}

.p-first__progress .note .section_nav span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	display: block;
	text-align: center;
}

.p-first__progress .note .section_nav span.active {
	opacity: 1;
}

.p-first__progress .note .slideTotal {
	position: relative;
	margin-left: 1.2rem;
}

.p-first__progress .note .slideTotal::before {
	content: "";
	width: .2rem;
	height: 1.8rem;
	background-color: #3faff9;
	position: absolute;
	top: 50%;
	transform: rotate(18deg) translateY(-50%);
	left: -0.9rem;
	margin-top: -0.1rem;
}

.p-first__item {
	background-size: contain;
	background-repeat: no-repeat;
	max-width: 78.4rem;
	height: 77.3rem;
	padding: 3.5rem 6rem 2rem;
	margin: 0 -1rem 0;
}

.p-first__item.--item1 {
	background-image: url(../images/first_1.png);
}

.p-first__item.--item2 {
	background-image: url(../images/first_2.png);
}

.p-first__item .ttl {
	font-size: 3rem;
	font-family: "Isego",sans-serif;
	line-height: 1.875;
	letter-spacing: .025em;
	font-weight: normal;
	margin-bottom: .5rem;
}

.p-first__item .txt {
	font-size: 2.2rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: .05em;
	text-align: justify;
	margin-top: 1.5rem;
}

.p-why {
	background: url("../images/bg_why_sp.png") no-repeat top center;
	background-size: 75rem 151.2rem;
	position: relative;
	text-align: center;
	color: #fff;
	margin-top: -15rem;
	padding: 14rem 0 19.1rem;
	z-index: 1;
}

.p-why .hline01 {
	margin-bottom: 7.5rem;
}

.p-why__lst {
	display: flex;
	flex-direction: column;
}

.p-why__txt {
	text-align: left;
}

.p-why__txt:not(:last-child) {
	margin-bottom: 1.7rem;
}

.p-why__txt.--cus01 {
	margin-right: auto;
}

.p-why__txt.--cus01 .txt-than {
	background-image: url("../images/bg_than_sp_01.png");
}

.p-why__txt.--cus02 {
	margin-left: auto;
}

.p-why__txt.--cus02 .txt-than {
	background-image: url("../images/bg_than_sp_02.png");
}

.p-why__txt.--cus03 {
	margin-right: auto;
}

.p-why__txt.--cus03 .txt-than {
	background-image: url("../images/bg_than_sp_03.png");
	height: 12.5rem;
}

.p-why__txt.--cus04 {
	margin-left: auto;
}

.p-why__txt.--cus04 .txt-than {
	background-image: url("../images/bg_than_sp_04.png");
	height: 12.5rem;
}

.p-why__txt .txt-than {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	font-size: 2.4rem;
	font-weight: 500;
	height: 8.7rem;
	display: flex;
	align-items: flex-start;
	letter-spacing: .05em;
	padding: 2.2rem 3rem;
	position: relative;
	white-space: nowrap;
}

.p-why__txt .txt-than img {
	flex: 0 0 2.6rem;
	max-width: 2.6rem;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	margin-right: .5rem;
}

.p-why__des {
	font-size: 2.4rem;
	margin-top: 5rem;
	line-height: 1.8333333333;
	letter-spacing: .05em;
}

.p-tech {
	background: url("../images/bg_tech_sp.png") no-repeat top center/cover;
	color: #fff;
	position: relative;
	padding-top: 70rem;
	padding-bottom: 40rem;
	margin-top: -0.5rem;
	z-index: 2;
}

.p-tech__per {
	text-align: center;
	margin: 0 auto;
	height: 58.1rem;
	position: absolute;
	top: -10rem;
	opacity: 0;
}

.p-tech .hline01 {
	padding-right: 0;
	margin-top: 2.3rem;
}

.p-tech__content {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 4rem;
	padding: 0 3rem;
	margin-top: 9rem;
}

.p-tech__content .item {
	background-color: rgba(0,0,0,.4);
	box-shadow: 2px 1px 10px 9px rgba(255,255,255,.28);
	border: 1px solid #fff;
	width: 100%;
}

.p-tech__content .item .tech_box {
	position: relative;
}

.p-tech__content .item .tech_box::before,
.p-tech__content .item .tech_box::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 2.5rem;
	height: 22.2rem;
	position: absolute;
}

.p-tech__content .item .tech_box::before {
	background-image: url("../images/tech_left.png");
	top: auto;
	bottom: 2.9rem;
	left: 0;
}

.p-tech__content .item .tech_box::after {
	background-image: url("../images/tech_right.png");
	top: 2.5rem;
	right: 0;
	bottom: auto;
}

.p-tech__content .item .tech_short {
	font-size: 2rem;
	color: #3faff9;
	font-weight: 500;
	letter-spacing: .08em;
	border-bottom: 1px solid #fff;
	padding: 1.5rem 3rem;
}

.p-tech__content .item .tech_ttl03 {
	font-weight: normal;
	font-size: 3.2rem;
	font-family: "Isego",sans-serif;
	letter-spacing: .08em;
	padding: 2.4rem 3rem 1.1rem;
	position: relative;
}

.p-tech__content .item .tech_ttl03.is-active .expand::before {
	background-image: url("../images/icon_minus_white.png");
}

.p-tech__content .item .tech_ttl03 .expand {
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-shadow: 2px 1px 10px 9px rgba(255,255,255,.28);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7.2rem;
	height: 6.7rem;
	position: absolute;
	top: 0;
	right: 0;
}

.p-tech__content .item .tech_ttl03 .expand::before {
	content: "";
	background: url("../images/icon_plus_white.png") no-repeat center/contain;
	width: 3.8rem;
	height: 3.8rem;
}

.p-tech__content .item .tech_des {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: .1em;
	padding: 2.5rem;
}

.p-them {
	background: url("../images/bg_them_sp.png") no-repeat top center;
	position: relative;
	background-size: cover;
	padding-top: 21rem;
	color: #fff;
	margin-top: -35rem;
	z-index: 2;
}

.p-them .them_img {
	width: 68.3rem;
	height: 69.8rem;
	margin: 12.5rem auto 0;
	opacity: 0;
}

.p-iden {
	background: url(../images/bg_identity_sp.png) no-repeat top center;
	background-size: 100% 100%;
	color: #fff;
	position: relative;
	padding: 16.5rem 0 37rem;
	margin-top: -30rem;
	text-align: center;
	z-index: 2;
}

.p-iden:before {
	background: url("../images/bg_per11_sp.png") no-repeat bottom center;
	background-size: contain;
	width: 75rem;
	height: 49.4rem;
	position: absolute;
	top: -2rem;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
}

.p-iden__bgtop {
	position: relative;
	z-index: 1;
}

.p-iden__tsmall {
	font-size: 2.4rem;
	font-family: "Noto Serif JP",serif;
	font-weight: 600;
	margin-bottom: 2.6rem;
}

.p-iden__img {
	width: 50.4rem;
	height: 4.3rem;
	margin: 0 auto;
}

.p-iden__txt {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: .05em;
	margin-top: 4.4rem;
}

.p-formidable {
	background: url(../images/bg_formidable.png) no-repeat top center;
	position: relative;
	background-size: 100% auto;
	z-index: 2;
}

.p-formidable__ttl {
	text-align: center;
	margin-bottom: 5rem;
}

.p-formidable__ttl .ttl02 {
	font-size: 6.7rem;
	line-height: 1;
	letter-spacing: .08em;
	font-family: "Isego",sans-serif;
	color: #000;
}

.p-formidable__ttl .ttl02 .ttlimg {
	display: inline-block;
	width: 37.4rem;
	vertical-align: text-bottom;
	height: 8.5rem;
}

.p-formidable__logo {
	width: 50.9rem;
	height: 3.9rem;
	margin: 0 auto 3.5rem;
}

.p-formidable__content {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 4rem 0;
	padding: 0 3rem 10rem;
}

.p-formidable .formidable_item {
	width: 100%;
}

.p-formidable .formidable_content {
	background-color: rgba(255,255,255,.88);
	border: 1px solid #3faff9;
	box-shadow: .5rem .5rem 4.3rem .8rem rgba(63,175,249,.7);
	display: flex;
	flex-direction: column;
}

.p-formidable .formidable_point {
	background: url("../images/bg_ttl_point.png") no-repeat center/contain;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: .2em;
	width: 19.2rem;
	height: 3.2rem;
	padding-left: 2.9rem;
	display: flex;
	align-items: center;
}

.p-formidable .formidable_box {
	position: relative;
	padding: 3.4rem 3.2rem 10rem;
}

.p-formidable .formidable_box::before,
.p-formidable .formidable_box::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 3.4rem;
	height: 30.1rem;
	position: absolute;
}

.p-formidable .formidable_box::before {
	background-image: url("../images/bg_left_point.png");
	top: 2.9rem;
	left: -0.1rem;
}

.p-formidable .formidable_box::after {
	background-image: url("../images/bg_right_point.png");
	right: -0.1rem;
	bottom: 2.5rem;
}

.p-formidable .formidable_ttl {
	color: #000;
	font-size: 3.2rem;
	font-weight: normal;
	font-family: "Isego",sans-serif;
	letter-spacing: .08em;
}

.p-formidable .formidable_ttl.is-active .txt {
	top: 1rem;
}

.p-formidable .formidable_ttl.is-active .expand::before {
	background-image: url("../images/icon_minus.png");
}

.p-formidable .formidable_ttl .expand {
	box-shadow: .3rem .3rem 2rem .4rem rgba(63,175,249,.7);
	border-left: 1px solid #3faff9;
	border-bottom: 1px solid #3faff9;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7.2rem;
	height: 6.7rem;
	position: absolute;
	top: 0;
	right: 0;
}

.p-formidable .formidable_ttl .expand::before {
	content: "";
	background: url("../images/icon_plus.png") no-repeat center/contain;
	width: 3.8rem;
	height: 3.8rem;
}

.p-formidable .formidable_des {
	color: #000;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: .1em;
}

.p-moreover {
	text-align: center;
	background: url("../images/bg_moreover_sp.png") no-repeat top center/cover;
	position: relative;
	z-index: 1;
	padding-top: 39rem;
	margin-top: -6rem;
	color: #fff;
}

.p-moreover .ttl01 {
	font-weight: 500;
	font-size: 4rem;
	font-family: "Noto Serif JP",serif;
	letter-spacing: .08em;
	line-height: 1;
	margin-bottom: 3.4rem;
}

.p-moreover .ttl01.--mt {
	margin-bottom: 3.4rem;
}

.p-moreover .moreover-img01 {
	width: 65.7rem;
	height: 11.2rem;
	margin: 0 auto 1rem;
}

.p-moreover .moreover-img02 {
	width: 65.6rem;
	height: 51.6rem;
	margin: 0 auto;
}

.p-moreover .img-over {
	display: inline-block;
}

.p-moreover .moreover-ttl {
	width: 63.7rem;
	height: 12.7rem;
	margin: 5rem auto 0;
}

.p-moreover .moreover_per {
	width: 75rem;
	height: 71rem;
	margin: 0 auto;
	padding-top: 30rem;
	opacity: 0;
}

.p-moreover__content {
	background: url("../images/bg_moreover_2_sp.png") no-repeat top center/cover;
	margin-top: -3.5rem;
	padding-top: 30rem;
	padding-bottom: 7rem;
	position: relative;
}

.p-moreover__content .wrap-bot {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2.6rem;
}

.p-moreover__content .wrap-bot .info-green {
	background: url(../images/bg_ttl_2.png) no-repeat top center/cover;
	width: 36.3rem;
	height: 10.7rem;
	text-align: center;
	justify-content: center;
	font-size: 2.4rem;
	letter-spacing: .075em;
	font-weight: 700;
	line-height: 2.5;
	padding-top: 2rem;
	text-shadow: 0 0 0 #fff,0 0 0 #fff,0 0 30px #01d462,0 0 40px #01d462,0 0 50px #01d462,0 0 60px #01d462,0 0 70px #01d462;
}

.p-moreover__content .wrap-bot__txt {
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: .075em;
	line-height: 1.5833333333;
	font-style: italic;
	text-shadow: 0 0 0 #fff,0 0 0 #fff,0 0 30px rgba(99,187,254,.36),0 0 40px rgba(99,187,254,.36),0 0 50px rgba(99,187,254,.36),0 0 60px rgba(99,187,254,.36),0 0 70px rgba(99,187,254,.36);
}

.p-moreover__content .wrap-bot__txt small {
	font-size: 80%;
}

.p-moreover__content .wrap-bot__txt span {
	position: relative;
}

.p-moreover__content .wrap-bot__txt span::before {
	content: "・";
	font-size: 80%;
	position: absolute;
	left: 50%;
	top: -2.5rem;
	margin-left: -1rem;
}

.p-moreover__content .wrap-bot__txt.--02 {
	margin-top: 1.5rem;
}

.p-contact {
	margin: -3.6rem 0;
	position: relative;
	z-index: 2;
}

.p-contactf {
	position: fixed;
	bottom: -1.6rem;
	right: 0;
	z-index: 9;
	width: 59.1rem;
	height: 18.4rem;
	opacity: 0;
	transform: translate(0, 10px);
}

.p-contactf.is-none {
	visibility: hidden;
	opacity: 0 !important;
	transition: opacity .2s ease-in !important;
}

.p-contactf.animate_animated {
	opacity: 1;
	transform: translate(0, 0);
	transition: all 1s ease-in;
}

.p-contactf.hover .p-contactf__bg,
.p-contactf.hover a {
	transform: translateX(0);
}

.p-contactf.hover .p-contactf__txt {
	animation-name: fadeInAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
	visibility: visible;
}

.p-contactf__bg,
.p-contactf a {
	display: block;
	position: relative;
	transform: translateX(67%);
	transition: transform .3s ease-in;
}

.p-contactf a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.p-contactf__wrap {
	display: flex;
	align-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

.p-contactf__txt {
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	width: 36.6rem;
	height: 6.6rem;
	position: relative;
	top: .6rem;
	left: -3.1rem;
}

.p-contactf__human {
	width: 13rem;
	height: 17.1rem;
	position: relative;
	top: -4.3rem;
	right: 2rem;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {

.p-tech__content .item .tech_ttl03 {
	padding: 1.2rem 3rem .7rem;
}

}

@media (min-width: 830px) {

.p-head {
	background-image: url("../images/bg_01.jpg");
	background-size: 136.6rem 99.6rem;
}

.p-head .logo {
	width: 28rem;
	height: 2.4rem;
	left: 7.7rem;
}

.p-head__img {
	width: 136.6rem;
	height: 135.5rem;
}

.p-head__img .full-image {
	margin-top: 18.5rem;
}

.p-head__screen {
	width: 54.5rem;
	height: 33.5rem;
	margin-top: 21.2rem;
}

.p-head__des {
	font-size: 2.6rem;
	line-height: 1.8461538462;
	top: 51.4rem;
	left: 14rem;
}

.p-head__des .tleft {
	padding-left: 5rem;
}

.p-head__txt {
	font-size: 2.4rem;
	line-height: 1;
	bottom: 13.5rem;
}

.p-head__btn {
	bottom: -10rem;
	width: 62.3rem;
	height: 18.4rem;
}

.hline01::after {
	width: 136.6rem;
	height: 37.3rem;
}

.hline01-ttl {
	font-size: 4.8rem;
	line-height: 1.5;
}

.hline01-ttl span {
	padding-left: 25rem;
}

.p-first {
	background-image: url(../images/bg_first.jpg);
	background-attachment: fixed;
	background-size: 100% auto;
	padding-top: 27rem;
	margin-top: -8rem;
}

.p-first__txt {
	font-size: 2.2rem;
}

.p-first__progress .note {
	font-size: 1.7rem;
}

.p-first__item.--item1 {
	background-image: url(../images/first_1_pc.png);
}

.p-first__item.--item2 {
	background-image: url(../images/first_2_pc.png);
}

.p-first__item {
	width: 62.48rem;
	height: 54.88rem;
	padding: 3.6rem 5.84rem;
	margin: 0 auto;
}

.p-first__item .ttl {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: .135em;
	margin-bottom: 0;
}

.p-first__item .txt {
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: .05em;
	margin-top: 2.5rem;
}

.p-why {
	background-image: url("../images/bg_why.png");
	background-size: 136.6rem 196.2rem;
	margin-top: -15rem;
	padding: 24.5rem 0 100.9rem;
}

.p-why .hline01 {
	margin-bottom: 10rem;
}

.p-why__lst {
	max-width: 77.6rem;
	margin: 0 auto;
}

.p-why__txt.--cus01 {
	margin-left: 2rem;
}

.p-why__txt.--cus01 .txt-than {
	background-image: url("../images/bg_than.png");
	height: 8.3rem;
}

.p-why__txt.--cus02 .txt-than {
	background-image: url("../images/bg_than.png");
	height: 8.3rem;
}

.p-why__txt.--cus03 .txt-than {
	background-image: url("../images/bg_than.png");
	height: 8.3rem;
}

.p-why__txt.--cus04 .txt-than {
	background-image: url("../images/bg_than.png");
	height: 8.3rem;
}

.p-why__txt .txt-than {
	background-image: url("../images/bg_than.png");
	font-size: 2.2rem;
	height: 8.3rem;
}

.p-why__txt .txt-than img {
	margin-top: -0.4rem;
}

.p-why__des {
	font-size: 2.2rem;
	line-height: 2;
	margin-top: 6.5rem;
}

.p-tech {
	background-image: url("../images/bg_tech.png");
	background-size: 136.6rem 283.4rem;
	padding-top: 28rem;
	margin-top: 0;
}

.p-tech__per {
	width: 100%;
	height: 101.7rem;
	top: -79.5rem;
}

.p-tech__content {
	gap: 3.5rem 4rem;
	padding: 0 2.5rem;
	margin-top: 9rem;
}

.p-tech__content .item {
	max-width: 61.1rem;
}

.p-tech__content .item .tech_box::before {
	top: 5.8rem;
	bottom: auto;
}

.p-tech__content .item .tech_box::after {
	top: auto;
	bottom: 5rem;
}

.p-tech__content .item .tech_img {
	padding: 3.1rem 3.1rem 2.7rem;
}

.p-tech__content .item .tech_short {
	border: 1px solid #fff;
	border-left: none;
	font-size: 1.6rem;
	display: inline-block;
	box-shadow: 2px 1px 10px 9px rgba(255,255,255,.28);
}

.p-tech__content .item .tech_ttl03 {
	line-height: 2.15625;
	margin-top: 2.3rem;
	padding: 0 3rem;
}

.p-tech__content .item .tech_des {
	font-size: 1.8rem;
	padding: 0 3rem 7.5rem;
}

.p-them {
	background-image: url("../images/bg_them.png");
	background-size: 136.6rem 185.3rem;
	padding-top: 43.5rem;
}

.p-them .them_img {
	width: 92.7rem;
	height: 100.5rem;
	margin-top: 12.5rem;
}

.p-iden {
	background-image: url("../images/bg_identity.png");
	margin-top: -45rem;
	padding: 36.5rem 0 50rem;
}

.p-iden:before {
	background-image: url("../images/bg_per11.png");
	width: 126.9rem;
	height: 53.2rem;
	top: 11rem;
}

.p-iden__tsmall {
	font-size: 1.8rem;
	margin-bottom: 1.4rem;
}

.p-iden__img {
	width: 44.1rem;
	height: 3.8rem;
}

.p-iden__txt {
	font-size: 2.2rem;
	margin-top: 3rem;
}

.p-formidable {
	background-size: cover;
}

.p-formidable__logo {
	width: 33.6rem;
	height: 2.6rem;
	margin-bottom: 2.5rem;
}

.p-formidable__content {
	gap: 6.7rem 3.7rem;
	padding: 0 0 10.8rem;
}

.p-formidable .formidable_item {
	max-width: 61.3rem;
}

.p-formidable .formidable_content {
	border-width: .3rem;
}

.p-formidable .formidable_point {
	width: 19.2rem;
	height: 3.2rem;
	display: flex;
	align-items: center;
	padding-left: 2.9rem;
}

.p-formidable .formidable_wrap {
	display: block !important;
}

.p-formidable .formidable_box {
	padding: 3rem 2.5rem 8rem;
}

.p-formidable .formidable_box::before {
	top: 5.8rem;
	left: -0.3rem;
}

.p-formidable .formidable_box::after {
	right: -0.3rem;
	bottom: 5rem;
}

.p-formidable .formidable_ttl {
	margin-top: 2rem;
}

.p-formidable .formidable_ttl .expand {
	background: #fff;
	box-shadow: .5rem .5rem 4.3rem .8rem rgba(63,175,249,.7);
	border-width: .2rem;
}

.p-formidable .formidable_des {
	font-size: 1.8rem;
}

.p-moreover {
	background-image: url("../images/bg_moreover.png");
	background-size: 100% auto;
	padding-top: 47rem;
	margin-top: -6rem;
}

.p-moreover .ttl01 {
	margin-bottom: 0;
}

.p-moreover .ttl01.--mt {
	margin-bottom: 1rem;
}

.p-moreover .moreover-img01 {
	width: 88.7rem;
	height: 19.6rem;
	margin-bottom: 0;
}

.p-moreover .moreover-img02 {
	width: 135.4rem;
	height: 62.4rem;
}

.p-moreover .moreover-ttl {
	width: 74.1rem;
	height: 16rem;
	margin-top: 9.5rem;
}

.p-moreover .moreover_per {
	width: 126.6rem;
	height: 87.8rem;
	padding-top: 23.5rem;
}

.p-moreover__content {
	background-image: url("../images/bg_moreover_2.png");
	padding-top: 34.6rem;
	margin-top: -14rem;
	padding-bottom: 12.5rem;
}

.p-moreover__content .wrap-bot__txt {
	font-size: 6.4rem;
	line-height: 1.5;
}

.p-moreover__content .wrap-bot__txt span::before {
	top: -4.5rem;
	margin-left: -1.5rem;
}

.p-contact {
	margin: -5.4rem 0 -1.6rem;
}

.p-contact a {
	display: block;
	opacity: 0;
	transform: translate(0, 10px);
	position: relative;
}

.p-contact a img {
	position: relative;
	z-index: 2;
}

.p-contact a::after {
	background-size: 280% auto;
	background-image: linear-gradient(260deg, rgb(0, 212, 95) 0%, rgb(99, 187, 255) 55%, rgb(0, 212, 95) 90%);
	content: "";
	width: 100%;
	height: 31.7rem;
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	right: 0;
	left: 0;
	transition: .8s;
}

.p-contact a:hover::after {
	background-position: right top;
}

.p-contact.animate_animated a {
	opacity: 1;
	transform: translate(0, 0);
	transition: all 1s ease-in;
}

}

@media (min-width: 830px)and (prefers-reduced-motion: reduce) {

.p-contact a::after {
	transition: linear;
}

}

@media (max-width: 829px) {

.p-first .hline01-ttl {
	display: flex;
	flex-direction: column;
	text-align: left;
	align-items: center;
	padding: 0 8.5rem;
}

.p-first .hline01-ttl span:first-child {
	margin-right: auto;
}

.p-first .hline01-ttl span:last-child {
	margin-left: auto;
}

.p-first__txt {
	margin-bottom: 13.5rem;
}

.p-first__lst {
	padding: 0 3rem;
}

.p-first__item {
	opacity: 0;
	transform: translate(0, 40px);
}

.p-first__item.animate_animated {
	opacity: 1;
	transform: translate(0, 0);
	transition: all 2s ease-in;
}

.p-why__lst {
	padding: 0 3rem;
}

.p-tech__content .item .tech_box {
	padding: 1rem 3rem 5rem;
}

.p-tech__content .item .tech_wrap {
	display: none;
}

.p-formidable .formidable_wrap {
	display: none;
}

.p-formidable .formidable_ttl {
	padding: 1.7rem 3.2rem 0;
	position: relative;
}

.p-formidable .formidable_ttl .txt {
	position: relative;
	top: 0;
	transition: all .5s;
}

.p-formidable .formidable_des {
	margin: 2.5rem;
}

.p-contactf {
	display: none;
}

}

@media screen and (max-width: 829px)and (-webkit-min-device-pixel-ratio: 0) {

.p-formidable .formidable_ttl {
	padding: 1.2rem 3.2rem .5rem;
}

}

@keyframes fadeUp {

from {
	transform: translate(0px, 20px);
	opacity: 0;
}

to {
	transform: translate(0px, 0px);
	opacity: 1;
}

}

@keyframes glitch-before {

0% {
	-webkit-clip-path: polygon(0% 43.5282465721%, 100% 43.5282465721%, 100% 47.6721795258%, 0% 47.6721795258%);
	clip-path: polygon(0% 43.5282465721%, 100% 43.5282465721%, 100% 47.6721795258%, 0% 47.6721795258%);
	transform: translate(5.4717769056%, 0.1393908473%);
}

2% {
	-webkit-clip-path: polygon(0% 89.8622154142%, 100% 89.8622154142%, 100% 95.4745901778%, 0% 95.4745901778%);
	clip-path: polygon(0% 89.8622154142%, 100% 89.8622154142%, 100% 95.4745901778%, 0% 95.4745901778%);
	transform: translate(-7.3036852512%, 0.3832220333%);
}

4% {
	-webkit-clip-path: polygon(0% 50.0231702775%, 100% 50.0231702775%, 100% 57.5352678153%, 0% 57.5352678153%);
	clip-path: polygon(0% 50.0231702775%, 100% 50.0231702775%, 100% 57.5352678153%, 0% 57.5352678153%);
	transform: translate(0.6005949894%, -0.2795420844%);
}

6% {
	-webkit-clip-path: polygon(0% 39.718727811%, 100% 39.718727811%, 100% 48.9785707682%, 0% 48.9785707682%);
	clip-path: polygon(0% 39.718727811%, 100% 39.718727811%, 100% 48.9785707682%, 0% 48.9785707682%);
	transform: translate(-2.5347827861%, 0.4544561253%);
}

8% {
	-webkit-clip-path: polygon(0% 57.4159240919%, 100% 57.4159240919%, 100% 65.4213739915%, 0% 65.4213739915%);
	clip-path: polygon(0% 57.4159240919%, 100% 57.4159240919%, 100% 65.4213739915%, 0% 65.4213739915%);
	transform: translate(4.1267216658%, -0.2577728949%);
}

10% {
	-webkit-clip-path: polygon(0% 41.0780367991%, 100% 41.0780367991%, 100% 43.6625264604%, 0% 43.6625264604%);
	clip-path: polygon(0% 41.0780367991%, 100% 41.0780367991%, 100% 43.6625264604%, 0% 43.6625264604%);
	transform: translate(6.1838602664%, 0.428164379%);
}

12% {
	-webkit-clip-path: polygon(0% 34.9851725454%, 100% 34.9851725454%, 100% 44.1407191776%, 0% 44.1407191776%);
	clip-path: polygon(0% 34.9851725454%, 100% 34.9851725454%, 100% 44.1407191776%, 0% 44.1407191776%);
	transform: translate(7.0332402359%, 0.0798899545%);
}

14% {
	-webkit-clip-path: polygon(0% 69.1021652711%, 100% 69.1021652711%, 100% 77.3012728576%, 0% 77.3012728576%);
	clip-path: polygon(0% 69.1021652711%, 100% 69.1021652711%, 100% 77.3012728576%, 0% 77.3012728576%);
	transform: translate(7.310916876%, -0.1332875016%);
}

16% {
	-webkit-clip-path: polygon(0% 37.3811076475%, 100% 37.3811076475%, 100% 44.6342686875%, 0% 44.6342686875%);
	clip-path: polygon(0% 37.3811076475%, 100% 37.3811076475%, 100% 44.6342686875%, 0% 44.6342686875%);
	transform: translate(4.9478551494%, -0.4868792902%);
}

18% {
	-webkit-clip-path: polygon(0% 11.1027985208%, 100% 11.1027985208%, 100% 12.4450570641%, 0% 12.4450570641%);
	clip-path: polygon(0% 11.1027985208%, 100% 11.1027985208%, 100% 12.4450570641%, 0% 12.4450570641%);
	transform: translate(-6.7019271633%, 0.3512241564%);
}

20%,100% {
	-webkit-clip-path: none;
	clip-path: none;
	transform: none;
}

}

@keyframes glitch-after {

0% {
	-webkit-clip-path: polygon(0% 70.3748151193%, 100% 70.3748151193%, 100% 73.2135081664%, 0% 73.2135081664%);
	clip-path: polygon(0% 70.3748151193%, 100% 70.3748151193%, 100% 73.2135081664%, 0% 73.2135081664%);
	transform: translate(5.7258341908%, -0.0920273626%);
}

2% {
	-webkit-clip-path: polygon(0% 43.8176158525%, 100% 43.8176158525%, 100% 47.4503417245%, 0% 47.4503417245%);
	clip-path: polygon(0% 43.8176158525%, 100% 43.8176158525%, 100% 47.4503417245%, 0% 47.4503417245%);
	transform: translate(-2.5851833754%, -0.4392372278%);
}

4% {
	-webkit-clip-path: polygon(0% 20.8252113434%, 100% 20.8252113434%, 100% 28.720618121%, 0% 28.720618121%);
	clip-path: polygon(0% 20.8252113434%, 100% 20.8252113434%, 100% 28.720618121%, 0% 28.720618121%);
	transform: translate(-4.9185565835%, -0.4392368817%);
}

6% {
	-webkit-clip-path: polygon(0% 41.0555572535%, 100% 41.0555572535%, 100% 48.1561470715%, 0% 48.1561470715%);
	clip-path: polygon(0% 41.0555572535%, 100% 41.0555572535%, 100% 48.1561470715%, 0% 48.1561470715%);
	transform: translate(-6.113602106%, -0.4229368418%);
}

8% {
	-webkit-clip-path: polygon(0% 73.537586641%, 100% 73.537586641%, 100% 81.1217064717%, 0% 81.1217064717%);
	clip-path: polygon(0% 73.537586641%, 100% 73.537586641%, 100% 81.1217064717%, 0% 81.1217064717%);
	transform: translate(-1.0092124511%, -0.4336253682%);
}

10% {
	-webkit-clip-path: polygon(0% 53.6585344549%, 100% 53.6585344549%, 100% 54.8473153537%, 0% 54.8473153537%);
	clip-path: polygon(0% 53.6585344549%, 100% 53.6585344549%, 100% 54.8473153537%, 0% 54.8473153537%);
	transform: translate(-4.7258021115%, -0.1409556312%);
}

12% {
	-webkit-clip-path: polygon(0% 57.5021897519%, 100% 57.5021897519%, 100% 65.2536362355%, 0% 65.2536362355%);
	clip-path: polygon(0% 57.5021897519%, 100% 57.5021897519%, 100% 65.2536362355%, 0% 65.2536362355%);
	transform: translate(-7.1024676722%, -0.2793026016%);
}

14% {
	-webkit-clip-path: polygon(0% 73.0050942576%, 100% 73.0050942576%, 100% 81.3339301495%, 0% 81.3339301495%);
	clip-path: polygon(0% 73.0050942576%, 100% 73.0050942576%, 100% 81.3339301495%, 0% 81.3339301495%);
	transform: translate(2.8432744937%, 0.0430871202%);
}

16% {
	-webkit-clip-path: polygon(0% 59.2621267129%, 100% 59.2621267129%, 100% 61.3310484193%, 0% 61.3310484193%);
	clip-path: polygon(0% 59.2621267129%, 100% 59.2621267129%, 100% 61.3310484193%, 0% 61.3310484193%);
	transform: translate(-0.7763104038%, 0.1252532964%);
}

18% {
	-webkit-clip-path: polygon(0% 29.5969054336%, 100% 29.5969054336%, 100% 37.0486290547%, 0% 37.0486290547%);
	clip-path: polygon(0% 29.5969054336%, 100% 29.5969054336%, 100% 37.0486290547%, 0% 37.0486290547%);
	transform: translate(6.4358616272%, 0.1192258373%);
}

20%,100% {
	-webkit-clip-path: none;
	clip-path: none;
	transform: none;
}

}

@keyframes rgb-shift-r {

0% {
	transform: translate(-1.2799906305%, -0.1175252299%);
}

2% {
	transform: translate(1.7629011854%, 0.3321873267%);
}

4% {
	transform: translate(-1.702816861%, 0.2727817315%);
}

6% {
	transform: translate(-1.632574675%, -0.4957916945%);
}

8% {
	transform: translate(-0.8150933436%, 0.0087109548%);
}

10% {
	transform: translate(0.8169438795%, -0.2000013018%);
}

12% {
	transform: translate(0.4741856584%, -0.3161517393%);
}

14% {
	transform: translate(0.2047115496%, -0.2587405891%);
}

16% {
	transform: translate(-0.2981839847%, -0.450314359%);
}

18% {
	transform: translate(1.7039640199%, 0.4542780025%);
}

20%,100% {
	transform: none;
}

}

@keyframes rgb-shift-g {

0% {
	transform: translate(-0.5766581266%, -0.0923421081%);
}

2% {
	transform: translate(0.9789083263%, -0.1595357052%);
}

4% {
	transform: translate(1.3687759602%, 0.2018234968%);
}

6% {
	transform: translate(-1.9591095919%, -0.2230372467%);
}

8% {
	transform: translate(1.6017683204%, 0.4381195681%);
}

10% {
	transform: translate(-0.7606266253%, 0.189064629%);
}

12% {
	transform: translate(-0.6553632445%, 0.4324536365%);
}

14% {
	transform: translate(-1.9224196741%, 0.2842087906%);
}

16% {
	transform: translate(-0.1481849054%, -0.3369507043%);
}

18% {
	transform: translate(1.8939300453%, 0.1726955756%);
}

20%,100% {
	transform: none;
}

}

@keyframes rgb-shift-b {

0% {
	transform: translate(-1.5599688296%, 0.3543460624%);
}

2% {
	transform: translate(-1.8910623781%, 0.3197668854%);
}

4% {
	transform: translate(-1.7738638644%, 0.3844722797%);
}

6% {
	transform: translate(1.4596868483%, 0.1942923734%);
}

8% {
	transform: translate(-1.4998653888%, 0.0912179979%);
}

10% {
	transform: translate(1.8714195501%, 0.2559968983%);
}

12% {
	transform: translate(1.2913989516%, 0.2079879819%);
}

14% {
	transform: translate(1.099670235%, -0.2498583555%);
}

16% {
	transform: translate(1.4434415587%, 0.4369326177%);
}

18% {
	transform: translate(-1.7577809166%, -0.2542035735%);
}

20%,100% {
	transform: none;
}

}

@keyframes fadeInAnime {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

