@charset "UTF-8";

@media screen and (min-width: 768px),print {
.p-fv {
	padding: 18px 0 0;
	margin: -22px 0 120px;
}

.l-inner.l-fv {
	padding: 64px 0px 0px;
}

.p-fv__contents {
	display: grid;
	gap: 0 clamp(0.5rem, -0.4166666667rem + 1.9097222222vw, 1.875rem);
	grid-template-columns: 845px 960px;
	justify-content: flex-end;
}

.p-fv__en {
	margin-bottom: 60px;
}

.p-fv__en img {
	height: auto;
	width: 242px;
}

.p-fv__ttl {
	border-right: 1px solid #323232;
	border-top: 1px solid #323232;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7;
	margin-bottom: -4px;
	padding: 7px 9px 0 9px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 1px dotted #323232;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 2;
	margin-bottom: 22px;
	width: min(95%, 400px);
}

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

.p-fv__contents-left {
	background: url(../images/service/fv_bg.png) no-repeat top center / cover;
	width: 100%;
	margin-inline: auto;
	height: 547px;
	padding: 80px 96px 0;
	position: relative;
	right: -180px;
}

.p-fv__contents-left::after {
	content: "";
	position: absolute;
	background: url(../images/service/human.png) no-repeat center center / contain;
	width: 167px;
	height: 172px;
	right: 109px;
	bottom: 54px;
	z-index: 10;
}

.p-fv__contents-right {
	position: relative;
	top: -63px;
}

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

.p-bottom {
	background: url(../images/service/bottom_bg.png) no-repeat top center/cover;
	height: 260px;
	margin-bottom: -179px;
	margin-inline: auto;
	position: relative;
	width: min(95%, 800px);
}

.p-bottom::after {
	background: url(../images/service/coffee.png) no-repeat center center/contain;
	bottom: 22px;
	content: "";
	height: 89px;
	position: absolute;
	right: 55px;
	width: 151px;
}

.l-inner.l-bottom {
	padding: 28px 0 46px;
}

.p-bottom__logo h2 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.5625;
	margin-bottom: 7px;
	text-align: center;
}

.p-bottom__logo p {
	text-align: center;
}

.p-bottom__logo p img {
	height: auto;
	width: 234px;
}

/* common link -------------------------------------*/
.p-link {
	background: #F1EDE3;
	margin-bottom: 160px;
	margin-inline: auto;
	width: min(100%, 1920px);
}

.l-inner.l-link {
	margin-inline: auto;
	padding: 184px 0 84px;
	width: min(95%, 1400px);
}

.p-link__items {
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-link__item a {
	display: inline-block;
}

.p-link__item a img {
	height: auto;
	margin-bottom: 5px;
	width: 100%;
}

.p-link__item a p {
	font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	text-align: center;
}

.p-point01 {
	margin-bottom: 120px;
	overflow: hidden;
}

.p-point__contents {
	align-items: center;
	display: flex;
	gap: 0 28px;
	justify-content: center;
	margin-bottom: -25px;
	position: relative;
	z-index: 20;
}

.p-point__contents-left img {
	height: auto;
	width: 96px;
}

.p-point__contents-right {
	/* text-align: center; */
}

.p-point__contents-right span {
	display: block;
}

.p-point__contents-right span.top {
	color: #BC9025;
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-bottom: 8px;
}

.p-point__contents-right span.bottom {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-point__contents02 {
	background: #fff;
	display: grid;
	gap: 0 clamp(1rem, -0.8333333333rem + 3.8194444444vw, 3.75rem);
	grid-template-columns: 480px 560px;
	margin-bottom: -72px;
	margin-inline: auto;
	padding: 80px 70px 65px;
	position: relative;
	width: min(95%, 1240px);
	z-index: 10;
}

.p-point__contents02.reverse {
	grid-template-columns: 560px 480px;
	margin-bottom: -6px;
	background: none;
	padding: 85px 70px 65px;
}

.p-point__contents02-left.reverse h3 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8333333333;
	margin-bottom: 14px;
}

.p-point__contents02-left.reverse p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

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

.p-point__contents02-right {
	position: relative;
	top: -8px;
}

.p-point__contents02-left.reverse {
	position: relative;
	top: -16px;
}

.p-point__contents02-right.reverse img {
	width: 100%;
	height: auto;        
}

.p-point__contents02-right h3 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8333333333;
	margin-bottom: 18px;
}

