@charset "UTF-8";
/* ===== Base / Reset (universal) ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
}

body {
  max-width: 1920px;
  margin-inline: auto;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #1F1F1F;
  background: #FAFAFA;
}

ul, ol, li {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
}

/* Media elements */
img,
picture,
video,
canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

.img-inline {
  display: inline-block;
  vertical-align: middle;
}

/* form */
button,
input,
textarea,
select {
  font: inherit;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #0091ff;
  outline-offset: 2px;
}

/* ===== Util / Components ===== */
/* ======================================
      【PC】  hero
========================================= */
@media (min-width: 768px) {
  #front-page .hero {
    position: relative;
    top: 0;
    background: url("../images/front-page/hero.png") no-repeat top left/contain;
    aspect-ratio: 1920/820;
    z-index: 1;
  }
  #front-page .hero .hero__inner {
    padding-top: clamp(58px, -39.33px + 12.674vw, 204px);
    padding-left: clamp(40px, -40px + 10.417vw, 160px);
    padding-bottom: clamp(100px, 2.67px + 12.674vw, 246px);
  }
  #front-page .hero .hero__lead {
    font-size: clamp(13px, 1.67px + 1.476vw, 30px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .hero .hero__lead span {
    display: inline-block;
    margin-top: clamp(10px, 7.33px + 0.347vw, 14px);
    border-bottom: 2px solid #1F1F1F;
  }
  #front-page .hero .hero__title {
    width: clamp(351px, 37px + 40.885vw, 822px);
    margin-top: clamp(22px, 0px + 2.865vw, 55px);
  }
  #front-page .hero .hero__title img {
    width: 100%;
    height: auto;
  }
  #front-page .hero .hero__btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  #front-page .hero .hero__btn img {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  }

  #front-page .form__btn {
    width: 900px;
    margin: 0 auto;
    position: relative;
    top: 170px;
  }

  #front-page .voice .form__btn {
    width: 900px;
    margin: 0 auto;
    position: relative;
    top: 0px;
    padding: 0px 0px 70px 0px;
  }

  #front-page .form__btn img {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  }

}
/* ======================================
      【SP】  hero
========================================= */
@media screen and (max-width: 767px) {
  #front-page .hero {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    background: url("../images/front-page/hero-sp.png") no-repeat top left/cover;
    aspect-ratio: 414/712;
  }
  #front-page .hero .hero__inner {
    width: 100%;
    padding-top: 92.4vw;
    padding-left: 5.4vw;
    padding-right: 6.8vw;
    padding-bottom: 28vw;
  }
  #front-page .hero .hero__lead {
    margin-top: 1.8vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.045em;
  }
  #front-page .hero .hero__lead span {
    display: inline-block;
    margin-top: 1.3vw;
    border-bottom: 0.5vw solid #1F1F1F;
  }
  #front-page .hero .hero__title {
    width: 92vw;
    margin-top: 4.5vw;
  }
  #front-page .hero .hero__title img {
    width: 100%;
    height: auto;
  }
  #front-page .hero .hero__btn {
    position: absolute;
    bottom: -11.5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 94vw;
  }
  #front-page .hero .hero__btn img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  }

  #front-page .form__btn {
    width: 94vw;
    margin: 0 auto;
  }
  #front-page .form__btn img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  }

}
/* ===== Pages / worry ===== */
@media (min-width: 768px) {
  #front-page .worry {
    position: relative;
    /* animation */
  }
  #front-page .worry::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    background: url("../images/front-page/worry-btm-bg.svg") no-repeat center bottom/cover;
    aspect-ratio: 1920/1011;
    z-index: -1;
  }
  #front-page .worry .worry__inner {
    padding-top: clamp(0px, -66.67px + 8.681vw, 100px);
    padding-bottom: clamp(174px, 87.33px + 11.285vw, 304px);
    z-index: 1;
  }
  #front-page .worry .worry__content {
    position: relative;
    width: min(90%, 1100px);
    margin-inline: auto;
    padding-top: 98px;
    padding-bottom: 174px;
    background: url("../images/front-page/worry-content-bg.svg") no-repeat center top/100% 100%;
    filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.16));
  }
  #front-page .worry .worry__title {
    font-family: "Noto Serif", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 860px) {
  #front-page .worry .worry__title {
    transform: translateY(20px);
  }
}
@media (min-width: 768px) {
  #front-page .worry .worry__title .dot {
    position: relative;
    margin-inline: -5px;
  }
  #front-page .worry .worry__title .dot::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #A17C00;
  }
  #front-page .worry .worry__title .comma {
    margin-left: -4px;
  }
  #front-page .worry .worry__title .but {
    margin-left: -25px;
  }
  #front-page .worry .worry__list {
    position: relative;
    margin-top: 45px;
    width: min(85%, 840px);
    margin-inline: auto;
    z-index: 1;
  }
  #front-page .worry .worry__list::before {
    content: "";
    position: absolute;
    top: -116px;
    top: clamp(-7.25rem, -3.472vw - 3.083rem, -4.75rem); /* 768px ~ 1920px */
    right: clamp(70px, 50px + 2.604vw, 100px);
    width: clamp(68px, 1.33px + 8.681vw, 168px);
    height: clamp(78px, 52.67px + 3.299vw, 116px);
    background: url("../images/front-page/worry-deco.svg") no-repeat center center/contain;
    z-index: 0;
  }
  #front-page .worry .worry__item {
    position: relative;
    padding-top: clamp(14px, 8px + 0.781vw, 23px);
    padding-bottom: clamp(14px, 6.67px + 0.955vw, 25px);
    padding-left: clamp(80px, 47.33px + 4.253vw, 129px);
    padding-right: 16px;
    font-size: clamp(14px, 11.33px + 0.347vw, 18px);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
    background-color: #EFEFEF;
    border-radius: 999px;
  }
  #front-page .worry .worry__item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: clamp(40px, 13.33px + 3.472vw, 80px);
    width: 28px;
    height: 23px;
    background: url("../images/front-page/worry-check-mark.svg") no-repeat center center/contain;
  }
  #front-page .worry .worry__item + .worry__item {
    margin-top: clamp(14px, 10px + 0.521vw, 20px);
  }
  #front-page .worry .worry__item span {
    color: #A17C00;
  }
  #front-page .worry .worry__btmMsgWrap {
    margin-top: clamp(0px, -33.33px + 4.34vw, 50px);
    text-align: center;
  }
  #front-page .worry .worry__btmMsg {
    font-weight: 500;
    letter-spacing: 0;
  }
  #front-page .worry .worry__btmMsg--top {
    font-size: clamp(30px, 23.33px + 0.868vw, 40px);
  }
  #front-page .worry .worry__btmMsg--bottom {
    font-size: clamp(40px, 33.33px + 0.868vw, 50px);
    letter-spacing: 0;
  }
  #front-page .worry .worry__btmMsg--bottom span {
    margin-inline: -24px;
    font-size: clamp(50px, 43.33px + 0.868vw, 60px);
    color: #A17C00;
  }
  #front-page .worry .worry__btmImage {
    position: absolute;
    bottom: 70px;
    left: 50%;
    transform: translate(-50%, 60%);
    width: 100%;
  }
  #front-page .worry .worry__loop {
    overflow: hidden;
    width: 100%;
  }
  #front-page .worry .worry__loopBox {
    display: flex;
    gap: 20px;
    width: -moz-max-content;
    width: max-content;
    animation: loopBox 20s linear infinite;
  }
  #front-page .worry .worry__loopBox picture {
    flex-shrink: 0;
  }
  #front-page .worry .worry__loopBox img {
    width: 120vw;
    height: auto;
  }
  @keyframes loopBox {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-120vw);
    }
  }
}
/* ======================================
      【SP】  worry
========================================= */
@media screen and (max-width: 767px) {
  #front-page .worry {
    position: relative;
    z-index: 0;
  }
  #front-page .worry::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    background: url("../images/front-page/worry-btm-bg-sp.svg") no-repeat center bottom/cover;
    aspect-ratio: 414/520;
    z-index: -1;
  }
  #front-page .worry .worry__inner {
    width: 100%;
    padding-top: 26vw;
    padding-bottom: 55vw;
    position: relative;
    z-index: 1;
  }
  #front-page .worry .worry__content {
    position: relative;
    width: 100%;
    margin-inline: auto;
    padding-top: 28.4vw;
    padding-bottom: 9.6vw;
    background-color: #fff;
  }
  #front-page .worry .worry__content::after {
    content: "";
    position: absolute;
    bottom: -9.6vw;
    left: 50%;
    transform: translateX(-50%);
    width: 27vw;
    height: 9.66vw;
    background: url("../images/front-page/worry-content-bg-arrow-sp.svg") no-repeat center bottom/contain;
    aspect-ratio: 112/40;
  }
  #front-page .worry .worry__title {
    font-family: "Noto Serif", serif;
    font-size: 6.2vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #front-page .worry .worry__title .dot {
    position: relative;
    margin-inline: -1vw;
  }
  #front-page .worry .worry__title .dot::before {
    content: "";
    position: absolute;
    top: -3.1vw;
    left: 53%;
    transform: translateX(-50%);
    width: 1.2vw;
    height: 1.2vw;
    border-radius: 50%;
    background-color: #A17C00;
  }
  #front-page .worry .worry__title .comma {
    margin-left: -0.8vw;
  }
  #front-page .worry .worry__title .but {
    margin-left: -6vw;
  }
  #front-page .worry .worry__list {
    position: relative;
    margin-top: 5.2vw;
    width: 100%;
    margin-inline: auto;
    padding-inline: 5.2vw;
    z-index: 1;
  }
  #front-page .worry .worry__list::before {
    content: "";
    position: absolute;
    top: -42.5vw;
    right: 41.4vw;
    width: 17vw;
    height: 21vw;
    background: url("../images/front-page/worry-deco.svg") no-repeat center center/contain;
    z-index: 0;
  }
  #front-page .worry .worry__item {
    display: flex;
    align-items: center;
    position: relative;
    height: 20.5vw;
    padding-left: 14vw;
    padding-right: 5vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
    background-color: #EFEFEF;
    border-radius: 20px;
  }
  #front-page .worry .worry__item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 4.8vw;
    transform: translateY(-50%);
    width: 5.9vw;
    height: 5.1vw;
    background: url("../images/front-page/worry-check-mark.svg") no-repeat center center/contain;
  }
  #front-page .worry .worry__item + .worry__item {
    margin-top: 3vw;
  }
  #front-page .worry .worry__item span {
    color: #A17C00;
  }
  #front-page .worry .worry__btmMsgWrap {
    margin-top: 14vw;
    text-align: center;
  }
  #front-page .worry .worry__btmMsg {
    font-weight: 500;
    letter-spacing: 0;
  }
  #front-page .worry .worry__btmMsg--top {
    font-size: 5vw;
  }
  #front-page .worry .worry__btmMsg--bottom {
    margin-top: 1.3vw;
    font-size: 6.5vw;
    line-height: 1.56;
    letter-spacing: 0;
  }
  #front-page .worry .worry__btmMsg--bottom span {
    margin-inline: -2.9vw;
    font-size: 7.8vw;
    color: #A17C00;
  }
  #front-page .worry .worry__btmImage {
    position: absolute;
    bottom: 23.6vw;
    left: 50%;
    transform: translate(-50%, 60%);
    width: 100%;
  }
  #front-page .worry .worry__loop {
    overflow: hidden;
    width: 100%;
  }
  #front-page .worry .worry__loopBox {
    display: flex;
    gap: 4.8vw;
    width: -moz-max-content;
    width: max-content;
    animation: loopBox 20s linear infinite;
  }
  #front-page .worry .worry__loopBox picture {
    flex-shrink: 0;
  }
  #front-page .worry .worry__loopBox img {
    width: 321.3vw;
    height: auto;
  }
  @keyframes loopBox {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-321.3vw);
    }
  }
}
/* ===== Pages / reason ===== */
@media (min-width: 768px) {
  #front-page .reason {
    background: url("../images/front-page/reason-bg.png") no-repeat center center/cover;
  }
  #front-page .reason .reason__inner {
    padding-top: clamp(140px, 6px + 17.448vw, 341px);
    padding-bottom: clamp(260px, 221.33px + 5.035vw, 318px);
  }
  #front-page .reason .reason__titleEn {
    width: 237px;
    margin-inline: auto;
  }
  #front-page .reason .reason__titleEn img {
    width: 100%;
    height: auto;
  }
  #front-page .reason .reason__title {
    margin-top: -12px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #front-page .reason .reason__title span {
    display: inline-block;
    margin-right: 9px;
    transform: translate(6px, 10px);
    font-size: 81px;
    color: #A17C00;
  }
  #front-page .reason .reason__list {
    width: min(90%, 1280px);
    margin-top: clamp(80px, 40.31px + 5.168vw, 123px);
    margin-inline: auto;
  }
  #front-page .reason .reason__item {
    margin-right: clamp(10px, -17.69px + 3.606vw, 40px);
    position: relative;
    display: flex;
    align-items: center;
  }
  #front-page .reason .reason__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-40px, -50px);
    width: clamp(100px, 7.69px + 12.019vw, 200px);
    height: auto;
    background: url("../images/front-page/reason-icon01.svg") no-repeat center center/contain;
    aspect-ratio: 1/1;
    z-index: 1;
  }
  #front-page .reason .reason__item:nth-child(3)::before {
    background: url("../images/front-page/reason-icon03.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__itemImage {
    position: relative;
    width: 54%;
  }
  #front-page .reason .reason__itemImage::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 6px solid #F2CD32;
    transform: translate(20px, 23px);
  }
  #front-page .reason .reason__itemTextWrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 46%;
    height: clamp(260px, 109.54px + 19.591vw, 423px);
    padding-left: clamp(30px, -16.15px + 6.01vw, 80px);
    padding-right: clamp(20px, -7.69px + 3.606vw, 50px);
    background-color: #fff;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  #front-page .reason .reason__itemNumber {
    font-size: clamp(14px, 10.31px + 0.481vw, 18px);
    font-weight: 700;
    line-height: 1.9444444444;
    letter-spacing: 0;
    color: #A17C00;
  }
  #front-page .reason .reason__itemTitle {
    position: relative;
    margin-top: 10px;
    font-size: clamp(20px, 10.77px + 1.202vw, 30px);
    font-weight: 700;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
  }
  #front-page .reason .reason__itemTitle::after {
    content: "";
    position: absolute;
  }
  #front-page .reason .reason__item:nth-child(1) .reason__itemTitle::after {
    bottom: 0;
    right: 0;
    width: clamp(87px, 59.31px + 3.606vw, 117px);
    height: clamp(65px, 18.85px + 6.01vw, 115px);
    background: url("../images/front-page/reason-illust01.svg") no-repeat center center/contain;
    aspect-ratio: 117/115;
  }
  #front-page .reason .reason__item:nth-child(3) .reason__itemTitle::after {
    top: -3px;
    right: -13px;
    right: clamp(0px, 12px - 1.563vw, -13px);
    width: clamp(65px, 8.69px + 7.332vw, 126px);
    height: clamp(120px, 98.77px + 2.764vw, 143px);
    background: url("../images/front-page/reason-illust03.svg") no-repeat center center/contain;
    aspect-ratio: 126/143;
  }
  #front-page .reason .reason__itemTitle span {
    color: #A17C00;
  }
  #front-page .reason .reason__itemDesc {
    margin-top: 30px;
    margin-top: clamp(10px, -8.46px + 2.404vw, 30px);
    font-size: clamp(14px, 8.46px + 0.721vw, 20px);
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.05em;
  }
  #front-page .reason .reason__item + .reason__item {
    margin-top: 134px;
  }
  #front-page .reason .reason__item:nth-child(2) {
    flex-direction: row-reverse;
    margin-right: 0;
    margin-left: clamp(0px, -36.92px + 4.808vw, 40px);
  }
  #front-page .reason .reason__item:nth-child(2)::before {
    right: 0;
    left: auto;
    transform: translate(40px, -50px);
    background: url("../images/front-page/reason-icon02.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__item:nth-child(2) .reason__itemImage::after {
    transform: translate(-20px, 25px);
  }
  #front-page .reason .reason__item:nth-child(2) .reason__itemTextWrap {
    padding-left: clamp(20px, -7.69px + 3.606vw, 50px);
    padding-right: clamp(30px, -16.15px + 6.01vw, 80px);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  #front-page .reason .reason__item:nth-child(2) .reason__itemDesc {
    position: relative;
  }
  #front-page .reason .reason__item:nth-child(2) .reason__itemDesc::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: clamp(111px, 37.15px + 9.615vw, 191px);
    height: 111px;
    transform: translate(0, 85px);
    background: url("../images/front-page/reason-illust02.svg") no-repeat center center/contain;
    aspect-ratio: 191/111;
  }
}
/* ======================================
      【SP】  reason
========================================= */
@media screen and (max-width: 767px) {
  #front-page .reason {
    width: 100%;
    margin:-10vw 0 0 0;
    background: url("../images/front-page/reason-bg-sp.png") no-repeat center center/cover;
  }
  #front-page .reason .reason__inner {
    width: 100%;
    padding-top: 30.7vw;
    padding-bottom: 59vw;
  }
  #front-page .reason .reason__titleEn {
    width: 29.1vw;
    margin-inline: auto;
  }
  #front-page .reason .reason__titleEn img {
    width: 100%;
    height: auto;
  }
  #front-page .reason .reason__title {
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #front-page .reason .reason__title span {
    display: inline-block;
    margin-right: 2.3vw;
    transform: translate(1.1vw, 0.6vw);
    font-size: 9.1vw;
    color: #A17C00;
  }
  #front-page .reason .reason__list {
    width: 100%;
    margin-top: 22vw;
    padding-right: 4.8vw;
    padding-left: 2.4vw;
  }
  #front-page .reason .reason__item {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  #front-page .reason .reason__item::before {
    content: "";
    position: absolute;
    top: -15.4vw;
    left: 34.2vw;
    width: 26.1vw;
    height: auto;
    background: url("../images/front-page/reason-icon01.svg") no-repeat center center/contain;
    aspect-ratio: 1/1;
    z-index: 2;
  }
  #front-page .reason .reason__item:nth-child(2)::before {
    background: url("../images/front-page/reason-icon02.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__item:nth-child(3)::before {
    background: url("../images/front-page/reason-icon03.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__item + .reason__item {
    margin-top: 36.4vw;
  }
  #front-page .reason .reason__itemImage {
    position: relative;
    width: 100%;
  }
  #front-page .reason .reason__itemImage img {
    width: 100%;
    height: auto;
  }
  #front-page .reason .reason__itemImage::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1.4vw solid #F2CD32;
    transform: translate(2.4vw, 2.4vw);
  }
  #front-page .reason .reason__itemTextWrap {
    width: 91vw;
    margin-inline: auto;
    padding: 10.7vw 5.6vw 18.5vw 8vw;
    background-color: #fff;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  #front-page .reason .reason__itemNumber {
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #A17C00;
  }
  #front-page .reason .reason__itemTitle {
    margin-top: 6.4vw;
    font-size: 6vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .reason .reason__itemTitle span {
    color: #A17C00;
  }
  #front-page .reason .reason__itemDesc {
    margin-top: 4.4vw;
    font-size: 3.8vw;
    font-weight: 400;
    line-height: 1.89;
    letter-spacing: 0.07em;
    position: relative;
  }
  #front-page .reason .reason__itemDesc::after {
    content: "";
    position: absolute;
  }
  #front-page .reason .reason__item:nth-child(1) .reason__itemDesc::after {
    top: 25.6vw;
    left: 50%;
    transform: translate(-55%, 0);
    width: 24vw;
    height: 24vw;
    background: url("../images/front-page/reason-illust01.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__item:nth-child(2) .reason__itemDesc::after {
    top: 32.6vw;
    left: 50%;
    transform: translate(-49%, 0);
    width: 46.3vw;
    height: 27vw;
    background: url("../images/front-page/reason-illust02.svg") no-repeat center center/contain;
  }
  #front-page .reason .reason__item:nth-child(3) .reason__itemDesc::after {
    top: 27.9vw;
    left: 50%;
    transform: translate(-50%, 0);
    width: 31vw;
    height: 38vw;
    background: url("../images/front-page/reason-illust03.svg") no-repeat center center/contain;
  }
}
/* ======================================
      【SP】  voice
========================================= */
@media (min-width: 768px) {
  #front-page .voice {
    margin-top: -108px;
    background-color: #FAEEE8;
    background: linear-gradient(to bottom, transparent 0%, transparent 3%, #FAEEE8 3%, #FAEEE8 100%);
  }
  #front-page .voice .voice__inner {
    padding-bottom: 166px;
    padding-bottom: clamp(80px, 22.67px + 3.465vw, 166px);
  }
  #front-page .voice .voice__title {
    position: relative;
    padding-top: clamp(60px, 19.33px + 5.295vw, 121px);
    padding-bottom: clamp(120px, 40px + 10.417vw, 240px);
    font-size: clamp(28px, 25.33px + 0.347vw, 32px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    z-index: 1;
  }
  #front-page .voice .voice__title::before {
    content: "";
    position: absolute;
    top: clamp(30px, -23.33px + 6.944vw, 110px);
    left: clamp(20px, -180px + 26.042vw, 320px);
    width: clamp(340px, 127.33px + 27.691vw, 659px);
    height: 187px;
    background: url("../images/front-page/voice-title-en.svg") no-repeat center center/contain;
    aspect-ratio: 659/187;
    z-index: 0;
  }
  #front-page .voice .voice__title::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #E3507F;
    border-top-right-radius: 120px;
    transform: translateX(clamp(-3.75rem, -4.34vw + 1.458rem, -0.625rem));
    z-index: -1;
  }
  #front-page .voice .voice__list {
    position: relative;
    width: min(95%, 1100px);
    margin-inline: auto;
    margin-top: clamp(-9.5rem, -6.25vw - 2rem, -5rem); /* 768px ~ 1920px */
    z-index: 1;
  }
  #front-page .voice .voice__item {
    position: relative;
    padding-top: 60px;
    padding-bottom: 80px;
    background-color: #fff;
    border-radius: 20px;
  }
  #front-page .voice .voice__item:first-child::before {
    content: "";
    position: absolute;
    top: -104px;
    right: clamp(100px, 0.67px + 12.934vw, 249px);
    width: 103px;
    height: auto;
    background: url("../images/front-page/voice-item-deco.svg") no-repeat center center/contain;
    aspect-ratio: 104/106;
  }
  #front-page .voice .voice__item + .voice__item {
    margin-top: 100px;
  }
  #front-page .voice .voice__itemHead {
    display: flex;
    align-items: center;
    gap: 50px;
    gap: clamp(20px, -33.33px + 6.944vw, 50px);
    padding-left: clamp(16px, -225.78px + 31.481vw, 152px);
  }
  #front-page .voice .voice__avatar {
    width: 180px;
    height: 180px;
    aspect-ratio: 1/1;
  }
  #front-page .voice .voice__avatar img {
    width: 100%;
    height: auto;
  }
  #front-page .voice .voice__itemName {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 18px;
    font-size: clamp(14px, 11.33px + 0.347vw, 18px);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .voice .voice__itemName::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(63px, -50%);
    width: clamp(30px, 20.67px + 1.215vw, 44px);
    height: 40px;
    background: url("../images/front-page/voice-icon-boy.svg") no-repeat center center/contain;
    aspect-ratio: 44/40;
  }
  #front-page .voice .voice__item:nth-child(2) .voice__itemName::before {
    transform: translate(177px, -50%);
    width: 154px;
    height: 40px;
    background: url("../images/front-page/voice-icon-children.svg") no-repeat center center/contain;
    aspect-ratio: 154/40;
  }
  #front-page .voice .voice__itemTitle {
    margin-top: 17px;
    font-size: clamp(20px, 13.33px + 0.868vw, 30px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #E3507F;
  }
  #front-page .voice .voice__itemDescWrap {
    position: relative;
    width: min(95%, 880px);
    margin-top: 40px;
    margin-inline: auto;
    padding-top: 46px;
    padding-left: 41px;
  }
  #front-page .voice .voice__itemDescWrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #A17C00 0, #A17C00 5px, transparent 5px, transparent 10px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
  }
  #front-page .voice .voice__itemDesc {
    width: min(95%, 800px);
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  #front-page .voice .voice__itemDesc span {
    font-weight: 700;
  }
  #front-page .voice .voice__itemDesc + .voice__itemDesc {
    margin-top: 32px;
  }
  #front-page .voice .voice__addPoint {
    width: min(95%, 800px);
    margin-inline: auto;
    margin-top: 54px;
    text-align: center;
  }
  #front-page .voice .voice__addPointTitle {
    position: relative;
    display: inline-block;
    margin-inline: auto;
    padding-top: 17px;
    padding-bottom: 13px;
    padding-left: 28px;
    padding-right: 74px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background-color: #BF4F69;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  #front-page .voice .voice__addPointTitle::after {
    content: "";
    position: absolute;
    top: -5%;
    right: 27.5px;
    width: 39px;
    height: 51px;
    background: url("../images/front-page/voice-add-icon.svg") no-repeat center center/contain;
  }
  #front-page .voice .voice__addPointTitle span {
    color: #FFEC69;
  }
  #front-page .voice .voice__addMedia {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(25px, -28.33px + 6.944vw, 55px);
    margin-inline: auto;
    margin-top: -30px;
    padding-block: 36px;
    padding-inline: 16px;
    background-color: #BF4F69;
    border-radius: 20px;
  }
  #front-page .voice .voice__addMediaImage {
    width: 31%;
  }
  #front-page .voice .voice__addMediaList {
    width: -moz-fit-content;
    width: fit-content;
  }
  #front-page .voice .voice__addMediaItem {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: left;
    color: #fff;
  }
  #front-page .voice .voice__addMediaItem::before {
    content: "";
    position: absolute;
    top: 0.75em;
    left: -1em;
    width: 8px;
    height: 8px;
    background-color: rgba(223, 167, 180, 0.5);
    border-radius: 50%;
  }
}
/* ======================================
      【SP】  voice
========================================= */
@media screen and (max-width: 767px) {
  #front-page .voice {
    margin-top: -29vw;
    padding: 0px 0px 10vw 0px;
    background-color: #FAEEE8;
    background: linear-gradient(to bottom, transparent 0%, transparent 6%, #FAEEE8 6%, #FAEEE8 100%);
  }
  #front-page .voice .voice__inner {
    width: 100%;
    padding-bottom: 14.7vw;
  }
  #front-page .voice .voice__title {
    position: relative;
    padding-top: 25.2vw;
    padding-bottom: 26.1vw;
    font-size: 5.8vw;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.15em;
    text-align: center;
    color: #fff;
    z-index: 1;
  }
  #front-page .voice .voice__title::before {
    content: "";
    position: absolute;
    top: 13vw;
    left: 50%;
    transform: translateX(-50%);
    width: 77vw;
    height: auto;
    background: url("../images/front-page/voice-title-en.svg") no-repeat center center/contain;
    aspect-ratio: 659/187;
    z-index: 0;
  }
  #front-page .voice .voice__title::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #E3507F;
    border-top-right-radius: 28vw;
    z-index: -1;
  }
  #front-page .voice .voice__list {
    position: relative;
    width: 100%;
    margin-top: -21.6vw;
    padding-inline: 3.2vw;
    z-index: 1;
  }
  #front-page .voice .voice__item {
    position: relative;
    padding-top: 7.3vw;
    padding-bottom: 9.2vw;
    background-color: #fff;
    border-radius: 4.8vw;
  }
  #front-page .voice .voice__item:first-child::before {
    content: "";
    position: absolute;
    top: -16.6vw;
    right: 9.2vw;
    width: 17vw;
    height: auto;
    background: url("../images/front-page/voice-item-deco.svg") no-repeat center center/contain;
    aspect-ratio: 104/106;
    z-index: -1;
  }
  #front-page .voice .voice__item + .voice__item {
    margin-top: 12.2vw;
  }
  #front-page .voice .voice__itemHead {
    display: flex;
    flex-direction: column;
    gap: 7vw;
    padding-inline: 7vw;
  }
  #front-page .voice .voice__avatar {
    width: 48.5vw;
    height: 48.5vw;
    margin-inline: auto;
    aspect-ratio: 1/1;
    flex-shrink: 0;
  }
  #front-page .voice .voice__avatar img {
    width: 100%;
    height: auto;
  }
  #front-page .voice .voice__itemName {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.8vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .voice .voice__itemName span {
    margin-inline: -1.2vw;
  }
  #front-page .voice .voice__itemName::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -9vw;
    transform: translateY(-50%);
    width: 6.9vw;
    height: auto;
    background: url("../images/front-page/voice-icon-boy.svg") no-repeat center center/contain;
    aspect-ratio: 44/40;
  }
  #front-page .voice .voice__item:nth-child(2) .voice__itemName::before {
    right: -26vw;
    top: 2vw;
    width: 23.2vw;
    background: url("../images/front-page/voice-icon-children.svg") no-repeat center center/contain;
    aspect-ratio: 154/40;
  }
  #front-page .voice .voice__itemTitle {
    margin-top: 2.4vw;
    font-size: 5.8vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #E3507F;
  }
  #front-page .voice .voice__itemDescWrap {
    position: relative;
    width: 100%;
    margin-top: 5.6vw;
    padding-top: 5vw;
    padding-inline: 6.8vw;
  }
  #front-page .voice .voice__itemDescWrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 6.8vw;
    right: 6.8vw;
    height: 1px;
    background-image: linear-gradient(to right, #A17C00 0, #A17C00 1.2vw, transparent 1.2vw, transparent 2.4vw);
    background-size: 2.4vw 1px;
    background-repeat: repeat-x;
  }
  #front-page .voice .voice__itemDesc {
    width: 100%;
    font-size: 3.4vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  #front-page .voice .voice__itemDesc span {
    font-weight: 700;
  }
  #front-page .voice .voice__itemDesc + .voice__itemDesc {
    margin-top: 6.6vw;
  }
  #front-page .voice .voice__addPoint {
    width: 100%;
    margin-top: 9vw;
    padding-inline: 6.9vw;
    text-align: center;
  }
  #front-page .voice .voice__addPointTitle {
    position: relative;
    display: inline-block;
    margin-inline: 11vw;
    padding: 3.1vw 2.9vw 0vw 2.9vw;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #BF4F69;
    border-top-left-radius: 4.8vw;
    border-top-right-radius: 4.8vw;
  }
  #front-page .voice .voice__addPointTitle::after {
    content: "";
    position: absolute;
    top: -10%;
    right: 4.8vw;
    width: 9.6vw;
    height: auto;
    background: url("../images/front-page/voice-add-icon.svg") no-repeat center center/contain;
  }
  #front-page .voice .voice__addPointTitle span {
    color: #FFEC69;
  }
  #front-page .voice .voice__addMedia {
    display: flex;
    flex-direction: column;
    gap: 2.3vw;
    margin-top: -6.3vw;
    padding-top: 11.1vw;
    padding-bottom: 4.5vw;
    background-color: #BF4F69;
    border-radius: 4.8vw;
  }
  #front-page .voice .voice__addMediaImage {
    width: 100%;
    padding-inline: 4.8vw;
  }
  #front-page .voice .voice__addMediaImage img {
    width: 100%;
    height: auto;
  }
  #front-page .voice .voice__addMediaList {
    width: 100%;
    padding-left: 4.8vw;
    padding-right: 1vw;
    text-align: left;
  }
  #front-page .voice .voice__addMediaItem {
    position: relative;
    padding-left: 3.7vw;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #front-page .voice .voice__addMediaItem::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 2vw;
    height: 2vw;
    background-color: rgba(223, 167, 180, 0.5);
    border-radius: 50%;
  }
  #front-page .voice .voice__addMediaItem + .voice__addMediaItem {
    margin-top: 2.4vw;
  }
}
/* ======================================
      【PC】  timeline
========================================= */
@media (min-width: 768px) {
  #front-page .timeline {
    position: relative;
    z-index: 1;
    background: url("../images/front-page/timeline-bg.jpg") no-repeat center center/cover;
  }
  #front-page .timeline .timeline__inner {
    position: relative;
    padding-top: clamp(120px, 97.33px + 2.951vw, 154px);
    padding-bottom: 485px;
  }
  #front-page .timeline .timeline__content {
    position: relative;
    padding-top: 80px;
    padding-bottom: 120px;
    width: min(95%, 1280px);
    margin-inline: auto;
    background-color: #fff;
  }
  #front-page .timeline .timeline__content::after {
    content: "";
    position: absolute;
    bottom: clamp(-70px, -138px + 8.854vw, 32px);
    right: clamp(-2.625rem, -5.538vw + 2.221rem, -0.438rem); /* 768px ~ 1400px */
    width: clamp(140px, 68.67px + 9.288vw, 247px);
    height: auto;
    background: url("../images/front-page/timeline-list-deco.png") no-repeat center bottom/100% 100%;
    aspect-ratio: 247/465;
  }
  #front-page .timeline .timeline__titleWrap {
    position: relative;
    text-align: center;
  }
  #front-page .timeline .timeline__titleWrap::before {
    content: "";
    position: absolute;
    top: -130px;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(730px, 407.97px + 41.93vw, 995px);
    height: 280px;
    background: url("../images/front-page/timeline-title-deco.svg") no-repeat center center/contain;
    z-index: 1;
  }
  #front-page .timeline .timeline__titleLead {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #E3507F;
  }
  #front-page .timeline .timeline__titleLead::before,
  #front-page .timeline .timeline__titleLead::after {
    content: "";
    position: absolute;
    top: 0;
    width: 20px;
    height: 33px;
    background: url("../images/front-page/timeline-title-lead-deco.svg") no-repeat center center/contain;
  }
  #front-page .timeline .timeline__titleLead::before {
    left: -24px;
  }
  #front-page .timeline .timeline__titleLead::after {
    right: -24px;
    transform: scaleX(-1);
  }
  #front-page .timeline .timeline__title {
    position: relative;
    z-index: 2;
    margin-top: 18px;
    margin-inline: auto;
    width: 474px;
    transform: translateX(-10px);
  }
  #front-page .timeline .timeline__title img {
    width: 100%;
    height: auto;
  }
  #front-page .timeline .timeline__titleImage {
    position: absolute;
    top: 140px;
    left: 0;
    width: clamp(760px, 93.33px + 86.806vw, 1760px);
    margin-left: calc(50% - 50vw);
    z-index: 0;
  }
  #front-page .timeline .timeline__titleImage img {
    width: 100%;
    height: auto;
    display: block;
  }
  #front-page .timeline .timeline__list {
    position: relative;
    width: min(95%, 938px);
    margin-top: 343px;
    margin-top: clamp(160px, 38px + 15.885vw, 343px);
    margin-inline: auto;
  }
  #front-page .timeline .timeline__list::before {
    content: "";
    position: absolute;
    left: clamp(72px, 56.67px + 1.997vw, 95px);
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #A17C00;
  }
  #front-page .timeline .timeline__item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: clamp(60px, 53.33px + 0.868vw, 70px);
  }
  #front-page .timeline .timeline__item + .timeline__item {
    margin-top: 12px;
  }
  #front-page .timeline .timeline__item::before {
    content: "";
    position: absolute;
    left: clamp(66px, 51.33px + 1.91vw, 88px);
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #A17C00;
    z-index: 1;
  }
  #front-page .timeline .timeline__time {
    flex-shrink: 0;
    width: clamp(45px, 31.67px + 1.736vw, 65px);
    font-size: clamp(18px, 13.33px + 0.608vw, 25px);
    font-weight: 500;
    line-height: 1;
    text-align: right;
    color: #1F1F1F;
    letter-spacing: 0.05em;
  }
  #front-page .timeline .timeline__itemContent {
    flex: 1;
    display: flex;
    align-items: center;
    padding-block: 15px;
    padding-left: 40px;
    padding-right: 16px;
    background-color: #EFE4BF;
  }
  #front-page .timeline .timeline__itemContentInner {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 30px;
  }
  #front-page .timeline .timeline__icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
  }
  #front-page .timeline .timeline__text {
    font-size: clamp(16px, 14.67px + 0.174vw, 18px);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .timeline .timeline__text span {
    font-size: 16px;
  }
}
/* ======================================
      【SP】  timeline
========================================= */
@media screen and (max-width: 767px) {
  #front-page .timeline {
    position: relative;
    z-index: 1;
    background: url("../images/front-page/timeline-bg.jpg") no-repeat center center/cover;
  }
  #front-page .timeline .timeline__inner {
    padding-top: 14.5vw;
    padding-bottom: 62vw;
  }
  #front-page .timeline .timeline__content {
    position: relative;
    width: 89vw;
    margin-inline: auto;
    padding-top: 11.5vw;
    padding-bottom: 28vw;
    background-color: #fff;
  }
  #front-page .timeline .timeline__content::after {
    content: "";
    position: absolute;
    bottom: -8vw;
    right: 13.3vw;
    width: 62.3vw;
    height: auto;
    background: url("../images/front-page/timeline-list-deco-sp.png") no-repeat center bottom/contain;
    aspect-ratio: 259/159;
  }
  #front-page .timeline .timeline__titleWrap {
    position: relative;
    text-align: center;
  }
  #front-page .timeline .timeline__titleWrap::before {
    content: "";
    position: absolute;
    top: -16.5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 94.6vw;
    height: auto;
    background: url("../images/front-page/timeline-title-deco-sp.svg") no-repeat center center/contain;
    aspect-ratio: 390/110;
    z-index: 1;
  }
  #front-page .timeline .timeline__titleLead {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-size: 4.35vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #E3507F;
    transform: translateX(1.6vw);
  }
  #front-page .timeline .timeline__titleLead::before,
  #front-page .timeline .timeline__titleLead::after {
    content: "";
    position: absolute;
    top: 0;
    width: 3vw;
    height: 4.7vw;
    background: url("../images/front-page/timeline-title-lead-deco-sp.svg") no-repeat center center/contain;
  }
  #front-page .timeline .timeline__titleLead::before {
    left: -3.5vw;
  }
  #front-page .timeline .timeline__titleLead::after {
    right: -3.8vw;
    transform: scaleX(-1);
  }
  #front-page .timeline .timeline__title {
    position: relative;
    z-index: 2;
    margin-top: 2.5vw;
    width: 67.2vw;
    margin-inline: auto;
    transform: none;
  }
  #front-page .timeline .timeline__title img {
    width: 100%;
    height: auto;
  }
  #front-page .timeline .timeline__titleImage {
    position: absolute;
    top: 19vw;
    left: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  #front-page .timeline .timeline__titleImage img {
    width: 100%;
    height: auto;
    display: block;
  }
  #front-page .timeline .timeline__list {
    position: relative;
    width: 100%;
    margin-top: 47vw;
    padding-left: 1vw;
    padding-right: 4.8vw;
  }
  #front-page .timeline .timeline__list::before {
    content: "";
    position: absolute;
    left: 16.2vw;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #A17C00;
  }
  #front-page .timeline .timeline__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8.8vw;
  }
  #front-page .timeline .timeline__item + .timeline__item {
    margin-top: 2.7vw;
  }
  #front-page .timeline .timeline__item::before {
    content: "";
    position: absolute;
    left: 14.4vw;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #A17C00;
    z-index: 1;
  }
  #front-page .timeline .timeline__time {
    flex-shrink: 0;
    width: 12vw;
    font-size: 3.14vw;
    font-weight: 500;
    line-height: 1;
    text-align: right;
    color: #1F1F1F;
    letter-spacing: 0.05em;
    transform: translateX(-0.7vw);
  }
  #front-page .timeline .timeline__itemContent {
    min-height: 66px;
    display: flex;
    align-items: stretch;
    width: 100%;
  }
  #front-page .timeline .timeline__itemContentInner {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 2.5vw;
    padding: 1.8vw 2.3vw 2.5vw 2.7vw;
    background-color: #EFE4BF;
  }
  #front-page .timeline .timeline__icon {
    flex-shrink: 0;
    width: 6.8vw;
    height: 6.8vw;
  }
  #front-page .timeline .timeline__icon img {
    width: 100%;
    height: auto;
  }
  #front-page .timeline .timeline__text {
    margin-top: 0.3vw;
    font-size: 3.3vw;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.07em;
    color: #1F1F1F;
  }
  #front-page .timeline .timeline__text span {
    display: inline;
    font-size: 2.8vw;
  }
}
/* ======================================
      【PC】  recruit
========================================= */
@media (min-width: 768px) {
  #front-page .recruit {
    position: relative;
    z-index: 2;
    margin-top: -320px;
    background: url("../images/front-page/recruit-bg.png") no-repeat right top/auto 100%;
  }
  #front-page .recruit .recruit__inner {
    padding-top: clamp(100px, 50px + 6.51vw, 175px);
    padding-bottom: clamp(100px, 73.33px + 3.472vw, 140px);
  }
  #front-page .recruit .recruit__title {
    position: relative;
    font-size: clamp(30px, 16.67px + 1.736vw, 50px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    text-align: center;
    z-index: 1;
  }
  #front-page .recruit .recruit__title::before {
    content: "";
    position: absolute;
    left: 50%;
    top: clamp(-4.375rem, -3.472vw - 0.208rem, -1.875rem); /* 768px ~ 1920px */
    transform: translateX(-50%);
    width: clamp(520px, 0px + 67.708vw, 1300px);
    height: auto;
    background: url("../images/front-page/recruit-title-en.svg") no-repeat center center/cover;
    aspect-ratio: 1302/98;
    z-index: -1;
  }
  #front-page .recruit .recruit__lead {
    margin-top: 46px;
    font-size: 18px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    text-align: center;
  }
  #front-page .recruit .recruit__image {
    margin-top: 39px;
    width: min(90%, 1600px);
    margin-inline: auto;
  }
  #front-page .recruit .recruit__image img {
    width: 100%;
    height: auto;
  }
  #front-page .recruit .recruit__catchWrap {
    position: relative;
    width: min(90%, 900px);
    margin-inline: auto;
    margin-top: 80px;
    padding-block: 32px;
    text-align: center;
    background-color: #fff;
    border: 2px solid #50B0E3;
  }
  #front-page .recruit .recruit__catchWrap::before {
    content: "";
    position: absolute;
    inset: -10px;
    border: 2px solid #50B0E3;
  }
  #front-page .recruit .recruit__catchText + .recruit__catchText {
    margin-top: 7px;
  }
  #front-page .recruit .recruit__catchText {
    font-size: clamp(20px, 17.33px + 0.347vw, 24px);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .recruit .recruit__catchText--top span {
    font-weight: 700;
  }
  #front-page .recruit .recruit__catchText--middle {
    font-size: clamp(24px, 21.33px + 0.347vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #50B0E3;
  }
  #front-page .recruit .recruit__catchText--bottom {
    font-size: clamp(20px, 17.33px + 0.347vw, 24px);
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .recruit .recruit__infoListWrap {
    margin-top: 70px;
    width: min(90%, 800px);
    margin-inline: auto;
  }
  #front-page .recruit .recruit__infoItem {
    display: flex;
    align-items: stretch;
  }
  #front-page .recruit .recruit__infoItem + .recruit__infoItem {
    margin-top: 10px;
  }
  #front-page .recruit .recruit__infoTitle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
    align-self: stretch;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #50B0E3;
  }
  #front-page .recruit .recruit__infoContent {
    flex: 1;
    padding-block: 28px;
    padding-left: 60px;
    color: #1F1F1F;
    background-color: #fff;
  }
  #front-page .recruit .recruit__infoInnerList--salary {
    margin-top: 16px;
  }
  #front-page .recruit .recruit__infoInnerItem,
  #front-page .recruit .recruit__infoInnerText {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  #front-page .recruit .recruit__infoInnerItem + .recruit__infoInnerItem {
    margin-top: 2px;
  }
  #front-page .recruit .recruit__infoText span {
    margin-right: 4px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
