@charset "UTF-8";

@keyframes vertical-animation {

  from {
    transform: translateY(0);
  }
  
  to {
    transform: translateY(-100%);
  }
  
}

/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {  
/* fv
-------------------------------------*/
.p-fv {
	background: url(../images/index/fv.jpg) no-repeat top center/cover;
	margin-bottom: 2.5rem;
	margin-inline: auto;
	max-width: 1920px;
	padding: 18rem 0px 13rem;
	width: 100%;
}

.l-inner.l-fv {
  overflow: hidden;
}

.p-fv__ttl {
	display: grid;
	gap: 2.375rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: 6rem;
	position: relative;
	top: 0rem;
}

.p-fv__ttl span {
	color: #ffffff;
}

.p-fv__ttl span.top {
	font-size: 70px;
	font-size: 4.375rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.6;
	overflow: hidden;
}

.p-fv__ttl span.top .char {
	opacity: 0;
}

.p-fv__ttl span.bottom {
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.p-fv__ttl span.bottom .char {
	opacity: 0;
}

/* event
-------------------------------------*/
.p-event {
  margin-bottom: -9rem;
  position: relative;
  z-index: 10;
}

.l-inner.l-event {
	background: #F9F9FC;
	margin: 0;
	margin-right: auto;
	padding: 5rem 0rem 3rem 1.5rem;
	position: relative;
	width: min(95%, 1800px);
}

#event .system-list li {
	margin: 0 1rem;
}

#event .system-list li a {
	display: block;
}

#event .system-pic {
	aspect-ratio: 1/1;
	margin-bottom: 1rem;
}

#event .system-pic img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#event .system-ttl-wrap {
	border-bottom: 1px solid #6B6B69;
	display: grid;
	gap: 0 0.875rem;
	grid-template-columns: 5.375rem minmax(0, 1fr);
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
}

#event .icon {
	color: #ffffff;
	font-size: 12px;
	font-weight: 400;
	height: 25px;
	letter-spacing: 0.05em;
	line-height: 2;
	padding: 0px 0;
	text-align: center;
	width: 100%;
}

#event .icon.icon01 {
	background: #B44F1C;
}

#event .icon.icon02 {
	background: #127749;
}

#event .icon.icon03 {
	background: #6B6B69;
}

#event .system-ttl {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.system-date {
	display: flex;
	gap: 0 1.25rem;
}

.date-ttl {
	color: #6B6B69;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
  white-space: nowrap;
}

.start_text {
	color: #6B6B69;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.p-event__content-left {
	background: #F9F9FC;
	height: 100%;
	padding: 6rem 2rem 6.25rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 28.125rem;
}

.p-event__ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.5;
	margin-bottom: 2rem;
}

.p-event__en {
	margin-bottom: 3.5625rem;
}

.p-event__txt {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2.1428571429;
	margin-bottom: 15.125rem;
}

#event .prev-arrow {
	left: calc(50% + 24.3vw);
	position: absolute;
	top: 21.1em;
	z-index: 10;
  width: 3.75rem;
  height: 3.75rem;
}

#event .next-arrow {
	left: calc(50% + 28.2vw);
	position: absolute;
	top: 21.1em;
	z-index: 10;
  width: 3.75rem;
  height: 3.75rem;
}

/* concept
-------------------------------------*/
.p-concept {
  background: url(../images/index/concept_bg.jpg) no-repeat top center/cover;
  width: min(100%,1920px);
  margin-inline: auto;
  position: relative;
}

.l-inner.l-concept {
	padding: 21.25rem 0px 0rem;
}

.p-concept__img {
	margin-left: auto !important;
  width: min(95%,1760px) !important;
}

#concept .pin-spacer {
  padding: 0 !important;
  height: 200vh !important;
}

.p-concept__img img {
	height: auto;
	width: 100%;
}

.p-concept__content {
	color: #ffffff;
	margin-left: auto;
	width: min(95%, 1560px);
  position: absolute;
  right: 0;
  top: 32rem;
  z-index: 10;
}

.p-concept__ttl {
	margin-bottom: 3.75rem;
}

.p-concept__ttl02 {
	font-size: 3.375rem;
	font-weight: 400;
	letter-spacing: -0.08em;
	line-height: 1.7;
	margin-bottom: 6.125rem;
}

.p-concept__txt {
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2.1;
	margin-bottom: 5.9375rem;
	width: 43.75rem;
}

.p-concept__txt02 {
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 5.875rem;
}

.c-concept__btn {
	margin: 0;
	text-align: left;
}

/* about
-------------------------------------*/
.p-about {
	margin-bottom: -11.5rem;
  position: relative;
  z-index: 10;
  background: #fff;
}

