@charset "UTF-8";

@keyframes slideCenter {

  0% {
    clip-path: inset(100%);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }

}
  
@keyframes slideLeft {

  0% {
    clip-path: inset(0 100% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }

}

@keyframes slideRight {

  0% {
    clip-path: inset(0 0 0 100%);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }

}

@keyframes shake-up {
  0%, 100% {
      transform: translateY(0);
  }
  50% {
      transform: translateY(12px);
  }
}


/* ========================================
@media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {


/* btn共通
-------------------------------------*/
.c-btn.reason a,
.c-btn.vision a {
	background: #ffffff;
	color: #00388D;
	display: block;
	position: relative;
	text-align: left;
}

.c-btn.reason a:hover::after,
.c-btn.vision a:hover::after {
	right: 40px;
	transition: all 0.5s ease;
}

.c-btn.reason a::after,
.c-btn.vision a::after {
	background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 19px;
	position: absolute;
	right: 46px;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
}

.c-btn.vision a {
	margin: 0;
	width: 428px;
	padding: 2rem 2.625rem;
	font-size: 18px;
}

.c-btn.dx a,
.c-btn.voice a {
	background: #00388D;
	color: #ffffff;
	position: relative;
}

.c-btn.dx a::after,
.c-btn.voice a::after {
	background: url(../images/index/btn_arrow.png) no-repeat center center/contain;
	content: "";
	height: 62px;
	position: absolute;
	right: 38px;
	top: 50%;
	transform: translateY(-50%);
	width: 62px;
}

.c-btn.dx a:hover::after,
.c-btn.voice a:hover::after {
	right: 30px;
	transition: all 0.5s ease;
}

.c-btn a {
	border-radius: 70px;
	display: block;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-inline: auto;
	padding: 2rem 3.625rem;
	width: 587px;
}

/* mv
-------------------------------------*/
.p-mv {
	background: url(../images/index/mv_bg.jpg) no-repeat left -4px center/contain;
	margin-bottom: 5.125rem;
	margin-inline: auto;
  max-width: 110%;
	width: 101%;
	position: relative;
}

.p-mv::after {
	animation: 1s 0.2s ease-in-out forwards slideCenter;
	background: url(../images/index/mv_icon.png) no-repeat center center/contain;
	bottom: -3rem;
	clip-path: inset(100%);
	content: "";
	height: 21.75rem;
	left: calc(50% + 27rem);
	position: absolute;
	width: 21.75rem;
}

.p-mv .l-inner {
	margin-inline: auto;
	width: min(100%, 1920px);
}

.p-mv .l-inner.l-mv {
	padding-block: 256px 113px;
}

.p-mv .p-mv__ttl-wrap {
	display: grid;
	gap: 3.5rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-left: auto;
	width: min(95%, 1643px);
}

.p-mv .p-mv__ttl-wrap span.top {
	animation: 1s 0.2s ease-in-out forwards slideLeft;
	clip-path: inset(0 100% 0 0);
}

.p-mv .p-mv__ttl-wrap span.bottom {
	animation: 1s 0.2s ease-in-out forwards slideLeft;
	clip-path: inset(0 100% 0 0);
}

/* fv
-------------------------------------*/
.p-fv {
	margin-bottom: 3.8rem;
}

.p-fv .l-inner.l-fv {
	margin-inline: auto;
	width: min(85%, 1280px);
}

.p-fv .p-fv__items {
	display: grid;
	gap: 0 2.3125rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-fv .p-fv__item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  grid-template-rows: 1fr auto 1fr;
}

.p-fv .p-fv__item a {
  display: inherit;
  grid-row: inherit;
  grid-template-rows: inherit;
}

.p-fv .p-fv__item a p {
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 0.5rem;
	text-align: center;
  white-space: nowrap;
}

.p-fv .p-fv__item a div.img {
	margin-bottom: 1rem;
}

.p-fv .p-fv__item a h2 {
	color: #00388D;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.75;
	text-align: center;
}

/* reason
-------------------------------------*/
.p-reason {
	background-color: #00388D; /* 背景色を指定 */
	background-image: url(../images/index/reason_logo.svg); /* 画像を指定 */
	background-position: top 8rem right 8rem; /* 画像の位置を指定 */
	background-repeat: no-repeat; /* 画像を繰り返さない */
	background-size: auto; /* 画像のサイズ調整（必要に応じて変更） */
}

.p-reason .l-inner.l-reason {
	margin-inline: auto;
	padding-block: 8.625rem 11.25rem;
	width: min(95%, 1800px);
}

.p-reason .p-reason__ttl {
	color: #ffffff;
	font-size: 64px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.21875;
	margin-bottom: 3.3125rem;
}

.p-reason .p-reason__items {
	display: grid;
	gap: 6.5rem 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 9rem;
}

.p-reason .p-reason__item:nth-child(even) {
	position: relative;
	top: 3.5rem;
}

.p-reason .p-reason__item .img {
	margin-bottom: -3.125rem;
}

.p-reason .p-reason__item:nth-child(2),
.p-reason .p-reason__item:nth-child(3),
.p-reason .p-reason__item:nth-child(6) {
	position: relative;
}

.p-reason .p-reason__item:nth-child(2)::after {
	background: url(../images/index/reason_icon.svg) no-repeat center center/contain;
	bottom: 3.5rem;
	content: "";
	height: 10.375rem;
	position: absolute;
	right: 2rem;
	width: 11.4375rem;
	animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item:nth-child(3)::after {
	background: url(../images/index/reason_icon02.svg) no-repeat center center/contain;
	bottom: 14rem;
	content: "";
	height: 7.5625rem;
	position: absolute;
	right: 1rem;
	width: 9.0625rem;
	animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item:nth-child(6)::after {
	background: url(../images/index/reason_icon.svg) no-repeat center center/contain;
	bottom: 6.5rem;
	content: "";
	height: 10.375rem;
	position: absolute;
	right: 1rem;
	width: 11.4375rem;
	animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item h3 {
	display: grid;
	gap: 1.0625rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: 1.5rem;
	margin-bottom: 1rem;
	position: relative;
}

.p-reason .p-reason__item h3 span {
	background: #ffffff;
	color: #00388D;
	display: block;
	font-size: 48px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.6;
	padding: 1rem 2rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-reason .p-reason__item p {
	color: #ffffff;
	font-size: 24px;
	font-weight: 600;
	left: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 2;
	padding-right: 6rem;
	position: relative;
}

/* business
-------------------------------------*/
.p-business {
	background: #D1D1D1;
}

.p-business .l-inner.l-business {
	padding-block: 8.375rem 11.5rem;
}

.p-business .p-business__icon {
	margin-bottom: 3.625rem;
	text-align: center;
}

.p-business .p-business__en {
	color: #00388D;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-bottom: 0rem;
	text-align: center;
}

.p-business .p-business__ttl {
	font-size: 63px;
	font-weight: 600;
	letter-spacing: 0.27em;
	line-height: 1.5873015873;
	margin-bottom: 3.5rem;
	text-align: center;
}

.p-business .p-business__items {
	display: flex;
	flex-wrap: wrap;
	gap: 2.75rem 3.75rem;
	justify-content: center;
	margin-inline: auto;
	width: min(95%, 1800px);
}

.p-business .p-business__item {
	width: 31.1%;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  grid-template-rows: auto auto 1fr;
}

.p-business .p-business__item:last-child {
	width: 66.6%;
}

.p-business .p-business__item a {
	background: #fff;
	border: 3px solid #00388d;
	display: block;
	padding-block: 4.6rem;
	position: relative;
  display: inherit;
  grid-row: inherit;
  grid-template-rows: inherit;
}

.p-business .p-business__item a::after {
	background: url(../images/index/business_item_arrow.svg) no-repeat center center/contain;
	bottom: -1px;
	content: "";
	height: 84px;
	position: absolute;
	right: -1px;
	width: 95px;
}

.p-business .p-business__item a .icon {
	margin-bottom: 2.125rem;
	text-align: center;
}

.p-business .p-business__item a h3 {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-bottom: 1.5625rem;
	text-align: center;
}

.p-business .p-business__item a p {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.1111111111;
	margin-inline: auto;
	width: 75%;
}

.p-business .p-business__item:last-child a p {
	width: 574px;
}

/* dx
-------------------------------------*/
.p-dx {
	background-color: #D1D1D1;
	padding-bottom: 4.75rem;
}

.p-dx .l-inner.l-dx {
  overflow: hidden;
}

.p-dx .p-dx__txt {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.7692307692;
	margin-bottom: -3rem;
	/* margin-left: auto;
	width: min(95%, 912px); */
  position: relative;
  left: calc(50% - 22.5rem);
  margin-left: auto;
  width: 78.5%;
}

.p-dx .p-dx__contents {
  background: url(../images/index/dx_bg01.jpg) no-repeat top left/ 48.5% auto,
  url(../images/index/dx_bg02.jpg) no-repeat bottom 0px right/ 94.2% auto;
  margin-bottom: 3.3125rem;
  margin-inline: auto;
  max-width: 1920px;
  padding-block: 6.25rem 3.125rem;
  width: 100%;
}

.p-dx .p-dx__contents-wrap {
	color: #ffffff;
	margin-left: auto;
  width: 57.1%;
	/* width: min(85%, 1097px); */
}

.p-dx .p-dx__contents-wrap p {
	display: inline-block;
	font-size: 36px;
	font-weight: 500;
	left: calc(50% - 22.5rem);
	letter-spacing: 0.09em;
	line-height: 1.6666666667;
	margin-bottom: 1.5rem;
	padding-left: 50px;
	position: relative;
	text-align: center;
}

.p-dx .p-dx__contents-wrap p:before {
	background: url(../images/index/dx_icon.svg) no-repeat center center/contain;
	content: "";
	height: 2.9375rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.0625rem;
}

.p-dx .p-dx__contents-wrap h2 {
	margin-bottom: -0.5rem;
}

.p-dx .p-dx__items {
	display: grid;
	gap: 0.5rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: calc(50% - 24rem);
	position: relative;
}

.p-dx .p-dx__item {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.7916666667;
	padding-left: 56px;
	position: relative;
}

.p-dx .p-dx__item:before {
	background: url(../images/index/dx_check.svg) no-repeat center center/contain;
	content: "";
	height: 38px;
	left: 7px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
}

/* voice
-------------------------------------*/
.p-voice {
	background: #D1D1D1;
	padding-bottom: 10.375rem;
}

.p-voice .l-inner.l-voice {
	margin-left: auto;
	overflow: hidden;
	width: min(95%, 1810px);
}

.p-voice .p-voice__en {
	color: #00388D;
	font-size: 10.625rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.6;
	margin-bottom: -1.2rem;
}

.p-voice .p-voice__ttl {
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.2727272727;
	margin-bottom: 6.875rem;
}

.p-voice .system-list-wrap {
	position: relative;
}

.p-voice .system-list-wrap::after {
	background: #ffffff;
	bottom: -9.8rem;
	content: "";
	height: 54px;
	left: 4rem;
	position: absolute;
	width: 3px;
}

.p-voice .system-list {
	margin-bottom: 5rem;
}

.p-voice .system-list li {
	display: grid;
	grid-row: span 4;
	grid-template-rows: auto auto 1fr auto;
  margin-inline: 0 3.625rem;
}

.p-voice .system-list li a {
	color: inherit;
	display: inherit;
	display: block;
	grid-row: inherit;
	grid-template-rows: inherit;
	padding: 2.6rem 2.5rem 1.8rem;
	background: #ffffff;
	border-radius: 8px;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  position: relative;
}

.p-voice .system-list li a:before {
	background: url(../images/index/voice_logo.svg) no-repeat center center/contain;
	content: "";
	height: 5.875rem;
	left: 1.5rem;
	position: absolute;
	top: -1.1875rem;
	width: 7.75rem;
	z-index: 20;
}

.p-voice .system-pic {
	margin-bottom: 1.5rem;
	text-align: center;
}

.p-voice .system-pic img {
	border-radius: 8px;
  height: 260px;
}

.p-voice .system-category {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
	margin-bottom: 1rem;
}

.p-voice .system-category span {
	background: #e8f0fb;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.5625;
	padding: 10px 14px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-voice .system-ttl {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 2.75rem;
}

.p-voice .system-wrap {
	border-left: 4px solid #00388D;
	display: grid;
	gap: 0px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding-left: 24px;
}

.p-voice .system-area {
	color: #7D7D7D;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.p-voice .system-name {
	color: inherit;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 2;
}

.p-voice .voice.prev-arrow {
	bottom: -9rem;
	left: 0rem;
	position: absolute;
	z-index: 11;
}

.p-voice .voice.next-arrow {
	bottom: -9rem;
	left: 6.2rem;
	position: absolute;
	z-index: 11;
}

.p-voice .slick-track {
	display: flex;
}

.p-voice .slick-list {
	overflow: visible !important;
}

.p-voice .slick-slide {
	height: auto !important;
}

/* price
-------------------------------------*/
.p-price {
	background: #D1D1D1;
	margin-bottom: -17rem;
  position: relative;
  z-index: 10;
  width: min(85%,1000px);
  margin-inline: auto;
}

.p-price .l-inner.l-price {

}

.p-price .p-price__link {
	text-align: center;
}

.p-price .p-price__link a {
  display: block;
}

/* vision
-------------------------------------*/
.p-vision {
	background-color: #D1D1D1; /* 背景色を指定 */
	background-image: url(../images/index/vision_bg.png); /* 画像を指定 */
	background-position: top center; /* 画像の位置を指定 */
	background-repeat: no-repeat; /* 画像を繰り返さない */
	background-size: auto; /* 画像のサイズ調整（必要に応じて変更） */
	margin-bottom: -18.25rem;
}

.p-vision .l-inner.l-vision {
	padding-block: 25.5rem 27.1rem;
}

.p-vision .p-vision__en {
	margin-bottom: -8.3rem;
	text-align: center;
}

.p-vision .p-vision__content {
	display: grid;
	grid-template-columns: 64% minmax(0, 1fr);
	margin-inline: auto;
	width: min(95%, 1276px);
}

.p-vision .p-vision__ttl {
	display: grid;
	gap: 0rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 2.125rem;
}

.p-vision .p-vision__ttl span.top {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.6;
}

.p-vision .p-vision__ttl span.bottom {
  font-size: 3.5rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.5892857143;
  white-space: nowrap;
}

.p-vision .p-vision__txt {
	margin-bottom: 3.75rem;
}

.p-vision .p-vision__txt p {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.1;
	margin-bottom: 3rem;
}

.p-vision .p-vision__txt p.bottom {
	margin-bottom: 0;
}

.p-vision .p-vision__txt p.top {
	color: #00388D;
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.9090909091;
	margin-bottom: 1.7rem;
}

.p-vision .p-vision__content-right {
	left: -6rem;
	position: relative;
	top: 2rem;
}

.p-vision .p-vision__content-right .logo {
	margin-bottom: 1.5625rem;
	text-align: center;
	position: relative;
	left: 2rem;
}

/* link
-------------------------------------*/
.p-link {
	background: #D1D1D1;
	margin-bottom: 5.3125rem;
}

.p-link .l-inner.l-link {
	background: #D1D1D1;
	margin-inline: auto;
	padding-block: 7.25rem 0;
	position: relative;
	top: -7.25rem;
	width: min(95%, 1800px);
	z-index: 10;
}

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

.p-link .p-link__item a {
	background: #ffffff;
	display: block;
	padding-block: 3.5rem 0;
	text-align: center;
}

.p-link .p-link__item a p {
	color: #00388D;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.5555555556;
	margin-bottom: 0.125rem;
}

.p-link .p-link__item a h2 {
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.8214285714;
	margin-bottom: 3rem;
}

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

/* news
-------------------------------------*/
.p-news {
	margin-bottom: 6rem;
}

.p-news .l-inner.l-news {
	margin-inline: auto;
	width: min(85%, 1200px);
}

.p-news .p-news__contents {
	display: grid;
	gap: 0 6.875rem;
	grid-template-columns: 14.4166666667% 76.3333333333%;
}

.p-news .p-news__contents-left {
	position: relative;
	top: -1.5rem;
}

.p-news .p-news__contents-left p {
	color: #00388D;
	font-size: 4.375rem;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1.6;
	margin-bottom: 0.5rem;
	margin-bottom: -1.5rem;
}

.p-news .p-news__contents-left h2 {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 3.6428571429;
	margin-bottom: 1.5rem;
  white-space: nowrap;
}

.p-news .p-news__contents-left .c-news__btn a {
	border-bottom: 1px solid #00388D;
	color: #00388D;
	display: block;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 3;
	position: relative;
}

.p-news .p-news__contents-left .c-news__btn a::after {
	background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 11px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}

.p-news .system-list {
	display: grid;
	gap: 0.6875rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-news .system-list li a {
	border-bottom: 1px solid #B7B7B7;
	display: flex;
	gap: 0 4.6875rem;
}

.p-news .system-day {
	color: #00388D;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.5;
}

.p-news .system-ttl {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.5;
}

/* coming-soon
-------------------------------------*/
.p-comingsoon {
	background: #D1D1D1;
	padding-block: 5.625rem 10rem;
}

.p-comingsoon .l-inner.l-comingsoon {
	margin-inline: auto;
	width: min(85%, 1100px);
}

.p-comingsoon .img {
	text-align: center;
}

/* asukei
-------------------------------------*/
.p-asukei {
	background: #D1D1D1;
	padding-block: 0 7.5625rem;
}

.p-asukei .l-inner.l-asukei {
	margin-inline: auto;
	width: min(85%, 1440px);
}

.p-asukei .p-asukei__contents {
	align-items: center;
	display: flex;
	margin-bottom: -2rem;
}

.p-asukei .p-asukei__contents-left {
	position: relative;
	right: -0.5rem;
	z-index: 1;
}

.p-asukei .p-asukei__contents-center {
	position: relative;
	right: 2.6875rem;
	margin-inline: 0 2.5rem;
}

.p-asukei .p-asukei__contents-right {
	position: relative;
	top: 2.5rem;
}

.p-asukei .p-asukei__contents-right a {
	border-bottom: 1px solid #00388D;
	color: #00388D;
	display: block;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.5;
	position: relative;
	width: 223px;
}

.p-asukei .p-asukei__contents-right a:before {
	background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 15px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.p-asukei .system-list {
	display: grid;
	gap: 4.4375rem 1.875rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
	z-index: 10;
}

.p-asukei .system-list li {
	display: grid;
	grid-row: span 3;
	grid-template-rows: auto 1fr auto;
}

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

.p-asukei .system-pic {
	margin-bottom: 1.875rem;
}

.p-asukei .system-pic img {
	height: 16.25rem;
}

.p-asukei .system-ttl {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.9;
	margin-bottom: 2.4375rem;
}

.p-asukei .system-day {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.625;
}

.p-asukei .slick-track {
	display: flex;
}

.p-asukei .slick-slide {
	height: auto !important;
}

/* seo
-------------------------------------*/
.seo-txt {
	background: #262322;
	padding-block: 4.5rem 7rem;
}

.seo-txt p {
	color: #ffffff;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.07em;
	line-height: 2.4375;
	margin-inline: auto;
	width: min(85%, 1537px);
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
.p-mv .l-inner.l-mv {
	padding-block: 13.34vw 6.931vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1900px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1900px) {
.p-vision .p-vision__en img {
  width: 85%;
  margin-inline: auto;
}

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

.p-business .p-business__item {
  width: 30.1%;
}


.p-dx .p-dx__contents-wrap h2 img {
  width: 64%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
.p-reason .p-reason__item h3 span {
  font-size: clamp(1.25rem, 0.014rem + 2.58vw, 2.75rem);
}

.p-reason {
	background-position: top 8rem right 4rem; /* 画像の位置を指定 */
  background-size: 80%; /* 画像のサイズ調整（必要に応じて変更） */
}

.p-reason .p-reason__item p {
  padding-right: 5rem;
}

.p-asukei .p-asukei__contents {
  margin-bottom: -1rem;
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1650px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1650px) {
.p-mv::after {
  left: calc(50% + 20.5rem);
}

.p-dx .p-dx__contents {
  background: url(../images/index/dx_bg01.jpg) no-repeat top left/ 47.5% auto,
  url(../images/index/dx_bg02.jpg) no-repeat bottom 1rem right/ 95.2% auto;
}

.p-asukei .p-asukei__contents-left img {
  width: 100%;
}

.p-asukei .p-asukei__contents-center img {
  width: 90%;
}

.p-asukei .p-asukei__contents-right {
  position: relative;
  top: 1rem;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1600px) {
.p-reason .p-reason__item:nth-child(2)::after {
  bottom: 10.5rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
.p-dx .p-dx__contents {
  background: url(../images/index/dx_bg01.jpg) no-repeat top left/ 41% auto,
  url(../images/index/dx_bg02.jpg) no-repeat bottom 2rem right/ 98% auto;
}

.p-voice .system-pic img {
  border-radius: 0.533vw;
  max-height: 10.333vw;
}

.p-voice .system-category span {
	background: #e8f0fb;
	border-radius: 0.267vw;
	font-size: 1.067vw;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.5625;
	padding: 0.667vw 0.933vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-voice .system-ttl {
	font-size: 1.6vw;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 2.75rem;
}

.p-voice .system-area {
	color: #7D7D7D;
	font-size: 1.133vw;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.p-voice .system-name {
	color: inherit;
	font-size: 1.4vw;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 2;
}

.p-mv .p-mv__ttl-wrap span.top img {
  width: 52.6vw;
  height: auto;
}

.p-mv .p-mv__ttl-wrap span.bottom img {
  width: 65.533vw;
  height: auto;
}

.p-mv::after {
  height: 17.867vw;
  width: 17.867vw;
  bottom: 1rem;
  left: calc(50% + 19.5rem);
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
.p-fv .p-fv__item a div.img img {
  width: 100%;
}

.p-link .p-link__item a h2 {
  font-size: 2vw;
}

.p-asukei .p-asukei__contents {
  margin-bottom: -1rem;
}



}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-reason .p-reason__item:nth-child(6)::after {
  bottom: 13.5rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
.p-business .p-business__item {
  width: 29.1%;
}

.p-dx .p-dx__contents {
  background: url(../images/index/dx_bg01.jpg) no-repeat top left/ 41% auto,
  url(../images/index/dx_bg02.jpg) no-repeat bottom 2rem right/ 98% auto;
}

.p-dx .p-dx__contents-wrap p {
  font-size: 2.769vw;  
}

.p-dx .p-dx__item {
  font-size: 1.846vw;   
}

.p-dx .p-dx__txt {
  font-size: 2vw;
}

.p-vision .p-vision__content {
  align-items: flex-end;
}

.p-vision .p-vision__content-right {
  left: -2rem;
}

.p-vision .p-vision__content-right div.img img {
  width: 100%;        
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.p-mv .l-inner.l-mv {
	overflow: hidden;
}

.p-comingsoon .img img {
  width: 100%;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.p-reason .p-reason__item p {
  font-size: 18px;
}

.p-business .p-business__item a h3 {
  font-size: 2.727vw;
}

.p-business .p-business__item a p {
	font-size: 1.636vw;
}

.p-mv::after {
  left: calc(50% + 17.5rem);
}

.p-asukei .p-asukei__contents {
  margin-bottom: -0.5rem;
}

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



}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
.p-business .p-business__item:last-child a p {
  width: 75%;
}

.p-news .p-news__contents {
  grid-template-columns: 16% minmax(0, 1fr);
}

.p-asukei .p-asukei__contents {
  margin-bottom: 1.5rem;
}


}

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

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

/* btn共通
-------------------------------------*/
.c-btn.reason a,
.c-btn.vision a {
  background: #ffffff;
  color: #00388D;
  position: relative;
}

.c-btn.reason a:hover::after,
.c-btn.vision a:hover::after {
  right: 3.865vw;
  transition: all 0.5s ease;
}

.c-btn.reason a::after,
.c-btn.vision a::after {
  background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
  content: "";
  height: 3.14vw;
  position: absolute;
  right: 5.556vw;
  top: 50%;
  transform: translateY(-50%);
  width: 4.348vw;
}

.c-btn.vision {
  order: 4;
  position: relative;
  z-index: 10;
}

.c-btn.vision a {
  margin-inline: auto;
  width: min(100%, 82.1vw);
}

.c-btn.dx a,
.c-btn.voice a {
  background: #00388D;
  color: #ffffff;
  padding: 4.5vw 7.662vw;
  position: relative;
}

.c-btn.dx a::after,
.c-btn.voice a::after {
  background: url(../images/index/btn_arrow_sp.png) no-repeat center center/contain;
  content: "";
  height: 12.937vw;
  position: absolute;
  right: 2.314vw;
  top: 50%;
  transform: translateY(-50%);
  width: 12.937vw;
}

.c-btn.dx a:hover::after,
.c-btn.voice a:hover::after {
  right: 3.865vw;
  transition: all 0.5s ease;
}

.c-btn a {
  border-radius: 16.908vw;
  display: block;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-inline: auto;
  padding: 5vw 9.662vw;
  text-align: left;
  width: min(95%, 82.3vw);
}

/* mv
-------------------------------------*/
.p-mv {
  background: url(../images/index/mv_bg_sp.jpg) no-repeat top center/contain;
  margin-inline: auto;
  width: 100%;
  margin-bottom: 13.671vw;
}

.p-mv::after {
  animation: 1s 0.2s ease-in-out forwards slideCenter;
  background: url(../images/index/mv_icon_sp.png) no-repeat center center/contain;
  top: 120vw;
  clip-path: inset(100%);
  content: "";
  height: 37.198vw;
  position: absolute;
  right: 6.662vw;
  width: 37.198vw;
}

.p-mv .l-inner.l-mv {
  padding-block: 12.459vw 0vw;
}

.p-mv .p-mv__ttl-wrap {
  display: grid;
  gap: 12.319vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  place-items: center;
}

.p-mv .p-mv__ttl-wrap span.top {
  animation: 1s 0.1s ease-in-out forwards slideRight;
  clip-path: inset(0 0 0 100%);
  position: relative;
}

.p-mv .p-mv__ttl-wrap span.bottom {
  animation: 1s 0.2s ease-in-out forwards slideLeft;
  clip-path: inset(0 100% 0 0);
  text-align: center;
  width: min(95%,89.3vw);
  margin-inline: auto;
}

/* fv
-------------------------------------*/
.p-fv {
  margin-bottom: 18.048vw;
}

.p-fv .l-inner.l-fv {
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

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

.p-fv .p-fv__item a p {
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 2.14vw;
  text-align: center;
}

.p-fv .p-fv__item a h2 {
  color: #00388D;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.9444444444;
  text-align: center;
}

.p-fv .p-fv__item a div.img {
  margin-bottom: 3vw;
}

/* reason
-------------------------------------*/
.p-reason {
  background-color: #00388D; /* 背景色を指定 */
  background-image: url(../images/index/reason_logo.svg); /* 画像を指定 */
  background-position: top 40px right 22px; /* 画像の位置を指定 */
  background-repeat: no-repeat; /* 画像を繰り返さない */
  background-size: 83.092vw; /* 画像のサイズ調整（必要に応じて変更） */
}

.p-reason .l-inner.l-reason {
  padding-block: 19.531vw 20.531vw;
  width: 100%;
}

.p-reason .p-reason__ttl {
  color: #ffffff;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.375;
  margin-bottom: 9.628vw;
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

.p-reason .p-reason__items {
  display: grid;
  gap: 13.111vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 13.425vw;
}

.p-reason .p-reason__item:nth-child(even) {
  position: static;
}

.p-reason .p-reason__item .img {
  margin-bottom: -4.797vw;
}

.p-reason .p-reason__item:nth-child(2),
.p-reason .p-reason__item:nth-child(4),  
.p-reason .p-reason__item:nth-child(6) {
  position: relative;
}

.p-reason .p-reason__item:nth-child(2)::before {
  background: url(../images/index/reason_icon.svg) no-repeat center center/contain;
  top: -15vw;
  content: "";
  height: 16.425vw;
  position: absolute;
  right: 6.314vw;
  width: 18.116vw;
  animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item:nth-child(4)::before {
  background: url(../images/index/reason_icon02.svg) no-repeat center center/contain;
  top: -7vw;
  content: "";
  height: 21.425vw;
  position: absolute;
  right: 7.314vw;
  width: 22.116vw;
  animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item:nth-child(6)::after {
  background: url(../images/index/reason_icon.svg) no-repeat center center/contain;
  bottom: 24.155vw;
  content: "";
  height: 16.425vw;
  position: absolute;
  right: 5.314vw;
  width: 18.116vw;
  animation: shake-up 3s infinite ease-in-out;
}

.p-reason .p-reason__item h3 {
  display: grid;
  gap: 2.415vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 3.831vw;
  margin-inline: auto;
  position: relative;
  z-index: 10;
  width: min(95%, 89.3vw);
}

.p-reason .p-reason__item h3 span {
  color: #00388D;
  display: block;
  font-size: 5.314vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 2.5;
  padding: 0px 4.415vw;
  background: #fff;
  width: fit-content;
}

.p-reason .p-reason__item p {
  color: #ffffff;
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2.125;
  margin-inline: auto;
  position: static;
  width: min(95%, 89.3vw);
}

/* business
-------------------------------------*/
.p-business {
  background: #D1D1D1;
}

.p-business .l-inner.l-business {
  padding-block: 16.908vw 30.367vw;
}

.p-business .p-business__icon {
  margin-bottom: 8.111vw;
  text-align: center;
}

.p-business .p-business__icon img {
  height: auto;
  width: 11.836vw;
}

.p-business .p-business__en {
  color: #00388D;
  font-size: 4.831vw;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.6;
  margin-bottom: 2vw;
  text-align: center;
}

.p-business .p-business__ttl {
  font-size: 9.662vw;
  font-weight: 600;
  letter-spacing: 0.24em;
  line-height: 1.6;
  margin-bottom: 7.87vw;
  text-align: center;
}

.p-business .p-business__items {
  display: grid;
  gap: 9.662vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

.p-business .p-business__item {
  width: 100%;
}

.p-business .p-business__item:last-child {
  width: 100%;
}

.p-business .p-business__item a {
  background: #fff;
  border: 3px solid #00388d;
  display: block;
  padding-block: 15.459vw 12.425vw;
  position: relative;
  height: 101.449vw;
}

.p-business .p-business__item a::after {
  background: url(../images/index/business_item_arrow.svg) no-repeat center center/contain;
  bottom: 0;
  content: "";
  height: 15.29vw;
  position: absolute;
  right: -3vw;
  width: 22.947vw;
}

.p-business .p-business__item a .icon {
  margin-bottom: 5.937vw;
  text-align: center;
}

.p-business .p-business__item a h3 {
  font-size: 6.763vw;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.7857142857;
  margin-bottom: 4.454vw;
  text-align: center;
}

.p-business .p-business__item a h3 span {
	display: block;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.7857142857;
}

.p-business .p-business__item a p {
  font-size: 3.623vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 2.2666666667;
  margin-inline: auto;
  width: 72.464vw;
}

/* dx
-------------------------------------*/
.p-dx {
  background-color: #D1D1D1;
  padding-bottom: 15.879vw;
}

.p-dx .p-dx__txt {
  font-size: 4.106vw;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.7058823529;
  padding-left: 0;
  text-align: center;
  width: 100%;
  margin-bottom: 4vw;
}

.p-dx .p-dx__contents {
  background: url(../images/index/dx_bg01_sp.jpg) no-repeat top left / 95% auto,
  url(../images/index/dx_bg02_sp.jpg) no-repeat top 26vw left / contain;
  margin-bottom: 8.454vw;
  margin-inline: auto;
  padding-block: 45.894vw 10vw;
}

.p-dx .p-dx__contents-wrap {
  color: #ffffff;
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

.p-dx .p-dx__contents-wrap p {
  display: inline-block;
  font-size: 3.865vw;
  font-weight: 500;
  left: 0;
  letter-spacing: 0.09em;
  line-height: 1.6875;
  margin-bottom: 2.382vw;
  padding-left: 6.522vw;
  position: relative;
  text-align: left;
}

.p-dx .p-dx__contents-wrap p:before {
  background: url(../images/index/dx_icon.svg) no-repeat center center/contain;
  content: "";
  height: 5.797vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4.106vw;
}

.p-dx .p-dx__contents-wrap h2 {
  margin-bottom: -0.338vw;
}

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

.p-dx .p-dx__item {
  font-size: 4.106vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 2.4117647059;
  padding-left: 7.729vw;
  position: relative;
}

.p-dx .p-dx__item:before {
  background: url(../images/index/dx_check.svg) no-repeat center center/contain;
  content: "";
  height: 5.072vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.865vw;
}

/* voice
-------------------------------------*/
.p-voice {
  background: #D1D1D1;
  padding-bottom: 172.155vw;
  margin-bottom: -143vw;
}

.p-voice .l-inner.l-voice {
  margin-inline: auto;
  overflow: hidden;
  width: min(95%, 89.3vw);
}

.p-voice .p-voice__en {
  color: #00388D;
  font-size: 20.531vw;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.6;
  margin-bottom: -5vw;
}

.p-voice .p-voice__ttl {
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.2222222222;
  margin-bottom: 14.01vw;
}

.p-voice .system-list-wrap {
  position: relative;
  width: 100%;
}

.p-voice .system-list-wrap::after {
  background: #ffffff;
  bottom: -22vw;
  content: "";
  height: 13.043vw;
  left: calc(50% - 0.5vw);
  position: absolute;
  width: 0.725vw;
}

.p-voice .system-list {
  margin-bottom: 30.71vw;
}

.p-voice .system-list li {
  display: grid;
  grid-row: span 4;
  grid-template-rows: auto auto 1fr auto;
}

.p-voice .system-list li a {
  background: #ffffff;
  border-radius: 1.932vw;
  color: inherit;
  display: inherit;
  display: block;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  grid-row: inherit;
  grid-template-rows: inherit;
  margin-inline: 0;
  padding: 7.971vw 7.488vw;
  position: relative;
}

.p-voice .system-list li a:before {
  background: url(../images/index/voice_logo.svg) no-repeat center center/contain;
  content: "";
  height: 22.705vw;
  left: 5.797vw;
  position: absolute;
  top: -4.589vw;
  width: 24.952vw;
  z-index: 20;
}

.p-voice .system-pic {
  margin-bottom: 7.213vw;
  text-align: center;
}

.p-voice .system-pic img {
  border-radius: 1.932vw;
  height: 50.725vw;
}

.p-voice .system-category {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.932vw;
  margin-bottom: 3.623vw;
}

.p-voice .system-category span {
  background: #e8f0fb;
  border-radius: 0.966vw;
  font-size: 3.865vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.5625;
  padding: 0.89vw 3.382vw;
  width: -moz-fit-content;
  width: fit-content;
}

.p-voice .system-ttl {
  font-size: 4.831vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.7;
  margin-bottom: 11.251vw;
}

.p-voice .system-wrap {
  border-left: 4px solid #00388D;
  display: grid;
  gap: 0vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-left: 3.797vw;
}

.p-voice .system-area {
  color: #7D7D7D;
  font-size: 3.623vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.p-voice .system-name {
  color: inherit;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 2.3333333333;
}

.p-voice .voice.prev-arrow {
  bottom: -19vw;
  left: calc(50% - 15vw);
  position: absolute;
  z-index: 11;
}

.p-voice .voice.next-arrow {
  bottom: -19vw;
  left: calc(50% + 9vw);
  position: absolute;
  z-index: 11;
}

.p-voice .slick-track {
  display: flex;
}

.p-voice .slick-list {
  overflow: visible !important;
}

.p-voice .slick-slide {
  height: auto !important;
}

/* price
-------------------------------------*/
.p-price {
  background: #D1D1D1;
  margin-bottom: -24.155vw;
  margin-inline: auto;
  width: min(95%, 89.3vw);
  position: relative;
  z-index: 10;
}

.p-price .l-inner.l-price {

}

.p-price .p-price__link {
  text-align: center;
}

.p-price .p-price__link a {
  display: block;
}

/* vision
-------------------------------------*/
.p-vision {
  background-color: #D1D1D1; /* 背景色を指定 */
  background-image: url(../images/index/vision_bg_sp.png); /* 画像を指定 */
  background-position: top center; /* 画像の位置を指定 */
  background-repeat: no-repeat; /* 画像を繰り返さない */
  background-size: cover; /* 画像のサイズ調整（必要に応じて変更） */
  margin-bottom: -124vw;
}

.p-vision .l-inner.l-vision {
  padding-block: 41.232vw 145.309vw;
  width: 100%;
}

.p-vision .p-vision__en {
  margin-bottom: -11.87vw;
  text-align: center;
}

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

.p-vision .p-vision__content-left {
  display: contents;
}

.p-vision .p-vision__ttl {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 5.662vw;
  order: 1;
}

.p-vision .p-vision__ttl span.top {
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 2.8333333333;
}

.p-vision .p-vision__ttl span.bottom {
  font-size: 7.246vw;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.5666666667;
}

.p-vision .p-vision__txt {
  margin-bottom: 10.386vw;
  order: 2;
}

.p-vision .p-vision__txt p {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2.1428571429;
  margin-bottom: 7.2vw;
}

.p-vision .p-vision__txt p.bottom {
  margin-bottom: 0;
}

.p-vision .p-vision__txt p.top {
  color: #00388D;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7777777778;
}

.p-vision .p-vision__content-right {
  display: grid;
  grid-template-columns: 21.014vw 66.425vw;
  left: 0;
  margin-bottom: -7.729vw;
  order: 3;
  position: relative;
  top: 1vw;
}

.p-vision .p-vision__content-right .logo {
  text-align: left;
}

.p-vision .p-vision__content-right .logo img {
  height: auto;
  width: 21.014vw;
}

.p-vision .p-vision__content-right .img {
  left: -4.797vw;
  position: relative;
  top: -3.797vw;
}

/* link
-------------------------------------*/
.p-link {
  background: #D1D1D1;
  margin-bottom: 10.531vw;
  padding-block: 0 19.155vw;
}

.p-link .l-inner.l-link {
  background: #D1D1D1;
  margin-inline: auto;
  padding-block: 7vw 0;
  position: relative;
  top: -10vw;
  width: min(95%, 94.2vw);
  z-index: 10;
}

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

.p-link .p-link__item a {
  background: #ffffff;
  display: block;
  padding-block: 8.87vw 0;
  text-align: center;
}

.p-link .p-link__item a p {
  color: #00388D;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.75;
  margin-bottom: -0.652vw;
}

.p-link .p-link__item a h2 {
  font-size: 5.797vw;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 2.125;
  margin-bottom: 6.179vw;
}

/* news
-------------------------------------*/
.p-news {
  margin-bottom: 14.976vw;
}

.p-news .l-inner.l-news {
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

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

.p-news .p-news__contents-left {
  display: contents;
  position: static;
}

.p-news .p-news__contents-left p {
  color: #00388D;
  font-size: 16.908vw;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.6;
  margin-bottom: -5.068vw;
  order: 1;
}

.p-news .p-news__contents-left h2 {
  font-size: 3.382vw;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 3.6428571429;
  margin-bottom: 2.976vw;
  order: 2;
}

.p-news .p-news__contents-left .c-news__btn {
  margin-inline: auto;
  order: 4;
  width: 50.242vw;
}

.p-news .p-news__contents-left .c-news__btn a {
  border-bottom: 0.2vw solid #00388D;
  color: #00388D;
  display: block;
  font-size: 4.106vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 3;
  position: relative;
}

.p-news .p-news__contents-left .c-news__btn a::after {
  background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
  content: "";
  height: 3.382vw;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4.348vw;
}

.p-news .p-news__contents-right {
  order: 3;
}

.p-news .system-list {
  display: grid;
  gap: 5vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 9.493vw;
}

.p-news .system-list li a {
  border-bottom: 0.2vw solid #B7B7B7;
  display: grid;
  gap: 0.865vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-block: 0 5vw;
}

.p-news .system-day {
  color: #00388D;
  font-size: 3.382vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2.8571428571;
}

.p-news .system-ttl {
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.875;
  margin-bottom: 0;
}

/* comming-soon
-------------------------------------*/
.p-comingsoon {
  background: #D1D1D1;
  padding-block: 12.077vw 23.874vw;
}

.p-comingsoon .l-inner.l-comingsoon {
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.p-comingsoon .img {
  text-align: center;
}

/* asukei
-------------------------------------*/
.p-asukei {
  background: #D1D1D1;
  padding-block: 0 24.155vw;
}

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

.p-asukei .p-asukei__contents {
  display: contents;
  margin-bottom: 0;
}

.p-asukei .p-asukei__contents-left {
  margin-bottom: 7.246vw;
  order: 2;
  position: static;
  text-align: center;
}

.p-asukei .p-asukei__contents-left img {
  height: auto;
  width: 47.585vw;
}

.p-asukei .p-asukei__contents-center {
  margin-bottom: -9.662vw;
  order: 1;
  position: static;
}

.p-asukei .p-asukei__contents-right {
  order: 4;
}

.p-asukei .p-asukei__contents-right a {
  border-bottom: 0.2vw solid #00388D;
  color: #00388D;
  display: block;
  font-size: 5.314vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 3;
  margin-inline: auto;
  position: relative;
  width: 65.459vw;
}

.p-asukei .p-asukei__contents-right a:before {
  background: url(../images/index/reason_arrow.svg) no-repeat center center/contain;
  content: "";
  height: 4.348vw;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5.797vw;
}

.p-asukei .system-list {
  display: block;
  margin-bottom: 23.155vw;
  order: 3;
}

.p-asukei .system-list::after {
  background: #ffffff;
  bottom: -18vw;
  content: "";
  height: 13.043vw;
  left: calc(50% - 0.5vw);
  position: absolute;
  width: 0.725vw;
}
  
.p-asukei .system-pic {
  margin-bottom: 3.623vw;
}

.p-asukei .system-pic img {
  max-height: 46.618vw;
}

.p-asukei .system-ttl {
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6666666667;
  margin-bottom: 4.386vw;
}

.p-asukei .system-day {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.625;
}

.p-asukei .slick-track {
  display: flex;
}

.p-asukei .slick-slide {
  height: auto !important;
}

.p-asukei .asukei.prev-arrow {
  bottom: -15vw;
  left: calc(50% - 15vw);
  position: absolute;
  z-index: 11;
}

.p-asukei .asukei.next-arrow {
  bottom: -15vw;
  left: calc(50% + 9vw);
  position: absolute;
  z-index: 11;
}

/* seo
-------------------------------------*/
.seo-txt {
	background: #262322;
	padding-block: 11.5vw 15vw;
}

.seo-txt p {
	color: #ffffff;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.07em;
	line-height: 2.3;
  width: min(95%,82.1vw);
	margin-inline: auto;
}


}

/* ========================================
@media screen and (max-width: 390px) {
======================================== */
@media screen and (max-width: 390px) {
.p-mv .p-mv__ttl-wrap {
  gap: 4.319vw 0;
}

}

/* ========================================
@media screen and (max-width: 380px) {
======================================== */
@media screen and (max-width: 380px) {
.p-mv::after {
  top: 68%;
}

.p-mv .p-mv__ttl-wrap {
  position: relative;
  z-index: 10;
  gap: 6vw 0;
}

.p-mv .p-mv__ttl-wrap span.top img {
  width: 95%;
}

}

/* ========================================
@media screen and ( max-width:360px) {
======================================== */
@media screen and ( max-width:360px) {
.p-mv::after {
  top: 59%;
}
}

/* ========================================
@media screen and (max-width: 320px) {
======================================== */
@media screen and (max-width: 320px) {
.p-mv .p-mv__ttl-wrap span.top img {
  width: 85%;
}

.p-mv .l-inner.l-mv {
  padding-block: 10.459vw 13.671vw;
}

.p-mv::after {
  top: 68%;
}

}