/***********
 * mixin
 ***********/

/* breakpoint
---------------------------------------------------------------------------- */

/* breakpointでvwの変更に使用
---------------------------------------------------------------------------- */

/* variables
---------------------------------------------------------------------------- */

/* top
---------------------------------------------------------------------------- */

.l-header {
	display: none;
}

.p-top .l-main {
	padding-top: 0;
}
.p-top .l-main__contents {
	overflow: hidden;
	position: relative;
}
.p-top .l-main__contentsImg {
	height: 1650px;
  position: absolute;
  width: 100%;
  overflow: hidden;
  top: 0;
	background-color: #000;
}
.p-top .l-main__contentsImg--c {
	position: absolute;
	top: 0;
	margin-left: calc(50% - 960px);
	/* mix-blend-mode: multiply;
	transform:translate3d(0,0,0); */
}
/* .p-top .l-main__contentsImg--cborder {
	position: absolute;
	mix-blend-mode: multiply;
	transform:translate3d(0,0,0);
} */
.p-top .l-main__contentsImg--cimg {
	mix-blend-mode: multiply;
	transform:translate3d(0,0,0);
}
.p-top .l-main__contentsImg--l {
	position: absolute;
	top: 0;
	clip-path: polygon(100% 0, -10% 0, -10% 109.5%);
	margin-left: calc(50% - 860.5px - 100px);
}
.p-top .l-main__contentsImg--r {
	position: absolute;
	top: 0;
	/* right: 0; */
	clip-path: polygon(100% 0, 0 0, 100% 105.6%);
	margin-left: calc(50% - 742.5px + 346px);
}
.is-anim .p-top .l-main__contentsImg--l img {
	-webkit-animation: zoom 4s 0s infinite;
	animation: zoom 4s 0s infinite;
	animation-fill-mode: forwards;
}
.p-top .l-main__contentsImg--r img {
	transform: scale(1.3);
}
.is-anim .p-top .l-main__contentsImg--r img {
	-webkit-animation: zoom2 5s 0.5s 1;
	animation: zoom2 5s 0.5s 1;
	animation-fill-mode: forwards;
}
.p-top .l-main__contentsImg--b {
	position: absolute;
	top: 20%;
	margin-left: calc(50% - 960px);
}
.is-anim .p-top .l-main__contentsImg--b img {
	-webkit-animation: zoom3 8s 0.5s 1;
	animation: zoom3 8s 0.5s 1;
	animation-fill-mode: forwards;
}

@keyframes zoom {
   0%,100% {
		transform: scale(1);
   }
   50% {
		transform: scale(1.8);
   }
}
@keyframes zoom2 {
   0% {
		transform: scale(1.3);
   }
   100% {
		transform: scale(1);
   }
}
@keyframes zoom3 {
   0% {
		transform: scale(1);
   }
   100% {
		transform: scale(1.3);
   }
}

.p-top .p-mv {
	position: absolute;
	padding: 0;
	left: 0;
    right: 0;
}
.p-top .p-mv__txt {
	perspective: 400px;
	margin: 0 auto;
	width: 935px;
	padding: 160px 0 0 30px;
}
.p-top .p-mv__txt .p-mv__txt--01 {
	display: block;
	/* opacity: 0; */
	transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
	margin: -80px 0 0 190px;
	clip-path: polygon(0 0,0 0,0 100%,0 100%);
}
.is-anim .p-top .p-mv__txt .p-mv__txt--01 {
	-webkit-animation: mv_txt 1.5s 0.5s 1, mv_txt01 1.5s 1.5s 1 linear;
	animation: mv_txt 1.5s 0.5s 1, mv_txt01 1.5s 1.5s 1 linear;
	animation-fill-mode: forwards;
}
.p-top .p-mv__txt .p-mv__txt--01 img {
}
.p-top .p-mv__txt .p-mv__txt--02 {
	display: block;
	/* opacity: 0; */
	transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
	margin: 40px 0 0 190px;
	padding: 0;
	position: relative;
	clip-path: polygon(0 0,0 0,0 100%,0 100%);
}
.is-anim .p-top .p-mv__txt .p-mv__txt--02 {
	-webkit-animation: mv_txt 1.5s 0.5s 1, mv_txt02 1.5s 1.5s 1 linear;
	animation: mv_txt 1.5s 0.5s 1, mv_txt02 1.5s 1.5s 1 linear;
	animation-fill-mode: forwards;
  text-align: right;
}
.p-top .p-mv__txt .p-mv__txt--02 img {
}