/* ======================================
      【SP】  recruit
========================================= */
@media screen and (max-width: 767px) {
  #front-page .recruit {
    position: relative;
    z-index: 2;
    margin-top: -37vw;
    background: url("../images/front-page/recruit-bg-sp.png") no-repeat 70% top/auto 100%;
  }
  #front-page .recruit .recruit__inner {
    padding-top: 29.2vw;
    padding-bottom: 13.8vw;
  }
  #front-page .recruit .recruit__title {
    position: relative;
    font-size: 6.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    text-align: center;
    z-index: 1;
  }
  #front-page .recruit .recruit__title::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -19.1vw;
    transform: translateX(-50%);
    width: 68.8vw;
    height: auto;
    background: url("../images/front-page/recruit-title-en-sp.svg") no-repeat center center/cover;
    aspect-ratio: 286/84;
    z-index: -1;
  }
  #front-page .recruit .recruit__lead {
    margin-top: 6.2vw;
    padding-inline: 4.8vw;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #1F1F1F;
    text-align: center;
  }
  #front-page .recruit .recruit__image {
    margin-top: 4.7vw;
    width: 100%;
  }
  #front-page .recruit .recruit__image img {
    width: 100%;
    height: auto;
  }
  #front-page .recruit .recruit__catchWrap {
    position: relative;
    width: 84.4vw;
    margin-top: 8.3vw;
    margin-inline: auto;
    padding-block: 6.1vw;
    padding-inline: 4.8vw;
    text-align: center;
    background-color: #fff;
    border: 2px solid #50B0E3;
  }
  #front-page .recruit .recruit__catchWrap::before {
    content: "";
    position: absolute;
    inset: -3vw;
    border: 2px solid #50B0E3;
  }
  #front-page .recruit .recruit__catchText {
    font-size: 4.2vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .recruit .recruit__catchText--top span {
    font-weight: 700;
  }
  #front-page .recruit .recruit__catchText + .recruit__catchText {
    margin-top: 1.7vw;
  }
  #front-page .recruit .recruit__catchText--middle {
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.5;
    color: #50B0E3;
  }
  #front-page .recruit .recruit__catchText--bottom {
    font-size: 3.8vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .recruit .recruit__infoListWrap {
    margin-top: 12.4vw;
    width: 100%;
    padding-inline: 5.2vw;
  }
  #front-page .recruit .recruit__infoItem {
    display: block;
  }
  #front-page .recruit .recruit__infoItem + .recruit__infoItem {
    margin-top: 4.3vw;
  }
  #front-page .recruit .recruit__infoTitle {
    width: 100%;
    padding-block: 4.8vw;
    font-size: 4.4vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #50B0E3;
    text-align: center;
  }
  #front-page .recruit .recruit__infoContent {
    padding: 4.3vw 4.8vw 4.6vw;
    background-color: #fff;
    color: #1F1F1F;
  }
  #front-page .recruit .recruit__infoText {
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  #front-page .recruit .recruit__infoText span {
    margin-right: 0.6vw;
    font-size: 5.5vw;
    font-weight: 500;
  }
  #front-page .recruit .recruit__infoInnerList--salary {
    margin-top: 2vw;
  }
  #front-page .recruit .recruit__infoInnerList--salary .recruit__infoInnerItem + .recruit__infoInnerItem {
    margin-top: 0.3vw;
  }
  #front-page .recruit .recruit__infoInnerItem,
  #front-page .recruit .recruit__infoInnerText {
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  #front-page .recruit .recruit__infoInnerItem + .recruit__infoInnerItem {
    margin-top: 1.2vw;
  }
}
/* ======================================
      【PC】  faq
========================================= */
@media (min-width: 768px) {
  #front-page .faq {
    background-color: #FAFAFA;
  }
  #front-page .faq .faq__inner {
    padding-top: 106px;
    padding-bottom: 110px;
  }
  #front-page .faq .faq__title-en {
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #A17C00;
  }
  #front-page .faq .faq__title {
    margin-top: 34px;
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    color: #1F1F1F;
  }
  #front-page .faq .faq__listWrap {
    margin-top: 84px;
    width: min(90%, 840px);
    margin-inline: auto;
  }
  #front-page .faq .faq__item {
    padding-top: 40px;
    padding-bottom: 35px;
    padding-right: 16px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  }
  #front-page .faq .faq__item + .faq__item {
    margin-top: 30px;
  }
  #front-page .faq .faq__question {
    position: relative;
    padding-left: clamp(60px, 32px + 3.646vw, 102px);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  #front-page .faq .faq__question::before {
    content: "Q";
    position: absolute;
    top: clamp(0px, -4.86px + 0.633vw, 4px);
    left: clamp(20px, -4.3px + 3.165vw, 40px);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #A17C00;
  }
  #front-page .faq .faq__question::after {
    content: "";
    position: absolute;
    top: 3px;
    right: clamp(0px, -29.16px + 3.797vw, 24px);
    background: url("../images/front-page/faq-icon-plus.svg") no-repeat center center/contain;
    width: 25px;
    height: 25px;
  }
  #front-page .faq .faq__question.is-open::after {
    background: url("../images/front-page/faq-icon-minus.svg") no-repeat center center/contain;
  }
  #front-page .faq .faq__answer {
    position: relative;
    margin-top: 0;
    padding-left: clamp(60px, 32px + 3.646vw, 102px);
    max-height: 0;
    padding-right: 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    transition: max-height 0.3s ease-out, margin-top 0.3s ease-out;
    overflow: hidden;
  }
  #front-page .faq .faq__question.is-open + .faq__answer {
    margin-top: 27px;
    max-height: 1000px;
    transition: max-height 0.5s ease-in, margin-top 0.3s ease-in;
  }
  #front-page .faq .faq__answer::before {
    content: "A";
    position: absolute;
    top: 4px;
    left: clamp(26px, 4.13px + 2.848vw, 44px);
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #E3507F;
  }
  #front-page .faq .faq__btmMsg {
    margin-top: 81px;
    font-size: clamp(26px, 18.71px + 0.949vw, 32px);
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: center;
    color: #1F1F1F;
  }
  #front-page .faq .faq__btmMsg span {
    margin-inline: 4px;
    font-size: clamp(36px, 31.14px + 0.633vw, 40px);
    color: #A17C00;
  }
  #front-page .faq .faq__btmImageWrap {
    display: flex;
    justify-content: center;
    gap: clamp(30px, -39.33px + 9.028vw, 69px);
    width: min(95%, 1100px);
    margin-inline: auto;
    margin-top: 63px;
  }
  #front-page .faq .faq__btmImage--left {
    width: clamp(320px, 88.89px + 30.093vw, 450px);
  }
  #front-page .faq .faq__btmImage--right {
    width: clamp(360px, -32.89px + 51.157vw, 581px);
    margin-top: 86px;
  }
  #front-page .faq .faq__btmImage img {
    width: 100%;
    height: auto;
  }
}
/* ======================================
      【SP】  faq
========================================= */
@media screen and (max-width: 767px) {
  #front-page .faq {
    background-color: #FAFAFA;
  }
  #front-page .faq .faq__inner {
    padding-top: 15.7vw;
    padding-bottom: 27.5vw;
  }
  #front-page .faq .faq__title-en {
    font-size: 6.8vw;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #A17C00;
  }
  #front-page .faq .faq__title {
    margin-top: 4.9vw;
    font-size: 6.8vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    color: #1F1F1F;
  }
  #front-page .faq .faq__listWrap {
    margin-top: 13.8vw;
    width: 100%;
    padding-inline: 4.8vw;
  }
  #front-page .faq .faq__item {
    padding-top: 6.5vw;
    padding-bottom: 6.4vw;
    padding-right: 5vw;
    background-color: #fff;
    box-shadow: 0 0.8vw 1.6vw rgba(0, 0, 0, 0.16);
  }
  #front-page .faq .faq__item + .faq__item {
    margin-top: 5vw;
  }
  #front-page .faq .faq__question {
    position: relative;
    padding-left: 13.1vw;
    padding-right: 10vw;
    font-size: 4.3vw;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .faq .faq__question::before {
    content: "Q";
    position: absolute;
    top: 0;
    left: 5.2vw;
    font-size: 7.2vw;
    font-weight: 700;
    line-height: 1;
    color: #A17C00;
  }
  #front-page .faq .faq__question::after {
    content: "";
    position: absolute;
    top: 0.6vw;
    right: 0;
    width: 6vw;
    height: 6vw;
    background: url("../images/front-page/faq-icon-minus-sp.svg") no-repeat center center/contain;
  }
  #front-page .faq .faq__question.is-open::after {
    background: url("../images/front-page/faq-icon-plus-sp.svg") no-repeat center center/contain;
  }
  #front-page .faq .faq__answer {
    position: relative;
    margin-top: 0;
    padding-left: 13.2vw;
    padding-right: 7.4vw;
    max-height: 0;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.86;
    letter-spacing: 0.04em;
    color: #1F1F1F;
    overflow: hidden;
    transition: max-height 0.3s ease-out, margin-top 0.3s ease-out;
  }
  #front-page .faq .faq__question.is-open + .faq__answer {
    margin-top: 3.5vw;
    max-height: 200vw;
    transition: max-height 0.5s ease-in, margin-top 0.3s ease-in;
  }
  #front-page .faq .faq__answer::before {
    content: "A";
    position: absolute;
    top: 1.2vw;
    left: 6.3vw;
    font-size: 5.5vw;
    font-weight: 400;
    line-height: 1;
    color: #E3507F;
  }
  #front-page .faq .faq__btmMsg {
    margin-top: 10.2vw;
    padding-inline: 4.8vw;
    font-size: 5.5vw;
    font-weight: 500;
    line-height: 1.58;
    letter-spacing: 0.05em;
    text-align: center;
    color: #1F1F1F;
  }
  #front-page .faq .faq__btmMsg span {
    margin-inline: 0.8vw;
    font-size: 6.7vw;
    color: #A17C00;
  }
  #front-page .faq .faq__btmImageWrap {
    display: flex;
    width: 100%;
    padding-inline: 4.8vw;
    margin-top: 7vw;
  }
  #front-page .faq .faq__btmImage--left {
    width: 42.4vw;
  }
  #front-page .faq .faq__btmImage--right {
    position: absolute;
    right: 5.2vw;
    width: 54vw;
    margin-top: 8vw;
  }
  #front-page .faq .faq__btmImage img {
    width: 100%;
    height: auto;
    display: block;
  }
}
/* ======================================
      【PC】  message
========================================= */
@media (min-width: 768px) {
  #front-page .message {
    background: linear-gradient(to bottom, #fff 0%, #fff 27%, #FFFCEC 27%, #FFFCEC 100%);
  }
  #front-page .message .message__inner {
    padding-top: clamp(190px, 143.33px + 6.076vw, 260px);
    padding-bottom: 868px;
  }
  #front-page .message .message__topBlock {
    width: min(95%, 1800px);
    margin-inline: auto;
    padding-bottom: clamp(60px, 33.33px + 3.472vw, 100px);
    background: url("../images/front-page/message-top-bg.png") no-repeat center center/100% 100%;
  }
  #front-page .message .message__topImage {
    width: min(90%, 1280px);
    margin-inline: auto;
    transform: translateY(-100px);
  }
  #front-page .message .message__topImage img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__catchTitle {
    position: relative;
    z-index: 1;
    margin-top: clamp(-10.938rem, -1.736vw - 8.854rem, -9.688rem); /* 768px ~ 1920px */
    width: clamp(400px, 293.33px + 13.889vw, 560px);
    margin-inline: auto;
  }
  #front-page .message .message__catchTitle img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(15px, 5px + 1.302vw, 30px);
    margin-top: 70px;
  }
  #front-page .message .message__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: clamp(14px, 10px + 0.521vw, 20px);
    width: 250px;
    width: clamp(180px, 133.33px + 6.076vw, 250px);
    height: clamp(180px, 133.33px + 6.076vw, 250px);
    border-radius: 50%;
    background-color: #fff;
  }
  #front-page .message .message__itemText {
    font-size: clamp(18px, 15.33px + 0.347vw, 22px);
    font-weight: 700;
    line-height: 1.5454545455;
    letter-spacing: 0.05em;
    text-align: center;
    color: #E3507F;
  }
  #front-page .message .message__listMsgWrap {
    margin-top: 70px;
    text-align: center;
  }
  #front-page .message .message__listMsg {
    font-size: clamp(17px, 13.67px + 0.434vw, 22px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .message .message__listMsg + .message__listMsg {
    margin-top: clamp(20px, 6px + 1.823vw, 41px);
  }
  #front-page .message .message__btmCatch {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: clamp(50px, 22.67px + 3.559vw, 91px);
    padding-left: 33px;
    font-size: clamp(22px, 15.33px + 0.868vw, 32px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
  }
  #front-page .message .message__btmCatch .primary {
    position: relative;
    display: block;
    margin-bottom: 14px;
    font-size: clamp(26px, 16.67px + 1.215vw, 40px);
    color: #E3507F;
    transform: translateX(-17px);
  }
  #front-page .message .message__btmCatch .primary::before {
    content: "";
    position: absolute;
    right: 0;
    top: 53%;
    width: 57px;
    height: 1px;
    background-color: #000;
  }
  #front-page .message .message__media {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(20px, -51.11px + 9.259vw, 60px);
    width: min(90%, 1200px);
    margin-inline: auto;
    margin-top: 48px;
    padding-right: clamp(0px, -88.89px + 11.574vw, 50px);
  }
  #front-page .message .message__mediaImage {
    width: clamp(310px, -98.89px + 53.241vw, 540px);
  }
  #front-page .message .message__mediaImage img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__mediaTextWrap {
    flex: 1;
    position: relative;
  }
  #front-page .message .message__mediaList {
    position: absolute;
    top: clamp(0.5rem, -1.266vw + 1.608rem, 1rem);
    right: 0;
    width: clamp(420px, 149.01px + 35.285vw, 643px);
    padding-block: clamp(15px, -3.23px + 2.373vw, 30px);
    padding-left: clamp(26px, -49.34px + 9.81vw, 88px);
    padding-right: clamp(16px, -13.16px + 3.797vw, 40px);
    background-color: #fff;
  }
  #front-page .message .message__mediaItem {
    position: relative;
    right: 0;
    font-size: clamp(12px, 7.14px + 0.633vw, 16px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #front-page .message .message__mediaItem + .message__mediaItem {
    margin-top: 15px;
  }
  #front-page .message .message__mediaItem::before {
    content: "";
    position: absolute;
    left: -1.2em;
    top: 0.5em;
    width: 9px;
    height: 9px;
    background-color: #E3507F;
    border-radius: 50%;
  }
  #front-page .message .message__mediaText {
    margin-top: clamp(120px, 36.44px + 10.88vw, 167px);
    font-size: clamp(12px, 4.89px + 0.926vw, 16px);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  #front-page .message .message__staffMsgWrap {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: clamp(10px, 2.71px + 0.949vw, 16px);
    width: min(85%, 1000px);
    margin-inline: auto;
    margin-top: 91px;
    padding-left: clamp(60px, 15.04px + 5.854vw, 97px);
    padding-block: clamp(24px, 3.34px + 2.69vw, 41px);
    background-color: #fff;
    border-radius: 999px;
  }
  #front-page .message .message__staffMsgWrap::before {
    content: "";
    position: absolute;
    right: clamp(40px, -59.65px + 12.975vw, 122px);
    bottom: 0;
    width: clamp(220px, 111.85px + 14.082vw, 309px);
    height: clamp(170px, 86.15px + 10.918vw, 239px);
    background: url("../images/front-page/message-staff-msg.png") no-repeat center center/100% auto;
    aspect-ratio: 309/239;
  }
  #front-page .message .message__staffMsgText {
    width: -moz-fit-content;
    width: fit-content;
    font-size: clamp(16px, 11.14px + 0.633vw, 20px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  #front-page .message .message__staffMsg--key {
    padding-inline: 10px;
    font-size: clamp(18px, 10.71px + 0.949vw, 24px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #E3507F;
    border: 1px solid #E3507F;
  }
  #front-page .message .message__videoWrap {
    width: min(90%, 806px);
    margin-inline: auto;
    margin-top: 90px;
  }
  #front-page .message .message__video img {
    width: 100%;
    height: auto;
  }
}
/* ======================================
      【SP】  message
========================================= */
@media screen and (max-width: 767px) {
  #front-page .message {
    background: linear-gradient(to bottom, #fff 0%, #fff 6%, #FFFCEC 6%, #FFFCEC 100%);
    border-top-right-radius: 10vw;
  }
  #front-page .message .message__inner {
    padding-top: 36.3vw;
    padding-bottom: 140vw;
  }
  #front-page .message .message__topBlock {
    width: 100%;
    padding-bottom: 16vw;
    background: url("../images/front-page/message-top-bg-sp.png") no-repeat center top/100% auto;
  }
  #front-page .message .message__topImage {
    width: 90%;
    margin-inline: auto;
    transform: translateY(-24vw);
  }
  #front-page .message .message__topImage img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__catchTitle {
    position: relative;
    width: 90vw;
    margin-inline: auto;
    margin-top: -39.3vw;
  }
  #front-page .message .message__catchTitle img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__list {
    display: flex;
    justify-content: center;
    gap: 2.8vw;
    margin-top: 7vw;
  }
  #front-page .message .message__item {
    width: 28vw;
    height: 28vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.5vw;
    border-radius: 50%;
    background-color: #fff;
  }
  #front-page .message .message__itemImage img {
    width: 8vw;
    height: auto;
  }
  #front-page .message .message__itemText {
    font-size: 3.5vw;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    color: #E3507F;
  }
  #front-page .message .message__listMsgWrap {
    margin-top: 6vw;
    padding-inline: 5vw;
    text-align: left;
  }
  #front-page .message .message__listMsg {
    font-size: 3.8vw;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.07em;
  }
  #front-page .message .message__listMsg + .message__listMsg {
    margin-top: 8.1vw;
  }
  #front-page .message .message__btmCatch {
    margin-top: 2vw;
    padding-inline: 6vw;
    font-size: 4.8vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #front-page .message .message__btmCatch .primary {
    display: block;
    margin-bottom: 2vw;
    font-size: 5.8vw;
    letter-spacing: 0.13em;
    font-weight: 700;
    color: #E3507F;
    transform: translate(-20px, 0px);
  }
  #front-page .message .message__btmCatch .primary::before {
    content: "";
    position: absolute;
    right: 1vw;
    top: 50%;
    width: 8.7vw;
    height: 2px;
    background-color: #000;
  }
  #front-page .message .message__media {
    display: block;
    width: 89.5vw;
    margin-inline: auto;
    margin-top: 6.7vw;
  }
  #front-page .message .message__mediaImage {
    width: 100%;
  }
  #front-page .message .message__mediaImage img {
    width: 100%;
    height: auto;
  }
  #front-page .message .message__mediaTextWrap {
    position: relative;
    margin-top: -5vw;
  }
  #front-page .message .message__mediaList {
    width: 82.4vw;
    margin-inline: auto;
    padding-top: 4.5vw;
    padding-inline: 4.9vw;
    padding-bottom: 4vw;
    background-color: #fff;
  }
  #front-page .message .message__mediaItem {
    position: relative;
    padding-left: 1.2em;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  #front-page .message .message__mediaItem + .message__mediaItem {
    margin-top: 3.6vw;
  }
  #front-page .message .message__mediaItem::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 9px;
    height: 9px;
    background-color: #E3507F;
    border-radius: 50%;
  }
  #front-page .message .message__mediaText {
    width: 82.4vw;
    margin-inline: auto;
    margin-top: 6.4vw;
    font-size: 3.9vw;
    letter-spacing: 0.045em;
    line-height: 2;
  }
  #front-page .message .message__staffMsgWrap {
    position: relative;
    width: 90vw;
    margin-inline: auto;
    margin-top: 9.3vw;
    padding-top: 6vw;
    padding-inline: 4vw;
    padding-bottom: 46.5vw;
    background-color: #fff;
    border-radius: 30px;
    text-align: center;
  }
  #front-page .message .message__staffMsgWrap::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 62.1vw;
    height: auto;
    background: url("../images/front-page/message-staff-msg-sp.png") no-repeat center center/100% auto;
    aspect-ratio: 258/179;
  }
  #front-page .message .message__staffMsgText {
    font-size: 3.8vw;
    line-height: 1.6;
  }
  #front-page .message .message__staffMsg--key {
    margin-block: 1.8vw;
    padding-top: 1vw;
    padding-bottom: 1.5vw;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.075em;
    color: #E3507F;
    border: 1px solid #E3507F;
  }
  #front-page .message .message__videoWrap {
    width: 90vw;
    margin-inline: auto;
    margin-top: 11.8vw;
  }
  #front-page .message .message__video img {
    width: 100%;
    height: auto;
  }
}
/* ======================================
      【PC】  contact
========================================= */
@media (min-width: 768px) {
  #front-page .contact {
    /* contact-form */
    /* 入力した内容を確認する */
    /* 前の記入画面へ戻る */
    /* この内容で送信する */
  }
  #front-page .contact .contact__inner {
    position: relative;
    padding-top: 158px;
    padding-bottom: 180px;
  }
  #front-page .contact .contact__inner::before {
    content: "";
    position: absolute;
    top: -726px;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(600px, 304.71px + 38.449vw, 843px);
    height: 857px;
    background: url("../images/front-page/contact-en-deco.svg") no-repeat top center/contain;
    z-index: 0;
  }
  #front-page .contact .contact__topBlock {
    margin-top: -726px;
    position: relative;
    width: min(95%, 1280px);
    margin-inline: auto;
  }
  #front-page .contact .contact__lead {
    position: relative;
  }
  #front-page .contact .contact__lead img {
    display: block;
    width: clamp(400px, 214.08px + 24.209vw, 553px);
    margin-inline: auto;
    height: auto;
  }
  #front-page .contact .contact__lead::before,
  #front-page .contact .contact__lead::after {
    content: "";
    position: absolute;
    top: -10px;
  }
  #front-page .contact .contact__lead::before {
    left: clamp(50px, -123.77px + 22.627vw, 193px);
    width: clamp(105px, 60.04px + 5.854vw, 142px);
    height: auto;
    background: url("../images/front-page/contact-woman01.png") no-repeat center center/100% 100%;
    aspect-ratio: 142/177;
  }
  #front-page .contact .contact__lead::after {
    right: clamp(14px, -131.82px + 18.987vw, 134px);
    width: 211px;
    width: clamp(150px, 75.87px + 9.652vw, 211px);
    height: auto;
    background: url("../images/front-page/contact-woman02.png") no-repeat center center/100% 100%;
    aspect-ratio: 211/182;
  }
  #front-page .contact .contact__content {
    position: relative;
    width: min(95%, 1280px);
    margin-inline: auto;
    margin-top: clamp(46px, 19.27px + 3.481vw, 68px);
    padding-top: clamp(60px, 7.75px + 6.804vw, 103px);
    padding-bottom: 100px;
    background: #fff;
  }
  #front-page .contact .contact__title-en {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #E3507F;
    text-align: center;
  }
  #front-page .contact .contact__title {
    margin-top: 20px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    text-align: center;
  }
  #front-page .contact .contact__noteList {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: 40px;
  }
  #front-page .contact .contact__noteItem {
    font-size: 16px;
    font-size: clamp(13px, 9.35px + 0.475vw, 16px);
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .contact .contact__form {
    width: min(90%, 800px);
    margin-inline: auto;
    margin-top: 73px;
  }
  #front-page .contact .contact__form table {
    width: 100%;
    border-collapse: collapse;
  }
  #front-page .contact .contact__form th {
    width: clamp(250px, 189.24px + 7.911vw, 300px);
    padding-top: 34px;
    padding-bottom: 33px;
    padding-left: 30px;
    padding-right: 20px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #1F1F1F;
    text-align: left;
    vertical-align: middle;
    background: #F0F2F1;
    border-top: 1px solid #B0D1C9;
  }
  #front-page .contact .contact__form tr:last-child th {
    border-bottom: 1px solid #B0D1C9;
  }
  #front-page .contact .contact__form th span {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
  }
  #front-page .contact .contact__form td {
    padding-block: 19px;
    padding-left: 20px;
    padding-right: 30px;
    background-color: #FAFAFA;
    border-top: 1px solid #B0D1C9;
    vertical-align: middle;
  }
  #front-page .contact .contact__form td .input_area {
    margin-top: 0;
    text-align: left;
  }
  #front-page .contact .contact__form td .input_area .wpcf7-form-control,
  #front-page .contact .contact__form td .input_area input,
  #front-page .contact .contact__form td .input_area textarea {
    margin-top: 0;
    margin-bottom: 0;
  }
  #front-page .contact .contact__form tr:last-child td {
    border-bottom: 1px solid #B0D1C9;
  }
  #front-page .contact .contact__form td input {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 8px;
    padding-left: 20px;
    border: 1px solid #E2E2E2;
  }
  #front-page .contact .contact__form td input::-moz-placeholder, #front-page .contact .contact__form td textarea::-moz-placeholder {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #B9B8B8;
  }
  #front-page .contact .contact__form td input::placeholder,
  #front-page .contact .contact__form td textarea::placeholder {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #B9B8B8;
  }
  #front-page .contact .contact__form textarea {
    width: 100%;
    height: 140px;
    padding-top: 16px;
    padding-left: 20px;
    padding-right: 16px;
  }
  #front-page .contact .contact__form .required::after {
    content: "必須";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    padding-inline: 10px;
    padding-block: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    background: #C60101;
    border-radius: 5px;
  }
  #front-page .contact .contact__form .wpcf7-radio {
    display: flex;
    align-items: center;
    gap: clamp(20px, -4.3px + 3.165vw, 40px);
  }
  #front-page .contact .contact__form .wpcf7-radio .wpcf7-list-item {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #1F1F1F;
  }
  #front-page .contact .contact__form .wpcf7-radio label {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  #front-page .contact .contact__form .wpcf7-radio input[type=radio] {
    margin: 0;
    width: 21px;
    height: 21px;
    border-color: #E2E2E2;
  }
  #front-page .contact #priv {
    width: min(90%, 800px);
    margin-inline: auto;
    margin-top: 43px;
  }
  #front-page .contact #confirm_area {
    text-align: center;
  }
  #front-page .contact .input_area .confirm_button {
    position: relative;
    width: min(90%, 640px);
    margin-top: 28px;
    padding-top: 32px;
    padding-bottom: 30px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    background: #fff;
    color: #E3507F;
    border: 1px solid #E3507F;
  }
  #front-page .contact .input_area .confirm_button::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 36px;
    width: 33px;
    height: 21px;
    background: url("../images/common/contact-arrow-pink.svg") no-repeat center center/contain;
  }

  #front-page .contact .back_area{ text-align: center;}

  #front-page .contact .confirm_area .back_button {
    width: min(90%, 640px);
    padding-top: 32px;
    padding-bottom: 30px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    background: #3E3E3E;
  }
  #front-page .contact .confirm_area .back_button::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 36px;
    width: 33px;
    height: 21px;
    background: url("../images/common/contact-arrow-white.svg") no-repeat center center/contain;
  }
  #front-page .contact .confirm_area .-send-btn {
    width: min(90%, 640px);
    padding-top: 32px;
    padding-bottom: 30px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    background: #E3507F;
  }
  #front-page .contact .confirm_area .-send-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 36px;
    width: 33px;
    height: 21px;
    background: url("../images/common/contact-arrow-white.svg") no-repeat center center/contain;
  }

  #front-page .contact #confirm_area #back_area{
    text-align: center;
  }

}
/* ======================================
      【SP】  contact
========================================= */
@media screen and (max-width: 767px) {
  #front-page .contact {
    /* contact-form SP */
    /* privacy */
    /* checkbox */
    /* 入力した内容を確認する */
    /* 前の記入画面へ戻る */
    /* この内容で送信する */
  }
  #front-page .contact .contact__inner {
    position: relative;
    padding-top: 36vw;
    padding-bottom: 9.6vw;
  }
  #front-page .contact .contact__inner::before {
    content: "";
    position: absolute;
    top: -126vw;
    left: 50%;
    transform: translateX(-50%);
    width: 128.6vw;
    height: auto;
    background: url("../images/front-page/contact-en-deco.svg") no-repeat top center/contain;
    aspect-ratio: 843/857;
    z-index: 0;
  }
  #front-page .contact .contact__topBlock {
    margin-top: -140.6vw;
    width: 95%;
    margin-inline: auto;
    position: relative;
    z-index: 1;
  }
  #front-page .contact .contact__lead img {
    width: 79.6vw;
    margin-inline: auto;
    height: auto;
    display: block;
  }
  #front-page .contact .contact__lead::before {
    content: "";
    position: absolute;
    bottom: -42vw;
    left: 16.6vw;
    width: 68.5vw;
    height: auto;
    background: url("../images/front-page/contact-woman-sp.png") no-repeat center center/contain;
    aspect-ratio: 281/163;
  }
  #front-page .contact .contact__content {
    position: relative;
    z-index: 1;
    width: 90vw;
    margin-inline: auto;
    margin-top: 42vw;
    padding-top: 9vw;
    padding-bottom: 17.2vw;
    background: #fff;
    height: auto;
  }
  #front-page .contact .contact__title-en {
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #E3507F;
    text-align: center;
  }
  #front-page .contact .contact__title {
    margin-top: 4vw;
    font-size: 5.8vw;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #1F1F1F;
    text-align: center;
  }
  #front-page .contact .contact__noteList {
    width: 100%;
    margin-top: 8.4vw;
    padding-inline: 8.6vw;
  }
  #front-page .contact .contact__noteItem {
    font-size: 3vw;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .contact .contact__noteItem + .contact__noteItem {
    margin-top: 0.6vw;
  }
  #front-page .contact .contact__form {
    width: 80vw;
    margin-inline: auto;
    margin-top: 10vw;
  }
  #front-page .contact .contact__form table {
    width: 100%;
    border-collapse: collapse;
  }
  #front-page .contact .contact__form th {
    display: block;
    width: 100%;
    padding-top: 5.6vw;
    padding-bottom: 5vw;
    padding-left: 4.8vw;
    padding-right: 5.7vw;
    font-size: 3.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #1F1F1F;
    text-align: left;
    background: #F0F2F1;
  }
  #front-page .contact .contact__form th span {
    display: block;
    margin-top: 1.9vw;
    font-size: 3.1vw;
    font-weight: 500;
  }
  #front-page .contact .contact__form td {
    display: block;
    width: 100%;
    padding-block: 4.6vw;
    padding-left: 4.8vw;
    padding-right: 4.5vw;
    background-color: #FAFAFA;
  }
  #front-page .contact .contact__form td input {
    width: 100%;
    padding-top: 2.4vw;
    padding-bottom: 1.9vw;
    padding-left: 4.8vw;
    border: 1px solid #E2E2E2;
  }
  #front-page .contact .contact__form td input::-moz-placeholder, #front-page .contact .contact__form td textarea::-moz-placeholder {
    font-size: 3.4vw;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #B9B8B8;
  }
  #front-page .contact .contact__form td input::placeholder,
  #front-page .contact .contact__form td textarea::placeholder {
    font-size: 3.4vw;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #B9B8B8;
  }
  #front-page .contact .contact__form textarea {
    width: 100%;
    height: 33.8vw;
    padding-top: 3.9vw;
    padding-left: 4.8vw;
    padding-right: 3vw;
    border: 1px solid #E2E2E2;
  }
  #front-page .contact .contact__form .required {
    position: relative;
  }
  #front-page .contact .contact__form .required::after {
    content: "必須";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7.2vw;
    padding-inline: 2.4vw;
    padding-block: 1.4vw;
    font-size: 3.4vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    background: #C60101;
    border-radius: 1.2vw;
  }
  #front-page .contact .contact__form .wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 1.5vw;
  }
  #front-page .contact .contact__form .wpcf7-radio .wpcf7-list-item {
    width: 100%;
    margin: 0;
    font-size: 3.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #1F1F1F;
  }
  #front-page .contact .contact__form .wpcf7-radio label {
    display: flex;
    align-items: center;
    gap: 2.4vw;
    padding-top: 2.5vw;
    padding-bottom: 2.4vw;
    padding-left: 3.7vw;
    background: #fff;
    border: 1px solid #E2E2E2;
  }
  #front-page .contact .contact__form .wpcf7-radio input[type=radio] {
    margin: 0;
    width: 5.1vw;
    height: 5.1vw;
    border-color: #E2E2E2;
  }
