@charset "UTF-8";

@keyframes zoomUp {

0% {
	transform: scale(1);
}

100% {
	transform: scale(1.15); /* 拡大率 */
}

}

@keyframes scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes vertical-animation {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%); 
  }
}

@keyframes scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}



/* ========================================
  @media screen and (min-width: 768px),print 
======================================== */
@media screen and (min-width: 768px), print {
/* mv
-------------------------------------*/
#index .p-mv {
	height: 800px;
	position: relative; 
}

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

#index .p-mv .p-mv__en {
	margin-inline: auto;
	position: relative;
	width: min(95%, 1773px);
	z-index: 10;
}

#index .p-mv .p-mv__tel {
	background: #016FC6;
	color: #ffffff;
	padding-block: 22px;
	position: absolute;
	right: 0;
	top: 15px;
	width: 360px;
	z-index: 10;
}

#index .p-mv .p-mv__tel p {
	text-align: center;
}

#index .p-mv .p-mv__tel p.top {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.19em;
	line-height: 1.5384615385;
	margin-bottom: 13px;
}

#index .p-mv .p-mv__tel p.bottom {
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.09em;
	line-height: 1.7272727273;
	margin-block: 11px 0;
}

#index .p-mv .p-mv__slider {
	position: absolute;
	right: 0;
	top: 75px;
	z-index: 1;
}

#index .p-mv .l-inner.l-slider {
	margin: 0;
	margin-left: auto;
	width: 1817px;
}

#index .p-mv .p-mv__slider-img {
	text-align: right;
}

#index .p-mv .p-mv__ttl {
	bottom: -35px;
	color: #ffffff;
	font-size: 66px;
	font-weight: 700;
	left: 170px;
	letter-spacing: 0.1em;
	line-height: 1.4696969697;
	margin-inline: auto;
	position: absolute;
	width: min(95%, 1600px);
	z-index: 10;
}

#index .p-mv .p-mv__ttl02 {
	bottom: -176px;
	color: #262626;
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
	font-weight: 500;
	left: 160px;
	letter-spacing: 0.12em;
	line-height: 1.8;
	margin-inline: auto;
	position: absolute;
	width: min(95%, 1650px);
	z-index: 10;
}

#index .p-mv .dots-wrap {
	bottom: 7px;
	display: grid;
	gap: 27px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: -63px;
	position: absolute;
}

#index .p-mv .dots-wrap li {
	background: #BEBEBE;
	border-radius: 50%;
	cursor: pointer;
	height: 20px;
	margin: 0;
	width: 20px;
}

#index .p-mv .dots-wrap li:hover,
#index .p-mv .dots-wrap li.slick-active {
	background: #016FC6;
}

#index .p-mv .dots-wrap li button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	outline: none;
	padding: 0;
}

#index .p-mv .add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

#index .p-mv #index .slick-list {
	overflow-x: hidden; /* 横方向のはみ出しを隠す */
}

/* news
-------------------------------------*/
#index .p-news {
	color: #1A1A1A;
	margin-bottom: 253px;
	position: relative;
	right: 60px;
	top: -31px;
	z-index: 10;
}

#index .p-news .p-news__contents {
	align-items: center;
	background: #F2F2F2;
	display: flex;
	gap: 0 35px;
	margin-left: auto;
	padding-block: 21px;
	padding-inline: 38px 45px;
	width: 602px;
	min-height: 130px;
}

#index .p-news .p-news__contents-left {
	border-right: 1px solid #D9D9D9;
	display: grid;
	gap: 0px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding-inline: 0 39px;
}

#index .p-news .p-news__btn {
	text-align: center;
}

#index .p-news .p-news__btn a {
	color: #1A1A1A;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.6666666667;
	position: relative;
}

#index .p-news .p-news__btn a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 14px;
	position: absolute;
	right: -28px;
	top: 4px;
	width: 9px;
}

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

#index .p-news .system-list a {
	display: flex;
	gap: 0 24px;
}

#index .p-news .system-date {
	font-size: clamp(0.625rem, 0.5rem + 0.26vw, 0.813rem);
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.5;
}

#index .p-news .system-ttl {
	color: #1A1A1A;
	font-size: clamp(0.625rem, 0.5rem + 0.26vw, 0.813rem);
	font-weight: 400;
	letter-spacing: 0.09em;
	line-height: 2.5;
  margin-bottom: 0;
}

/* aboutus
-------------------------------------*/
#index .p-aboutus {
	margin-bottom: 218px;
}

#index .p-aboutus .l-inner.l-aboutus {
	margin-inline: auto;
	width: min(95%, 1600px);
}

#index .p-aboutus .p-aboutus__contents {
	display: grid;
	grid-template-columns: 63.6% 35.8%;
}

#index .p-aboutus .p-aboutus__en {
	margin-bottom: 78px;
}

.p-aboutus .p-aboutus__items {
	align-items: center;
	display: flex;
	gap: 0 20px;
	margin-bottom: 57px;
}

#index .p-aboutus .p-aboutus__item {
	background: #016FC6;
	color: #ffffff;
	font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
	font-weight: 500;
	letter-spacing: 0.079em;
	line-height: 2.5;
	text-align: center;
	width: 222px;
}

