@charset "UTF-8";
/* ===================================
    【 PC 】 Util / Components
================================== */
@media (min-width: calc(767px + 1px)) {
  .c-card {
    position: relative;
    z-index: 10;
    width: min(90%, 132.5rem);
    margin-inline: auto;
    text-align: center;
    background: #fff;
    box-shadow: 0 20px 20px 0 rgba(51, 51, 51, 0.12);
    border-top: 10px solid #EFECEA;
  }
  .c-card .c-card__inner {
    padding-block: 5.4rem 5.9rem;
  }
  .c-card .c-card__title {
    font-family: Asul;
    font-size: 4.8rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
  }
  .c-card .c-card__lead {
    margin-top: 1em;
    font-size: 2.4rem;
    line-height: 1.67;
    letter-spacing: 0.025em;
  }
  .c-card .c-card__btn {
    display: inline-block;
    width: min(95%, 109.8rem);
    margin-inline: auto;
    transform: translate(7px, -7px);
  }
}
/* ===================================
    【 SP 】 Util / Components
================================== */
@media (max-width: 767px) {
  .c-card {
    width: 91.6vw;
    margin-inline: auto;
    text-align: center;
    background: #fff;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.05);
    border-top: 2.4vw solid #EFECEA;
  }
  .c-card .c-card__inner {
    padding-top: 7.5vw;
    padding-bottom: 7.9vw;
    width: min(95%,84.5vw);
    margin-inline: auto;
  }
  .c-card .c-card__title {
    font-family: Asul;
    font-size: 8.3vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
    line-height: 1;
  }
  .c-card .c-card__lead {
    margin-top: 4vw;
    font-size: 4.8vw;
    line-height: 1.7;
    letter-spacing: 0.025em;
  }
  .c-card .c-card__btn {
    display: inline-block;
    width: 100% !important;
    margin-top: 5.2vw;
    width: 85vw;
  }
  .c-card .c-card__btn img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
/* ===== Base / Reset (universal) ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  max-width: 192rem;
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.5;
  color: #371C09;
  background: #fff;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}

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;
}

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

/* ============================================
  NOTE: レスポンシブ設計ルール
  - 基本のclampは PC:1920px → SP:767px を基準にする
  - SPは max-width:767px、PCは min-width:768px とする
  - 例外的に中間幅（1366px/1400px等）で崩れる場合は、
    その要素だけ max値をコメントで記載
============================================ */
/* ===== Layout / Header ===== */
/* ===== Layout / menu ===== */
/* ===== Layout / Footer ===== */
/* ===================================
    【 PC 】 Pages / hero
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .hero {
    position: relative;
    background-color: #fff;
  }
  #front-page .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/hero-bg.webp") no-repeat center top;
    background-size: 100% auto;
    aspect-ratio: 1920/982;
    z-index: 0;
  }
  #front-page .hero .hero__inner {
    position: relative;
    padding-top: clamp(5.5rem, -3.833rem + 12.153vw, 19.5rem);
    padding-bottom: clamp(6.3rem, -3.7rem + 13.021vw, 21.3rem);
    padding-right: clamp(1.1rem, -4.233rem + 6.944vw, 9.1rem);
    display: flex;
    justify-content: flex-end;
    z-index: 1;
  }
  #front-page .hero .hero__content {
    display: flex;
    flex-direction: column;
    gap: clamp(1.6rem, 2.604vw - 0.4rem, 4.6rem);
    width: -moz-fit-content;
    width: fit-content;
  }
  #front-page .hero .hero__titleWrap {
    color: #fff;
  }
  #front-page .hero .hero__leadText {
    font-size: clamp(1.1rem, 0.233rem + 1.128vw, 2.4rem);
    line-height: 1.67;
    font-weight: 500;
    letter-spacing: 0.025em;
  }
  #front-page .hero .hero-title {
    font-size: clamp(4.5rem, 1.233rem + 4.253vw, 9.4rem);
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.025em;
  }
  #front-page .hero .hero-title span {
    display: block;
    font-size: clamp(1.8rem, 0.333rem + 1.91vw, 4rem);
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.055em;
  }
  #front-page .hero .hero__budge {
    display: flex;
    gap: 1rem;
  }
  #front-page .hero .hero__budge-image {
    width: 23rem;
    height: 23rem;
    width: clamp(12rem, 4.667rem + 9.549vw, 23rem);
    height: clamp(12rem, 4.667rem + 9.549vw, 23rem);
  }
  #front-page .hero .hero__budge-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
/* ===================================
    【 SP 】 Pages / hero
================================== */
@media (max-width: 767px) {
  #front-page .hero {
    position: relative;
    background-color: #fff;
    margin-top: 10vw;
    margin-bottom: 5vw;
    aspect-ratio: 414/649;
  }
  #front-page .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/hero-bg-sp.jpg") no-repeat center top;
    background-size: 100% auto;
    z-index: 0;
  }
  #front-page .hero .hero__inner {
    position: relative;
    margin-bottom: auto;
    padding-top: 12vw;
    text-align: center;
    aspect-ratio: 414/649;
    z-index: 1;
  }
  #front-page .hero .hero__content {
    width: 100%;
    display: block; /* flex 削除 */
    gap: 0; /* flex削除なので gap も削除 */
  }
  #front-page .hero .hero__titleWrap {
    color: #fff;
    width: 100%;
  }
  #front-page .hero .hero__leadText {
    font-size: 3.4vw; /* 11px → 2.7vw */
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0.025em;
    width: 100%;
  }
  #front-page .hero .hero-title {
    margin-top: 2.2vw;
    font-size: 11.8vw; /* 45px → 10.9vw */
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.025em;
    width: 100%;
  }
  #front-page .hero .hero-title span {
    display: block;
    margin-top: 2.2vw;
    font-size: 5.7vw; /* 18px → 4.3vw */
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.055em;
    width: 100%;
  }
  #front-page .hero .hero__budge {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 16%);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-align: center;
    z-index: 10;
  }
  #front-page .hero .hero__budge-image {
    width: 30.43vw;
    height: auto;
  }
  #front-page .hero .hero__budge-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
