@charset "UTF-8";

/* ========================================
  @media screen and (min-width: 768px),print 
======================================== */
@media screen and (min-width: 768px), print {
#aboutus .p-header__mv {
	margin-bottom: 70px;
}

.p-mv {
	background: url(../images/aboutus/mv_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.p-mv .l-inner.l-mv {
	padding-block: 100px 173px;
}

.p-mv .p-mv__contents {
	color: #ffffff;
}

.p-mv .p-mv__contents h2 {
	font-size: clamp(3rem, 2.5rem + 1.04vw, 3.75rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-bottom: 23px;
	text-align: center;
}

.p-mv .p-mv__contents p {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8636363636;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 1060px);
}

.p-fv {
  margin-bottom: 40px;
}

.p-fv .l-inner.l-fv {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 168px 160px;
	position: relative;
	top: -82px;
	width: min(95%, 1600px);
}

.p-fv .p-fv__ttl {
	color: #016FC6;
	font-size: 48px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.25;
	margin-bottom: 100px;
	padding-bottom: 34px;
	position: relative;
	text-align: center;
}

.p-fv .p-fv__ttl::after {
	background: #016FC6;
	bottom: 0;
	content: "";
	height: 2px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100px;
}

.p-fv .p-fv__items {
	display: grid;
	gap: 98px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin: 0 calc(50% - 50vw);
	margin-bottom: 113px;
	width: 100vw;
}

.p-fv .p-fv__items.bottom {
  margin-bottom: 0;
}

.p-fv .p-fv__item {
	align-items: center;
	display: grid;
	gap: 0 5.0632911392%;
	grid-template-columns: 60.7% minmax(0, 1fr);
	margin-right: auto;
	width: min(95%, 1580px);
}

.p-fv .p-fv__item.reverse {
	grid-template-columns: minmax(0, 1fr) 60.7%;
	margin: 0;
	margin-left: auto;
	width: min(95%, 1580px);
  align-items: flex-start;
}

.p-fv .p-fv__item .wrap h3 {
	font-size: clamp(2.188rem, 1.396rem + 1.65vw, 3.375rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5185185185;
	margin-bottom: 30px;
  white-space: nowrap;
}

.p-fv .p-fv__item .wrap h3 span {
	display: block;
	font-size: clamp(1.625rem, 1.458rem + 0.35vw, 1.875rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 0px;
}

.p-fv .p-fv__item .wrap h3 span.bottom {
	font-size: clamp(2.188rem, 1.396rem + 1.65vw, 3.375rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5185185185;
	margin-bottom: 0px;
  white-space: nowrap;
  position: relative;
  left: -31px;
}

.p-fv .p-fv__item .wrap .txt p {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 2.125;
	margin-bottom: 26px;
}

.p-fv .p-fv__item .wrap .txt p.bottom {
	color: #016FC6;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 2.125;
	margin-bottom: 0;
}

.p-fv .p-fv__item .wrap .list {
	display: grid;
	gap: 15px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 40px;
	width: 400px;
}

.p-fv .p-fv__item .wrap .list li {
	border-bottom: 1px dashed #8F8F8F;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.5;
	padding-bottom: 7px;
	padding-left: 56px;
	position: relative;
}

.p-fv .p-fv__item .wrap .list li:before {
	background: url(../images/aboutus/check.svg) no-repeat center center/contain;
	content: "";
	height: 20px;
	left: 19px;
	position: absolute;
	top: 9px;
	width: 26px;
}

.p-fv .p-fv__item .wrap .list li span {
	color: #016FC6;
}

.p-link {
	margin-bottom: 158px;
}

.p-link .l-inner.l-link {
	background: #ffffff;
	border: 10px solid #E2E2E2;
	margin-inline: auto;
	padding-block: 63px 66px;
	width: min(95%, 1400px);
}

.p-link .p-link__ttl {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 22px;
	text-align: center;
}

.p-link .p-link__items {
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 48px;
	margin-inline: auto;
	width: min(95%, 1280px);
}

.p-link .p-link__item .img {
	margin-bottom: 10px;
}

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

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

.p-link .p-link02__item .img {
	margin-bottom: 20px;
}

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

.p-link .p-link02__item p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
}

}

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

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
.p-fv .p-fv__item .wrap h3 span.bottom {
  position: relative;
  left: -1.8vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1450px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1450px) {
.p-link .p-link__item .img img {
  width: 100%;
  height: auto;        
}

}

/* ========================================
@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 {
	align-items: flex-start;
  grid-template-columns: 55% minmax(0, 1fr);

}

.p-fv .p-fv__item.reverse {
  grid-template-columns: minmax(0, 1fr) 55%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
.p-fv .p-fv__item .wrap .list {
  width: 40vw;
}

}


/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#aboutus .p-header__mv {
	margin-bottom: 4.324vw;
}

#aboutus .p-header__mv .p-header__mv-contents-left .en img {
	height: auto;
	width: 66.836vw;
}

.p-mv {
	background: url(../images/aboutus/mv_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	width: 100%;
}

.p-mv .l-inner.l-mv {
	padding-block: 13.184vw 21.739vw;
}

.p-mv .p-mv__contents {
	color: #ffffff;
}

.p-mv .p-mv__contents h2 {
	font-size: 6.28vw;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6538461538;
	text-align: center;
  margin-bottom: 7vw;
  position: relative;
  left: 2vw;
}

.p-mv .p-mv__contents p {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.875;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 89.3vw);
}

.p-fv .l-inner.l-fv {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 10.111vw 20.773vw;
	position: relative;
	top: -12.662vw;
	width: min(95%, 94.2vw);
}

.p-fv .p-fv__ttl {
	color: #016FC6;
	font-size: 5.797vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-bottom: 6.454vw;
	padding-bottom: 3.5vw;
	position: relative;
	text-align: center;
}

.p-fv .p-fv__ttl::after {
	background: #016FC6;
	bottom: 0;
	content: "";
	height: 0.242vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 19.324vw;
}

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

.p-fv .p-fv__items.bottom {
  margin-bottom: 0;
}

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

.p-fv .p-fv__item.reverse {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 84.5410628019vw);
}

.p-fv .p-fv__item .img {
	margin-bottom: 3.831vw;
	order: 2;
	text-align: center;
}

.p-fv .p-fv__item .wrap {
	display: contents;
}

.p-fv .p-fv__item .wrap h3 {
	font-size: 7.246vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5333333333;
	margin-bottom: 4.039vw;
	order: 1;
}

.p-fv .p-fv__item .wrap h3 span {
	display: block;
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 0.8vw;
}

.p-fv .p-fv__item .wrap h3 span.bottom {
	font-size: 7.246vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5333333333;
	margin-bottom: 0vw;
  position: relative;
  left: -4vw;
}

.p-fv .p-fv__item .wrap .txt {
	order: 3;
}

.p-fv .p-fv__item .wrap .txt p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.2857142857;
	margin-bottom: 3.696vw;
}

.p-fv .p-fv__item .wrap .txt p.bottom {
	color: #016FC6;
	font-size: 3.382vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.2857142857;
	margin-bottom: 0;
}

.p-fv .p-fv__item .wrap .list {
	display: grid;
	gap: 3vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 6.246vw;
	margin-inline: auto;
	width: min(100%, 85.0241545894vw);
}

.p-fv .p-fv__item .wrap .list li {
	border-bottom: 1px dashed #8F8F8F;
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.5;
	padding-bottom: 1.348vw;
	padding-left: 8.797vw;
  white-space: nowrap;
	position: relative;
}

.p-fv .p-fv__item .wrap .list li:before {
	background: url(../images/aboutus/check.svg) no-repeat center center/contain;
	content: "";
	height: 3.382vw;
	left: 3.5vw;
	position: absolute;
	top: 2.932vw;
	width: 4.348vw;
}

.p-fv .p-fv__item .wrap .list li span {
	color: #016FC6;
}

.p-link {
  margin-bottom: 30vw;
}

.p-link .l-inner.l-link {
	border: 4px solid #E2E2E2;
	padding-block: 12.942vw 15.184vw;
	width: 100%;
  background: #fff;
}

.p-link .p-link__ttl {
	font-size: 5.314vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 2.971vw;
	text-align: center;
}

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

.p-link .p-link__item .img {
	margin-bottom: 4.865vw;
}

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

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

.p-link .p-link02__item .img {
	margin-bottom: 3.865vw;
}

.p-link .p-link02__item p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
}

}