.p-aboutus .p-aboutus__ttl {
	font-size: clamp(2rem, 0.917rem + 2.26vw, 3.625rem);
	font-weight: 800;
	letter-spacing: 0.088em;
	line-height: 1.5344827586;
	margin-bottom: 53px;
}

#index .p-aboutus .p-aboutus__txt {
	margin-bottom: 73px;
}

#index .p-aboutus .p-aboutus__txt p {
	font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.4166666667;
	margin-bottom: 62px;
}

#index .p-aboutus .p-aboutus__txt p.bottom {
	font-size: clamp(1.375rem, 0.792rem + 1.22vw, 2.25rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.0555555556;
	margin-bottom: 0;
}

#index .p-aboutus .p-aboutus__contents-right {
  overflow: hidden;
}

#index .p-aboutus .p-aboutus__loop {
	overflow: hidden;
  height: 1145px;
}

#index .p-aboutus .p-aboutus__loop-wrap {
	animation: vertical-animation 60s linear infinite;
	display: flex;
  flex-direction: column;
	gap: 20px 0;
}

/* service
-------------------------------------*/
#index .p-service {
	background: linear-gradient(90deg, #F2F2F2 0%, #F2F2F2 18.75%, #fff 18.75%, #fff 100%);
	margin-bottom: 190px;
}

#index .p-service .l-inner.l-service {
	padding-block: 103px 248px;
}

#index .p-service .p-service__en {
	margin-bottom: 32px;
	text-align: center;
}

#index .p-service .p-service__ttl {
	font-size: 54px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5185185185;
	margin-bottom: 93px;
	text-align: center;
}

#index .p-service .p-service__items {
	display: grid;
	gap: 173px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-service .p-service__item:nth-child(1),
#index .p-service .p-service__item:nth-child(3) {
	position: relative;
}

#index .p-service .p-service__item:nth-child(1):before,
#index .p-service .p-service__item:nth-child(3):before {
	background: #F2F2F2;
	bottom: -71px;
	content: "";
	height: 88.7%;
	position: absolute;
	right: 0;
	width: 91.9%;
}

#index .p-service .p-service__item .content {
	display: grid;
	gap: 0 4%;
	grid-template-columns: 60% 36%;
	margin-bottom: 70px;
	margin-right: auto;
	position: relative;
	width: min(98%, 1600px);
	z-index: 10;
}

#index .p-service .p-service__item .wrap {
  position: relative;
  top: 27px;
}

#index .p-service .p-service__item .icon {
	margin-bottom: 35px;
}

#index .p-service .p-service__item .icon.icon03 {
	margin-bottom: 8px;
}

#index .p-service .p-service__item h3 {
	font-size: clamp(1.625rem, 0.458rem + 2.43vw, 3.375rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5185185185;
	margin-bottom: 8px;
	white-space: nowrap;
}

#index .p-service .p-service__item .txt {
	margin-bottom: 46px;
}

#index .p-service .p-service__item .txt p {
	font-size: clamp(1rem, 0.917rem + 0.17vw, 1.125rem);
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 2.2777777778;
	margin-bottom: 40px;
}

#index .p-service .p-service__item .txt p.bottom {
	margin-bottom: 0;
}

#index .p-service .p-service__item .label {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 536px;
}

#index .p-service .p-service__item .label li {
	background: #016FC6;
	color: #ffffff;
	font-size: 24px;
  font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
	font-weight: 500;
	letter-spacing: 0.079em;
	line-height: 2.5;
	padding-block: 4px;
	text-align: center;
}

/* works
-------------------------------------*/
#index .p-works {
	margin-bottom: 213px;
}

#index .p-works .l-inner.l-works {
	margin-inline: auto;
	width: min(95%, 1600px);
}

#index .p-works .p-works__ttl {
	align-items: flex-end;
	display: flex;
	gap: 0 20px;
	margin-bottom: 50px;
}

#index .p-works .p-works__ttl h2 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.5909090909;
}

#index .p-works .system-list {
	display: grid;
	gap: 49px 95px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 62px;
}

#index .p-works .system-pic {
	margin-bottom: 17px;
}

#index .p-works .system-pic img {
	height: 310px;
}

#index .p-works .system-area {
	background: #016FC6;
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 6px;
	padding-inline: 20px 28px;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

#index .p-works .system-ttl {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.7142857143;
	margin-bottom: 11px;
}

#index .p-works .system-name {
	color: #016FC6;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.7142857143;
}

/* voice
-------------------------------------*/
#index .p-voice {
	margin-bottom: 200px;
}

#index .p-voice .l-inner.l-voice {
	margin-inline: auto;
	width: min(95%, 1600px);
}

#index .p-voice .p-voice__en {
	margin-bottom: -7px;
	text-align: center;
}

#index .p-voice .p-voice__contents {
	background: #ffffff;
	padding-block: 64px 106px;
}

#index .p-voice .p-voice__contents-wrap {
	margin-inline: auto;
	position: relative;
	width: min(95%, 1100px);
}