.l-inner.l-about {
	background: #F4F5EE;
	margin: 0;
	margin-right: auto;
	padding: 11rem 0px 11.25rem;
	width: min(95%, 1760px);
  position: relative;
  top: -8rem;
}



.p-about__contents {
	margin-bottom: 8.75rem;
	margin-inline: auto;
	width: min(90%, 1440px);
}

.p-about__ttl {
	align-items: flex-end;
	border-bottom: 1px solid #2A2A2F;
	display: flex;
	gap: 0 2.625rem;
	margin-bottom: 2.5rem;
	padding-bottom: 3.125rem;

}

.p-about__ttl-right {
	font-size: 20px;
	font-weight: 400;
	letter-spacing: -0.024em;
	line-height: 1.45;
}

.p-about__items-wrap {
  overflow: hidden;
  width: 1920px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

#about .pin-spacer {
  padding: 0 !important;
}

.p-about__items {
	display: grid !important;
	gap: 2.5rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
  width: min(95%,1440px);
  margin-inline: auto;
}

.p-about__item {
	align-items: flex-end;
	border-bottom: 1px solid #2A2A2F;
	display: grid !important;
	gap: 0 5rem;
	grid-template-columns: 55.5555555556% minmax(0, 1fr);
	padding-bottom: 3.5rem;
  background: #F4F5EE;
  opacity: 0.3901;
  transform: translateY(8px) scale(0.98);
  filter: blur(9.758px);
  transition: all 1s ease;
}

.p-about__item.is-active {
  opacity: 1;
  filter: blur(0);
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.p-about__item div.img img {
	height: auto;
	width: 100%;
}

.p-about__item div.right div.en {
	margin-bottom: 1.3125rem;
}

.p-about__item div.right div.en img {
  width: 6.875rem;
  height: auto;
}

.p-about__item div.right h3 {
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4285714286;
	margin-bottom: 2.5rem;
}

.p-about__item div.right p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-bottom: 8.125rem;
	width: 23.75rem;
}

.c-about__btn {
	margin-left: auto;
}

.p-about__bnr {
	margin-bottom: 1.5rem;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 1200px);
}

.p-about__bnr a {
	display: block;
}

.p-about__bnr a img {
	height: auto;
	width: 100%;
}

.p-about__bnr-txt {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 1200px);
}

/* youtube
-------------------------------------*/
.p-youtube {
	background: #DED8CA;
	margin-bottom: 11.25rem;
}

.l-inner.l-youtube {
	padding: 20.5rem 0 7.375rem;
  overflow: hidden;
}

.p-youtube__contents {
	align-items: flex-end;
	display: grid;
	grid-template-columns: 19.352313% 31.469751% 50.822064%;
	margin-bottom: 4.375rem;
	margin-inline: auto;
	width: min(95%, 1405px);
}

.p-youtube__contents-top {
	display: grid;
	gap: 1.625rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-youtube__contents-top h2 {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.024em;
	line-height: 1.5;
}

.p-youtube__contents-top img {
  width: 14.75rem;
  height: auto;
}

.p-youtube__contents-center {
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.p-youtube__contents-bottom {
	display: grid;
	gap: 0 0.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c-youtube02__btn {
	position: relative;
}

.c-youtube02__btn a::after {
	background: url(../images/index/btn_youtube_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 0.9375rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.9375rem;
}

.c-youtube02__btn a:hover::after {
  background: url(../images/index/btn_youtube_arrow_wh.svg) no-repeat center center/contain;
  content: "";
	height: 0.9375rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.9375rem;
}

#youtube .slick-track {
	display: flex;
}

#youtube .slick-slide {
	height: auto !important;
}

#youtube .system-list li a {
	display: block;
	margin: 0 0.625rem;
}

#youtube .system-pic {
	margin-bottom: 0.875rem;
}

#youtube .system-pic img {
	height: 13.75rem;
	width: 100%;
}

#youtube .system-ttl {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
}

.c-youtube__btn a {
  padding: 0.875rem 1.875rem 0.875rem;
}

.c-youtube02__btn a {
  padding: 0.875rem 1.875rem 0.875rem;
}


/* gallery
-------------------------------------*/
.p-gallery {
	margin-bottom: 8rem;
}

.l-inner.l-gallery {
	margin-inline: auto;
	width: min(95%, 1720px);
}

.p-gallery__ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.5;
	margin-bottom: 1.625rem;
	text-align: center;
}

.p-gallery__en {
	margin-bottom: 5.1875rem;
	text-align: center;
}

#gallery .system-list {
	display: grid;
	gap: 3.3125rem 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 8rem;
}