#front-page .contact #priv{
  margin:3vw 3vw 3vw 3vw;
}

  #front-page .contact .privtext {
    margin-bottom: 0;
    font-size: 2.9vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #1F1F1F;
  }
  #front-page .contact .privtext .wpcf7-list-item {
    margin: 0;
  }
  #front-page .contact .input_area {
    margin-inline: auto;
    text-align: center;
  }
  #front-page .contact .input_area input[type=checkbox] {
    margin: 0;
    width: 4.3vw;
    height: 4.3vw;
    transform: translate(-0.5vw, 1vw);
  }
  #front-page .contact .input_area .confirm_button {
    position: relative;
    width: 72.5vw;
    margin-top: 9.5vw;
    padding-top: 4.9vw;
    padding-bottom: 4.9vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    background: #fff;
    color: #E3507F;
    border: 1px solid #E3507F;
  }
  #front-page .contact .input_area .confirm_button::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 4.3vw;
    width: 5.7vw;
    height: 3.6vw;
    background: url("../images/common/contact-arrow-pink.svg") no-repeat center center/contain;
  }
  #front-page .contact .confirm_area .back_button {
        border: none;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 86.6vw;
        font-size: 3.382vw;
        line-height: 2;
        letter-spacing: 0.08em;
        color: #fff;
        padding: 5.8vw 0;
        font-family: inherit;
        position: relative;
        top: 0;
        transition: 0.2s ease-in-out;
        display: block;
        margin-inline: auto;
    background: #3E3E3E;
  }

  /* #front-page .contact .confirm_area .back_button::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 8.7vw;
    width: 8vw;
    height: 5.1vw;
    background: url("../images/common/contact-arrow-white.svg") no-repeat center center/contain;
  }*/

#front-page .contact .confirm_area div#back_area{ text-align: center;}


  #front-page .contact .confirm_area .-send-btn {
    width: min(90%, 154.6vw);
    padding-top: 7.7vw;
    padding-bottom: 7.2vw;
    font-size: 4.3vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    background: #E3507F;
  }
  #front-page .contact .confirm_area .-send-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-44%);
    right: 8.7vw;
    width: 8vw;
    height: 5.1vw;
    background: url("../images/common/contact-arrow-white.svg") no-repeat center center/contain;
  }
}/*# sourceMappingURL=page-top.css.map */