@charset "utf-8";
#personalize .s-heading {
  font-size: max(45px, 4.86vw);
  /* 1440→70px 980→45px */
  line-height: 1.07;
  letter-spacing: 0.05em;
}
#personalize .s-heading .en {
  display: block;
}
#personalize .s-heading .en .lg {
  font-size: 171.4%;
  line-height: 0.625;
}
#personalize .s-heading .ja {
  font-size: max(13px, 1.04vw);
  /* 1440→15px 980→13px */
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  display: block;
  padding-top: 0.2em;
}
/* ============================
point
=============================== */
.point {
  padding: max(77px, 5.35vw) 0;
}
.point .s-heading {
  margin-bottom: max(30px, 2.08vw);
}
.point__List {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: max(113px, 7.85vw);
  margin-bottom: max(100px, 6.94vw);
}
.point__item {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.point__item:nth-child(even) {
  flex-direction: row-reverse;
}
.point__item .imgbk {
  width: 49.17%;
  height: 100%;
  position: relative;
}
.point__item:not(:first-child) .imgbk img {
  position: absolute;
  bottom: 0;
}
.point__item .txtbk {
  width: 50%;
  min-height: 20.83vw;
  padding-bottom: 1.8em;
  position: relative;
}
.point__item .txtbk::after {
  content: "";
  width: 95%;
  height: 5px;
  background-image: radial-gradient(circle, #00675b 30%, transparent 31%);
  background-size: 11px 5px;
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  right: 0;
}
.point__item:nth-child(even) .txtbk::after {
  right: auto;
  left: 0;
}
.point__item .txtbk .point__item-heading {
  font-size: max(30px, 2.08vw);
  line-height: 1.47;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  margin-bottom: 0.67em;
}
.point__item .txtbk .point__item-heading .point__item-num {
  width: 3.33em;
  position: relative;
  left: -0.67em;
}

.point__item .txtbk p {
  letter-spacing: 0;
}
.point__item .txtbk a.line {
  line-height: 1.47;
  letter-spacing: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 59.3%;
  min-width: 350px;
  padding: 0.73em 1.77em;
  margin-top: max(30px, 2.08vw);
  background: #06c755;
  border-radius: 999px;
}
.point__item .txtbk a.line::after {
  content: "";
  width: 0.53em;
  height: 0.84em;
  background: url(../imgs/personalize/arrow_wh.svg) no-repeat center/contain;
}
/* -------------------
case
---------------------- */
.case__heading {
  font-size: max(30px, 2.08vw);
  line-height: 1.47;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.7em;
}
.case__heading > span {
  background: #00675b;
  padding: 0.41em 1.2em;
  border-radius: max(40px, 2.78vw);
}
.case__List {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: max(30px, 2.08vw) 0;
}
.case__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6em;
  width: 47.5%;
  padding: 2.6em 0 2.4em;
  background: #efd465;
  border-radius: max(30px, 2.08vw);
}
.case__item .imgbk {
  width: 24.21%;
  min-width: 70px;
}
.case__item .txtbk {
  width: 86%;
}
.case__item .txtbk p {
  font-size: max(20px, 1.39vw);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0;
}
.case__item .txtbk p span {
  font-size: 75%;
  font-weight: 400;
  line-height: 1.53;
  display: block;
}

/* ============================
contact_process
=============================== */
.contact_process {
  padding: max(146px, 10.14vw) 0 max(108px, 7.5vw);
  transform: skewY(-6deg);
}
.contact_process-in {
  transform: skewY(6deg);
}
.contact_process .s-headingBk {
  margin-bottom: 3.5em;
}
.contact_process .s-headingBk .s-heading {
  margin-bottom: 0.43em;
}
.contact_process .s-headingBk p {
  letter-spacing: 0;
}
.process {
  display: flex;
  justify-content: space-between;
  gap: 7.64vw;
  width: 67.36vw;
  min-width: 970px;
  margin: 0 auto;
}
.process__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 25.77%;
  aspect-ratio: 1/1;
  background: #fff;
  border: 3px solid #000000;
  border-radius: 50%;
  position: relative;
}
.process__item:not(:last-child)::after {
  content: "";
  width: 0.97vw;
  min-width: 14px;
  height: 1.6vw;
  min-height: 23px;
  background: url(../imgs/common/btn_arrow_bk.svg) no-repeat center/contain;
  position: absolute;
  right: -4.38vw;
}
.process__item-inner {
  width: 70%;
}
.process__item-heading {
  font-size: max(20px, 1.39vw);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.97vw;
}
.process__item-heading img {
  width: 58%;
}
.process__item p {
  font-size: max(16px, 1.18vw);
  /* 1440→17px 　1060→16px*/
  line-height: 1.47;
  letter-spacing: 0;
}
/* ============================
message
=============================== */
.message {
  padding: max(126px, 8.75vw) 0 max(30px, 2.08vw);
}
.message .s-heading {
  margin-bottom: max(50px, 3.47vw);
}
.message__cont {
  display: flex;
  justify-content: space-between;
}
.message__cont .imgbk {
  width: 45.83%;
  height: 100%;
  position: relative;
}
.message__cont .imgbk img {
  transform: translateY(-15%);
}
.message__cont .txtbk {
  width: 50%;
}
.message__cont .txtbk p {
  letter-spacing: 0;
  margin-bottom: max(30px, 2.08vw);
}
.message__cont .txtbk .namebk {
  max-width: 16em;
  margin: 0 0 0 auto;
  position: relative;
}
.message__cont .txtbk .namebk dt {
  font-size: max(16px, 1.11vw);
  line-height: 1.5;
  letter-spacing: 0;
}
.message__cont .txtbk .namebk dd {
  font-size: max(13px, 0.9vw);
  display: flex;
  align-items: center;
  gap: 0.77em;
}
.message__cont .txtbk .namebk dd .lg {
  font-size: max(32px, 2.22vw);
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: 0.08em;
}