#gallery .system-list li {
	display: grid;
	grid-row: span 3;
	grid-template-rows: subgrid;
	grid-template-rows: auto 1fr auto;
}

#gallery .system-list li a {
	display: inherit;
	grid-row: inherit;
	grid-template-rows: inherit;
}

#gallery .system-pic {
	margin-bottom: 1.875rem;
}

#gallery .system-pic img {
	height: 38.875rem;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#gallery .system-ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 0.75rem;
}

#gallery .system-area {
	color: #6B6B69;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.c-gallery__btn {
	margin-bottom: 9rem;
	width: min(95%,640px);
	margin-inline: auto;
}

.c-gallery__btn a {
	border: 1px solid #6B6B69;
	padding: 25px 39px 25px;
}

.p-gallery__items {
	display: grid;
	gap: 0 5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 1200px);
}

.p-gallery__item a {
	display: block;
}

.p-gallery__item a p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	text-align: center;
}

.p-gallery__item a img {
	height: auto;
	margin-bottom: 1.25rem;
	width: 100%;
}

/* voice
-------------------------------------*/
.p-voice {
	background: #F9F9FC;
	margin-bottom: 11.25rem;
}

.l-inner.l-voice {
	height: 800px;
	margin-inline: auto;
	overflow: hidden;
	width: min(95%, 1200px);
}

.p-voice__contents {
	display: grid;
	gap: 0 5rem;
	grid-template-columns: 21.6666666667% 71.6666666667%;
}

.p-voice__contents-left {
	padding-top: 7.5rem;
}

.p-voice__ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.5;
	margin-bottom: 1.625rem;
}

.p-voice__en {
	margin-bottom: 5rem;
}

.c-voice__btn {
	text-align: left;
	width: 100%;
}

.c-voice__btn a {
	border: 1px solid #6B6B69;
}

.p-voice__contents-right {
	animation: vertical-animation 60s linear infinite;
	display: grid;
	gap: 1rem 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 22rem;
}

.p-voice__contents-right li a {
	display: block;
}

#voice .p-voice__contents-right li:nth-child(n + 4) {
  position: relative;
  top: -10rem;
} 

/* #voice .p-voice__contents-right li:nth-child(n + 5) {
  position: relative;
  top: -10rem;
}  */

#voice .system-pic {
	margin-bottom: 1.5rem;
}

#voice .p-voice__contents-right li:nth-child(3n + 2) a .system-pic img,
#voice .p-voice__contents-right li:nth-child(3n + 3) a .system-pic img {
  height: 16rem;
}

#voice .system-pic img {
	height: 27.5rem;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#voice .system-ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 1.75rem;
}

#voice .system-area {
	color: #6B6B69;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

/* garage
-------------------------------------*/
.p-garage {
	margin-bottom: -16rem;
}

.p-garage__en {
	margin-bottom: -1rem;
	text-align: center;
}

.p-garage__en02 {
	margin-bottom: 21px;
	text-align: center;
}

.p-garage__ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 5rem;
	text-align: center;
}

.p-garage__item a {
	display: block;
	margin: 0 2rem;
	position: relative;
}

.p-garage__img img {
	height: auto;
	width: 100%;
}

.p-garage__wrap {
	bottom: 5.5rem;
	color: #ffffff;
	left: 50%;
	margin-inline: auto;
	position: absolute;
	transform: translateX(-50%);
	width: min(95%, 1200px);
}

.p-garage__wrap h3 {
	border-bottom: 1px solid #ffffff;
	font-size: 50px;
	font-size: 3.125rem;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.44;
	margin-bottom: 1.75rem;
	padding-bottom: 1.875rem;
}

.p-garage__wrap p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	width: 49.125rem;
}

.p-garage__btn {
	bottom: -6.5rem;
	position: absolute;
	right: 3.2rem;
	text-align: right;
	z-index: 10;
}

.p-garage__btn img {
	height: auto;
	width: 15.5rem;
}

#garage .slick-track {
	display: flex;
	height: 50rem;
}

#garage .slick-slide {
	height: auto !important;
}

#garage .prev-arrow {
	right: calc(50% + 35vw);
	position: absolute;
  top: 40%;
	z-index: 10;
  width: 6rem;
  height: 6rem;
}

#garage .next-arrow {
	left: calc(50% + 35vw);
	position: absolute;
  top: 40%;
	z-index: 10;
  width: 6rem;
  height: 6rem;
}