#index .p-voice .p-voice__ttl {
	align-items: center;
	display: flex;
	gap: 0 184px;
}

#index .p-voice .p-voice__ttl h2 {
	color: #016FC6;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.4117647059;
}

#index .p-voice .p-voice__ttl .link a {
	display: block;
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.6666666667;
	padding-inline: 0 31px;
	position: relative;
}

#index .p-voice .p-voice__ttl .link a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 20px;
	position: absolute;
	right: -7px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
}

#index .p-voice .system-list {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 0;
}

#index .p-voice .system-pic {
	position: absolute;
	right: 0;
	top: 15px;
}

#index .p-voice .system-pic img {
	height: 330px;
	width: 530px;
}

#index .p-voice .system-ttl {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 2;
	margin-bottom: 55px;
	width: 42.7%;
	position: relative;
	top: 41px;
}

#index .p-voice .system-area {
	color: #016FC6;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.375;
	margin-bottom: 31px;
	width: 42.7%;
}

/* faq
-------------------------------------*/
#index .p-faq {
	margin-bottom: 195px;
}

#index .p-faq .l-inner.l-faq {
	margin-inline: auto;
	position: relative;
	width: min(95%, 1600px);
}

#index .p-faq .p-faq__en {
	margin-bottom: 31px;
	text-align: center;
}

#index .p-faq .p-faq__ttl {
	font-size: 54px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5185185185;
	margin-bottom: 68px;
	text-align: center;
}

#index .p-faq .p-faq__items {
	border-top: 2px solid #262626;
}

#index .p-faq .p-faq__item {
	border-bottom: 2px solid #262626;
	padding-block: 50px;
}

#index .p-faq summary {
	display: block;
	margin-inline: auto;
	width: min(95%, 1340px);
}

#index .p-faq summary::-webkit-details-marker {
	display: none;
}

#index .p-faq .p-faq__qu {
	display: block;
	position: relative;
}

#index .p-faq .p-faq__qu::before,
#index .p-faq .p-faq__qu::after {
	background: #262626;
	content: "";
	position: absolute;
	top: 50%;
	translate: 0 -50%;
}

#index .p-faq .p-faq__qu::before {
	height: 2px;
	right: 0px;
	width: 24px;
}

#index .p-faq .p-faq__qu::after {
	height: 24px;
	right: 11px;
	transition: rotate 0.3s ease;
	width: 2px;
}

#index .p-faq details[open] .p-faq__qu::after {
	rotate: 90deg;
}

#index .p-faq .p-faq__qu-txt {
	color: #016FC6;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.4166666667;
	padding-inline: 118px 0;
	position: relative;
	width: min(95%, 1340px);
  margin-inline: auto;
  display: inline-block;
}

#index .p-faq .p-faq__qu-txt:before {
	background: url(../images/index/q.svg) no-repeat center center/contain;
	content: "";
	height: 42px;
	left: 0;
	position: absolute;
	top: 8px;
	width: 28px;
}

#index .p-faq .p-faq__an {
	margin-block: 40px -35px;
}

#index .p-faq .p-faq__an-txt {
	display: block;
	margin-inline: auto;
	padding-inline: 121px 0;
	position: relative;
	width: min(95%, 1340px);
}

#index .p-faq .p-faq__an-txt p {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.4166666667;
	width: min(100%, 1100px);
}

#index .p-faq .p-faq__an-txt:before {
	background: url(../images/index/a.svg) no-repeat center center/contain;
	content: "";
	height: 42px;
	left: 0;
	position: absolute;
	top: 0;
	width: 24px;
}

#index .p-faq .p-faq__btn {
	position: absolute;
	right: 61px;
	top: 82px;
}

#index .p-faq .p-faq__btn a {
	color: #1A1A1A;
	display: inline-block;
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.6666666667;
	padding-inline: 0 36px;
	position: relative;
}

#index .p-faq .p-faq__btn a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 20px;
	position: absolute;
	right: -5px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}

/* bottom
-------------------------------------*/
#index .p-bottom {
	margin-bottom: -188px;
	position: relative;
	background-image:url(../images/index/column-bg.png);
	background-position:0px 0px;
	background-repeat:repeat-y;
}

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 1700px;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
	*/

#index .p-bottom .l-inner.l-bottom {
	padding-block: 90px 188px;
	position: relative;
	z-index: 10;
}

#index .p-bottom .p-bottom__contents {
	display: grid;
	gap: 0 14.8%;
	grid-template-columns: 24.3% minmax(0, 1fr);
	margin-bottom: 224px;
	margin-inline: auto;
	width: min(95%, 1520px);
	position: relative;
	left: -39px;
}

#index .p-bottom .p-bottom__contents-right {
  position: relative;
  top: 73px;
}

#index .p-bottom .p-bottom__en {
	margin-bottom: 33px;
}

#index .p-bottom .p-bottom__ttl {
	font-size: clamp(2.5rem, 1.917rem + 1.22vw, 3.375rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5185185185;
	margin-bottom: 45px;
  white-space: nowrap;
}

#index .p-bottom .p-bottom__link a {
	display: inline-block;
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.6666666667;
	padding-inline: 0 40px;
	position: relative;
}