@keyframes mv_txt {
	0% {
		clip-path: polygon(0 0,0 0,0 100%,0 100%);
	}
	100% {
		clip-path: polygon(150% 0,0 0,0 100%,150% 100%);
	}
}
@keyframes mv_txt01 {
	0% {
		transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
		margin: -80px 0 0 190px;
	}
	50% {
		transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.0);
		margin: -80px 0 0 190px;
	}
	100% {
		transform: rotateY(0) rotateZ(0) scale(1.0);
		margin: -30px 0 0 -55px;
	}
}

@keyframes mv_txt02 {
	0% {
		transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
		margin: 40px 0 0 190px;
	}
	50% {
		transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.0);
		margin: 40px 0 0 190px;
	}
	100% {
		transform: rotateY(0) rotateZ(0) scale(1.0);
		margin: 25px 0 0 -60px;
	}
}
/* @keyframes mv_txt01 {
	0% {
		transform: rotateY(26deg) rotateZ(-4deg) scale(1.1);
		margin: 0 0 0 20px;
	}
	50% {
		transform: rotateY(26deg) rotateZ(-4deg) scale(1);
		margin: 0 0 0 20px;
	}
	100% {
		transform: rotateY(0) rotateZ(0) scale(1);
		margin: 0 0 0 -55px;
	}
}

@keyframes mv_txt02 {
	0% {
		transform: rotateY(26deg) rotateZ(-4deg) scale(1.1);
		margin: 20px 0 0 20px;
	}
	50% {
		transform: rotateY(26deg) rotateZ(-4deg) scale(1);
		margin: 20px 0 0 20px;
	}
	100% {
		transform: rotateY(0) rotateZ(0) scale(1);
		margin: 20px 0 0 -60px;
	}
} */