/* sec-bg
-------------------------------------*/
.sec-bg {
	background: url(../images/index/staff_bg.jpg) repeat top center/contain;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

/* staff
-------------------------------------*/
.l-inner.l-staff {
	padding: 20rem 0 2.5rem;
}

.p-staff__contents {
	background: #ffffff;
	margin-bottom: 2.5rem;
	margin-inline: auto;
	padding: 4.5rem 0 3.25rem;
	width: min(95%, 1100px);
}

.p-staff__contents-top {
	align-items: flex-end;
	border-bottom: 1px solid #6B6B69;
	display: flex;
	margin-bottom: 3.75rem;
	margin-inline: auto;
	padding-bottom: 3rem;
	width: min(95%, 940px);
}

.p-staff__en {
	padding-right: 2.5rem;
}

.p-staff__contents-wrap {
	display: grid;
	gap: 8px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding-right: 4rem;
}

.p-staff__contents-wrap h2 {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.5;
}

.p-staff__contents-wrap p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.c-staff__btn {
	text-align: right;
	width: 16.25rem;
}

.c-staff__btn a {
	border: 1px solid #6B6B69;
}

.p-staff__img {
	margin-inline: auto;
	width: min(95%, 945px);
}

.p-staff__img img {
	height: auto;
	width: 100%;
}

/* company
-------------------------------------*/
.l-inner.l-company {
	padding: 0rem 0 0.5rem;
}

.p-company__img {
	margin-bottom: 1.875rem;
	margin-inline: auto;
	width: min(95%, 960px);
}

.p-company__img img {
	height: auto;
	width: 100%;
}

.p-link__items {
	display: grid;
	gap: 0 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 760px);
}

.p-link__item a {
	display: block;
}

.p-link__item a img {
	height: auto;
	width: 100%;
}

/* news
-------------------------------------*/
.l-inner.l-news {
	margin-inline: auto;
	padding: 7.5rem 0 8.75rem;
	width: min(95%, 1400px);
}

.p-news__contents {
	display: grid;
	gap: 0 6.1875rem;
	grid-template-columns: 67.1428571429% minmax(0, 1fr);
}

#news .system-list {
	display: grid;
	gap: 2.5rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding: 2rem 0 0;
}

#news .system-list li a {
	border-bottom: 1px solid #6B6B69;
	display: block;
	display: flex;
	justify-content: space-between;
	padding: 0 3.75rem 2.5rem;
	position: relative;
}

#news .system-list li a::after {
	background: url(../images/index/news_blog_btn.svg) no-repeat center center/contain;
	bottom: 2.5rem;
	content: "";
	height: 2.5rem;
	position: absolute;
	right: 3.1rem;
	width: 2.5rem;
}

#news .system-list-wrap {
	display: grid;
	gap: 0 2.5rem;
	grid-template-columns: 23.5% 48.8095238095%;
	align-items: center;
}

#news .system-pic img {
	height: 7.5rem;
	width: 100%;
}

#news .system-category {
	margin-bottom: 0.5rem;
}

#news .system-category span {
	background: #ffffff;
	border: 1px solid #2A2A2F;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.3333333333;
	padding: 0 1.25rem;
	width: -moz-fit-content;
	width: fit-content;
}

#news .system-ttl {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

#news .system-day {
	color: #6B6B69;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.3333333333;
}

.p-news__ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.5;
	margin-bottom: 1.375rem;
}

.p-news__en {
	margin-bottom: 2.6875rem;
}

.p-news__en img {
  width: 18.9rem;
  height: auto;
}

.c-news__btn {
	width: 16.25rem;
}

.c-news__btn a {
	border-bottom: 1px solid #2A2A2F;
	display: block;
	font-size: 16px;
	font-weight: 200;
	letter-spacing: 0em;
	line-height: 1.5;
	padding: 1.25rem 1.875rem 1.25rem;
	position: relative;
	width: 100%;
}

.c-news__btn a::after {
	content: "→";
	font-size: 16px;
	font-weight: 200;
	letter-spacing: 0em;
	line-height: 1.5;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}

@media (hover: hover) {

.p-voice__contents-right:hover .slider-wrapper {
	animation-play-state: paused;
}

}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
.p-about__items-wrap {
  width: 100%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1800px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1800px) {
#event .prev-arrow {
  left: calc(50% + 23.3vw);
}

#event .next-arrow {
  left: calc(50% + 27.2vw);
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
#event .prev-arrow {
  left: calc(50% + 22.3vw);
}

#event .next-arrow {
  left: calc(50% + 26.2vw);
}

#garage .prev-arrow {
	right: calc(50% + 35vw);
	position: absolute;
  top: 35%;
	z-index: 10;
  width: 5rem;
  height: 5rem;
}

#garage .next-arrow {
	left: calc(50% + 35vw);
	position: absolute;
  top: 35%;
	z-index: 10;
  width: 5rem;
  height: 5rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1600px) {
.p-garage {
  margin-bottom: -24rem;
}

#event .prev-arrow {
  left: calc(50% + 20.3vw);
}