#index .p-bottom .p-bottom__link a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 16px;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 9px;
}

#index .p-bottom .system-list {
	display: grid;
	gap: 20px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-bottom .system-list li a {
	display: grid;
	gap: 0 36px;
	grid-template-columns: 400px minmax(0, 1fr);
}

#index .p-bottom .system-pic img {
	height: 230px;
}

#index .p-bottom .system-date {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.8;
	/* margin-bottom: 16px; */
}

#index .p-bottom .system-ttl {
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.9;
}

#index .p-bottom .p-bottom__items {
	display: flex;
}

#index .p-bottom .p-bottom__item a {
	display: block;
}

/* btn共通
-------------------------------------*/
#index .c-btn a {
	background: #ffffff;
	border: 1px solid #016FC6;
	color: #016FC6;
	display: block;
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-block: 32px;
	position: relative;
	text-align: center;
  width: min(95%,706px);
  margin-inline: auto;
}

#index .c-btn a::after {
	background: url(../images/index/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 19px;
	position: absolute;
	right: 37px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}

#index .c-btn.aboutus a {
  margin: 0;
}

#index .c-btn.service a {
	margin-inline: auto;
}

#index .c-btn.works a {
	margin-inline: auto;
}

#index .c-btn.voice a {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-inline: 0;
	position: relative;
	width: 42.7%;
	margin: 0;
	padding-block: 16px;
}

#index .c-btn.voice a::after {
	right: 23px;
	top: 50%;
	transform: translateY(-50%);
}

@media (any-hover: hover) {

#index .p-faq .p-faq__qu:hover {
	cursor: pointer;
}

}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
#index .p-mv {
	height: 41.688vw;
	position: relative; 
}

#index .p-mv .p-mv__tel {
	background: #016FC6;
	color: #ffffff;
	padding-block: 1.146vw;
	position: absolute;
	right: 0;
	top: 0.782vw;
	z-index: 10;
}

#index .p-mv .p-mv__slider {
	position: absolute;
	right: 0;
	top: 3.908vw;
	z-index: 1;
}

#index .p-mv .l-inner.l-slider {
	margin: 0;
	margin-left: auto;
	width: 94.685vw;
}


#index .p-mv .p-mv__slider-img {
}

#index .p-mv .p-mv__slider-img img {
  width: 100%;
  margin-left: auto;
}

#index .p-mv .p-mv__ttl {
	bottom: -1.824vw;
	color: #ffffff;
	font-size: 3.439vw;
	font-weight: 700;
	left: 8.859vw;
	letter-spacing: 0.1em;
	line-height: 1.4696969697;
	margin-inline: auto;
	position: absolute;
	width: min(95%, 1600px);
	z-index: 10;
  width: fit-content;
}

#index .p-mv .p-mv__ttl02 {
	bottom: -10.171vw;
	color: #262626;
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
	font-weight: 500;
	left: 8.338vw;
	letter-spacing: 0.12em;
	line-height: 1.8;
	margin-inline: auto;
	position: absolute;
	width: min(95%, 1650px);
	z-index: 10;
  width: fit-content;
}

#index .p-mv .dots-wrap {
	bottom: 0.365vw;
	display: grid;
	gap: 1.407vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: -3.283vw;
	position: absolute;
}

#index .p-mv .dots-wrap li {
	background: #BEBEBE;
	border-radius: 50%;
	cursor: pointer;
	height: 1.042vw;
	margin: 0;
	width: 1.042vw;
}

#index .p-news {
	color: #1A1A1A;
	margin-bottom: 13.184vw;
	position: relative;
	right: 3.127vw;
	top: -1.615vw;
	z-index: 10;
}

#index .p-news .p-news__contents {
	align-items: center;
	background: #F2F2F2;
	display: flex;
	gap: 0 1.824vw;
	margin-left: auto;
	padding-block: 1.094vw;
	padding-inline: 1.98vw 2.345vw;
}

#index .p-news .p-news__contents-left {
	border-right: 1px solid #D9D9D9;
	display: grid;
	gap: 0px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding-inline: 0 2.032vw;
}

#index .p-news .system-list a {
	display: flex;
	gap: 0 1.251vw;
}

#index .p-bottom .p-bottom__item a img {
  width: 100%;
  height: auto;        
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
#index .p-service .p-service__item .content .img img {
  width: 100%;
  height: auto;        
}

#index .p-service .p-service__item .label {
	display: grid;
	gap: 0.529vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

#index .p-bottom .p-bottom__contents {
	display: grid;
	gap: 0 14.8%;
	grid-template-columns: 24.3% minmax(0, 1fr);
	margin-bottom: 13.706vw;
	margin-inline: auto;
	width: min(95%, 1520px);
	position: relative;
	left: 0vw;
}

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 100vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
*/

#index .p-bnr .l-inner.l-bnr {
	padding-block: 20.882vw 9.412vw;
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
#index .p-voice .p-voice__en img {
  width: 90%;
}

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 105vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
	*/


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1450px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1450px) {
#index .p-aboutus .p-aboutus__contents {
  gap: 0 2vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
#index .p-mv .p-mv__en img {
  width: 56%;
}
}

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

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 110vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
	*/

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
#index .p-news {
	right: 0.5vw;
}