.message__cont .txtbk .namebk dd .sml {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-top: 0.3em;
}
@media screen and (max-width: 1440px) {
  /* ============================
contact_process
	=============================== */
  .process {
    gap: 0;
    width: 100%;
    max-width: 970px;
    min-width: initial;
  }
  .process__item {
    max-width: 250px;
    width: 28%;
  }
}

@media screen and (max-width: 980px) {
  /* ============================
	point
	=============================== */
  .point {
    padding: clamp(50px, 7.86vw, 77px) 0;
  }
  .point__item .txtbk .point__item-heading {
    font-size: clamp(27px, 3.06vw, 30px);
  }
  .point__List {
    gap: clamp(40px, 11.53vw, 113px);
    margin-bottom: clamp(50px, 10.2vw, 100px);
  }
  /* -------------------
	case
	---------------------- */
  .case__heading {
    font-size: clamp(27px, 3.06vw, 30px);
  }
  .case__item .txtbk p {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  /* ============================
	contact_process
	=============================== */
  .contact_process {
    padding: clamp(70px, 14.9vw, 146px) 0 clamp(50px, 11.02vw, 108px);
  }
  .process__item-heading {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  .process__item p {
    font-size: clamp(14px, 1.63vw, 16px);
  }

  /* ============================
	message
	=============================== */
  .message {
    padding: clamp(60px, 12.86vw, 126px) 0 30px;
  }
  .message__cont .txtbk .namebk dd .lg {
    font-size: clamp(29px, 3.27vw, 32px);
  }
}
@media screen and (max-width: 768px) {
  #personalize .s-heading {
    font-size: clamp(35px, 5.86vw, 45px);
  }
  /* ============================
	point
	=============================== */
  .point__item {
    flex-direction: column-reverse;
    align-items: flex-start;
    position: relative;
  }
  .point__item:nth-child(even) {
    flex-direction: column-reverse;
    align-items: flex-end;
  }
  .point__item:last-child {
    padding-bottom: 70px;
  }
  .point__item .imgbk {
    width: 100%;
    max-width: 590px;
  }
  .point__item:not(:first-child) .imgbk img {
    position: static;
  }
  .point__item .txtbk {
    width: 100%;
    position: static;
  }
  .point__item .txtbk::after {
    content: none;
  }
  .point__item .txtbk .point__item-heading {
    font-size: clamp(23px, 3.52vw, 27px);
    gap: 0.67em;
  }
  .point__item .txtbk .point__item-heading .point__item-num {
    position: static;
  }

  .point__item .txtbk a.line {
    width: 100%;
    max-width: 350px;
    min-width: initial;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  /* -------------------
	case
	---------------------- */
  .case__heading {
    font-size: clamp(23px, 3.52vw, 27px);
  }
  .case__heading > span {
    border-radius: clamp(20px, 5.21vw, 40px);
  }
  .case__item .txtbk p {
    font-size: clamp(16px, 2.34vw, 18px);
  }
  /* ============================
	process
	=============================== */
  .contact_process .s-headingBk {
    margin-bottom: 2em;
  }
  .process {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 35px;
  }
  .process__item {
    width: 100%;
    max-width: 430px;
    aspect-ratio: initial;
    padding: 1.2em 4% 2em;
    border-radius: max(30px, 2.08vw);
    position: relative;
  }
  .process__item-heading img {
    width: 58%;
    max-width: 78px;
  }
  .process__item:not(:last-child)::after {
    right: 50%;
    top: 100%;
    transform: translate(100%, 50%) rotate(90deg);
  }
  /* ============================
	message
	=============================== */
  .message .s-heading {
    margin-bottom: 0;
  }
  .message__cont {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .message__cont .imgbk,
  .message__cont .txtbk {
    width: 100%;
    max-width: 550px;
  }
  .message__cont .imgbk img {
    transform: initial;
  }
  .message__cont .txtbk .namebk dd .lg {
    font-size: clamp(24px, 3.78vw, 29px);
  }
}
@media screen and (max-width: 640px) {
  .case__List {
    flex-direction: column;
    align-items: center;
    gap: min(4.69vw, 30px) 0;
  }
  .case__item {
    width: 100%;
    max-width: 430px;
    padding: 2em 0 2.4em;
  }
  .case__item .imgbk {
    width: 70px;
  }
}