#event .next-arrow {
  left: calc(50% + 25.2vw);
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
#event .prev-arrow {
  left: calc(50% + 18.3vw);
}

#event .next-arrow {
  left: calc(50% + 23.2vw);
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
#event .prev-arrow {
  left: calc(50% + 16.3vw);
}

#garage .prev-arrow {
	right: calc(50% + 35vw);
	position: absolute;
  top: 27%;
	z-index: 10;
  width: 5rem;
  height: 5rem;
}

#garage .next-arrow {
	left: calc(50% + 35vw);
	position: absolute;
  top: 27%;
	z-index: 10;
  width: 5rem;
  height: 5rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-garage__btn img {
  height: auto;
  width: 11.5rem;
}

.p-garage__btn {
  bottom: -6rem;
  right: 3.2rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
.p-news__contents {
  gap: 0 2rem;
}

#event .next-arrow {
  left: calc(50% + 22.2vw);
}

.p-concept {
  margin-bottom: -5rem;
}

#youtube .system-pic img {
  height: 9.75rem;
  width: 100%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
#concept .pin-spacer {
  padding: 0 !important;
  height: 100vh !important;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.p-about__item div.right p {
  width: 100%;
}

.p-about__item {
  gap: 0 2rem;
}

.p-youtube__contents {
  grid-template-columns: 23.352313% 29.469751% 50.822064%;
}

#event .prev-arrow {
  left: calc(50% + 8.3vw);
}

#event .next-arrow {
  left: calc(50% + 16.2vw);
}

.p-garage {
  margin-bottom: -37rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:900px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:900px) {
.p-event__txt {
  margin-bottom: 21.125rem;
}
}

/* ========================================
  @media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {

/* fv
-------------------------------------*/
.p-fv {
	background: url(../images/index/sp_fv.jpg) no-repeat top center/cover;
	height: 100%;
	margin-bottom: -0.507vw;
	margin-inline: auto;
	padding: 33.647vw 0 85.957vw;
	width: 100%;
}

.p-fv__ttl {
	display: grid;
	gap: 5.246vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: 7.314vw;
	top: 0;
	position: relative;
}

.p-fv__ttl span {
	color: #ffffff;
}

.p-fv__ttl span.top {
	font-size: 11.111vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.6086956522;
	overflow: hidden;
}

.p-fv__ttl span.top .char {
	opacity: 0;
}

.p-fv__ttl span.bottom {
	font-size: 5.797vw;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.5833333333;
}

.p-fv__ttl span.bottom .char {
	opacity: 0;
}

/* event
-------------------------------------*/
.p-event {
	background: #F9F9FC;
}

.l-inner.l-event {
	background: #F9F9FC;
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding: 14.493vw 0px 14.493vw;
	width: min(95%, 89.3vw);
}

#event .system-list-wrap {
	margin-bottom: 15.459vw;
	order: 4;
}

#event .system-list {
	display: grid;
	gap: 13.976vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: -2vw;
}

#event .system-list li {
	margin: 0;
}

#event .system-list li a {
	display: block;
}

#event .system-pic {
	aspect-ratio: 1/1;
	margin-bottom: 3.797vw;
}

#event .system-pic img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#event .system-ttl-wrap {
	border-bottom: 0.2vw solid #6B6B69;
	display: grid;
	gap: 2.415vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 3.831vw;
	padding-bottom: 2.314vw;
}

#event .icon {
	color: #ffffff;
	font-size: 2.899vw;
	font-weight: 400;
	height: 6.039vw;
	letter-spacing: 0.05em;
	line-height: 2;
	padding: 0px 6vw;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

#event .icon.icon01 {
	background: #B44F1C;
}

#event .icon.icon02 {
	background: #127749;
	padding: 0 7.5vw;
}

#event .icon.icon03 {
	background: #6B6B69;
	padding: 0 7.5vw;
}

#event .system-ttl {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.system-date {
	display: flex;
	gap: 0 2.415vw;
}

.date-ttl {
	color: #6B6B69;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.start_text {
	color: #6B6B69;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.p-event__content-left {
	display: contents;
	padding: 0;
	position: static;
	width: 100%;
}

.p-event__ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
	margin-bottom: 3.382vw;
	order: 1;
}

.p-event__en {
	margin-bottom: 4.899vw;
	order: 2;
}

.p-event__en img {
  width: 24.638vw;
  height: auto;
}

.p-event__txt {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.8571428571;
	margin-bottom: 0;
	margin-bottom: 5.696vw;
	order: 3;
}

.c-event__btn {
	order: 5;
}