#index .p-news .p-news__contents {
	width: 48%;
  padding-inline: 1vw;
}

#index .p-mv .p-mv__ttl02 {
  bottom: -13vw;
}

#index .p-bottom .system-list li a {
	display: grid;
	gap: 0 2.769vw;
	grid-template-columns: 30.7vw minmax(0, 1fr);
}

#index .p-bottom .system-pic img {
	height: 17.692vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
#index .p-voice .system-pic img {
	height: 30vw;
	width: 43.182vw;
}

#index .p-voice .p-voice__ttl {
	align-items: center;
	display: flex;
	gap: 0 13.727vw;
}

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 120vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
*/

#index .p-works .system-list {
  display: grid;
	gap: 4.455vw 4.636vw;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 5.636vw;
}

#index .p-works .system-pic img {
	height: 24.182vw;
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1050px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1050px) {
#index .p-mv .dots-wrap {
  left: -2.5vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 130vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 81.25%;
}
	*/

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:850px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:850px) {
#index .p-mv .p-mv__ttl {
  left: 5.8vw;
}

#index .p-mv .p-mv__ttl02 {
  left: 6.3vw;
}

#index .p-mv .p-mv__tel {
	width: 300px;
}

#index .p-news .p-news__contents {
  width: 51%;
}

#index .p-voice .p-voice__ttl {
	align-items: center;
	display: flex;
	gap: 0 6.727vw;
}

#index .p-faq .p-faq__qu-txt {
	color: #016FC6;
	font-size: 2.824vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.4166666667;
	padding-inline: 7.882vw 0;
	position: relative;
}

#index .p-faq .p-faq__an-txt {
	display: block;
	margin-inline: auto;
	padding-inline: 7.882vw 0;
	position: relative;
	width: min(95%, 1340px);
}

}


/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
#index .p-mv {
	height: 96.618vw;
	margin-bottom: 34.155vw;
	position: relative;
}

#index .p-mv .l-inner {
	margin-inline: auto;
	width: 100%;
}

#index .p-mv .p-mv__en {
	margin-inline: auto;
	position: relative;
	width: min(95%, 94.2vw);
	z-index: 10;
}

#index .p-mv .p-mv__en img {
	height: auto;
	width: 74.638vw;
}

#index .p-mv .p-mv__slider {
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 5.797vw;
	z-index: 1;
}

#index .p-mv .l-inner.l-slider {
	margin: 0;
	margin-left: auto;
	width: min(95%, 91.0628019324vw);
  height: 95.411vw;
}

#index .p-mv .p-mv__slider-img {
	text-align: right;
}

#index .p-mv .p-mv__slider-img img {
  /* height: 95.411vw; */
  height: 100%;
}

#index .p-mv .p-mv__ttl {
	bottom: -3vw;
	color: #ffffff;
	font-size: 5.556vw;
	font-weight: 600;
	left: 13vw;
	letter-spacing: 0.08em;
	line-height: 1.347826087;
	margin-inline: auto;
	position: absolute;
	width: min(95%, 72.9468599034vw);
	z-index: 10;
}

.p-mv .p-mv__ttl02 {
	bottom: -24vw;
	color: #262626;
	font-size: 3.382vw;
	font-weight: 500;
	left: 2.899vw;
	letter-spacing: 0.12em;
	line-height: 2;
	position: absolute;
}

#index .p-mv .dots-wrap {
	bottom: 1vw;
	display: grid;
	gap: 3.623vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: -6vw;
	position: absolute;
}

#index .p-mv .dots-wrap li {
	background: #BEBEBE;
	border-radius: 50%;
	cursor: pointer;
	height: 3.382vw;
	margin: 0;
	width: 3.382vw;
}

#index .p-mv .dots-wrap li:hover,
#index .p-mv .dots-wrap li.slick-active {
	background: #016FC6;
}

#index .p-mv .dots-wrap li button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	outline: none;
	padding: 0;
}

#index .p-mv .add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

/* news
-------------------------------------*/
#index .p-news {
	color: #1A1A1A;
	margin-bottom: 24.362vw;
	position: static;
}

#index .p-news .p-news__contents {
	background: #F2F2F2;
	display: grid;
	gap: 2.039vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 89.3vw);
}

#index .p-news .p-news__contents-left {
	align-items: center;
	border-bottom: 1px solid #D9D9D9;
	border-right: none;
	display: flex;
	justify-content: space-between;
	padding-block: 0 2.174vw;
	/* padding-inline: 0 1.2vw; */
}

.p-news .p-news__btn a {
	color: #1A1A1A;
	font-size: 3.623vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.6666666667;
	padding-inline: 0 5.865vw;
	position: relative;
	top: 1vw;
}

#index .p-news .p-news__btn a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 2.932vw;
	position: absolute;
	right: 0vw;
	top: 1.3vw;
	width: 3.208vw;
}

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

#index .p-news .system-list a {
	display: grid;
	gap: 0px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-news .system-date {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.8571428571;
}