/* ===================================
    【 PC 】 Pages / worry
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .worry {
    position: relative;
    background-color: #fff;
  }
  #front-page .worry::before, #front-page .worry::after {
    content: "";
    position: absolute;
  }
  #front-page .worry::before {
    inset: 0;
    background: url("../images/front-page/con1-worry-bg.svg") no-repeat center center;
    background-size: cover;
    z-index: 0;
  }
  #front-page .worry::after {
    left: 50%;
    bottom: -3.2rem;
    transform: translateX(-50%);
    background: url("../images/front-page/con1-worry-bg-arrow.svg") no-repeat center center/contain;
    width: 33.6rem;
    height: auto;
    aspect-ratio: 336/110;
    z-index: 1;
  }
  #front-page .worry .worry__inner {
    position: relative;
    z-index: 2;
    padding-top: 16rem;
    padding-bottom: clamp(10rem, -1.267rem + 14.67vw, 26.9rem);
    text-align: center;
  }
  #front-page .worry .worry__titleSub {
    font-size: 2.4rem;
    line-height: 1.67;
    font-weight: 500;
    letter-spacing: 0.025em;
  }
  #front-page .worry .worry__title {
    position: relative;
    margin-top: 1.6rem;
    font-size: clamp(3rem, 1.8rem + 1.563vw, 4.8rem);
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .worry .worry__title span {
    position: relative;
  }
  #front-page .worry .worry__title span::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0.8rem;
    height: 0.8rem;
    background-color: #371C09;
    border-radius: 50%;
    z-index: -1;
  }
  #front-page .worry .worry__media {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    width: min(95%, 105.4rem);
    margin-top: 6.8rem;
    margin-inline: auto;
  }
  #front-page .worry .worry__media::before,
  #front-page .worry .worry__media::after {
    content: "";
    position: absolute;
    z-index: 1;
  }
  #front-page .worry .worry__media::before {
    top: -11.1rem;
    left: clamp(-15rem, -13.021vw + 10rem, 0rem);
    width: 8.6rem;
    width: clamp(3.6rem, 0.267rem + 4.34vw, 8.6rem);
    height: auto;
    background: url("../images/front-page/con1-worry-deco01.svg") no-repeat center center/cover;
    aspect-ratio: 86/103;
  }
  #front-page .worry .worry__media::after {
    bottom: -10.7rem;
    right: clamp(-21.6rem, -17.882vw + 12.733rem, -1rem);
    width: clamp(15.2rem, 7.867rem + 9.549vw, 26.2rem);
    height: auto;
    background: url("../images/front-page/con1-worry-deco02.svg") no-repeat center center/cover;
    aspect-ratio: 262/247;
  }
  #front-page .worry .worry__mediaList {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 1.6rem;
    width: 61.29%;
  }
  #front-page .worry .worry__mediaList::before {
    content: "";
    position: absolute;
    top: -3.6rem;
    left: 3.6rem;
    transform: translateX(calc(-100% + 6.8rem));
    width: clamp(38.2rem, 29.533rem + 11.285vw, 51.2rem);
    height: auto;
    background: url("../images/front-page/con1-worry-media-image01.jpg") no-repeat center center/cover;
    aspect-ratio: 512/635;
  }
  #front-page .worry .worry__mediaList:not(:last-child) {
    margin-bottom: 1.6rem;
  }
  #front-page .worry .worry__mediaItem {
    position: relative;
    width: 100%;
    padding-block: clamp(1.4rem, 0.733rem + 0.868vw, 2.4rem);
    padding-left: clamp(4rem, 2.067rem + 2.517vw, 6.9rem);
    font-size: 1.6rem;
    font-size: clamp(1.4rem, 1.267rem + 0.174vw, 1.6rem);
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left;
    background-color: #fff;
    color: #000;
  }
  #front-page .worry .worry__mediaItem span {
    font-weight: 700;
    color: #ED710B;
  }
  #front-page .worry .worry__mediaItem::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 2.4rem;
    left: clamp(1.2rem, 0.4rem + 1.042vw, 2.4rem);
    width: clamp(2rem, 1.4rem + 0.781vw, 2.9rem);
    height: clamp(2rem, 1.467rem + 0.694vw, 2.8rem);
    background: url("../images/front-page/con1-worry-list-icon.svg") no-repeat center center/contain;
  }
}
/* ===================================
    768px ~ 1200px
================================== */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #front-page .worry .worry__media::before {
    left: 0.6rem;
  }
  #front-page .worry .worry__media::after {
    right: 0.6rem;
    bottom: -8.7rem;
  }
}
/* ===================================
    【 SP 】 Pages / worry
================================== */
@media (max-width: 767px) {
  #front-page .worry {
    position: relative;
    background-color: #fff;
  }
  #front-page .worry::before, #front-page .worry::after {
    content: "";
    position: absolute;
  }
  #front-page .worry::before {
    inset: 0;
    background: url("../images/front-page/con1-worry-bg-sp.svg") no-repeat center center;
    background-size: cover;
    z-index: 0;
  }
  #front-page .worry::after {
    left: 50%;
    bottom: -14.2vw;
    transform: translateX(-50%);
    background: url("../images/front-page/con1-worry-bg-arrow.svg") no-repeat center center/contain;
    width: 81.1vw;
    height: auto;
    aspect-ratio: 336/110;
    z-index: 1;
  }
  #front-page .worry .worry__inner {
    position: relative;
    z-index: 2;
    padding-top: 15.1vw;
    padding-bottom: 37.5vw;
    text-align: center;
  }
  #front-page .worry .worry__titleSub {
    font-size: 3.8vw;
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: 0.025em;
  }
  #front-page .worry .worry__title {
    margin-top: 4.6vw;
    font-size: 5.6vw;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
  #front-page .worry .worry__title span {
    position: relative;
  }
  #front-page .worry .worry__title span::after {
    content: "";
    position: absolute;
    top: -1.5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 1vw;
    height: 1vw;
    background-color: #371C09;
    border-radius: 50%;
    z-index: -1;
  }
  #front-page .worry .worry__media {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 7.6vw;
    margin-inline: auto;
  }
  #front-page .worry .worry__media::before,
  #front-page .worry .worry__media::after {
    content: "";
    position: absolute;
    z-index: 1;
  }
  #front-page .worry .worry__media::before {
    top: -35.8vw;
    left: 7.8vw;
    width: 13.8vw;
    height: auto;
    background: url("../images/front-page/con1-worry-deco01.svg") no-repeat center center/cover;
    aspect-ratio: 86/103;
  }
  #front-page .worry .worry__media::after {
    bottom: -25.8vw;
    left: 50%;
    transform: translateX(-50%);
    width: 30vw;
    height: auto;
    background: url("../images/front-page/con1-worry-deco02.svg") no-repeat center center/cover;
    aspect-ratio: 262/247;
  }
  #front-page .worry .worry__mediaList {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 4.1vw;
    width: 100%;
  }
  #front-page .worry .worry__mediaList::before {
    content: "";
    position: relative;
    width: 100%;
    height: auto;
    background: url("../images/front-page/con1-worry-media-image01-sp.jpg") no-repeat center center/cover;
    aspect-ratio: 414/220;
    margin-bottom: -9.5vw;
  }
  #front-page .worry .worry__mediaItem {
    position: relative;
    width: 92vw;
    margin-inline: auto;
    padding-block: 3.5vw;
    padding-left: 14.7vw;
    padding-right: 5vw;
    font-size: 3.9vw;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left;
    background-color: #fff;
    color: #000;
    font-weight: 400;
  }
  #front-page .worry .worry__mediaItem span {
    font-weight: 700;
    color: #ED710B;
  }
  #front-page .worry .worry__mediaItem::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 3.8vw;
    width: 7vw;
    height: 6.8vw;
    background: url("../images/front-page/con1-worry-list-icon.svg") no-repeat center center/contain;
  }
}
/* ===================================
    【 PC 】Pages / program
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .program {
    position: relative;
    background: url("../images/front-page/program_bg.jpg") no-repeat top center / cover;
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;

  }
  /* #front-page .program::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/con2-program-bg.svg") no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  } */
  #front-page .program .program__inner {
    position: relative;
    z-index: 1;
    padding-block: 12rem 0;
  }
  #front-page .program .program__titleWrap {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    text-align: center;
    margin-bottom: 6rem;
  }
  #front-page .program .program__titleWrap::before {
    content: "";
    position: absolute;
    top: 4.5rem;
    left: 0.4rem;
    /* left: clamp(5.4rem, 8.733rem - 4.34vw, 0.4rem); */
    left: clamp(0.4rem, 8.733rem - 4.34vw, 5.4rem);
    transform: translateX(calc(-100% - 8.5rem));
    width: clamp(13rem, 3rem + 13.021vw, 28rem);
    height: auto;
    background: url("../images/front-page/con2-program-deco.svg") no-repeat center center/cover;
    aspect-ratio: 280/219;
  }
  #front-page .program .program__lead {
    font-size: clamp(1.8rem, 1.4rem + 0.521vw, 2.4rem);
    line-height: 1.67;
    letter-spacing: 0.025em;
  }
  #front-page .program .program__lead--bottom {
    margin-top: 1.6rem;
  }
  #front-page .program .program__title {
    margin-top: 1.6rem;
    font-size: clamp(4rem, 2.4rem + 2.083vw, 6.4rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .program .program__title span {
    margin-top: 1.6rem;
    display: block;
    font-size: clamp(3.2rem, 2.133rem + 1.389vw, 4.8rem);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .program .program__list {
    display: flex;
    gap: clamp(4rem, 1.333rem + 3.472vw, 8rem);
    width: min(100%, 144.8rem);
    padding: clamp(2rem, -2rem + 5.208vw, 8rem);
    margin-inline: auto;
    background-color: #fff;
    box-shadow: 0 20px 30px 0 #EFECEA;
  }
  #front-page .program .program__item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 29.15%;
    padding: clamp(0.8rem, -0.267rem + 1.389vw, 2.4rem);
    text-align: center;
    border-right: 1px solid #EFECEA;
    border-bottom: 1px solid #EFECEA;
  }
  #front-page .program .program__itemNumber {
    display: inline-block;
    margin-inline: auto;
    font-family: "Noto Serif JP", serif;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.025em;
    border-bottom: 1px solid #371C09;
  }
  #front-page .program .program__itemImage {
    margin-top: clamp(2.3rem, 0.033rem + 2.951vw, 5.7rem);
    padding-inline: 0.6rem;
    width: 100%;
  }
  #front-page .program .program__itemTitle {
    margin-top: clamp(2.3rem, 0.033rem + 2.951vw, 5.7rem);
    font-size: clamp(1.4rem, 1rem + 0.521vw, 2rem);
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.025em;
  }
  #front-page .program .program__itemDesc {
    margin-top: 1.5rem;
    font-size: clamp(1.2rem, 0.933rem + 0.347vw, 1.6rem);
    line-height: 1.75;
    letter-spacing: 0.03em;
    font-weight: 500;
    color: #3F3F3F;
  }
  #front-page .program .program__itemDesc span {
    color: #ED710B;
  }
  #front-page .program .program__btn {
    position: relative;
    z-index: 1;
    margin-top: clamp(2.6rem, -2.067rem + 6.076vw, 9.6rem);
    margin-top: 1rem;
    text-align: center;
    width: min(95%, 109.8rem);
    margin-inline: auto;
    transform: translateY(50%);
  }
}
/* ===================================
    【 SP 】 Pages / program
================================== */
@media (max-width: 767px) {
  #front-page .program {
    position: relative;
    background-color: #fff;
  }
  #front-page .program::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/con2-program-bg-sp.webp") no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  }
  #front-page .program .program__inner {
    position: relative;
    z-index: 1;
    padding-top: 30.5vw;
    padding-bottom: 0;
  }
  #front-page .program .program__titleWrap {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    text-align: center;
  }
  #front-page .program .program__titleWrap::before {
    content: "";
    position: absolute;
    top: -22.2vw;
    left: -10vw;
    width: 25.604vw;
    height: 20.048vw;
    background: url("../images/front-page/con2-program-deco.svg") no-repeat center center/cover;
  }
  #front-page .program .program__lead {
    font-size: 3.4vw;
    line-height: 1.7;
    letter-spacing: 0.025em;
  }
  #front-page .program .program__lead--bottom {
    margin-top: 2.8vw;
    font-size: 3.9vw;
  }
  #front-page .program .program__title {
    margin-top: 2.4vw;
    font-size: 5.8vw;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .program .program__title span {
    display: block;
    margin-bottom: 1vw;
    font-size: 5.8vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .program .program__list {
    display: flex;
    flex-direction: column;
    gap: 12.5vw;
    width: 92.7vw;
    margin-inline: 5.8vw;
    margin-inline: auto;
    padding: 4.2vw;
    padding-bottom: 6.7vw;
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4.8vw 7.2vw 0 #EFECEA;
  }
  #front-page .program .program__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 1.6vw;
    padding-top: 4.8vw;
    padding-bottom: 7.5vw;
    text-align: center;
    border-right: none;
    border-bottom: 1px solid #EFECEA;
    border-right: 1px solid #EFECEA;
  }
  #front-page .program .program__itemNumber {
    display: inline-block;
    margin-inline: auto;
    font-family: "Noto Serif JP", serif;
    font-size: 4.8vw;
    line-height: 1.5;
    letter-spacing: 0.025em;
    border-bottom: 1px solid #000;
  }
  #front-page .program .program__itemImage {
    margin-top: 6.7vw;
    padding-inline: 1.4vw;
    width: 75vw;
  }
  #front-page .program .program__itemTitle {
    margin-top: 10vw;
    font-size: 4.8vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.025em;
  }
  #front-page .program .program__itemDesc {
    margin-top: 2vw;
    font-size: 3.9vw;
    padding-inline: 7.5vw;
    line-height: 1.75;
    letter-spacing: 0.03em;
    text-align: left;
    color: #3F3F3F;
    font-weight: 500;
  }
  #front-page .program .program__itemDesc span {
    color: #ED710B;
  }
  #front-page .program .program__btn {
    position: relative;
    z-index: 1;
    margin-top: 3vw;
    text-align: center;
    width: 85vw;
    margin-inline: auto;
    transform: translateY(50%);
  }
}
/* ===================================
    【 PC 】 Pages / achievement
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .achievement {
    background-color: #fff;
  }
  #front-page .achievement .achievement__inner {
    padding-block: 18rem 0;
  }
  #front-page .achievement .achievement__lead {
    font-size: clamp(1.8rem, 1.4rem + 0.521vw, 2.4rem);
    line-height: 1.67;
    letter-spacing: 0.025em;
    color: #3F3F3F;
  }
  #front-page .achievement .achievement__titleWrap {
    text-align: center;
  }
  #front-page .achievement .achievement__title {
    margin-top: 1.6rem;
    font-size: clamp(4rem, 2.4rem + 2.083vw, 6.4rem);
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .achievement .achievement__image {
    position: relative;
    margin-top: 4rem;
    text-align: center;
  }
  #front-page .achievement .achievement__image::before,
  #front-page .achievement .achievement__image::after {
    content: "";
    position: absolute;
    top: -13rem;
    width: 3.3rem;
    height: auto;
    aspect-ratio: 33/94;
    background: url("../images/front-page/con3-achievement-title-deco-l.svg") no-repeat center center/contain;
  }
  #front-page .achievement .achievement__image::before {
    left: calc(50% - 23.2rem);
  }
  #front-page .achievement .achievement__image::after {
    left: calc(50% + 19.2rem);
    transform: scaleX(-1);
  }
  #front-page .achievement .achievement__image img {
    width: 100%;
    height: auto;
    margin-top: 4rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #front-page .achievement .achievement__girdArea {
    width: min(95%, 160rem);
    margin-top: -7.3rem;
    margin-inline: auto;
    position: relative;
    z-index: 10;
  }
  #front-page .achievement .achievement__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.2rem;
    position: relative;
    margin-top: -7.3rem;
    z-index: 1;
  }
  #front-page .achievement .achievement__item {
    padding-block: 2.4rem;
    padding-inline: clamp(0.4rem, -2.941rem + 2.782vw, 2.4rem);
    background-color: #fff;
    border: 1px solid #ED710B;
  }
  #front-page .achievement .achievement__itemNumber {
    font-family: "Asul", sans-serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.025em;
    color: #ED710B;
    text-align: center;
    border-bottom: 1px solid #ED710B;
  }
  #front-page .achievement .achievement__itemYear {
    display: block;
    margin-top: 0.8rem;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0.03em;
    text-align: center;
    color: #A49090;
    font-weight: 500;
  }
  #front-page .achievement .achievement__itemTitle {
    margin-top: 2.4rem;
    margin-top: clamp(0.4rem, -0.933rem + 1.736vw, 2.4rem);
    font-size: 2rem;
    font-size: clamp(1.6rem, 0.932rem + 0.556vw, 2rem);
    line-height: 1.6;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: 500;
    color: #3F3F3F;
  }
}
/* ========================================
    @media screen and (max-width: 1480px)
======================================== */
@media (max-width: 1200px) {
  #front-page .achievement .achievement__image::before,
  #front-page .achievement .achievement__image::after {
    content: "";
    position: absolute;
    top: -11rem;
  }
    #front-page .achievement .achievement__image::before {
    left: calc(50% - 17.2rem);
  }
  #front-page .achievement .achievement__image::after {
    left: calc(50% + 14.2rem);
    transform: scaleX(-1);
  }
}
/* ========================================
    @media screen and (max-width: 1200px)
======================================== */
@media (max-width: 1200px) {
  #front-page .achievement .achievement__list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.6rem, -1.244rem + 3.704vw, 3.2rem);
  }
  #front-page .achievement .achievement__item {
    padding-inline: clamp(0.5rem, -2.878rem + 4.398vw, 2.4rem);
  }
  #front-page .achievement .achievement__itemTitle {
    font-size: clamp(1.2rem, -0.222rem + 1.852vw, 2rem);
  }
}
/* ===================================
    【 SP 】 Pages / achievement
================================== */
@media (max-width: 767px) {
  #front-page .achievement {
    background-color: #fff;
  }
  #front-page .achievement .achievement__inner {
    padding-top: 27.4vw;
    padding-bottom: 0;
  }
  #front-page .achievement .achievement__lead {
    font-size: 3.9vw;
    line-height: 1.7;
    letter-spacing: 0.025em;
    color: #3F3F3F;
    font-weight: 400;
  }
  #front-page .achievement .achievement__titleWrap {
    text-align: center;
  }
  #front-page .achievement .achievement__title {
    margin-top: 3.8vw;
    font-size: 8.3vw;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .achievement .achievement__image {
    position: relative;
    margin-top: 9.6vw;
    text-align: center;
  }
  #front-page .achievement .achievement__image::before,
  #front-page .achievement .achievement__image::after {
    content: "";
    position: absolute;
    top: -21vw;
    width: 18px;
    height: auto;
    aspect-ratio: 18/52;
    background: url("../images/front-page/con3-achievement-title-deco-l.svg") no-repeat center center/contain;
  }
  #front-page .achievement .achievement__image::before {
    left: calc(50% - 33vw);
  }
  #front-page .achievement .achievement__image::after {
    left: calc(50% + 28.2vw);
    transform: scaleX(-1);
  }
  #front-page .achievement .achievement__image img {
    width: 100%;
    height: auto;
    margin-top: 9.6vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #front-page .achievement .achievement__girdArea {
    width: 92.8vw;
    margin-top: -17.6vw;
    margin-inline: auto;
    position: relative;
    z-index: 10;
  }
  #front-page .achievement .achievement__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6vw 6.2vw;
    position: relative;
    margin-top: 11.4vw;
    z-index: 1;
  }
  #front-page .achievement .achievement__item {
    padding: 3.5vw 3.6vw 4.7vw;
    background-color: #fff;
    border: 1px solid #ED710B;
  }
  #front-page .achievement .achievement__itemNumber {
    padding-bottom: 1vw;
    font-family: "Asul", sans-serif;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.025em;
    color: #ED710B;
    text-align: center;
    border-bottom: 1px solid #ED710B;
  }
  #front-page .achievement .achievement__itemYear {
    display: block;
    margin-top: 1.9vw;
    font-size: 3.5vw;
    line-height: 1.75;
    letter-spacing: 0.03em;
    text-align: center;
    color: #A49090;
    font-weight: 500;
  }
  #front-page .achievement .achievement__itemTitle {
    margin-top: 2.4vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.025em;
    text-align: center;
    color: #3F3F3F;
  }
}
/* ===================================
    【 PC 】 Pages / voice
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .voice {
    position: relative;
    background-color: #fff;
  }
  #front-page .voice::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/con4-voice-bg.webp") no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    transform: translateY(-23.2rem);
    height: calc(100% + 23.2rem);
    z-index: 0;
  }
  #front-page .voice .voice__inner {
    position: relative;
    z-index: 1;
    padding-block: 12rem 8.2rem;
  }
  #front-page .voice .voice__lead {
    font-size: clamp(1.8rem, 1.4rem + 0.521vw, 2.4rem);
    line-height: 1.67;
    letter-spacing: 0.025em;
    text-align: center;
  }
  #front-page .voice .voice__title {
    position: relative;
    font-family: Asul;
    font-size: 8.4rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
    font-size: clamp(6rem, 4.4rem + 2.083vw, 8.4rem);
    line-height: 1;
    margin-top: 10.4rem;
    margin-inline: auto;
    text-align: center;
    z-index: 1;
  }
  #front-page .voice .voice__title::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, calc(-100% - 3rem));
    width: 62.8rem;
    height: auto;
    background: url("../images/front-page/con4-voice-title-deco.svg") no-repeat center center/contain;
    aspect-ratio: 628/34.5;
  }
  #front-page .voice .voice__title span {
    display: block;
    font-family: Asul;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
  }
  #front-page .voice .voice__title img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #front-page .voice .voice__content {
    width: min(95%, 140rem);
    margin-inline: auto;
    padding: 8rem 6.4rem 6.4rem;
    padding-top: clamp(6rem, 4.667rem + 1.736vw, 8rem);
    padding-bottom: clamp(3.2rem, 1.067rem + 2.778vw, 6.4rem);
    padding-inline: clamp(3.2rem, 1.067rem + 2.778vw, 6.4rem);
    background-color: #fff;
    transform: translateY(-4rem);
  }
  #front-page .voice .voice__list {
    width: 100%;
  }
  #front-page .voice .voice__item {
    display: flex;
    gap: 3.2rem;
    padding: clamp(2rem, 0.667rem + 1.736vw, 4rem);
    background-color: #EFECEA;
  }
  #front-page .voice .voice__item:not(:first-child) {
    margin-top: 3.2rem;
  }
  #front-page .voice .voice__itemImage {
    width: 19.9%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #front-page .voice .voice__itemText {
    flex: 1;
  }
  #front-page .voice .voice__itemPosition {
    font-size: clamp(1.2rem, 0.667rem + 0.694vw, 2rem);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
  #front-page .voice .voice__itemTitle {
    margin-top: 0.4rem;
    font-size: clamp(1.6rem, 1.333rem + 0.347vw, 2rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.025em;
    color: #ED710B;
  }
  #front-page .voice .voice__itemDesc {
    margin-top: 1em;
    font-size: clamp(1.2rem, 0.933rem + 0.347vw, 1.6rem);
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
  }
}
/* ===================================
    【 SP 】 Pages / voice
================================== */
@media (max-width: 767px) {
  #front-page .voice {
    position: relative;
    background-color: #fff;
    background-image:url(../images/front-page/con4-voice-bg-sp.webp);
    background-position:0px 0px;
    background-repeat:no-repeat;
    background-size: cover;
  }

  /* #front-page .voice::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/con4-voice-bg-sp.webp") no-repeat top center;
    background-size: auto 100%;
    transform: translateY(-55.8vw);
    height: calc(100% + 55.8vw);
    z-index: 0;
  }*/ 
  
  #front-page .voice .voice__inner {
    position: relative;
    z-index: 1;
    padding-top: 16vw;
    padding-bottom: 16.1vw;
  }
  #front-page .voice .voice__lead {
    font-size: 3.9vw;
    line-height: 1.7;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: 400;
  }
  #front-page .voice .voice__title {
    position: relative;
    font-size: 10.2vw;
    line-height: 1;
    margin-top: 14.9vw;
    margin-inline: auto;
    text-align: center;
    z-index: 1;
  }
  #front-page .voice .voice__title::before {
    content: "";
    position: absolute;
    top: 3.7vw;
    left: 50%;
    transform: translate(-50%, calc(-100% - 3rem));
    width: 93.4vw;
    height: auto;
    background: url("../images/front-page/con4-voice-title-deco-sp.svg") no-repeat center center/contain;
    aspect-ratio: 191/17;
  }
  #front-page .voice .voice__title span {
    display: block;
    font-size: 3.8vw;
    line-height: 1.7;
    letter-spacing: 0.4px;
  }
  #front-page .voice .voice__content {
    width: 92vw;
    margin-inline: auto;
    margin-top: 8.7vw;
    padding-top: 8.3vw;
    padding-inline: 5.6vw;
    padding-bottom: 9vw;
    background-color: #fff;
  }
  #front-page .voice .voice__list {
    width: 100%;
  }
  #front-page .voice .voice__item {
    display: flex;
    flex-direction: column;
    gap: 4.8vw;
    padding: 5.6vw 3.6vw;
    background-color: #EFECEA;
  }
  #front-page .voice .voice__item:not(:first-child) {
    margin-top: 7.4vw;
  }
  #front-page .voice .voice__itemImage {
    width: 100%;
    height: auto;
  }
  #front-page .voice .voice__itemImage img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #front-page .voice .voice__itemText {
    width: 100%;
  }
  #front-page .voice .voice__itemPosition {
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
  #front-page .voice .voice__itemTitle {
    margin-top: 1.9vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.025em;
    color: #ED710B;
  }
  #front-page .voice .voice__itemDesc {
    margin-top: 1.7vw;
    font-size: 3.4vw;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
    color: #3F3F3F;
  }
}
/* ===== Pages / menu ===== */
@media (min-width: calc(767px + 1px)) {
  #front-page .otherMenu {
    background: linear-gradient(to top, transparent 0%, rgba(240, 240, 240, 0.1) 49%, #FFFFFF 100%);
  }
  #front-page .otherMenu .otherMenu__inner {
    padding-block: 12rem;
  }
  #front-page .otherMenu .otherMenu__title {
    font-family: Asul;
    font-size: 4.8rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
    text-align: center;
  }
  #front-page .otherMenu .otherMenu__banner {
    width: min(90%, 93.3rem);
    height: auto;
    margin-top: 4rem;
    margin-inline: auto;
  }
  #front-page .otherMenu .otherMenu__note {
    margin-top: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0;
    text-align: center;
  }
}
/* ===================================
    【 SP 】 Pages / otherMenu
================================== */
@media (max-width: 767px) {
  #front-page .otherMenu {
    position: relative;
    background: linear-gradient(to top, transparent 0%, rgba(240, 240, 240, 0.1) 49%, #FFFFFF 100%);
  }
  #front-page .otherMenu::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/front-page/con5-other-menu-bg-sp.jpg") no-repeat center center/cover;
  }
  #front-page .otherMenu .otherMenu__inner {
    position: relative;
    padding-top: 30.3vw;
    padding-bottom: 15vw;
  }
  #front-page .otherMenu .otherMenu__title {
    font-family: Asul;
    font-size: 4.9vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
    text-align: center;
  }
  #front-page .otherMenu .otherMenu__banner {
    width: 92vw;
    height: auto;
    margin-top: 6.6vw;
    margin-inline: auto;
  }
  #front-page .otherMenu .otherMenu__banner img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #front-page .otherMenu .otherMenu__note {
    width: 93vw;
    margin-top: 3.5vw;
    font-size: 3.9vw;
    line-height: 1.75;
    letter-spacing: 0;
    text-align: left;
    margin-inline: auto;
    color: #3F3F3F;
    font-weight: 400;
  }
}
/* ===================================
    【 PC 】 Pages / profile
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .profile .profile__inner {
    padding-block: 26rem 2rem;
    padding-top: clamp(4rem, -10.667rem + 19.097vw, 26rem);
  }
  #front-page .profile .profile__title {
    position: relative;
    width: min(95%, 133.6rem);
    margin-inline: auto;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.57;
    letter-spacing: 0.02em;
  }
  #front-page .profile .profile__title::before {
    content: "";
    position: absolute;
    top: -20.6rem;
    top: clamp(-20.6rem, -5.382vw - 10.267rem, -14.4rem);
    left: 5.9rem;
    width: 61.6rem;
    width: clamp(30rem, 8.933rem + 27.431vw, 61.6rem);
    height: auto;
    background: url("../images/front-page/con6-profile-title-cursive.svg") no-repeat center center/contain;
    aspect-ratio: 616/354;
    z-index: 1;
  }
  #front-page .profile .profile__snsLink {
    display: inline-block;
  }
  #front-page .profile .profile__snsLink img {
    width: 100%;
  }
  #front-page .profile .profile__snsLink--line {
    width: 3.2rem;
  }
  #front-page .profile .profile__content {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(95%, 143.8rem);
    margin-inline: auto;
    transform: translateY(-10rem);
  }
  #front-page .profile .profile__infoArea {
    position: relative;
    z-index: 2;
    width: 41.8%;
    min-width: 40rem;
    height: -moz-fit-content;
    height: fit-content;
    padding: 4rem 3.2rem;
    padding-inline: clamp(2rem, 1.2rem + 1.042vw, 3.2rem);
    background-color: #FFF;
    transform: translate(5.1rem, 15.7rem);
    box-shadow: 0 0 30px 0 rgba(177, 144, 52, 0.1);
  }
  #front-page .profile .profile__header {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    align-items: center;
    gap: 0 1.6rem;
    gap: clamp(0.8rem, 0.267rem + 0.694vw, 1.6rem);
  }
  #front-page .profile .profile__position {
    width: -moz-fit-content;
    width: fit-content;
    font-size: clamp(1.2rem, 0.933rem + 0.347vw, 1.6rem);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.03em;
  }
  #front-page .profile .profile__name {
    width: -moz-fit-content;
    width: fit-content;
    font-size: clamp(2.4rem, 1.733rem + 0.868vw, 3.4rem);
    font-weight: 700;
    line-height: 1.53;
    letter-spacing: 0.02em;
  }
  #front-page .profile .profile__snsList {
    display: flex;
    align-items: center;
  }
  #front-page .profile .profile__snsItem--facebook {
    margin-left: 1.6rem;
  }
  #front-page .profile .profile__snsItem--note {
    margin-left: 1.4rem;
  }
  #front-page .profile .profile__skillList {
    width: 100%;
    margin-top: clamp(1rem, 0.067rem + 1.215vw, 2.4rem);
  }
  #front-page .profile .profile__skillItem {
    position: relative;
    margin-top: 1.6rem;
    padding: 1.6rem 1.6rem 1.6rem 3.2rem;
    padding-block: clamp(0.8rem, 0.267rem + 0.694vw, 1.6rem);
    padding-right: clamp(0.8rem, 0.267rem + 0.694vw, 1.6rem);
    font-size: clamp(1.2rem, 0.933rem + 0.347vw, 1.6rem);
    line-height: 1.75;
    letter-spacing: 0.03em;
    background-color: #EFECEA;
    color: #3F3F3F;
    font-weight: 500;
  }
  #front-page .profile .profile__skillItem::before {
    content: "";
    position: absolute;
    top: 1.5em;
    left: 1.6rem;
    width: 1rem;
    height: 1rem;
    background-color: #371C09;
    border-radius: 50%;
  }
  #front-page .profile .profile__skillItem:first-child {
    margin-top: 0;
  }
  #front-page .profile .profile__desc {
    margin-top: 2.4rem;
    font-size: clamp(1.2rem, 0.933rem + 0.347vw, 1.6rem);
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
    color: #3F3F3F;
  }
  #front-page .profile .profile__imageArea {
    position: relative;
    width: 54.7%;
    width: 786px;
  }
}
/* ===================================
        769px 〜 1300px
================================== */
@media screen and (max-width: 1300px) {
  #front-page .profile .profile__header {
    grid-template-columns: max-content max-content;
  }
}
/* ===================================
    【 SP 】 Pages / profile
================================== */
@media (max-width: 767px) {
  #front-page .profile .profile__inner {
    padding-top: 29.6vw;
  }
  #front-page .profile .profile__title {
    width: 87vw;
    margin-inline: auto;
    font-size: 4vw;
    line-height: 1.4;
    font-weight: 700;
    position: relative;
  }
  #front-page .profile .profile__title::before {
    top: -10vw;
    right: 0vw;
    width: 210px;
    background: url("../images/front-page/con6-profile-title-cursive.svg") no-repeat center center/contain;
    height: 121px;
    content: "";
    position: absolute;
  }
  #front-page .profile .profile__content {
    display: flex;
    flex-direction: column;
    width: 91.2vw;
    margin-top: 3vw;
    margin-inline: auto;
    padding: 3.9vw;
    transform: translateY(0);
    background-color: #fff;
    box-shadow: 0 0 30px 0 rgba(177, 144, 52, 0.10);
  }
  #front-page .profile .profile__imageArea {
    order: -1;
    width: 100%;
    height: auto;
  }
  #front-page .profile .profile__imageArea img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #front-page .profile .profile__infoArea {
    width: 100%;
    min-width: auto;
    height: auto;
    padding-top: 8.3vw;
    padding-bottom: 9.6vw;
    transform: translate(0, 0);
    background-color: #FFF;
  }
  #front-page .profile .profile__header {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: center;
    gap: 2.5vw 3.8vw;
  }
  #front-page .profile .profile__position {
    font-size: 4vw;
    line-height: 1.7;
    font-weight: 700;
  }
  #front-page .profile .profile__name {
    margin-left: -2.7vw;
    font-size: 8.3vw;
    line-height: 1.4;
    font-weight: 400;
  }
  #front-page .profile .profile__snsList {
    display: flex;
    align-items: center;
  }
  #front-page .profile .profile__snsItem--facebook {
    margin-left: 2.6vw;
  }
  #front-page .profile .profile__snsItem--note {
    margin-left: 3.9vw;
  }
  #front-page .profile .profile__snsLink {
    display: inline-block;
    width: 7.7vw;
  }
  #front-page .profile .profile__snsLink--note {
    width: 17vw;
  }
  #front-page .profile .profile__skillList {
    width: 100%;
    margin-top: 4.5vw;
  }
  #front-page .profile .profile__snsLink img {
    width: 100%;
  }
  #front-page .profile .profile__skillItem {
    position: relative;
    margin-top: 2vw;
    padding-top: 3.8vw;
    padding-bottom: 4.3vw;
    padding-left: 9.5vw;
    padding-right: 3.4vw;
    font-size: 4vw;
    line-height: 1.7;
    background-color: #EFECEA;
    font-weight: 500;
    color: #3F3F3F;
  }
  #front-page .profile .profile__skillItem::before {
    top: 1.5em;
    left: 3.8vw;
    width: 2.4vw;
    height: 2.4vw;
    content: "";
    position: absolute;
    background-color: #371C09;
    border-radius: 50%;
  }
  #front-page .profile .profile__skillItem:first-child {
    margin-top: 0;
  }
  #front-page .profile .profile__desc {
    margin-top: 1.1vw;
    font-size: 3.9vw;
    line-height: 1.75;
    color: #3F3F3F;
    font-weight: 400;
  }
}
/* ===== Pages / faq ===== */
@media (min-width: calc(767px + 1px)) {
  #front-page .faq {
    background: url("../images/front-page/con7-faq-bg.webp") no-repeat center center/cover;
  }
  #front-page .faq .faq__inner {
    padding-block: 12rem;
  }
  #front-page .faq .faq__titleLead {
    font-size: clamp(1.8rem, 1.4rem + 0.521vw, 2.4rem);
    line-height: 1.67;
    letter-spacing: 0.025em;
    text-align: center;
  }
  #front-page .faq .faq__title {
    margin-top: 1.2rem;
    font-size: clamp(3.2rem, 2.133rem + 1.389vw, 4.8rem);
    line-height: 1.5;
    letter-spacing: 0.015em;
    text-align: center;
  }
  #front-page .faq .faq__list {
    width: min(95%, 105.7rem);
    margin-inline: auto;
    margin-top: 4.2rem;
    color: #3F3F3F;
  }
  #front-page .faq .faq__item {
    margin-top: 3rem;
    padding: 3.2rem 3.2rem 2.8rem 8.4rem;
    border: 1px solid #371C09;
  }
  #front-page .faq .faq__item:first-child {
    margin-top: 0;
  }
  #front-page .faq .faq__questionTitle {
    position: relative;
    font-size: clamp(2rem, 1.733rem + 0.347vw, 2.4rem);
    line-height: 1.58;
    letter-spacing: 0.025em;
    font-weight: 500;
  }
  #front-page .faq .faq__answer {
    position: relative;
    margin-top: 1.8rem;
    font-size: clamp(1.4rem, 1.267rem + 0.174vw, 1.6rem);
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
  }
  #front-page .faq .faq__questionTitle::before,
  #front-page .faq .faq__answer::before {
    position: absolute;
    top: 50%;
    left: calc(-1em - 1.3rem);
    font-family: Asul;
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .faq .faq__questionTitle::before {
    content: "Q.";
    transform: translateY(-50%);
  }
  #front-page .faq .faq__answer::before {
    content: "A.";
    color: #ED710B;
    transform: translateY(-75%);
  }
}
/* ===================================
    【 SP 】 Pages / faq
================================== */
@media (max-width: 767px) {
  #front-page .faq {
    background: url("../images/front-page/con7-faq-bg-sp.jpg") no-repeat center center/cover;
  }
  #front-page .faq .faq__inner {
    padding-top: 15.7vw;
    padding-bottom: 15vw;
  }
  #front-page .faq .faq__titleLead {
    font-size: 5.7vw;
    line-height: 1.7;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: 500;
  }
  #front-page .faq .faq__title {
    margin-top: 1vw;
    font-size: 8.2vw;
    line-height: 1.5;
    letter-spacing: 0.015em;
    text-align: center;
    font-weight: 500;
  }
  #front-page .faq .faq__list {
    width: 92.4vw;
    margin-inline: auto;
    margin-top: 5.5vw;
  }
  #front-page .faq .faq__item {
    margin-top: 2.1vw;
    padding-top: 7.7vw;
    padding-bottom: 7.9vw;
    padding-left: 20vw;
    padding-right: 6.4vw;
    border: 1px solid #000;
    background-color: #FFF;
    position: relative;
    color: #3F3F3F;
  }
  #front-page .faq .faq__item:first-child {
    margin-top: 0;
  }
  #front-page .faq .faq__questionTitle {
    position: relative;
    padding-left: 1.6vw;
    font-size: 3.9vw;
    line-height: 1.6;
    letter-spacing: 0.025em;
    font-weight: 500;
  }
  #front-page .faq .faq__answer {
    position: relative;
    margin-top: 3.9vw;
    font-size: 3.4vw;
    line-height: 1.75;
    font-weight: 400;
  }
  #front-page .faq .faq__questionTitle::before,
  #front-page .faq .faq__answer::before {
    position: absolute;
    left: -12.5vw;
    font-family: Asul;
    font-size: 9.7vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }
  #front-page .faq .faq__questionTitle::before {
    content: "Q.";
    top: 0;
    transform: translateY(2%);
  }
  #front-page .faq .faq__answer::before {
    content: "A.";
    color: #ED7D31;
    top: 0;
    transform: translateY(0%);
  }
}
/* ===================================
    【 SP 】 Pages / contact
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .contact {
    background: transparent;
    position: relative;
    z-index: 10;
  }
  #front-page .contact .contact__inner {
    padding-block: 12rem 0;
  }
  #front-page .contact .p-bnr .l-inner.l-bnr {
    position: relative;
    z-index: 1;
  }
  #front-page .contact .p-bnr .p-bnr__en img {
    display: inline-block;
    text-align: center;
  }
}
/* ===================================
    【 SP 】 Pages / contact
================================== */
@media (max-width: 767px) {
  #front-page .contact {
    background: transparent;
  }
  #front-page .contact .contact__inner {
    padding-top: 15.5vw;
    padding-bottom: 13vw;
  }
}
/* ===================================
    【 PC 】 Pages / message
================================== */
@media (min-width: calc(767px + 1px)) {
  #front-page .message {
    position: relative;
    margin-top: -24.4rem;
  }
  #front-page .message::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #EFECEA;
    z-index: 0;
  }
  #front-page .message .message__inner {
    position: relative;
    z-index: 1;
    width: min(90%, 105.6rem);
    margin-inline: auto;
    padding-block: 32rem 6.8rem;
    z-index: 1;
  }
  #front-page .message .message__title {
    font-family: Asul;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    color: #371C09;
    text-align: center;
  }
  #front-page .message .message__desc {
    margin-top: 1.143em;
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: 0.03em;
    color: #594A4E;
    font-weight: 400;
  }
}
/* ===================================
    【 SP 】 Pages / message
================================== */
@media (max-width: 767px) {
  #front-page .message {
    position: relative;
  }
  #front-page .message::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #EFECEA;
    z-index: 0;
  }
  #front-page .message .message__inner {
    position: relative;
    z-index: 1;
    width: 92vw;
    margin-inline: auto;
    padding-top: 16.4vw;
    padding-bottom: 16.4vw;
  }
  #front-page .message .message__title {
    font-size: 5.2vw;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
  }
  #front-page .message .message__desc {
    margin-top: 7.6vw;
    font-size: 3.4vw;
    line-height: 1.8;
    letter-spacing: 0.03em;
    font-weight: 400;
    color: #594A4E;
  }
}
.bg-linear-gradient-gray {
  background: var(--Linear, linear-gradient(0deg, rgba(240, 240, 240, 0.10) 49.04%, #FFF 100%));
}/*# sourceMappingURL=page-top.css.map */