/* concept
-------------------------------------*/
.p-concept {
	background: url(../images/index/sp_concept_bg.jpg) no-repeat top center/cover;
	margin-bottom: -21.324vw;
}

.l-inner.l-concept {
	padding: 19.324vw 0px 40.097vw;
}

.p-concept__img {
	margin-bottom: -54.971vw;
	text-align: right;
}

.p-concept__img img {
	height: auto;
	width: 91.7874396135vw;
}

.p-concept__content {
	color: #ffffff;
	margin-inline: auto;
	width: min(95%, 91.7vw);
}

.p-concept__ttl {
	margin-bottom: 11.662vw;
}

.p-concept__ttl img {
	height: auto;
	width: 30.918vw;
}

.p-concept__ttl02 {
	font-size: 7.729vw;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.4375;
	margin-bottom: 22.155vw;
}

.p-concept__txt {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2.625;
	margin-bottom: 12.116vw;
	width: 100%;
}

.p-concept__txt02 {
	font-size: 5.797vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 11.459vw;
}

.c-concept__btn {
  padding: 7vw 0 0;
}

/* about
-------------------------------------*/
.p-about {
	margin-bottom: -14.493vw;
	position: relative;
	/* z-index: 10; */
}

.l-inner.l-about {
	background: #F4F5EE;
	margin: 0;
	margin-right: auto;
	padding: 14.493vw 0px 18.493vw;
	width: min(95%, 95.1690821256vw);
}

.p-about__contents {
	margin-bottom: 9.662vw;
	margin-inline: auto;
	width: min(95%, 84.5410628019vw);
}

.p-about__ttl {
	border-bottom: 0.2vw solid #2A2A2F;
	display: grid;
	gap: 3.382vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 4.831vw;
	padding-bottom: 10.729vw;
}

.p-about__ttl-left {
	order: 2;
}

.p-about__ttl-left img {
	height: auto;
	width: 25.362vw;
}

.p-about__ttl-right {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
}

.p-about__items {
	display: grid;
	gap: 4.734vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-about__item {
	border-bottom: 1px solid #2A2A2F;
	display: grid;
	gap: 4.594vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding-bottom: 10.662vw;
}

.p-about__item div.img img {
	height: auto;
	width: 100%;
}

.p-about__item div.right div.en {
	margin-bottom: 4.831vw;
}

.p-about__item div.right div.en img {
	height: auto;
	width: 17.15vw;
}

.p-about__item div.right h3 {
	font-size: 5.797vw;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4583333333;
	margin-bottom: 4.831vw;
}

.p-about__item div.right p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-bottom: 5.696vw;
	width: 100%;
}

.c-about__btn {
  width: 84.541vw;
  text-align: left;
}

.c-about__btn a {
  display: block;
  padding: 4vw 6.2vw 4vw 7.2vw;
  width: 82.126vw;
}

.p-about__bnr {
	margin-bottom: 4.246vw;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 84.5410628019vw);
}

.p-about__bnr a {
	display: block;
}

.p-about__bnr a img {
	height: auto;
	width: 100%;
}

.p-about__bnr-txt {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-inline: auto;
	text-align: left;
	width: min(95%, 84.5410628019vw);
}

/* youtube
-------------------------------------*/
.p-youtube {
	background: #DED8CA;
	margin-bottom: 19.324vw;
}

.l-inner.l-youtube {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding: 34.647vw 0px 20.324vw;
}

.p-youtube__contents {
	display: contents;
	margin-bottom: 0;
	margin-inline: auto;
	width: min(95%, 89.3vw);
}

.p-youtube__contents-top {
	display: grid;
	gap: 3.382vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 3.899vw;
	margin-inline: auto;
	order: 1;
	width: min(95%, 89.3vw);
}

.p-youtube__contents-top h2 {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
}

.p-youtube__contents-top img {
	height: auto;
	width: 37.923vw;
}

.p-youtube__contents-center {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.8571428571;
	margin-bottom: 8.111vw;
	margin-inline: auto;
	order: 2;
	width: min(95%, 89.3vw);
}

.p-youtube__contents-bottom {
	display: grid;
	gap: 4.831vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	order: 4;
	width: min(95%, 82.1vw);
}

.c-youtube__btn {
  width: 100%;
}

.c-youtube02__btn {
  width: 100%;
}

.c-youtube02__btn a::after {
  background: url(../images/index/btn_youtube_arrow.svg) no-repeat center center / contain;
  content: "";
  width: 15px;
  height: 15px;
}

#youtube .slick-track {
	display: flex;
}

#youtube .slick-slide {
	height: auto !important;
}