#index .p-news .system-ttl {
	color: #1A1A1A;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.09em;
	line-height: 1.7857142857;
  margin-bottom: 0;
}

/* aboutus
-------------------------------------*/
#index .p-aboutus {
	margin-bottom: 24.155vw;
}

#index .p-aboutus .l-inner.l-aboutus {
	width: 100%;
}

#index .p-aboutus .p-aboutus__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-aboutus .p-aboutus__contents-left {
	display: contents;
}

#index .p-aboutus .p-aboutus__en {
	margin-bottom: 5.831vw;
	margin-inline: auto;
	order: 1;
	width: min(95%, 89.3vw);
}

#index .p-aboutus .p-aboutus__en img {
  width: 32vw;
}


.p-aboutus .p-aboutus__items {
	align-items: center;
	display: flex;
	gap: 0 3.382vw;
	margin-bottom: 5.213vw;
	margin-inline: auto;
	order: 2;
	width: min(95%, 89.3vw);
}

#index .p-aboutus .p-aboutus__item {
	background: #016FC6;
	color: #ffffff;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.079em;
	line-height: 2;
	padding-block: 0.5vw;
	text-align: center;
	width: 28.986vw;
}

#index .p-aboutus .p-aboutus__ttl {
	font-size: 8.213vw;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.6764705882;
	margin-bottom: 6.662vw;
	margin-inline: auto;
	order: 3;
	width: min(95%, 89.3vw);
}

#index .p-aboutus .p-aboutus__txt {
	margin-bottom: 11.319vw;
	margin-inline: auto;
	order: 5;
	width: min(95%, 89.3vw);
}

#index .p-aboutus .p-aboutus__txt p {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.375;
	margin-bottom: 9.729vw;
}

#index .p-aboutus .p-aboutus__txt p.center {
  margin-bottom: 7vw;
}

#index .p-aboutus .p-aboutus__txt p.bottom {
	font-size: 5.314vw;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.7272727273;
	margin-bottom: 0;
}

#index .p-aboutus .p-aboutus__contents-right {
	order: 4;
}

#index .p-aboutus .p-aboutus__loop {
	height: 43.478vw;
	margin-bottom: 5.246vw;
	overflow: hidden;
}

#index .p-aboutus .p-aboutus__loop-wrap {
	align-items: center;
	animation: scroll-left 90s linear infinite;
	display: flex;
	gap: 0 2.415vw;
	width: 497.585vw;
}

#index .p-aboutus .p-aboutus__slider img {
	height: 100%;
	width: 248.792vw;
	-o-object-fit: cover;
	object-fit: cover;
}

/* service
-------------------------------------*/
#index .p-service {
	background: linear-gradient(90deg, #F2F2F2 0%, #F2F2F2 5.3%, #fff 5.3%, #fff 100%);
	margin-bottom: 27.155vw;
}

#index .p-service .l-inner.l-service {
	padding-block: 13.285vw 33.531vw;
}

#index .p-service .p-service__en {
	margin-bottom: 1.28vw;
	text-align: center;
}

#index .p-service .p-service__en img {
  width: 26vw;
}

#index .p-service .p-service__ttl {
	font-size: 7.246vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.7333333333;
	margin-bottom: 4.87vw;
	text-align: center;
}

#index .p-service .p-service__items {
	display: grid;
	gap: 26.57vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-service .p-service__item:nth-child(1),
#index .p-service .p-service__item:nth-child(3) {
	position: relative;
}

#index .p-service .p-service__item:nth-child(1):before,
#index .p-service .p-service__item:nth-child(3):before {
	background: #F2F2F2;
	bottom: -12.802vw;
	content: "";
	height: 84.9%;
	position: absolute;
	right: 0;
	width: 100%;
}

#index .p-service .p-service__item .content {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin: 0;
	margin-bottom: 7.488vw;
	position: relative;
	width: 100%;
	z-index: 10;
}

.p-service .p-service__item .img {
	margin-bottom: -8.662vw;
}

.p-service .p-service__item .img img {
	height: auto;
	width: 94.686vw;
}

#index .p-service .p-service__item .wrap {
	margin-inline: auto;
	width: min(95%, 82.1vw);
}

#index .p-service .p-service__item .icon {
	margin-bottom: -15.662vw;
	text-align: center;
}

#index .p-service .p-service__item .icon.icon03 {
	margin-bottom: -14.662vw;
}

#index .p-service .p-service__item h3 {
	font-size: 6.28vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 3.1538461538;
	margin-bottom: -1.961vw;
	text-align: center;
}

#index .p-service .p-service__item .txt {
	margin-bottom: 6.488vw;
}

#index .p-service .p-service__item .txt p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.2857142857;
	margin-bottom: 7.729vw;
}

#index .p-service .p-service__item .txt p.bottom {
	margin-bottom: 0;
}

#index .p-service .p-service__item .label {
	display: grid;
	gap: 2.415vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

#index .p-service .p-service__item .label li {
	background: #016FC6;
	color: #ffffff;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.079em;
	line-height: 2;
	padding-block: 0.966vw;
	text-align: center;
}