.p-top .p-mv__txt .p-mv__txt--02 .p-mv__txt--effect {
	position: absolute;
	top: 0;
	left: 0;
	/* width: 75vw; */
	mask-image: url("../images/top/top_mv_txt02_mask.png");
	mask-repeat: no-repeat;
	mask-position: 0 0;
	/* mask-size: 75vw auto; */
	-webkit-mask-image: url("../images/top/top_mv_txt02_mask.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	/* -webkit-mask-size: 75vw auto; */
}
/* .p-top .p-mv__txt .p-mv__txt--02 .p-mv__txt--effect img {
	margin-left: -550px;
	-webkit-animation: mv_txt--effect 3s linear 2;
	animation: mv_txt--effect 3s linear 2;
}

@keyframes mv_txt--effect {
	0%,66.6% {
		margin-left: -550px;
	}
	100% {
		margin-left: 150px;
	}
} */

.p-mv__txt--video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	mask-image: url("../images/top/30th_top_mv_txt02_mask.png");
	mask-repeat: no-repeat;
	mask-position: 0 0;
	/* mask-size: 75vw auto; */
	-webkit-mask-image: url("../images/top/30th_top_mv_txt02_mask.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: right;
	/* -webkit-mask-size: 75vw auto; */
	height: 100%;
	overflow: hidden;
	height: calc(100% - 1px);
}
.p-mv__txt--video video {
	/* margin-left: 250px; */
	width: 630px;
	/* height: 100%; */
	position: relative;
	right: 0;
	margin: -80px 20px 0 0;
}
.p-mv__txt--video .p-mv__txt--videomask img {
	/* position: absolute; */
}
.vsc-controller {
  display: none;
}

.p-top .p-mv__txt02 {
	position: absolute;
	left: 43vw;
	display: flex;
	opacity: 0;
	color: #cecece;
	width: 955px;
	top: 400px;
	margin: 0 auto;
	font-size: 1.5rem;
	margin-left: -60px;
  text-align: justify;
}
.is-anim .is-anim .p-top .p-mv__txt02 {
	-webkit-animation: p-mv__txt02 1s ease 3s 1;
	animation: p-mv__txt02 1s ease 3s 1;
	animation-fill-mode: forwards;
}
@keyframes p-mv__txt02 {
	0% {
		opacity: 0;
		top: 470px;
	}
	100% {
		opacity: 1;
		top: 450px;
	}
}
.p-top .p-mv__txt02 .p-mv__txt02--r {
	padding-left: 65px;
	line-height: 1.8em;
  margin: 10px 0 0;
  opacity: 0;
}

.p-top .p-mv__txt02 .p-mv__txt02--last {
	padding-top: 30px;
	display: block;
	font-size: 1.7rem;
  font-weight: bold;
}

.p-top .p-mv__txt02--scroll {
	font-size: 1rem;
	padding-top: 5px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl;   
	text-orientation: sideways;
  bottom: 0;
  position: absolute;
  opacity: 0;
}
.p-top .p-mv__txt02--scroll::after {
	content: '';
	position: relative;
	display: inline-block;
	background-color: #fff;
	height: 162px;
	right: 1px;
	width: 10px;
	clip-path: polygon(46% 0, 54% 0, 54% 99%, 100% 96%, 100% 97%, 50% 100%, 0 97%, 0 96%, 46% 99%);
}
.anniversary_logo {
  position: absolute;
  left: -32%;
  top: 70px;
}

.is-anim .is-anim .p-top .p-mv__txt02 .p-mv__txt02--r {
	-webkit-animation: p-mv__txt02--r 1s ease 3.5s 1;
	animation: p-mv__txt02--r 1s ease 3.5s 1;
	animation-fill-mode: forwards;
}
.is-anim .is-anim .p-top .p-mv__txt02 .p-mv__txt02--scroll {
	-webkit-animation: p-mv__txt02--scroll 1s ease 3.5s 1;
	animation: p-mv__txt02--scroll 1s ease 3.5s 1;
	animation-fill-mode: forwards;
}
@keyframes p-mv__txt02--r {
	0% {
		opacity: 0;
		margin: 10px 0 0;
	}
	100% {
		opacity: 1;
		margin: 0 0 0;
	}
}
@keyframes p-mv__txt02--scroll {
	0% {
		opacity: 0;
		margin: 10px 0 0;
	}
	100% {
		opacity: 1;
		margin: 0 0 0;
	}
}

/* Promise
---------------------------------------------------------------------------- */
.p-top__promise {
	position: relative;
	margin-top: 1245px;
}
.p-top__promiseTitle {
	text-align: center;
	padding-bottom: 15px;
	perspective: 340px;
}
.p-top__promiseTitle--01 {
	display: block;
    position: relative;
	/* transform: rotateX(-31deg) rotateY(-22deg) rotateZ(-8deg) scale(1); */
	top: 0;
}
.p-top__promiseTitle--01 img {
	/* width: auto; */
}
.p-top__promiseTitle--02 {
	display: block;
	position: relative;
	/* transform: rotateX(-27deg) rotateY(0deg) rotateZ(0deg) scale(1); */
	padding: 10px 0 0 90px;
	top: 0;
}
.p-top__promiseTitle--02 img {
	/* width: auto; */
}
.p-top__promiseImg {
	height: 390px;
    overflow: hidden;
	position: relative;
	width: 100%;
	z-index: -2;
}
.p-top__promiseImg img {
	width: 100%;
	position: fixed;
    top: -250px;
	min-height: 150%;
	object-fit: none;
	object-position: top;
}
.p-top__promiseBottom {
	background: #000;
	position: relative;
    z-index: 5;
}
.p-top__promiseTxt {
	text-align: center;
	font-size: 1.4rem;
	color: #cecece;
	margin: 0;
	line-height: 3rem;
	padding: 35px 0 0;
	background: #000;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
}
.p-top__promiseLink {
	margin: 0;
	padding: 40px 0 90px;
	background: #000;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
}
.p-top__promiseTxt.active,
.p-top__promiseLink.active {
	opacity: 1;
	top: 0;
}

/* Solution
---------------------------------------------------------------------------- */
.p-top__solution {
	position: relative;
	padding: 30px 0 160px;
	background: #000;
	margin: 0;
	z-index: 2;
}
.p-top__solutionMain {
	position: relative;
	z-index: 1;
}
.p-top__solutionTitle {
	perspective: 450px;
	text-align: center;
}
.p-top__solutionTitle--01 {
	display: block;
	/* transform: rotateX(-29deg) rotateY(-24deg) rotateZ(-10deg) scale(1); */
}
.p-top__solutionTitle--01 img {
	width: auto;
}
.p-top__solutionTitle--02 {
	display: block;
	/* transform: rotateX(19deg) rotateY(15deg) rotateZ(-5deg) scale(1); */
	padding: 10px 0 0 0;
	margin: 0 -370px 0 0;
}
.p-top__solutionTitle--02 img {
	width: auto;
}

.p-top__solutionList {
	display: flex;
	flex-wrap: wrap;
	padding: 40px 0 0 0;
	margin: 0 auto;
	left: 245px;
	width: 840px;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
}
.p-top__solutionList li {
	padding: 25px 20px 0 0;
}
.p-top__solutionList li a {
	display: block;
	text-align: center;
	border-left: solid 1px #4E4E4E;
	border-bottom: solid 1px #4E4E4E;
	max-width: 393px;
	width: 29vw;
	height: 120px;
	font-size: 1.9rem;
    display: table-cell;
    vertical-align: middle;
	transition: box-shadow 0.3s;
	position: relative;
}
.p-top__solutionList li a::after {
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    content: "";
    width: 15px;
    height: 16px;
    position: absolute;
    bottom: 13px;
    right: 13px;
    margin: auto;
    background-image: url(../images/common/arrow01.png);
    transition: 0.5s;
}
.p-top__solutionList li a:hover {
	box-shadow: 0 0 21px 2px #abf0fb;
}


.p-top__solutionList .p-top__solutionList--span {
	display: block;
	padding-top: 0.5vw;
    color: #0192be;
	font-family: "futura-pt", "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Meiryo, "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, Arial, Sans-serif;
}

.p-top__solutionList--slash {
	display: none;
} 

.p-top__solutionDs {
	padding: 0 35px 0 0;
	top: 20px;
	opacity: 0;
	width: 840px;
	left: 245px;
	position: relative;
	transition: 1s;
	margin: 0 auto;
}
.p-top__solutionDsTitle {
	font-weight: normal;
	font-family: "futura-pt", "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Meiryo, "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, Arial, Sans-serif;
	color: #939393;
	display: flex;
    align-items: center;
	font-size: 2.4rem;
	max-width: 100%;
	width: 59.5vw;
	position: relative;
}
.p-top__solutionDsTitle::after {
	border-top: 1px solid;
	content: "";
	width: calc(100% - 160px);
	margin: 4px 0 0 9px;
	right: 0;
    position: absolute;
}
.p-top__solutionDsBnr {
	display: flex;
	width: 59.5vw;
	max-width: 100%;
	justify-content: space-between;
}
.p-top__solutionDsBnr li {
	padding-right: 25px;
	max-width: 277px;
	width: 20vw;
	box-sizing: content-box;
}
.p-top__solutionDsBnr li:last-child {
	padding-right: 0;
}
.p-top__solutionDsBnr li a img {
	width: 100%;
}
.p-top__solutionDsBnr li a {
	opacity: 1;
	transition: opacity 0.3s;
}
.p-top__solutionDsBnr li a:hover {
	opacity: 0.7;
}
.p-top__solutionImg {
	position: absolute;
	top: 140px;
    z-index: 0;
	opacity: 0;
	filter: grayscale(1);
	transition: 0.5s;
	margin: 50px 0 0;
}
.p-top__solutionImg.active {
	-webkit-animation: p-top__solutionImg 0.7s ease 0.8s 1;
	animation: p-top__solutionImg 0.7s ease 0.8s 1;
	animation-fill-mode: forwards;
	opacity: 1;
	margin: 0 0 0;
}
@keyframes p-top__solutionImg {
	0% {
		filter: grayscale(1);
	}
	100% {
		filter: grayscale(0);
	}
}

.p-top__solutionImg img {
	width: 780px;
}

.p-top__solutionList.active,
.p-top__solutionDs.active {
	opacity: 1;
	top: 0;
}

/* Case
---------------------------------------------------------------------------- */
.p-top__case {
	position: relative;
	z-index: 1;
	background: #000;
}

.p-top__caseTitle {
	perspective: 600px;
	text-align: center;
	padding: 110px 0 50px;
	margin: 0;
	position: relative;
	z-index: 2;
}
.p-top__caseTitle--01 {
	display: block;
}
.p-top__caseTitle--01 img {
	/* width: auto; */
}
.p-top__caseTitle--02 {
	display: block;
	padding: 10px 0 0 0;
	/* transform: rotateX(10deg) rotateY(-25deg) rotateZ(-1deg) scale(1); */
}
.p-top__caseTitle--02 img {
	/* width: auto; */
}
.p-top__caseListWrap {
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
	z-index: 3;
}
.p-top__caseLink {
	padding: 40px 0 110px;
	margin: 0;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
	z-index: 2;
}
.p-top__caseVideo {
	position: absolute;
    width: 100%;
    top: 0;
    z-index: 1;
    height: 100%;
	overflow: hidden;
}
.p-top__caseVideo video {
	min-width: 100%;
    min-height: 100%;
    object-fit: unset;
    object-position: top;
	margin-left: calc(-838px + 49.3vw);
	opacity: 0.15;
	top: 0;
}
@media screen and (min-width: 1740px) {
	.p-top__caseVideo video {
		width: 100%;
		min-height: 100%;
		object-fit: unset;
		object-position: top;
		margin-left: 0;
	}
}

.p-top__caseListWrap.active,
.p-top__caseLink.active {
	opacity: 1;
	top: 0;
}

/* About
---------------------------------------------------------------------------- */
.p-top__about {
	position: relative;
    z-index: 1;
	background: #000;
	overflow: hidden;
}
.p-top__aboutInner {
	max-width: 1220px;
	margin: 0 auto;
}
.p-top__aboutMain {
	width: 380px;
	padding: 90px 0 0 30px;
}
.p-top__aboutTitle {
	text-align: center;
	padding: 0 0 65px;
    margin: 0;
	perspective: 450px;
}
.p-top__aboutTitle--01 {
	display: block;
	/* transform: rotateX(-7deg) rotateY(-35deg) rotateZ(-4deg) scale(1); */
}
.p-top__aboutTitle--02 {
	display: block;
	padding: 7px 0 0;
}
.p-top__aboutList {
	border-top: solid 1px #808080;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
}
.p-top__aboutList li {
	
}
.p-top__aboutList li a {
	display: block;
    padding: 29px 0 29px 30px;
    font-size: 1.8rem;
    border-bottom: solid 1px #808080;
	position: relative;
	transition:0.5s;
}
.p-top__aboutList li a::after {
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    content: "";
    width: 15px;
    height: 13px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto;
    background-image: url(../images/top/top__aboutArrow.png);
	transition:0.5s;
}
.p-top__aboutList li a:hover {
	color: #89f0fc;
}
.p-top__aboutList li a:hover::after {
    background-image: url(../images/top/top__aboutArrow_hover.png);
}
.p-top__aboutLink {
	padding: 40px 0 100px;
	margin: 0;
	top: 20px;
	opacity: 0;
	position: relative;
	transition: 1s;
}
.p-top__aboutImg {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
    top: 0;
    z-index: -1;
	transform: scale(1);
    margin-left: -400px;
}
.p-top__aboutImg img {
	min-width: 1920px;
	min-height: 100%;
	object-fit: none;
    object-position: top;
	margin-left: calc(-690px + 50vw);
}
.p-top__aboutImg.active {
	/* transition: 10s linear;
	transform: scale(1.1);
    margin-left: -550px; */
}
.p-top__aboutImg.active .p-top__aboutImg--02 {
	position: absolute;
	top: 0;
	-webkit-animation: p-top__aboutImg 10s linear 0s infinite;
	animation: p-top__aboutImg 10s linear 0s infinite;
	animation-fill-mode: forwards;
}
.p-top__aboutImg--shadow {
	display: none;
}
@keyframes p-top__aboutImg {
	0% {
		transform: scale(1);
		margin-left: 0;
	}
	90% {
		transform: scale(1.1);
		margin-left: -150px;
		opacity: 1;
	}
	100% {
		transform: scale(1.1);
		margin-left: -150px;
		opacity: 0;
	}
}

.p-top__aboutList.active,
.p-top__aboutLink.active {
	opacity: 1;
	top: 0;
}

/* Cookie
---------------------------------------------------------------------------- */
.cookie-consent {
	position: absolute !important;
	margin: 0 auto !important;
    /* width: 940px !important; */
    /* left: 0 !important;
    right: 0 !important;
	top: 720px !important;
	bottom: auto !important;
    font-size: 1.7rem !important;
	padding: 1.2em 2.2em !important;
	box-shadow: 0 0 15px 0 #fff !important;
	line-height: 1.8 !important; */
}

/* loading
---------------------------------------------------------------------------- */
.loader_logo {
	min-width: 400px;
	min-height: 80px;
	position: absolute;
}
.loader_logo01 {
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
}
.loader_logo01 img {
	margin-top: 40px;
	position: absolute;
	opacity: 0;
}
.loader_logo01 img {
	-webkit-animation: loader_logo01 1.5s 2s 1;
	animation: loader_logo01 1.5s 2s 1;
	animation-fill-mode: forwards;
}
.loader_logo02 {
	display: block;
	position: absolute;
	top: 80%;
	width: 100%;
}
.loader_logo02 img {
	margin-top: 40px;
	position: absolute;
	opacity: 0;
}
.loader_logo02 img {
	-webkit-animation: loader_logo01 1.5s 0.5s 1;
	animation: loader_logo01 1.5s 0.5s 1;
	animation-fill-mode: forwards;
}
.c-loader.active .loader_logo {
	width: auto;
	-webkit-animation: loader_logo02 3s 0s 1 cubic-bezier(1,0,0,1);
	animation: loader_logo02 3s 0s 1 cubic-bezier(1,0,0,1);
	animation-fill-mode: forwards;
	opacity: 1;
	margin-top: 0px;
}
.c-loader.hidden {
	display: none;
}
@keyframes loader_logo01 {
	0% {
		margin-top: 40px;
		opacity: 0;
	}
	100% {
		margin-top: 0px;
		opacity: 1;
	}
}
@keyframes loader_logo02 {
	0% {
		width: 400px;
		height: 80px;
	}
	100% {
		width: 500000px;
		height: 100000px;
	}
}
.slick_count {
	display: none;
}

@media screen and (min-width: 1921px) {
	.p-top .l-main__contentsImg--c {
		width: 100%;
		margin-left: 0;
	}.p-top .l-main__contentsImg--c img {
		width: 100%;
	}
	.p-top .l-main__contentsImg--cborder {
		width: 100%;
	}
	.p-top .l-main__contentsImg--cimg {
		width: 100%;
	}
	.p-top .l-main__contentsImg--r {
		margin-left: 29.2vw;
		width: calc(100% - 29.2vw);
	}
	.p-top .l-main__contentsImg--r img {
		width: 100%;
	}
	.p-top .l-main__contentsImg--l {
		margin-left: 0;
		width: 89vw;
	}
	.p-top .l-main__contentsImg--l img {
		width: 100%;
	}
	.p-top__promiseImg {
		height: 20.5vw;
	}
	.p-top__promiseImg img {
		object-fit: contain;
	}
	.p-top__solutionTitle--01 img {
		width: 14vw;
	}
	.p-top__solutionTitle--02 {
		padding: 1vw 0 0 19vw;
		margin: 0;
	}
	.p-top__solutionTitle--02 img {
		width: 38vw;
	}
	/* .p-top__solutionDsBnr li a img {
		width: 13vw;
	} */
	.p-top__solutionImg {
		top: 5vw;
	}
	.p-top__solutionImg img {
		width: 45vw;
	}
	.p-top__caseTitle {
		padding: 6vw 0 2.5vw;
	}
	.p-top__caseTitle--01 img {
		width: 7vw;
	}
	.p-top__caseTitle--02 {
		padding: 1vw 0 0 0;
	}
	.p-top__caseTitle--02 img {
		width: 43vw;
	}
}

@media screen and (max-width: 1220px) {
	/* .p-top .p-mv {
		transform: scale(0.8);
	} */
	.p-top__solutionTitle--02 {
		margin: 0 0 0 30vw;
		padding: 2vw 4vw 0;
	}
	.p-top__solutionTitle--02 img {
		max-width: 100%;
	}
	.p-top__solutionList li a {
		font-size: 1.4vw;
	}
}

@media screen and (max-width: 1023px) {
	.p-top .p-mv {
		transform: scale(1);
	}
	.l-main__contentsImg--cimg img {
	}
	.p-top .l-main__contentsImg--b {
		width: 100%;
		margin-left: 0;
	}
	.p-top .l-main__contentsImg--l {
		width: 100%;
		clip-path: polygon(0 0, 100% 0, 100% 18%, 0% 99.5%);
		margin-left: 0;
	}
	.p-top .l-main__contentsImg--r {
		width: 100%;
		clip-path: polygon(0 0, 100% 0, 100% 95%, 0 19%);
		margin-left: 0;
	}
	.p-top .l-main__contentsImg--c {
		width: 100%;
		margin-left: 0;
	}
	.p-top .p-mv__txt {
		width: 100%;
		padding: 22vw 0 0 0;
	}
	.is-anim .p-top .p-mv__txt .p-mv__txt--01 {
		width: 45%;
		margin: -3vw 0 0 24vw;
	}
	.is-anim .p-top .p-mv__txt .p-mv__txt--02 {
		width: 70%;
		margin: 8.5vw 0 0 27vw;
	}
	@keyframes mv_txt01 {
		0% {
			transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
			margin: -3vw 0 0 24vw;
		}
		50% {
			transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.2);
			margin: -3vw 0 0 24vw;
		}
		100% {
			transform: rotateY(0) rotateZ(0) scale(1.2);
			margin: -3vw 0 0 12vw;
		}
	}
	@keyframes mv_txt02 {
		0% {
			transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.35);
			margin: 8.5vw 0 0 27vw;
		}
		50% {
			transform: rotateX(5deg) rotateY(22deg) rotateZ(-6deg) scale(1.2);
			margin: 8.5vw 0 0 27vw;
		}
		100% {
			transform: rotateY(0) rotateZ(0) scale(1.2);
			margin: 6.5vw 0 0 14vw;
		}
	}
	.p-mv__txt--video {
		mask-image: url(../images/top/30th_top_mv_txt02_mask.png);
		mask-size: 100% auto;
		-webkit-mask-image: url(../images/top/30th_top_mv_txt02_mask.png);
		-webkit-mask-size: 100% auto;
		width: 100%;
	}
	.p-mv__txt--video video {
		width: 100%;
		right: 0;
		margin: -14vw 0 0 0;
	}
	.p-top .p-mv__txt02--scroll {
    left: 0;
    right: 0;
    margin: 0 auto;
    display: table;
    bottom: -35%;
    font-size: 2vw;
	}
  .p-top .p-mv__txt02--scroll::after {
    width: 2vw;
    height: 32vw;
  }
  @keyframes p-mv__txt02--scroll {
    0% {
      opacity: 0;
      margin: 10px auto 0;
    }
    100% {
      opacity: 1;
      margin: 0 auto 0;
    }
  }
	.p-top .p-mv__txt02 {
		left: 0;
		right: 0;
		top: 84vw;
		margin: 0 auto;
		width: auto;
		font-size: 3.6vw;
    padding: 0 11%;
	}
	.p-top .p-mv__txt02 .p-mv__txt02--r {
		padding-left: 0;
		margin: 0 auto;
	}
	.p-top .p-mv__txt02 .p-mv__txt02--last {
		padding-top: 7vw;
		font-size: 5.8vw;
    line-height: 1.3em;
    opacity: 0;
	}
  .is-anim .is-anim .p-top .p-mv__txt02 .p-mv__txt02--r.active .p-mv__txt02--last.active {
    -webkit-animation: p-mv__txt02--last 2s ease 0.5s 1;
    animation: p-mv__txt02--last 2s ease 0.5s 1;
    animation-fill-mode: forwards;
  }
	@keyframes p-mv__txt02--last {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	.p-top .p-mv__txt02 .p-mv__txt02--lastsmall {
		font-size: 4.8vw;
  }
	@keyframes p-mv__txt02 {
		0% {
			opacity: 0;
			top: 94vw;
		}
		100% {
			opacity: 1;
			top: 90vw;
		}
	}
  .p-mv__txt02--under {
    display: inline;
    background-image: linear-gradient(90deg, #0086e0, #0086e0);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 1px;
    padding: 0 0 0.5%;
    transition: background-size 2s;
  }
  .p-mv__txt02--under.fvanim {
    transition: background-size 1s;
  }
  .is-anim .is-anim .p-top .p-mv__txt02--r.active .p-mv__txt02--under.fvanim {
    background-size: 100% 2px;
  }
  .is-anim .is-anim .p-top .p-mv__txt02--r.active .p-mv__txt02--under.active {
    background-size: 100% 2px;
  }
	@keyframes fvanim {
		0% {
      background-size: 0% 2px;
		}
		100% {
      background-size: 100% 2px;
		}
	}
  .anniversary_logo {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 37%;
    top: -21%;
  }
	.p-top__promise {
		margin-top: 300vw;
	}
	.p-top .l-main__contentsImg {
		height: 350vw;
	}
	.p-top__promiseTitle {
		padding-bottom: 15px;
		width: 85%;
		margin: 0 auto;
		perspective: 200px;
	}
	.p-top__promiseTitle--01 {
		width: 60%;
		margin: 0 auto;
	}
	.p-top__promiseTitle--02 {
		padding: 10px 0 0 0;
	}
	.p-top__promiseImg {
		height: 250px;
	}
	.p-top__promiseImg img {
		width: 200%;
		top: -85vw;
		min-height: 180%;
		left: -50%;
		transform: scale(0.7);
	}
	.p-top__promiseTxt {
		font-size: 3.9vw;
    text-align: justify;
    padding: 6% 10% 0;
    line-height: 2em;
	}
  .p-top__promiseTxt_big {
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 1.6em;
    margin: 0 0 4%;
    display: block;
  }
	.p-top__promiseLink {
		padding: 12vw 0 36vw;
	}
	.p-top__solution {
		padding: 16vw 0 25vw;
	}
	.p-top__solutionTitle {
		perspective: 200px;
	}
	.p-top__solutionTitle--01 {
		/* transform: rotateX(0deg) rotateY(19deg) rotateZ(-2deg) scale(1); */
	}
	.p-top__solutionTitle--01 img {
		width: 40vw;
	}
	.p-top__solutionTitle--02 {
		/* transform: rotateX(-6deg) rotateY(-18deg) rotateZ(-8deg) scale(0.7);
		margin-left: -3vw; */
		width: 80%;
		margin: 0 auto;
	}
	.p-top__solutionImg {
		top: 28vw;
		margin: 50px 0 0;
	}
	.p-top__solutionImg.active {
		top: 27vw;
	}
	.p-top__solutionImg img {
		width: 75%;
		margin: 0 0 0 -10%;
	}
	.p-top__solutionList {
		padding: 30px 0 0 0;
		margin: 0 auto;
		left: 0;
		width: 80%;
		top: 20px;
	}
	.p-top__solutionList li {
		width: 100%;
		padding: 15px 0 0;
	}
	.p-top__solutionList li a {
		display: block;
		width: 100%;
		height: auto;
		background: #000;
		border: solid 1px #4E4E4E;
		padding: 20px 0;
		font-size: 1.4rem;
		max-width: inherit;
	}
	.p-top__solutionList li a::after {
		content: none;
	}
	.p-top__solutionList li:nth-child(1) {
		order: 1;
	}
	.p-top__solutionList li:nth-child(2) {
		order: 4;
	}
	.p-top__solutionList li:nth-child(3) {
		order: 2;
	}
	.p-top__solutionList li:nth-child(4) {
		order: 5;
	}
	.p-top__solutionList li:nth-child(5) {
		order: 3;
	}
	.p-top__solutionList li:nth-child(6) {
		order: 6;
	}
	.p-top__solutionList--slash {
		display: inline;
	}
	.p-top__solutionDs {
		width: 54vw;
		left: auto;
		padding: 0;
	}
	.p-top__solutionDsTitle {
		width: auto;
		font-size: 1.8rem;
		margin: 0;
		padding: 30px 0 0;
	}
	.p-top__solutionDsTitle::after {
		width: calc(100% - 120px);
	}
	.p-top__solutionDsBnr {
		display: block;
		width: auto;
	}
	.p-top__solutionDsBnr li {
		width: 100%;
		max-width: inherit;
		padding: 15px 0 0;
	}
	.p-top__caseTitle {
		padding: 90px 0 40px;
		perspective: 330px;
	}
	.p-top__caseTitle--01 {
		width: 50%;
		margin: 0 auto;
	}
	.p-top__caseTitle--02 {
		width: 80%;
		margin: 0 auto;
	}
	.p-carousel .slick-arrow {
		display: none !important;
	}
	.p-top__aboutTitle--01 {
		width: 50%;
		margin: 0 auto;
	}
	.p-top__aboutTitle--02 {
		width: 30%;
		margin: 0 auto;
	}
	.p-top__aboutMain {
		width: auto;
		padding: 120px 40px 0;
	}
	.p-top__aboutTitle {
		padding: 0 0 55px;
	}
	.p-top__aboutList li a {
		padding: 26px 0 26px 20px;
		font-size: 1.6rem;
	}
	.p-top__aboutLink {
		padding: 50px 0 170px;
	}
	.p-top__aboutImg--shadow {
		display: block;
		position: absolute;
		bottom: 0;
		width: 100%;
	}
	.p-top__aboutImg img {
		min-width: 100%;
		max-width: 100%;
		min-height: 100%;
		object-fit: cover;
		object-position: top;
		margin-left: 0;
	}
	.p-top__aboutImg {
		margin-left: 0;
	}
	.p-top__aboutImg.active .p-top__aboutImg--01 {
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.p-top__aboutImg.active .p-top__aboutImg--02 {
		width: 100%;
		left: 0;
		bottom: 0;
	}
	.p-top__aboutImg img {
		min-width: inherit;
		max-width: inherit;
		min-height: inherit;
		object-fit: inherit;
		object-position: unset;
		margin-left: 0;
		position: absolute;
		bottom: 0;
		width: 100%;
	}
	.p-top__aboutImg .p-top__aboutImg--01 img,
	.p-top__aboutImg .p-top__aboutImg--02 img {
		width: 200%;
	}
	.c-loader .loader_logo {
		margin-top: -15vw;
	}
	.c-loader.active .loader_logo {
		margin-top: -15vw;
	}
	.loader_logo01 {
		top: 20%;
		width: 60%;
		margin: 0 auto;
		left: 0;
		right: 0;
	}
	.loader_logo02 {
		top: 70%;
		width: 60%;
		margin: 0 auto;
		left: 0;
		right: 0;
	}
	.slick_count {
		display: block;
	}
}