#youtube .system-list {
	margin-bottom: 1.87vw;
	order: 3;
}

#youtube .system-list li a {
	display: block;
	margin: 0 2.415vw;
}

#youtube .system-pic {
	margin-bottom: 2.415vw;
}

#youtube .system-pic img {
	height: 38.164vw;
	width: 100%;
}

#youtube .system-ttl {
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
}

/* gallery
-------------------------------------*/
.p-gallery {
	margin-bottom: 23.121vw;
}

.l-inner.l-gallery {
	margin-inline: auto;
	width: min(95%, 91.7vw);
}

.p-gallery__ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
	margin-bottom: 3.382vw;
	text-align: center;
}

.p-gallery__en {
	margin-bottom: 10.145vw;
	text-align: center;
}

.p-gallery__en img {
	height: auto;
	width: 30.435vw;
}

#gallery .system-list {
	display: grid;
	gap: 9.145vw 2.415vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 16.976vw;
}

#gallery .system-list li {
	display: grid;
	grid-row: span 3;
	grid-template-rows: subgrid;
	grid-template-rows: auto 1fr auto;
}

#gallery .system-list li a {
	display: inherit;
	grid-row: inherit;
	grid-template-rows: inherit;
}

#gallery .system-pic {
	margin-bottom: 3.865vw;
}

#gallery .system-pic img {
	height: 49.758vw;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#gallery .system-ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
	margin-bottom: 2.072vw;
}

#gallery .system-area {
	color: #6B6B69;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

.c-gallery__btn {
	margin-bottom: 24.155vw;
	text-align: left;
	margin: 0;
	padding-bottom: 24vw;
}

.c-gallery__btn a {
	border: 0.2vw solid #6B6B69;
}

.p-gallery__items {
	display: grid;
	gap: 9.145vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(100%, 91.7vw);
}

.p-gallery__item a {
	display: block;
}

.p-gallery__item a p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
	text-align: center;
}

.p-gallery__item a img {
	height: auto;
	margin-bottom: 4.831vw;
	width: 100%;
}

/* voice
-------------------------------------*/
.p-voice {
	background: #F9F9FC;
	margin-bottom: 19.324vw;
}

.l-inner.l-voice {
	margin-inline: auto;
	padding: 14.493vw 0px 14.493vw;
	width: min(95%, 91.7vw);
}

.p-voice__contents {
	display: grid;
	gap: 5.314vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-voice__contents-left {
	display: contents;
	padding-top: 0;
}

.p-voice__ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
	margin-bottom: -0.652vw;
	order: 1;
	padding-left: 8px;
}

.p-voice__en {
	order: 2;
	padding-left: 8px;
	margin-bottom: 2vw;
}

.p-voice__en img {
	height: auto;
	width: 23.671vw;
}

.c-voice__btn {
	order: 4;
	text-align: center;
}

.c-voice__btn a {
	border: 0.2vw solid #6B6B69;
}

.p-voice__contents-right-wrap {
	order: 3;
	margin-bottom: 2vw;
}

.p-voice__contents-right {
	animation: none;
	display: grid;
	gap: 8.662vw 2.415vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-voice__contents-right li:nth-child(even) {
	padding-top: 0;
}

.p-voice__contents-right li a {
	display: block;
}

#voice .system-pic {
	margin-bottom: 1.797vw;
}

#voice .system-pic img {
	height: 120px;
	width: 100%;
}

#voice .system-ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
	margin-bottom: 0.865vw;
}

#voice .system-area {
	color: #6B6B69;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

/* garage
-------------------------------------*/
.p-garage {
	margin-bottom: 16.773vw;
}

.p-garage__en {
	margin-bottom: 0.135vw;
	text-align: center;
}

.p-garage__en img {
	height: auto;
	width: 57.971vw;
}

.p-garage__en02 {
	margin-bottom: 2.932vw;
	text-align: center;
}

.p-garage__en02 img {
	height: auto;
	width: 37.546vw;
}

.p-garage__ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.8571428571;
	text-align: center;
	margin-bottom: 9vw;
}

.p-garage__items {
	display: grid;
	gap: 8.111vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-garage__item a {
	display: block;
	margin: 0;
	position: static;
}

.p-garage__img {
	margin-bottom: 4.831vw;
	position: relative;
	text-align: center;
}

.p-garage__img::after {
  position: absolute;
  content: "";
  background: url(../images/index/sp_garage_btn.png) no-repeat center center / contain;
  width: 25vw;
  height: 25vw;
  right: 0vw;
  bottom: -7vw;
}

.p-garage__img img {
	height: auto;
	width: 90%;
}

.p-garage__wrap {
	color: inherit;
	margin-inline: auto;
	position: static;
	transform: none;
	width: min(95%, 82.1vw);
}

.p-garage__wrap h3 {
	border-bottom: 0.2vw solid #DED8CA;
	font-size: 5.314vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.4545454545;
	margin-bottom: 3.763vw;
	padding-bottom: 2.899vw;
}

.p-garage__wrap p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	width: 100%;
}