/* works
-------------------------------------*/
#index .p-works {
	margin-bottom: 19.493vw;
}

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

#index .p-works .p-works__ttl {
	align-items: flex-end;
	display: flex;
	gap: 0 3.14vw;
	margin-bottom: 5.831vw;
	padding-inline: 2vw 0;
}

#index .p-works .p-works__ttl .en img {
	height: auto;
	width: 37.681vw;
}

#index .p-works .p-works__ttl h2 {
	font-size: 3.865vw;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.5625;
  position: relative;
  top: 1vw;
}

#index .p-works .system-list {
	display: grid;
	gap: 7.937vw 2.415vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 13.734vw;
}

#index .p-works .system-pic {
	margin-bottom: 2.623vw;
}

#index .p-works .system-pic img {
	height: 30.193vw;
}

#index .p-works .system-area {
	background: #016FC6;
	color: #ffffff;
	font-size: 2.657vw;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 2;
	margin-bottom: 2.415vw;
	padding-inline: 2.5vw 3.5vw;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

#index .p-works .system-ttl {
	font-size: 2.657vw;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.8181818182;
	margin-bottom: 4.971vw;
}

#index .p-works .system-name {
	color: #016FC6;
	font-size: 2.657vw;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.8181818182;
}

/* voice
-------------------------------------*/
#index .p-voice {
	margin-bottom: 22.739vw;
}

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

#index .p-voice .p-voice__en {
	margin-bottom: -0.966vw;
	text-align: center;
}

#index .p-voice .p-voice__contents {
	background: #ffffff;
	padding-block: 6.937vw 11.111vw;
}

#index .p-voice .p-voice__contents-wrap {
	margin-inline: auto;
	position: static;
	width: min(95%, 82.1vw);
}

#index .p-voice .p-voice__ttl {
	align-items: flex-end;
	display: flex;
	gap: 0;
	justify-content: space-between;
	margin-bottom: 3.797vw;
}

#index .p-voice .p-voice__ttl h2 {
	color: #016FC6;
	font-size: 6.28vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

#index .p-voice .p-voice__ttl .link a {
	display: block;
	font-size: 3.623vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.6;
	padding-inline: 0 5.072vw;
	position: relative;
}

#index .p-voice .p-voice__ttl .link a::after {
	background: url(../images/index/btn_arrow_bl.svg) no-repeat center center/contain;
	content: "";
	height: 2vw;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 2.2vw;
}

#index .p-voice .system-list {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 0;
}

#index .p-voice .system-pic {
	margin-bottom: 3.623vw;
	position: static;
}

#index .p-voice .system-pic img {
	height: 50.725vw;
	width: 100%;
}

#index .p-voice .system-ttl {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.7142857143;
	margin-bottom: 2.246vw;
	width: 100%;
}

#index .p-voice .system-area {
	color: #016FC6;
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.7142857143;
	margin-bottom: 5.937vw;
	width: 100%;
}

/* faq
-------------------------------------*/
#index .p-faq {
	margin-bottom: 28.986vw;
}

#index .p-faq .l-inner.l-faq {
	margin-inline: auto;
	position: static;
	width: min(95%, 89.3vw);
}

#index .p-faq .p-faq__en {
	margin-bottom: 0.28vw;
	text-align: center;
}

#index .p-faq .p-faq__en img {
  width: 12vw;
}

#index .p-faq .p-faq__ttl {
	font-size: 7.246vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.7333333333;
	margin-bottom: 2.213vw;
	text-align: center;
}

#index .p-faq .p-faq__items {
	border-top: 2px solid #262626;
	margin-bottom: 10.87vw;
}

#index .p-faq .p-faq__item {
	border-bottom: 2px solid #262626;
	padding-block: 10.488vw;
}

#index .p-faq summary {
	display: block;
	width: 100%;
}

#index .p-faq summary::-webkit-details-marker {
	display: none;
}

#index .p-faq .p-faq__qu {
	display: block;
	position: relative;
}

#index .p-faq .p-faq__qu::before,
#index .p-faq .p-faq__qu::after {
	background: #262626;
	content: "";
	position: absolute;
	top: 4vw;
	translate: none;
}

#index .p-faq .p-faq__qu::before {
	height: 0.483vw;
	right: 0px;
	width: 4.348vw;
}

#index .p-faq .p-faq__qu::after {
	height: 4.348vw;
	right: 1.932vw;
	top: 2vw;
	transition: rotate 0.3s ease;
	width: 0.483vw;
}

#index .p-faq details[open] .p-faq__qu::after {
	rotate: 90deg;
}

#index .p-faq .p-faq__qu-txt {
	color: #016FC6;
	display: inline-block;
	font-size: 4.348vw;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.7777777778;
	padding-inline: 10.386vw 0;
	position: relative;
	width: 79.71vw;
}

#index .p-faq .p-faq__qu-txt:before {
	background: url(../images/index/q.svg) no-repeat center center/contain;
	content: "";
	height: 8.213vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 5.797vw;
}

#index .p-faq .p-faq__an {
	margin-block: 5.87vw -6vw;
}

#index .p-faq .p-faq__an-txt {
	display: block;
	padding-inline: 10.386vw 0;
	width: 100%;
  position: relative;
}

