/*$base-width: 1400px;*/
/*
.p-figure {
	margin: 10rem 0 12.5rem;
	@include mq(m) {
		margin: 4rem 0;
	}
	.img {
		margin: 0 auto;
		width: 75rem;
		@include mq(m) {
			width: 90%;
		}
	}
}
*/
.p-plan {
  margin-top: 15.6rem;
}
@media screen and (max-width: 767px) {
  .p-plan {
    margin-top: 8rem;
  }
}
.p-plan-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .p-plan-wrap {
    display: block;
  }
}
.p-plan-flow {
  position: relative;
  padding: 1.5rem 0 0;
  width: 29rem;
}
@media screen and (max-width: 767px) {
  .p-plan-flow {
    width: 100%;
  }
}
.p-plan-flow:before {
  content: "";
  width: 2px;
  height: calc(100% - 5rem);
  background: #008080;
  position: absolute;
  left: 1.4rem;
  top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-plan-flow:before {
    height: calc(100% - 3rem);
  }
}
.p-plan-flow li {
  padding-left: 4.5rem;
  position: relative;
}
.p-plan-flow li:before {
  content: "";
  width: 3rem;
  height: 3rem;
  background: #008080;
  position: absolute;
  left: 0rem;
  top: 0.2rem;
  border-radius: 3rem;
}
.p-plan-flow li + li {
  margin-top: 8.2rem;
}
@media screen and (max-width: 767px) {
  .p-plan-flow li + li {
    margin-top: 4rem;
  }
}
.p-plan-flow li .ttl {
  font-size: 2.6rem;
  font-weight: 700;
  color: #008080;
  margin-bottom: 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-plan-flow li .ttl {
    font-size: 2.2rem;
  }
}
.p-plan-flow li p {
  font-size: 1.55rem;
  letter-spacing: -0.038em;
  line-height: 2.3870967742;
}
@media screen and (max-width: 767px) {
  .p-plan-flow li p {
    font-size: 1.4rem;
    line-height: 1.5714285714;
  }
}
.p-plan-set {
  padding-top: 1.8rem;
  padding-left: 7rem;
  border-left: 1px solid #000;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .p-plan-set {
    margin-top: 5rem;
    padding: 5rem 0 0;
    border-top: 1px solid #000;
    border-left: none;
  }
}
.p-plan-set .unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-set .unit {
    display: block;
  }
}
.p-plan-set .unit .img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-plan-set .unit .txt {
  width: 28.4rem;
}
@media screen and (max-width: 767px) {
  .p-plan-set .unit .txt {
    width: 100%;
    margin-top: 2rem;
  }
}
.p-plan-set .unit .txt .ttl {
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-plan-set .unit .txt .ttl {
    font-size: 2.2rem;
  }
}
.p-plan-set .unit .txt p {
  font-size: 1.55rem;
  letter-spacing: -0.038em;
  line-height: 2.3870967742;
}
@media screen and (max-width: 767px) {
  .p-plan-set .unit .txt p {
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }
}
.p-plan-set .unit + .unit {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .p-plan-set .unit + .unit {
    margin-top: 5rem;
  }
}
.p-plan-other {
  margin: 24.5rem 0 3rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 17.4rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem 17.4rem;
}
@media screen and (max-width: 767px) {
  .p-plan-other {
    gap: 4rem 2rem;
    margin-top: 5rem;
  }
}
.p-plan-other li {
  border-top: 5px solid #000;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-plan-other li {
    border-top: 3px solid #000;
    padding-top: 2rem;
  }
}
.p-plan-other li .img {
  margin-bottom: 3rem;
}
.p-plan-other li .img.m-plan03 {
  width: 32.4rem;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  .p-plan-other li .img {
    margin-bottom: 1rem;
  }
  .p-plan-other li .img.m-plan03 {
    width: 80%;
    margin-bottom: 1rem;
  }
}
.p-plan-other li .txt .ttl {
  font-size: 2.6rem;
  line-height: 1.5384615385;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-plan-other li .txt .ttl {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.p-plan-other li .txt p {
  font-size: 1.55rem;
  letter-spacing: -0.038em;
  line-height: 2.3870967742;
}
@media screen and (max-width: 767px) {
  .p-plan-other li .txt p {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}

.p-instore {
  margin-top: -12rem;
  padding: 18rem 0 13rem;
  /*
  &-wrap {
  	@include flex(between,start);
  	gap: 6rem;
  	@include mq(m) {
  		display: block;
  	}
  	.txt {
  		flex: 1;
  		.ttl {
  			@include fz(32);
  			font-weight: 700;
  			margin-bottom: 2rem;
  			@include mq(m) {
  				@include fz(26);
  			}
  		}
  		p {
  			@include fz(15.5,-38,37);
  			@include mq(m) {
  				@include fz(14,0,25);
  			}
  		}
  	}
  	.img {
  		margin-top: .8rem;
  		width: 44.2rem;
  		@include mq(m) {
  			margin-top: 3rem;
  			width: 100%;
  		}
  		li {
  			& + li {
  				margin-top: 1.5rem;
  			}
  		}
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .p-instore {
    margin-top: -6rem;
    padding: 5rem 0 8rem;
  }
}
.p-instore .c-pickup-unit.m-unit01 .img {
  width: 44.2rem;
}
@media screen and (max-width: 767px) {
  .p-instore .c-pickup-unit.m-unit01 .img {
    width: 100%;
  }
}
.p-instore .c-pickup-unit.m-unit02 .txt {
  padding: 4rem 0 0 3rem;
}
@media screen and (max-width: 767px) {
  .p-instore .c-pickup-unit.m-unit02 .txt {
    padding: 0;
  }
}
.p-instore .c-pickup-unit.m-unit02 .img {
  width: 55.3rem;
}
@media screen and (max-width: 767px) {
  .p-instore .c-pickup-unit.m-unit02 .img {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .p-instore .c-pickup-unit.m-unit03 .txt {
    padding: 3.5rem 0 0 2.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  .p-instore .c-pickup-unit.m-unit03 .txt p {
    letter-spacing: -1.2px;
  }
}
.p-instore .c-pickup-unit.m-unit03 .img {
  width: 37.6rem;
}
@media screen and (max-width: 767px) {
  .p-instore .c-pickup-unit.m-unit03 .img {
    width: 100%;
  }
}

.c-service-foot {
  margin-top: 0;
}