#garage .slick-track {
	display: flex;
}

#garage .slick-slide {
	height: auto !important;
}

/* sec-bg
-------------------------------------*/
.sec-bg {
	background: url(../images/index/sp_staff_bg.jpg) repeat top center/contain;
}

/* staff
-------------------------------------*/
.l-inner.l-staff {
	padding: 14.493vw 0px 9.662vw;
}

.p-staff__contents {
	background: #ffffff;
	margin-bottom: 0.662vw;
	margin-inline: auto;
	padding: 13.043vw 0px 9.662vw;
	width: min(95%, 91.7vw);
}

.p-staff__en {
	padding-inline-end: 0;
}

.p-staff__contents-wrap {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 77.2vw);
}

.p-staff__contents-wrap .div {
	align-items: flex-end;
	display: flex;
	gap: 0 1.449vw;
	margin-bottom: 6.039vw;
}

.p-staff__contents-wrap h2 {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
}

.p-staff__contents-wrap p {
	border-bottom: 0.2vw solid #6B6B69;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	margin-bottom: 3.865vw;
	padding-bottom: 3.831vw;
}

.c-staff__btn {
	text-align: center;
	width: 100%;
}

.c-staff__btn a {
  border: 0.2vw solid #6B6B69;
}

.p-staff__img {
	margin-bottom: 7.246vw;
}

.p-staff__img img {
	height: auto;
	width: 100%;
}

/* company
-------------------------------------*/
.l-inner.l-company {
	padding: 0px 0px 0.986vw;
}

.p-company__img {
	margin-inline: auto;
	width: min(95%, 82.1vw);
	margin-bottom: 4vw;
}

.p-company__img img {
	height: auto;
	width: 100%;
}

.p-link__items {
	display: grid;
	gap: 0 1.208vw;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 82.1vw);
}

.p-link__item a {
	display: block;
}

.p-link__item a img {
	height: auto;
	width: 100%;
}

/* news
-------------------------------------*/
.l-inner.l-news {
	margin-inline: auto;
	padding: 14.493vw 0px 24.493vw;
	width: min(95%, 89.3vw);
}

.p-news__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-news__contents-left {
	order: 2;
}

#news .system-list {
	display: grid;
	gap: 6.493vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#news .system-list li a {
	border-bottom: 0.2vw solid #6B6B69;
	display: block;
	display: flex;
	justify-content: space-between;
	padding: 0 0 7.831vw;
	position: static;
}

#news .system-list li a::after {
	content: none;
}

#news .system-list-wrap {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	justify-content: space-between;
	gap: 0 2vw;
}

#news .system-pic img {
	height: 19.324vw;
	width: 100%;
}

#news .system-right div {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1vw;
}

#news .system-category {
	margin-bottom: 0;
}

#news .system-category span {
	background: #ffffff;
	border: 0.2vw solid #2A2A2F;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.3;
	padding: 0.5vw 4.831vw;
	width: -moz-fit-content;
	width: fit-content;
}

#news .system-ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
  margin-bottom: 0;
}

#news .system-day {
	color: #6B6B69;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.3333333333;
}

.p-news__contents-right {
	align-items: flex-end;
	border-bottom: 0.2vw solid #6B6B69;
	display: flex;
	justify-content: space-between;
	margin-bottom: 6.246vw;
	order: 1;
	padding-bottom: 5.831vw;
}

.p-news__contents-right div {
	display: grid;
	gap: 1.932vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-news__ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.4285714286;
	margin-bottom: 0;
}

.p-news__en {
	margin-bottom: 0;
}

.p-news__en img {
	height: auto;
	width: 48.792vw;
}

.c-news__btn {
	width: 33.816vw;
}

.c-news__btn a {
	border-bottom: 0.2vw solid #2A2A2F;
	display: block;
	font-size: 2.899vw;
	font-weight: 200;
	letter-spacing: 0em;
	line-height: 1.6;
	padding: 1.899vw 2.899vw;
	width: 100%;
	position: relative;
}

.c-news__btn a::after {
	content: "→";
	font-size: 2.899vw;
	font-weight: 200;
	letter-spacing: 0em;
	line-height: 2;
	position: absolute;
	right: 3.865vw;
	top: 50%;
	transform: translateY(-50%);
}

.p-staff__en img {
	height: auto;
	width: 28.986vw;
}

}