.p-point__contents02-right p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__img {
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 2340px;
}

.p-point__img img {
	height: auto;
	width: 100%;
  vertical-align: bottom;
}

.p-point02 {
	background: #F4F4F4;
	margin-bottom: 134px;
	margin-inline: auto;
	width: min(100%, 1920px);
	overflow: hidden;
}

.l-inner.l-point02 {
	padding: 95px 0 0;
}

}

@media screen and (min-width:768px) and ( max-width:1919px) {
.p-point__img {
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 121.939vw;
}

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

@media screen and (min-width:768px) and ( max-width:1700px) {
.p-fv {
	padding: 1.059vw 0 0;
	margin: -1.294vw 0 7.059vw;
}

.l-inner.l-fv {
	padding: 3.765vw 0px 0px;
}

.p-fv__contents {
	display: grid;
	gap: 0 clamp(0.5rem, -0.4166666667rem + 1.9097222222vw, 1.875rem);
	grid-template-columns: 49.706vw 56.471vw;
	justify-content: flex-end;
}

.p-fv__en {
	margin-bottom: 3.529vw;
}

.p-fv__en img {
	height: auto;
	width: 14.235vw;
}

.p-fv__ttl {
	border-right: 1px solid #323232;
	border-top: 1px solid #323232;
	font-size: 1.176vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7;
	margin-bottom: -0.235vw;
	padding: 0.412vw 0.529vw 0 0.529vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 1px dotted #323232;
	font-size: 1.882vw;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 2;
	margin-bottom: 1.294vw;
	width: min(95%, 400px);
}

.p-fv__txt02 {
	font-size: clamp(0.625rem, 0.419rem + 0.43vw, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-fv__contents-left {
	background: url(../images/service/fv_bg.png) no-repeat top center / cover;
	width: 100%;
	margin-inline: auto;
	height: 32.176vw;
	padding: 4.706vw 5.647vw 0;
	position: relative;
	right: -10.588vw;
}

.p-fv__contents-left::after {
	content: "";
	position: absolute;
	background: url(../images/service/human.png) no-repeat center center / contain;
	width: 9.824vw;
	height: 10.118vw;
	right: 7vw;
	bottom: 3.412vw;
	z-index: 10;
}

.p-fv__contents-right {
	position: relative;
	top: -3.706vw;
}

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

@media screen and (min-width:768px) and ( max-width:1450px) {
.p-fv__contents {
	grid-template-columns: 49.706vw 51.471vw;
}

.p-fv__contents-left::after {
	content: "";
	position: absolute;
	background: url(../images/service/human.png) no-repeat center center / contain;
	width: 9.824vw;
	height: 10.118vw;
	right: 4vw;
	bottom: 3.412vw;
	z-index: 10;
}
}

@media screen and (min-width:768px) and ( max-width:1250px) {
.p-point__contents02 {
	grid-template-columns: 38.4vw 44.8vw;	
	padding: 80px clamp(0.875rem, -4.702rem + 11.62vw, 4.375rem) 65px;
}
.p-point__contents02.reverse {
	grid-template-columns: 44.8vw 38.4vw;
	margin-bottom: -0.48vw;
	background: none;
	padding: 85px clamp(0.875rem, -4.702rem + 11.62vw, 4.375rem) 65px;
}

}

@media screen and (min-width:768px) and ( max-width:1000px) {
.p-fv__contents-left {
	padding: 2vw 5vw 0;
	right: -6vw;
}
.p-fv__en {
	margin-bottom: 1.529vw;
}
}



@media screen and (max-width: 767px) {
.p-fv {
	margin-bottom: 10vw;
}

.l-inner.l-fv {
	margin: 0;
	padding: 0;
	width: 100%;
}

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

.p-fv__contents-left {
	order: 2;
	background: url(../images/service/sp_fv_bg.png) no-repeat top center / cover;
	width: 91.787vw;
	margin-inline: auto;
	height: 118.179vw;
	padding: 26.498vw 8.213vw 0;
	position: relative;
}

.p-fv__contents-left::after {
	content: "";
	position: absolute;
	background: url(../images/service/sp_human.png) no-repeat center center / contain;
	width: 24.155vw;
	height: 24.879vw;
	right: 5.072vw;
	bottom: 7.3vw;
}

.p-fv__en {
	margin-bottom: 5.314vw;
}

.p-fv__en img {
	height: auto;
	width: 54.831vw;
}

.p-fv__ttl {
	border-right: 0.2vw solid #323232;
	border-top: 0.2vw solid #323232;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.125;
	margin-bottom: 0.242vw;
	padding: 1vw 1.174vw 1vw 1.899vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 0.2vw dotted #323232;
	font-size: 5.797vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7916666667;
	margin-bottom: 2.415vw;
  width: min(95%,77.2vw);  
	padding-left: 1.932vw;
}

.p-fv__txt02 {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
  width: min(95%,77.2vw);  
	padding-left: 2.415vw;
}

.p-fv__contents-right {
	margin-bottom: -19.28vw;
	order: 1;
  width: min(95%,77.2vw);  
	margin-inline: auto;
	position: relative;
	z-index: 10;
}

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


.p-bottom {
	background: url(../images/service/sp_bottom_bg.png) no-repeat top center/cover;
	height: 75.483vw;
	margin-bottom: -63.155vw;
	margin-inline: auto;
	margin-inline: auto;
	position: relative;
	width: min(95%,86.9vw);
}

.p-bottom::after {
	background: url(../images/service/sp_coffee.png) no-repeat center center/contain;
	bottom: 14vw;
	content: "";
	height: 14.493vw;
	position: absolute;
	right: 2.932vw;
	width: 25.638vw;
}

.l-inner.l-bottom {
	padding: 8.696vw 0 11.111vw;
}

.p-bottom__logo h2 {
	font-size: 5.314vw;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.6;
	margin-bottom: 4.691vw;
	text-align: center;
}

.p-bottom__logo p {
	text-align: center;
}

.p-bottom__logo p img {
	height: auto;
	width: 48.309vw;
}

.p-link {
	background: #F1EDE3;
	margin-bottom: 28.986vw;
	margin-inline: auto;
	width: 100%;
}

.l-inner.l-link {
	margin-inline: auto;
	padding: 64.556vw 0 13.768vw;
  width: min(95%,92vw);
}

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

.p-link__item a {
	display: inline-block;
}

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

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

.p-point01 {
	margin-bottom: 14.493vw;
}

.p-point__contents {
	display: grid;
	gap: 5.072vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 7.488vw;
	place-items: center;
}

.p-point__contents-left img {
	height: auto;
	width: 17.633vw;
}

.p-point__contents-right span {
	display: block;
	text-align: center;
}

.p-point__contents-right span.top {
	color: #BC9025;
	font-size: 5.314vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5909090909;
}

.p-point__contents-right span.bottom {
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5555555556;
}

.p-point__contents02 {
	display: grid;
	gap: 5.802vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 11.077vw;
	margin-inline: auto;
	padding: 0;
	width: min(95%,86.9vw);
}

.p-point__contents02.reverse {
	background: #F4F4F4;
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 11.908vw;
}

.p-point__contents02-left.reverse {
	order: 2;
}

.p-point__contents02-left.reverse h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 2.246vw;
}

.p-point__contents02-left.reverse p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

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

.p-point__contents02-right.reverse {
	order: 1;
}

.p-point__contents02-right.reverse img {
	height: auto;
	width: 100%;
}

.p-point__contents02-right h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 3.246vw;
}

.p-point__contents02-right p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__img {
	height: auto;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 297.585vw;
}

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

.p-point02 {
	background: #F4F4F4;
	margin-bottom: 16.908vw;
	width: 100%;
}

.l-inner.l-point02 {
	padding: 14.493vw 0 14vw;
}




}