#index .p-faq .p-faq__an-txt p {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 2.25;
	width: 75.362vw;
}

#index .p-faq .p-faq__an-txt:before {
	background: url(../images/index/a.svg) no-repeat center center/contain;
	content: "";
	height: 8.213vw;
	left: 0;
	position: absolute;
	top: 1vw;
	width: 5.797vw;
}

#index .p-faq .p-faq__btn {
	position: static;
	text-align: center;
}

#index .p-faq .p-faq__btn a {
	background: #ffffff;
	border: 1px solid #016FC6;
	color: #016FC6;
	font-size: 3.623vw;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 2;
	margin-inline: auto;
	padding-block: 4.865vw;
	padding-inline: 0;
	text-align: center;
	width: min(100%, 89.3vw);
	display: inline-block;
	position: relative;
}

#index .p-faq .p-faq__btn a::after {
	background: url(../images/index/btn_arrow_sp.svg) no-repeat center center/contain;
	content: "";
	height: 2.899vw;
	position: absolute;
	right: 2.623vw;
	top: 50%;
	transform: translateY(-50%);
	width: 2.691vw;
}

/* bottom
-------------------------------------*/
#index .p-bottom {
	margin-bottom: -27.155vw;
	position: relative;
	background-image:url(../images/index/column-bg_sp.png);
	background-position:0px 0px;
	background-repeat:repeat-y;
	background-size:contain;
}

/*
#index .p-bottom:before {
	background: #ffffff;
	content: "";
	height: 444.444vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 94.6859903382vw;
}
	*/

#index .p-bottom .l-inner.l-bottom {
	padding-block: 15.459vw 26.57vw;
	position: relative;
}

.p-bottom .p-bottom__contents {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 6.527vw;
	width: 100%;
}

#index .p-bottom .p-bottom__contents-left {
	display: contents;
}

#index .p-bottom .p-bottom__en {
	margin-bottom: 4.28vw;
	margin-inline: auto;
	order: 1;
	width: min(95%, 88.748792vw);
}

#index .p-bottom .p-bottom__en img {
  width: 27vw;
}

#index .p-bottom .p-bottom__ttl {
	font-size: 7.246vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.7333333333;
	margin-bottom: 5.454vw;
	margin-inline: auto;
	order: 2;
	width: min(95%, 88.748792vw);
}

#index .p-bottom .p-bottom__link {
  margin-bottom: 17vw;
}

#index .p-bottom .p-bottom__link a {
	background: #ffffff;
	border: 0.2vw solid #016FC6;
	color: #016FC6;
	display: block;
	font-size: 3.623vw;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 2;
	margin-inline: auto;
	padding-block: 4.865vw;
	position: relative;
	text-align: center;
	width: min(95%, 89.3vw);
}

#index .p-bottom .p-bottom__link a::after {
	background: url(../images/index/btn_arrow_sp.svg) no-repeat center center/contain;
	content: "";
	height: 2.899vw;
	position: absolute;
	right: 3.865vw;
	top: 50%;
	transform: translateY(-50%);
	width: 1.691vw;
}

#index .p-bottom .p-bottom__contents-right {
	margin-bottom: 0vw;
	padding-inline: 5vw 0;
	order: 3;
	width: min(95%, 90.748792vw);
}

#index .p-bottom .system-list {
	display: grid;
	gap: 4.111vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-bottom .system-list li a {
	display: grid;
	gap: 1.831vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-bottom .system-pic {
  margin-bottom: 0;
}

#index .p-bottom .system-pic img {
	height: 49.275vw;
}

#index .p-bottom .system-date {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 2.8571428571;
	margin-bottom: 2.657vw;
}

#index .p-bottom .system-ttl {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.09em;
	line-height: 1.7857142857;
}

#index .p-bottom .p-bottom__items {
	display: grid;
	gap: 6.039vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#index .p-bottom .p-bottom__item a {
	display: block;
}

/* btn共通
-------------------------------------*/
#index .c-btn a {
	background: #ffffff;
	border: 1px solid #016FC6;
	color: #016FC6;
	display: block;
	font-size: 3.623vw;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 2;
	margin-inline: auto;
	padding-block: 4.865vw;
	padding-inline: 0;
	position: relative;
	text-align: center;
	width: min(95%, 89.3vw);
}

#index .c-btn a::after {
	background: url(../images/index/btn_arrow_sp.svg) no-repeat center center/contain;
	content: "";
	height: 2.899vw;
	position: absolute;
	right: 2.623vw;
	top: 50%;
	transform: translateY(-50%);
	width: 2.691vw;
}

#index .c-btn.aboutus {
	order: 6;
}

#index .c-btn.service a {
	margin-inline: auto;
}

#index .c-btn.works a {
	margin-inline: auto;
}

#index .c-btn.voice a {
	font-size: 3.623vw;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 2;
	position: relative;
	width: 100%;
}

#index .c-btn.voice a::after {
	height: 2.899vw;
	right: 4.106vw;
	top: 50%;
	transform: translateY(-50%);
	width: 1.691vw;
}


}