:root {
  --color-pink: #eb6ea5;
  --color-blue: #75acdd;
  --color-green: #69af74;
  --text-color-p: #eb6ea5;
  --bg-color-lightblue: #d4e5f5;
  --bg-color-lightpink: #f9ebf1;
  --bg-color-beige: #f7f5e9;
  --bg-color-lightbeige: #fdfaf3;

  /* ボーダー */
  --border-p: 1px solid #ece5ec;
  /* トランジション */
  --trans: all 0.2s;
  /* シャドー */
  --shadow3: 0px 0px 3px 0px rgba(0, 0, 0, 0.03);
  --shadow20: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
  --filter_grad10: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.05));
  --filter_grad20: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.05));
  /* 角丸 */
  --border-r: 40px;

  /* フォント */
  --en: "Poppins", sans-serif;
  --ja: "Zen Kaku Gothic Antique", sans-serif;

  /* テキストサイズ */
  --fz50: clamp(28px, 4vw, 50px);
  --fz46: clamp(24px, 3.4vw, 46px);
  --fz40: clamp(20px, 3vw, 40px);
  --fz30: clamp(20px, 2.2vw, 30px);
  --fz20: clamp(16px, 2vw, 20px);
  --fz18: clamp(14px, 1.7vw, 18px);
  --fz16: clamp(14px, 1.5vw, 16px);
  --fz14: clamp(12px, 1.2vw, 14px);

  /* space */
  --space120: clamp(60px, 8vw, 120px);
  --space80: clamp(40px, 4vw, 80px);
  --space60: clamp(30px, 3.3vw, 60px);
  --space40: clamp(20px, 2.8vw, 40px);
  --space30: clamp(15px, 2vw, 30px);
  --space20: clamp(10px, 1.5vw, 20px);
  --space10: clamp(5px, 1vw, 10px);

  /* セクション区切りの高さ */
  --nami-height: 5.2vw;
  --nami-padding: calc(120px + 5.2vw);
}

@media (max-width: 960px) {
  :root {
    --border-r: 30px;
    --nami-padding: calc(60px + 5.2vw);
  }
}

/*------------------------------------------------------------------------------------------

共通項目

------------------------------------------------------------------------------------------*/

html {
  scroll-behavior: smooth;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

body {
  font-family: var(--ja);
  font-weight: 500;
  color: #323232;
  width: 100%;
  overflow-x: hidden;
  line-height: 1.5;
  background-color: var(--bg-color-lightbeige);
}

.flex {
  display: flex;
}

a {
  width: fit-content;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*------------------------------------------------------------------------------------------

レイアウト

------------------------------------------------------------------------------------------*/

section,
article {
  padding: 120px 0;
  @media (max-width: 960px) {
    padding: 60px 0;
  }
}
.bg_blue {
  background-color: var(--bg-color-lightblue);
  position: relative;
}
.bg_pink {
  background-color: var(--bg-color-lightpink);
}

.bg_img1 {
  background-image: url(../img/bg_img1.jpg);
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
}
.bg_img2 {
  background-image: url(../img/bg_img2.jpg);
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
}
.bg_img3 {
  background-image: url(../img/bg_img3.jpg);
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
}

.inner1 {
  width: min(90vw, 1200px);
  margin-left: auto;
  margin-right: auto;
}
.inner2 {
  width: min(95vw, 1636px);
  margin-left: auto;
  margin-right: auto;
}

/*------------------------------------------------------------------------------------------

margin

------------------------------------------------------------------------------------------*/

.pb160 {
  padding-bottom: 160px;
}
.pb120 {
  padding-bottom: 120px;
}
.pb0 {
  padding-bottom: 0;
}

@media (max-width: 960px) {
  .pb160 {
    padding-bottom: 100px;
  }
  .pb120 {
    padding-bottom: 60px;
  }
}
.pt120 {
  padding-top: 120px;
}

@media (max-width: 960px) {
  .pt120 {
    padding-top: 60px;
  }
}
.mb160 {
  margin-bottom: 160px;
}
.mb120 {
  margin-bottom: 120px;
}
.mb100 {
  margin-bottom: 100px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb10 {
  margin-bottom: 10px;
}
@media (max-width: 960px) {
  .mb160 {
    margin-bottom: 80px;
  }
  .mb120 {
    margin-bottom: 60px;
  }
  .mb100 {
    margin-bottom: 50px;
  }
  .mb80 {
    margin-bottom: 40px;
  }
  .mb60 {
    margin-bottom: 30px;
  }
  .mb40 {
    margin-bottom: 20px;
  }
  .mb30 {
    margin-bottom: 15px;
  }
  .mb20 {
    margin-bottom: 10px;
  }
  .mb10 {
    margin-bottom: 5px;
  }
}
.sub_title {
  color: var(--color-pink);
  font-family: var(--en);
  font-size: var(--fz18);
  font-weight: 500;
  line-height: 1;
  margin-bottom: 10px;
}
.sub_title._blue {
  color: var(--color-blue);
}

.sec_title {
  font-weight: 500;
  font-size: var(--fz46);
}

.sec_title.il {
  font-size: var(--fz40);
}

.desc {
  font-size: var(--fz18);
  line-height: 2;
}
.t_center {
  text-align: center;
}
.t_right {
  text-align: right;
}

/*------------------------------------------------------------------------------------------

ボタン

------------------------------------------------------------------------------------------*/

.btn {
  background-color: var(--color-pink);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(14px, 1vw, 18px) clamp(20px, 1.5vw, 30px);
  transition: var(--trans);
  position: relative;
  span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space40);
    font-size: var(--fz16);
    font-weight: 700;
    position: relative;
    z-index: 2;
    color: #fff;
  }
  span::after {
    content: "";
    background-image: url(../img/arrow-r-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.7em;
    height: auto;
    aspect-ratio: 1 / 1;
    transition: var(--trans);
  }
}
@media (max-width: 768px) {
  .btn {
    span {
      gap: 15px;
    }
  }
}
.btn:hover {
  background-color: #fff;
  span {
    color: var(--color-pink);
  }
  span::after {
    background-image: url(../img/arrow-r-pink.svg);
  }
}

.btn._blue {
  background-color: var(--color-blue);
}
.btn._blue:hover {
  background-color: #fff;
  span {
    color: var(--color-blue);
  }
  span::after {
    background-image: url(../img/arrow-r-blue.svg);
  }
}

.btn._green {
  background-color: var(--color-green);
}
.btn.btn._green:hover {
  background-color: #fff;
  span {
    color: var(--color-green);
  }
  span::after {
    background-image: url(../img/arrow-r-green.svg);
  }
}
.btn._white {
  background-color: #fff;
  span {
    color: var(--color-pink);
  }
  span::after {
    background-image: url(../img/arrow-r-pink.svg);
  }
}
.btn.btn._white:hover {
  background-color: var(--color-pink);
  span {
    color: #fff;
  }
  span::after {
    background-image: url(../img/arrow-r-white.svg);
  }
}

.btn_center {
  margin-left: auto;
  margin-right: auto;
}

.under_line {
  text-decoration: underline;
  transition: var(--trans);
}
.under_line:hover {
  opacity: 0.7;
}
.to_archive_btn {
  span::after {
    display: none;
  }
}

/* モバイル改行 */

.sp {
  display: none;
}

@media (max-width: 960px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}

@media (max-width: 960px) {
  .pc {
    display: none;
  }
}

.cta {
  padding: var(--nami-padding) 0 60px 0;
  .cta_wrapper {
    margin-bottom: var(--space60);
    .grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space60);
      align-items: center;
    }
    .tel_box {
      border-radius: var(--border-r);
      background-color: var(--color-pink);
      padding: var(--space60);
      .desc {
        color: #fff;
        margin-bottom: 10px;
        font-size: var(--fz16);
      }
      .tel_btn {
        span {
          color: #fff;
          font-family: var(--en);
          font-weight: 600;
          font-size: var(--fz50);
          display: flex;
          align-items: center;
          gap: 15px;
          letter-spacing: 0.1px;
        }
        span::before {
          content: "";
          background-image: url(../img/tel-icon-w.svg);
          background-repeat: no-repeat;
          background-size: contain;
          width: 0.65em;
          height: auto;
          aspect-ratio: 1/1;
        }
      }
      .note {
        color: #fff;
        margin-bottom: 20px;
        font-size: var(--fz14);
      }
      .btn._white {
        width: 100%;
        border: 1.5px solid #fff;
        span {
          justify-content: space-between;
          width: 100%;
        }
      }
    }
    .area_box {
      .grid_2c {
        display: grid;
        grid-template-columns: min(186px, 40%) 1fr;
        gap: var(--space40);
        align-items: center;
        margin-bottom: var(--space40);
      }
      .title {
        font-size: var(--fz30);
        display: flex;
        align-items: center;
        gap: 15px;
        font-weight: 500;
        margin-bottom: var(--space30);
        span {
          font-family: var(--en);
          font-size: 14px;
          color: var(--color-pink);
        }
      }
      .desc {
        font-size: var(--fz16);
      }
      .area_list {
        background-color: #fff;
        border-radius: 100px;
        padding: 20px 45px;
        color: var(--color-pink);
        font-weight: 700;
      }
    }
  }
  .recruit {
    display: block;
    width: 100%;
    background-image: url(../img/bg_recruit.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--border-r);
    padding: 42px var(--space80);
    overflow: hidden;
    position: relative;
    .sub_title,
    .sec_title,
    .btn {
      position: relative;
      z-index: 2;
    }
    .sec_title {
      font-size: var(--fz30);
      margin-bottom: 20px;
    }
    .btn {
      width: fit-content;
      span::after {
        background-image: url(../img/link-icon-w.svg);
      }
    }
    .btn:hover{
      background-color: var(--color-pink);
      span{color: #fff;}
    }
    .img {
      position: absolute;
      top: 50%;
      right: 5%;
      transform: translateY(-50%);
      width: min(720px, 40vw);
      height: auto;
      aspect-ratio: 600 / 550;
      clip-path: url(#clip1);
      overflow: hidden;
      img{
        transition: var(--trans);
      }
    }
  }
    .recruit:hover {
img{
  scale: 1.1;
}
    }
}
@media (max-width: 768px) {
  .cta {
    .cta_wrapper {
      .grid {
        grid-template-columns: 1fr;
      }
      .tel_box {
        .tel_btn {
          span {
            font-size: 34px;
            gap: 10px;
          }
        }
        .note {
          margin-bottom: 15px;
        }
        .btn._white {
          width: min(100%, 350px);
          span {
            justify-content: space-between;
            width: 100%;
          }
        }
      }
      .area_box {
        .title {
          gap: 10px;
        }
        .area_list {
          padding: 20px 30px;
        }
      }
    }
    .recruit {
      padding: 30px;
    }
  }
}
.nami {
  background-image: url(../img/nami_beige_d.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  width: 100vw;
  height: auto;
  aspect-ratio: 1536/80;
  position: absolute;
  z-index: -1;
}
.nami._bottom_beige {
  top: 99.9%;
}
.nami._top_blue {
  background-image: url(../img/nami_blue_u.svg);
  bottom: 99.9%;
}
.nami._bottom_blue {
  background-image: url(../img/nami_blue_d.svg);
  top: 99.9%;
}
.nami._bottom_lightbeige {
  background-image: url(../img/nami_lightbeige_d.svg);
  top: 99.9%;
}

.deco {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.mv {
  .deco._lt {
    background-image: url(../img/mv_deco_lt.svg);
    top: -2%;
    left: -5%;
    width: min(62px, 12%);
    height: auto;
    aspect-ratio: 1/1;
    animation: animation1 2.7s infinite ease-in-out;
  }
  .deco._rt {
    background-image: url(../img/mv_deco_rt.svg);
    top: 9%;
    right: 0;
    width: min(44px, 7%);
    height: auto;
    aspect-ratio: 44/43;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._lb {
    background-image: url(../img/mv_deco_lb.svg);
    bottom: 4%;
    left: 0;
    width: min(69px, 14%);
    height: auto;
    aspect-ratio: 69/64;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._rb {
    background-image: url(../img/mv_deco_rb.svg);
    bottom: 10%;
    right: -2%;
    width: min(57px, 11%);
    height: auto;
    aspect-ratio: 1/1;
    animation: animation1 3.5s infinite ease-in-out;
  }
}
.about {
  .deco._lt {
    background-image: url(../img/about_deco_lt.svg);
    top: 18%;
    left: -15%;
    width: min(34px, 12%);
    height: auto;
    aspect-ratio: 1/1;
    animation: animation1 2.7s infinite ease-in-out;
  }
  .deco._rt {
    background-image: url(../img/about_deco_rt.svg);
    bottom: -6%;
    right: 30%;
    width: min(62px, 7%);
    height: auto;
    aspect-ratio: 44/43;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._lb {
    background-image: url(../img/about_deco_lb.svg);
    top: 30%;
    left: -10%;
    width: min(69px, 14%);
    height: auto;
    aspect-ratio: 69/64;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._rb {
    background-image: url(../img/about_deco_rb.svg);
    bottom: -10%;
    right: 12%;
    width: min(55px, 11%);
    height: auto;
    aspect-ratio: 55/51;
    animation: animation1 3.5s infinite ease-in-out;
  }
}
.under_mv {
  .deco._lt {
    background-image: url(../img/about_deco_lt.svg);
    top: 4%;
    left: -10%;
    width: min(34px, 12%);
    height: auto;
    aspect-ratio: 1/1;
    animation: animation1 2.7s infinite ease-in-out;
  }
  .deco._rt {
    background-image: url(../img/about_deco_rt.svg);
    bottom: -6%;
    right: 30%;
    width: min(62px, 7%);
    height: auto;
    aspect-ratio: 44/43;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._lb {
    background-image: url(../img/about_deco_lb.svg);
    top: 30%;
    left: -12%;
    width: min(69px, 14%);
    height: auto;
    aspect-ratio: 69/64;
    animation: animation2 3s infinite ease-in-out;
  }
  .deco._rb {
    background-image: url(../img/about_deco_rb.svg);
    bottom: 3%;
    right: 0;
    width: min(39px, 11%);
    height: auto;
    aspect-ratio: 39/36;
    animation: animation1 3.5s infinite ease-in-out;
  }
}
@keyframes animation1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes animation2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

/*  表 */
dl {
  display: grid;
  grid-template-columns: min(280px, 30%) 1fr;
  dt,
  dd {
    border-bottom: 1px solid #75acdd;
    padding: 32px 0;
    font-size: var(--fz18);
    line-height: 2;
  }
  dt {
    font-weight: 600;
  }
  dd {
    padding-left: 20px;
    .note {
      font-size: var(--fz16);
      display: inline-block;
      margin-top: 15px;
    }
  }
  .d_first {
    border-top: 1px solid #75acdd;
  }
  .d_last {
    border-bottom: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 960px) {
  dl {
    grid-template-columns: 140px 1fr;
    dt,
    dd {
      padding: 15px 0;
    }
    dd {
      padding-left: 10px;
    }
  }
}
@media (max-width: 500px) {
  dl {
    grid-template-columns: 1fr;
    dt,
    dd {
      padding: 15px 0;
      font-size: 14px;
    }
    dt {
      padding-bottom: 0;
      border-bottom: 0;
    }
    dd {
      padding-top: 0;
      padding-left: 0;
      .note {
        font-size: 12px;
      }
    }
    dd.d_first {
      border-top: 0;
    }
  }
}
/*------------------------------------------------------------------------------------------

ヘッダー

------------------------------------------------------------------------------------------*/

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 800;

  .header {
    height: 90px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.5vw;
    position: relative;
    @media (max-width: 960px) {
      height: 70px;
      padding: 0 3.5vw;
    }
    h1{
      position: absolute;
      top: 0;
      left: 0;
      background-color: #fff;
      display: grid;
      place-items: center;
      width: clamp(100px, 12vw, 166px);
      height: clamp(100px, 12vw, 163px);
      border-radius: 0 0 60px 0;
      box-shadow: var(--shadow3);
      @media (max-width: 960px) {
        border-radius: 0 0 30px 0;
      }
      .logo {
        display: block;
        width: clamp(54px, 7.5vw, 87px);
        height: clamp(73px, 8.5vw, 117px);
        img {
          object-fit: contain;
        }
      }
      span{
        font-size: 1px;
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -999;
      }

    }
    nav {
      box-shadow: var(--shadow3);
      position: absolute;
      top: 30px;
      left: 50%;
      transform: translate(-50%);
      background-color: #fff;
      border-radius: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 25px;
      @media (max-width: 960px) {
        display: none;
      }
      .nav_open {
        position: relative;
      }
      .nav_title {
        padding: 16px 15px;
        transition: var(--trans);
        font-size: var(--fz16);
        font-weight: 600;
        text-wrap: nowrap;
        cursor: pointer;
      }
      .under_nav_menu {
        padding: 40px;
        border-radius: var(--border-r);
        background-color: #fff;
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: 30px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        gap: 20px;
        transition: var(--trans);
        .h_menu {
          padding: 0 5px;
          display: flex;
          align-items: center;
        }
        .h_menu::before {
          content: "";
          width: 12px;
          height: 12px;
          background-color: var(--color-blue);
          border-radius: 50%;
          margin-right: 15px;
        }
      }
      .under_nav_menu::before{
        content: "";
        width: 20px;
        aspect-ratio: 1/1;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        left: 50%;
        top: -10px;
        transform: translateX(-50%);
      }
      .nav_open:hover {
        .nav_title {
          color: var(--color-blue);
        }
        .under_nav_menu {
          opacity: 1;
          visibility: visible;
          top: 60px;
        }
      }
      .h_menu {
        padding: 16px 15px;
        transition: var(--trans);
        font-size: var(--fz16);
        font-weight: 600;
        text-wrap: nowrap;
      }
      .h_menu:hover {
        color: var(--color-blue);
      }
      .link_icon {
        span {
          display: flex;
          align-items: center;
          gap: 5px;
        }
        span::after {
          content: "";
          width: 0.7em;
          height: auto;
          aspect-ratio: 1/1;
          background: url(../img/link-icon-g.svg) center / contain no-repeat;
        }
      }
      .link_icon:hover {
        span::after {
          background: url(../img/link-icon-b.svg) center / contain no-repeat;
        }
      }
    }
    .contact_btn {
      box-shadow: var(--shadow3);
      width: clamp(100px, 12vw, 148px);
      height: clamp(100px, 12vw, 148px);
      border-radius: 50%;
      background-color: var(--color-pink);
      display: grid;
      place-items: center;
      position: absolute;
      right: 20px;
      top: var(--space20);
      transition: var(--trans);
      span {
        color: #fff;
        font-size: var(--fz16);
        font-weight: 600;
        display: grid;
        gap: 10px;
        place-items: center;
      }
      span::before {
        display: block;
        content: "";
        background-image: url(../img/mail-icon-w.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 1.65em;
        height: auto;
        aspect-ratio: 26 /19;
        z-index: 2;
      }
    }
    .contact_btn:hover {
      scale: 1.05;
    }
    @media (max-width: 960px) {
      .contact_btn {
        display: none;
      }
    }
  }
}

#hamburger-menu-btn {
  margin-left: auto;
  display: none;
  cursor: pointer;
  z-index: 900;
  margin-top: 22px;
  @media (max-width: 960px) {
    display: block;
  }

  .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    height: 56px;
    width: 56px;
    border-radius: 1000px;
    position: relative;
    z-index: 999;
    background-color: var(--color-pink);
    span {
      display: block;
      height: 2px;
      width: 14px;
      background: #fff;
      transition: 0.2s all ease-in-out;
      border-radius: 100px;
    }
  }
}

#hamburger-menu-btn.active {
  z-index: 999;
  .box {
  }
  span:nth-child(1) {
    transform: rotate(45deg);
    translate: 0 3px;
  }
  span:nth-child(2) {
    display: none;
  }
  span:nth-child(3) {
    transform: rotate(-45deg);
    translate: 0 -3px;
  }
}

/* spメニュー */

#sp_header {
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  top: 0px;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: var(--trans);
  z-index: 888;

  .wrapper {
    width: min(88%, 400px);
    background-color: #fff;
    padding: 60px 40px 200px;
    min-height: 100vh;
    margin-left: auto;
    border-radius: 40px 0 0 0;
    nav {
      margin-bottom: 30px;
      ul {
        display: flex;
        flex-direction: column;
        gap: 20px;
        li._bor_b {
          padding-bottom: 20px;
          border-bottom: 1px solid #ebe7ce;
          .note {
            color: #919191;
            font-size: 12px;
            font-weight: 700;
            margin-bottom: 12px;
          }
          .hamburger-menu-link {
            margin-bottom: 12px;
          }
          .hamburger-menu-link:last-child {
            margin-bottom: 0;
          }
        }
      }
      .hamburger-menu-link {
        display: block;
        width: 100%;
        font-size: 16px;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .hamburger-menu-link::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: var(--color-pink);
      }
      .hamburger-menu-link:last-child {
        border-bottom: 0;
      }
      .link_icon {
        span {
          display: flex;
          align-items: center;
          gap: 5px;
        }
        span::after {
          content: "";
          width: 0.7em;
          height: auto;
          aspect-ratio: 1/1;
          background: url(../img/link-icon-g.svg) center / contain no-repeat;
        }
      }
    }
    .contact_box {
      background-color: var(--color-pink);
      border-radius: var(--border-r);
      padding: 20px;
      .tel_btn {
        span {
          color: #fff;
          font-family: var(--en);
          font-weight: 600;
          font-size: 25px;
          display: flex;
          align-items: center;
          gap: 8px;
          letter-spacing: 0.1px;
        }
        span::before {
          content: "";
          background-image: url(../img/tel-icon-w.svg);
          background-repeat: no-repeat;
          background-size: contain;
          width: 0.65em;
          height: auto;
          aspect-ratio: 1/1;
        }
      }
      .note {
        color: #fff;
        margin-bottom: 20px;
        font-size: 13px;
      }
      .btn._white {
        width: 100%;
        span {
          justify-content: space-between;
          width: 100%;
        }
      }
    }
  }
}
#sp_header.active {
  opacity: 1;
  z-index: +2;
  visibility: visible;
}

/*------------------------------------------------------------------------------------------

mv

------------------------------------------------------------------------------------------*/
.mv {
  padding-top: 150px;
  padding-bottom: 85px;
  background-color: var(--bg-color-beige);
  .inner2 {
    padding: 0 var(--space80);
  }
  .flex {
    justify-content: space-between;
    align-items: center;
    gap: var(--space60);
    .text_area {
      flex: 1;
      .mv_text {
        width: min(464px, 30vw);
        aspect-ratio: 464/135;
        margin-bottom: var(--space60);
      }
      .mv_desc {
        font-size: min(20px, 1.4vw);
        line-height: 2;
        width: min(470px, 100%);
      }
    }
    .img_area {
      width: min(755px, 65vw);
      height: auto;
      aspect-ratio: 755 / 704;
      position: relative;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }
}
@media (max-width: 768px) {
  .mv {
    padding-top: 110px;
    padding-bottom: 40px;
     .inner2 {
    padding: 0;
    width: 90vw;
  }
    .flex {
      flex-direction: column;
      align-items: start;
      gap: 30px;
      .text_area {
        order: 2;
        .mv_text {
          width: min(350px, 80%);
        }
        .mv_desc {
          font-size: 16px;
        }
        dl {
          grid-template-columns: 92px 1fr;
          gap: 5px 10px;
          dt {
            padding: 5px;
            font-size: 12px;
          }
          dd {
            font-size: 16px;
          }
        }
      }
      .img_area {
        order: 1;
        width: 76vw;
        margin-left: auto;
        margin-right: auto;
      }
    }
  }
}

#front_page {
  .news {
    position: relative;
    background-color: var(--bg-color-beige);
    margin-top: -2px;
    z-index: 2;
    .flex {
      display: flex;
      gap: var(--space80);
      justify-content: space-between;
      width: 100%;
    }
    .l-cont {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      .sec_wrapper {
        margin-bottom: var(--space40);
      }
    }
    .r-cont {
      display: flex;
      flex-direction: column;
      width: min(852px, 100%);
      .news_list {
        width: 100%;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #e0ded4;
        padding: 20px 0;
        gap: var(--space40);
        position: relative;
        .category_wrapper {
          display: flex;
          align-items: center;
          gap: var(--space40);
        }
        .date {
          font-family: var(--en);
          font-size: var(--fz14);
        }
        .category {
          display: grid;
          place-items: center;
          min-width: 88px;
          padding: 5px 16px;
          border: 1px solid var(--color-pink);
          color: var(--color-pink);
          border-radius: 100px;
          font-size: 12px;
          font-weight: 700;
          transition: var(--trans);
        }
        .title {
          width: 100%;
          padding-right: 50px;
          font-size: var(--fz16);
          font-weight: 700;
          transition: var(--trans);
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          overflow: hidden;
        }
      }
      .news_list::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        background: url(../img/arrow-r-wp.svg) center / contain no-repeat;
        transition: var(--trans);
      }
      .news_list:last-child {
        border-bottom: 0;
      }
      .news_list:hover {
        .category {
          background-color: var(--color-pink);
          color: #fff;
        }
        .title {
          color: var(--color-pink);
        }
      }
      .news_list:hover::after {
        background: url(../img/arrow-r-pw.svg) center / contain no-repeat;
      }
    }
  }
}
@media (max-width: 768px) {
  #front_page {
    .news {
      .flex {
        flex-direction: column;
      }
      .l-cont {
        justify-content: space-between;
        flex-direction: row;
        align-items: center;
        .sec_wrapper {
          margin-bottom: 0;
        }
      }
      .r-cont {
        display: flex;
        flex-direction: column;
        width: min(852px, 100%);
        .news_list {
          flex-direction: column;
          padding: 15px 0;
          align-items: start;
          gap: 10px;
          .category_wrapper {
            gap: 10px;
          }
          .category {
            font-size: 10px;
          }
        }
      }
    }
  }
}

#front_page {
  .support {
    position: relative;
    z-index: 3;
    margin-bottom: var(--nami-height);
    .flex {
      justify-content: space-between;
      align-items: center;
      margin-bottom: 105px;
      .btn_area {
        display: flex;
        gap: 20px;
      }
    }
    .grid_2c {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space30);
      .card {
        background-color: #fff;
        padding: var(--space40);
        padding-top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        border-radius: var(--border-r);
        .img {
          margin-top: -45px;
          margin-bottom: 40px;
          width: auto;
          height: min(185px, 10vw);
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
        .title {
          font-size: var(--fz30);
          margin-bottom: 20px;
          font-weight: 500;
        }
        .desc {
          font-size: var(--fz16);
        }
      }
    }
  }
}

@media (max-width: 768px) {
  #front_page {
    .support {
      .flex {
        flex-direction: column;
        align-items: start;
        gap: 30px;
        .btn_area {
          gap: 10px;
          flex-wrap: wrap;
        }
      }
      .grid_2c {
        grid-template-columns: 1fr;
        gap: 80px;
        .card {
          padding: 30px;
          padding-top: 0;
          .img {
            margin-bottom: 30px;
            height: min(149px, 40vw);
          }
          .title {
            margin-bottom: 15px;
          }
        }
      }
    }
  }
}
#front_page {
  .about {
    padding: var(--nami-padding) 0;
    .grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: start;
    }
    .img_area {
      position: relative;
    }
    .img {
      width: min(600px, 40vw);
      height: auto;
      aspect-ratio: 600 / 550;
      clip-path: url(#clip1);
      overflow: hidden;
    }
    .text_area {
      margin-left: var(--space80);
      .sec_wrapper {
        margin-bottom: var(--space60);
      }
      .desc {
        margin-bottom: var(--space60);
      }
      .btn_area {
        display: flex;
        gap: 10px 20px;
        flex-wrap: wrap;
      }
    }
  }
}
@media (max-width: 768px) {
  #front_page {
    .about {
      .grid {
        grid-template-columns: 1fr;
      }
      .img_area {
        order: 2;
        margin-left: auto;
      }
      .img {
        width: min(400px, 80vw);
        height: auto;
        aspect-ratio: 600 / 550;
        clip-path: url(#clip1);
        overflow: hidden;
      }
      .text_area {
        order: 1;
        margin-left: 0;
        margin-bottom: 30px;
        .sec_wrapper {
          margin-bottom: var(--space60);
        }
        .desc {
          margin-bottom: var(--space60);
        }
        .btn_area {
          gap: 10px;
        }
      }
    }
  }
}

#front_page {
  .voice {
    padding: var(--nami-padding) 0;
    position: relative;
    z-index: 2;
    background-color: var(--bg-color-lightbeige);
    margin-top: -5.2vw;
    .voice_wrapper {
      margin-left: max(5vw, calc((100vw - 1200px) / 2));
    }
    .flex {
      gap: min(144px, 6vw);
    }
    .l-cont {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-width: 330px;
      .sub_title {
        color: var(--color-green);
      }
      .btn{
        position: relative;
      }
      .btn::after{
        content: "";
        background: url(../img/voice-deco1.svg) center / contain no-repeat;
        width: min(169px,20vw);
        aspect-ratio: 169/147;
        position: absolute;
      bottom: 0;
      left: 70%;
      z-index:-1;
      }
    }
    .l-cont::after {
      content: "";
      background-image: url(../img/);
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      bottom: 0;
      right: 0;
    }
    .r-cont {
      display: flex;
      gap: 20px;
      width: 100%;
      overflow-x: scroll;
      padding: 10px 0 20px;
      scrollbar-color: #ebe7ce transparent; /* Firefox */

      &::-webkit-scrollbar {
        height: 6px; /* 横スクロールバーの太さ */
        transform: translateY(-16px);
      }
      &::-webkit-scrollbar-track {
        background: transparent; /* レール部分 */
      }
      &::-webkit-scrollbar-thumb {
        background: #ebe7ce; /* バーの色 */
        border-radius: 10px;
      }
    }
    .voice_card {
      background-color: #fff;
      padding: var(--space40);
      padding-bottom: 30px;
      border: 1px solid #ebe7ce;
      border-radius: var(--border-r);
      display: flex;
      flex-direction: column;
      min-width: 380px;
      transition: var(--trans);

      .title {
        border-bottom: 1px solid #ebe7ce;
        margin-bottom: 20px;
        padding-bottom: 20px;
        min-height: calc(var(--fz20) * 1.5 * 2 + 20px);
        span {
          font-weight: 700;
          font-size: var(--fz20);
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2; /* 表示する行数 */
          overflow: hidden;
        }
      }
      .desc {
        font-size: var(--fz16);
        margin-bottom: 20px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
      }
      .voice_btn {
        width: 38px;
        height: 38px;
        margin-left: auto;
        margin-top: auto;
        img {
          object-fit: contain;
        }
      }
    }
    .voice_card:last-child {
      margin-right: 30px;
    }
    .voice_card:hover {
      transform: translateY(-7px);
    }
  }
}
@media (max-width: 768px) {
  #front_page {
    .voice {
      .flex {
        gap: min(144px, 6vw);
        flex-direction: column;
      }
      .l-cont {
        display: contents;
      }
      .btn {
        order: 3;
      }
      .l-cont::after {
        content: "";
        background-image: url(../img/);
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        bottom: 0;
        right: 0;
      }
      .r-cont {
        order: 2;
        gap: 10px;
      }
      .voice_card {
        padding: 30px;
        min-width: none;
        width: max(210px, 70vw);
      }
      .voice_card:last-child {
        margin-right: 20px;
      }
    }
  }
}

/*------------------------------------------------------------------------------------------

フッター

------------------------------------------------------------------------------------------*/

footer {
  background-color: var(--bg-color-lightpink);
  padding-bottom: 40px;
  .footer {
    background-color: #fff;
    border-radius: var(--border-r);
    padding: var(--space60);
    position: relative;

    .to_top_btn {
      transition: var(--trans);
      position: absolute;
      top: -28px;
      right: 5%;
      background-color: var(--color-pink);
      display: grid;
      place-items: center;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      img {
        width: 17px;
        height: 17px;
        object-fit: contain;
      }
    }
    .to_top_btn:hover {
      scale: 1.02;
    }

    .f_logo {
      display: block;
      width: 188px;
      height: auto;
      aspect-ratio: 188/75;
      img {
        object-fit: contain;
        width: 100%;
        height: 100%;
      }
    }
    .flex {
      justify-content: space-between;
      gap: var(--space60);
      margin-bottom: 40px;
      .l-cont {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-width: 0;
        .add {
          font-size: var(--fz16);
          line-height: 2;
        }
        .sns_area {
          display: flex;
          gap: 10px;
          margin-top: auto;
          a {
            width: 24px;
            height: 24px;
          }
        }
      }
      .r-cont {
        flex: 1;
        margin-top: -50px;
        .footer_nav_grid {
          display: flex;
          justify-content: end;
          column-gap: var(--space60);
          width: 100%;
          align-items: start;
          .column {
            width: fit-content;
            display: flex;
            flex-direction: column;
            gap: 10px;
            .note {
              font-size: 12px;
              color: #919191;
            }
            a {
              text-wrap: nowrap;
              padding: 5px 0;
              display: flex;
              gap: 10px;
              align-items: center;
              font-size: var(--fz16);
              font-weight: 700;
              transition: var(--trans);
            }
            .recruit_btn::after {
              content: "";
              background-image: url(../img/link-icon-g.svg);
              background-repeat: no-repeat;
              background-size: contain;
              width: 0.6em;
              height: auto;
              aspect-ratio: 1/1;
            }
            a::before {
              content: "";
              width: 6px;
              height: 6px;
              background-color: var(--color-pink);
              border-radius: 50%;
            }
            a:hover {
              color: var(--color-blue);
            }
          }
          .column_wrapper {
            align-items: start;
            display: flex;
            gap: var(--space60);
            justify-content: end;
          }
        }
      }
    }

    .under_footer {
      margin-top: var(--space80);
      a {
        font-size: 12px;
      }
      small {
        font-size: 12px;
      }
    }
  }
}
@media (max-width: 960px) {
  footer {
    .flex {
      .r-cont {
        .footer_nav_grid {
          .column_wrapper {
            flex-direction: column;
          }
        }
      }
    }
  }
}
@media (max-width: 768px) {
  footer {
    .footer {
      .to_top_btn {
        top: -20px;
        width: 40px;
        height: 40px;
        img {
          width: 14px;
          height: 14px;
        }
      }
      .flex {
        flex-direction: column;
        gap: 60px;
        .r-cont {
          margin-top: 0;
          .footer_nav_grid {
            justify-content: start;
          }
        }
      }

      .under_footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: min(20px, 2vw);
        small {
          font-size: 10px;
        }
      }
    }
  }
}

/*------------------------------------------------------------------------------------------

下層ページ

------------------------------------------------------------------------------------------*/

/* 下層ページ 共通 */
.under_page {
  .under_top_message {
    padding-bottom: var(--nami-padding);
    .grid {
      display: grid;
      grid-template-columns: 50% 50%;
      align-items: center;
      .img_area {
        border-radius: var(--border-r);
        width: min(600px, 100%);
        height: auto;
        aspect-ratio: 600/494;
        overflow: hidden;
      }
      .text_area {
        margin-left: var(--space80);
        .sec_wrapper {
          margin-bottom: 40px;
        }
      }
    }
  }
  .contents_box {
    background-color: #fff;
    border-radius: var(--border-r);
    padding: var(--space60) var(--space80);
    margin-bottom: 125px;
    .content_head {
      font-size: var(--fz30);
      margin-bottom: var(--space60);
      display: flex;
      align-items: center;
      font-weight: 500;
    }
    .content_head::before {
      content: "";
      width: 12px;
      height: 12px;
      border-radius: var(--border-r);
      background-color: var(--color-blue);
      margin-right: 20px;
    }
    .desc._content_desc {
      width: min(66%, 680px);
      margin-bottom: var(--space60);
    }
    .desc {
      font-size: var(--fz16);
    }
    .grid_3c {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: var(--space30);
    }
    .content_item {
      background-color: var(--bg-color-beige);
      border-radius: var(--border-r);
      padding: var(--space40);
      position: relative;
    }

    .title {
      font-size: var(--fz20);
      color: #156ab6;
      margin-bottom: 20px;
      text-align: center;
      font-weight: 700;
    }
  }
}
@media (max-width: 768px) {
  .under_page {
    .under_top_message {
      .grid {
        grid-template-columns: 1fr;
        gap: 30px;
        .img_area {
          width: 100%;
          order: 2;
        }
        .text_area {
          width: 100%;
          order: 1;
          margin-left: 0;
          .sec_wrapper {
            margin-bottom: 30px;
          }
        }
      }
    }
    .contents_box {
      padding: 30px;
      margin-bottom: 60px;
      .desc._content_desc {
        width: 100%;
      }
      .title {
        margin-bottom: 15px;
      }
    }
  }
}

/* 地図 */

.map_area {
  .map_header {
    font-size: min(26px, 2vw);
    display: flex;
    align-items: center;
    gap: 30px;
    color: #9b6b9b;
    span {
      font-size: 18px;
      font-weight: 700;
      color: #533e53;
    }
  }
  .map {
    width: 100%;
    height: 405px;
    border-radius: var(--border-r);
    overflow: hidden;
  }
}
@media (max-width: 960px) {
  .map_area {
    .map_header {
      font-size: 20px;
      gap: 5px;
      flex-direction: column;
      align-items: start;
      span {
        font-size: 14px;
      }
    }
    .map {
      height: 260px;
    }
  }
}

.under_page {
  .under_mv {
    background-color: var(--bg-color-beige);
    padding: 130px 0 0;
    position: relative;
    margin-bottom: var(--nami-height);
    .flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: min(60px, 5vw);
      .img_area {
        position: relative;
        .img {
          width: min(700px, 40vw);
          height: auto;
          aspect-ratio: 600 / 550;
          clip-path: url(#clip1);
          overflow: hidden;
        }
      }
      .text_area {
        margin-left: 5vw;
        .under_header {
          font-size: var(--fz50);
          margin-bottom: var(--space80);
        }
      }
    }
    .page_nav_area {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: var(--fz14);
      color: #818181;
      span {
        transform: translateY(2px);
      }
      .current-item {
        color: #323232;
        font-weight: 600;
      }
    }
  }
  @media (max-width: 960px) {
    .under_mv {
      padding: 30px 0 10px;
      padding-top: 100px;
      .flex {
        gap: 10px;
        margin-bottom: 10px;
        .img_area {
          width: 100%;
        }
        .text_area {
          width: 100%;
          .under_header {
            font-size: 30px;
            margin-bottom: 20px;
          }
        }
      }
      .page_nav_area {
        font-size: 10px;
      }
    }
  }
  @media (max-width: 550px) {
    .under_mv {
      padding-top: 130px;
      .flex {
        .img_area {
          display: none;
        }
        .text_area {
          .under_header {
            font-size: 24px;
          }
        }
      }
    }
  }
}

/* エミサポについて */

.under_page {
  .information {
    position: relative;
    z-index: 3;
  }
}

/* 会社概要 */
.under_page {
  .message {
    padding-bottom: var(--nami-padding);
    .sec_title {
      margin-bottom: var(--space60);
    }
    .grid {
      display: grid;
      grid-template-columns: min(360px, 32%) 1fr;
      gap: var(--space80);
      align-items: start;
      .img_area {
        border-radius: var(--border-r);
        overflow: hidden;
        width: min(100%, 350px);
        aspect-ratio: 360/437;
      }
      .desc {
        margin-bottom: var(--space40);
      }
      .ceo_area {
        display: flex;
        justify-content: end;
        text-align: end;
        align-items: center;
        gap: 20px;
        p {
          display: flex;
          flex-direction: column;
          line-height: 1.5;
          span {
            font-size: 14px;
          }
        }
        .ceo_name {
          font-size: var(--fz30);
          font-family: var(--ja2);
          font-weight: 500;
        }
      }
    }
  }
}
@media (max-width: 768px) {
  .under_page {
    .message {
      .grid {
        grid-template-columns: 1fr;
        place-items: center;
        .ceo_area {
          gap: 10px;
          p {
            span {
              font-size: 10px;
            }
          }
        }
      }
    }
  }
}
/* 訪問介護サービス */
.under_page {
  .support {
    position: relative;
    z-index: 3;

    .contents_box {
      position: relative;
    }
    .support_deco1 {
      background: url(../img/support1.svg) center / contain no-repeat;
      right: var(--space80);
      top: -50px;
      width: min(220px, 17vw);
      aspect-ratio: 220/185;
    }
    .support_deco2 {
      background: url(../img/support2.svg) center / contain no-repeat;
      right: var(--space80);
      top: -50px;
      width: min(250px, 17vw);
      aspect-ratio: 250/185;
    }
    .contents_box:last-child {
      margin-bottom: 0;
    }
  }
}
@media (max-width: 768px) {
  .under_page {
    .support {
      .support_deco1 {
        display: none;
      }
      .support_deco2 {
        display: none;
      }
    }
  }
}

/* お申し込みの流れ */

.under_page {
  .eligibility {
    padding-bottom: var(--nami-padding);
    .grid {
      display: grid;
      grid-template-columns: min(290px, 25%) min(70%, 780px);
      gap: var(--space120);
      justify-content: space-between;
    }
    .box_w {
      background-color: #fff;
      border-radius: var(--border-r);
      padding: var(--space40) var(--space60);
    }
    ul {
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding-bottom: 30px;
      border-bottom: 1px solid #ebe7ce;
      margin-bottom: 30px;
      li {
        display: flex;
        align-items: center;
        gap: 15px;
        font-size: var(--fz20);
        font-weight: 700;
      }
      li::before {
        content: "";
        width: 12px;
        aspect-ratio: 1/1;
        background-color: var(--color-blue);
        border-radius: 50%;
      }
    }
    .note {
      font-size: var(--fz20);
    }
  }
  .flow {
    position: relative;
    z-index: 3;
    .flex {
      align-items: center;
      justify-content: space-between;
      gap: var(--space60);
      .sec_wrapper {
        flex-shrink: 0;
      }
      .desc {
        width: min(100%, 520px);
        gap: var(--space60);
      }
    }
    .contents_box {
      margin-bottom: 0;
      position: relative;
    }
    .contents:first-child {
      padding-bottom: var(--space120);
      margin-bottom: var(--space120);
      border-bottom: 1px solid #75acdd;
    }
    .content_item {
      margin-bottom: 50px;
      .sub_title {
        color: var(--color-blue);
      }
      .title {
        text-align: start;
        margin-bottom: 0;
      }
    }
    .content_item::after {
      content: "";
      position: absolute;
      top: calc(100% + 17px);
      left: 50%;
      transform: translateX(-50%);
      background: url(../img/arrow-d-blue.svg) center / contain no-repeat;
      width: 17px;
      height: 17px;
    }
    .content_item:last-child::after {
      display: none;
    }
    .content_item:last-child {
      margin-bottom: 0;
    }
    .grid_2c {
      display: grid;
      grid-template-columns: 280px 1fr;
      gap: var(--space60);
    }
    .flow_deco1 {
      background: url(../img/flow-deco1.svg) center / contain no-repeat;
      top: -50px;
      right: var(--space80);
      width: min(251px, 18vw);
      height: auto;
      aspect-ratio: 251/147;
    }
  }
}

@media (max-width: 768px) {
  .under_page {
    .eligibility {
      .grid {
        grid-template-columns: 1fr;
        gap: 30px;
      }
      ul {
        gap: 15px;
        padding-bottom: 20px;
        margin-bottom: 20px;
        li {
          gap: 10px;
        }
      }
      .note {
        font-size: 14px;
      }
    }
    .flow {
      .flex {
        flex-direction: column;
        align-items: start;
        .desc {
          width: 100%;
        }
      }
      .content_item {
        margin-bottom: 30px;
      }
      .content_item::after {
        top: calc(100% + 10px);
        width: 12px;
        height: 12px;
      }
      .grid_2c {
        grid-template-columns: 1fr;
        gap: 15px;
      }
      .flow_deco1 {
        display: none;
      }
    }
  }
}

/* プライバシーポリシー */
.under_page{
  .privacy_policy{
    padding-top: var(--nami-padding);
    position: relative;
    z-index: 2;
    .sec_title{
      margin-bottom: var(--space60);
    }
    .policy_box{
      background-color: #fff;
      border-radius: var(--border-r);

      padding: var(--space60) var(--space80);
    }
        h4 {
      font-size: var(--fz14);
      font-weight: 600;
      margin: 30px 0 10px;
    }
    .desc {
      font-size: var(--fz14);
    }
  }

}

/* お問い合わせ */

.under.contact {
  position: relative;
  z-index: 2;
  .contents {
    .info {
      margin-bottom: var(--space60);
      .tel_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
        transition: var(--trans);
        .img {
          width: 42px;
          img {
            width: 100%;
          }
        }
        .num {
          font-size: min(50px, 10vw);
          color: var(--color-pink);
          display: flex;
          align-items: center;
          gap: 10px;
          font-family: var(--en);
        }
        .num::before {
          content: "";
          background-image: url(../img/tel-icon-pink.svg);
          background-repeat: no-repeat;
          background-size: contain;
          width: 0.8em;
          height: auto;
          aspect-ratio: 1 / 1;
        }
      }
      .note{
        margin-bottom: var(--space40);
      }
      a:hover {
        opacity: 0.7;
      }
      .desc{
        font-size: var(--fz16);
      }
    }

    /* フォーム */
    .contact-area {
      background-color: #fff;
      border-radius: 25px;
      padding: 80px 20px;

      table {
        max-width: 700px;
        margin: 0 auto;
        margin-bottom: 40px;
        width: 100%;

        tr {
          padding: 10px 0;
          display: flex;
          align-items: start;
          flex-direction: column;
          width: fit-content;
          width: 100%;

          th {
            padding-right: 10px;
            font-size: 16px;
            margin: 10px 0;
          }

          th.il::after {
            content: "必須";
            padding: 2px 10px;
            background-color: var(--color-pink);
            color: #fff;
            font-size: 12px;
            border-radius: 100px;
            margin-left: 20px;
            font-weight: 500;
          }
        }
        tr.notes {
          margin-top: 20px;
          padding: 5px 10px;
          background-color: var(--color1);
          width: fit-content;
          border-radius: 2px;
          th {
            margin: 0;
            font-size: 14px;
            color: var(--color-pink);
            font-weight: 500;
          }
        }
        tr.select_area {
          td {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 30px;
            span {
              margin-left: 0;
              input {
                margin-right: 2px;
              }
            }
          }
        }
        tr.radio_area {
          td {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 30px;
            span {
              display: flex;
              margin-right: 20px;
              margin-left: 0;
              input {
                margin-right: 2px;
              }
            }
          }
        }
        tr.choice_day {
          td {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
          }
        }
        td {
          width: 100%;
        }
        td.half {
          width: 50%;
        }
        td.flex-area {
          display: flex;
          justify-content: space-between;
          gap: 20px;
          width: 70%;
          @media screen and (max-width: 768px) {
            gap: 5px;
            width: 100%;
          }
          .wrapper {
            display: flex;
            gap: 10px;
            align-items: center;
            width: 100%;
            text-wrap: nowrap;
          }
        }

        p {
          font-size: 14px;
          margin-bottom: 20px;
        }
      }

      .policy-desc {
        margin-bottom: 20px;
        text-align: center;
        font-size: 14px;
      }
      .check-area {
        margin-bottom: 40px;
        display: flex;
        justify-content: center;
      }
      .thanks-message {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin: 60px 0;
        text-align: center;
        .thanks-title {
          font-size: 38px;
          color: var(--color-pink);
          font-weight: 700;
          margin-bottom: 10px;
        }
      }
    }
    .send-btn-area {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
    }

    .send-btn {
      background-color: var(--color-pink);
      border-radius: 30px;
      padding: 0px 30px;
      cursor: pointer;
      color: #fff;
      width: fit-content;
      border: 0;
      transition: var(--trans);
    }
    .send-btn:hover {
      scale: 1.02;
    }
    .back-btn {
      background-color: #eee;
      border-radius: 30px;
      padding: 0px 30px;
      border: 1px #eee solid;
      cursor: pointer;
      color: #999;
      width: fit-content;
      transition: var(--trans);
    }

    .back-btn:hover {
      scale: 1.02;
    }
  }
  .recha-info {
    font-size: 14px;
    padding-top: 40px;
    text-align: center;
    line-height: 2;
  }
  input,
  select,
  textarea {
    width: 100%;
    height: 50px;
    border-radius: 4px;
    border: #999 0.5px solid;
    background-color: rgb(255, 255, 255, 0.6);
    padding: 10px;
    font-size: 16px;
  }
  textarea {
    height: 300px;
  }

  input[type="checkbox"],
  input[type="radio"] {
    width: 18px;
    height: 18px;
    translate: 0 3px;
    margin-right: 10px;
    border: 1px #3f3f3f solid;
    font-size: 16px;
    color-scheme: light; /* 強制的にライトテーマで描画 */
  }

  input,
  select,
  textarea:focus {
    outline: none;
    box-shadow: none;
  }

  input::placeholder,
  textarea::placeholder {
    color: #ccc;
  }
}

@media (max-width: 960px) {
  .under.contact {
    .contents {
      .info {
        .desc {
          font-size: 14px;
          text-align: start;
        }
        .tel {
          .num {
            gap: 0px;
          }
        }
      }
      /* フォーム */
      .contact-area {
        padding: 40px 20px;
        border-radius: 20px;
        table {
          tr {
            padding: 10px 0;
            th {
              font-size: 14px;
              margin: 10px 0;
            }

            th.il::after {
              padding: 2px 8px;
              font-size: 10px;
              margin-left: 10px;
            }
          }
          tr.select_area {
            td {
              gap: 10px 20px;
              span {
                font-size: 14px;
              }
            }
          }
          td {
            width: 100%;
          }
        }
        .policy-desc {
          margin-bottom: 10px;
          text-align: start;
          font-size: 12px;
        }

        .check-area {
          font-size: 14px;
        }
        .thanks-message {
          gap: 10px;
          margin: 40px 0;
          .thanks-title {
            font-size: 20px;
          }
        }
      }
      .flex {
        .btn-privacy-policy {
          padding-left: 20px;
          margin-bottom: 60px;
        }
      }
      .recha-info {
        font-size: 12px;
        text-align: start;
      }
    }
    input[type="checkbox"] {
      width: 14px;
      height: 14px;
      font-size: 14px;
      translate: 0 1.5px;
    }
    input,
    select,
    textarea {
      height: 40px;
      font-size: 14px;
    }
    textarea {
      height: 200px;
    }
  }
}
/* カレンダースタイル */
/* カレンダー全体 */
.ui-datepicker {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  padding: 16px;
  font-family: sans-serif;
  width: 300px;
}

/* ヘッダー（年月ナビ） */
.ui-datepicker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  background: none;
  border: none;
}

/* 前月・次月ボタン */
.ui-datepicker-prev,
.ui-datepicker-next {
  cursor: pointer;
  color: #555;
  font-size: 18px;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
  color: #000;
}

/* 年月セレクト */
.ui-datepicker-title select {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 14px;
  background: #fff;
}

/* 曜日ヘッダー */
.ui-datepicker-calendar thead th {
  color: #888;
  font-size: 12px;
  font-weight: normal;
  padding: 4px 0;
  text-align: center;
}

/* 日付セル */
.ui-datepicker-calendar td {
  padding: 2px;
  a {
  }
}

.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span {
  display: grid !important;
  place-items: center;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border-radius: 50%;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  background: none !important;
  border: none !important;
  margin: auto;
}

.ui-datepicker-calendar td a:hover {
  background: #f0f0f0 !important;
}

/* 今日 */
.ui-datepicker-calendar .ui-datepicker-today a {
  border: 1px solid #9c6fb5 !important;
  color: #9c6fb5;
}

/* 選択中 */
.ui-datepicker-calendar .ui-state-active {
  background: #9c6fb5 !important;
  color: #fff !important;
  border-radius: 50%;
}

/* 日曜（赤） */
.ui-datepicker-calendar td:first-child a {
  color: #e05555;
}

/* 土曜（青） */
.ui-datepicker-calendar td:last-child a {
  color: #4a7fcb;
}

/*------------------------------------------------------------------------------------------

新着情報ページ

------------------------------------------------------------------------------------------*/
.archive_page {
  .archive {
    position: relative;
    z-index: 2;
  }
  .inner1 {
    .blog-list {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px;
      li {
        .card {
          display: flex;
          flex-direction: column;
          align-items: start;
          gap: 20px;
          transition: var(--trans);
          height: 100%;
          width: 100%;
          .img {
            width: 100%;
            height: auto;
            aspect-ratio: 340 / 220;
            overflow: hidden;
            border-radius: 20px;
            img {
              transition: var(--trans);
            }
          }
          .title {
            font-size: var(--fz20);
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
            width: 100%;
          }
          .desc {
            flex: 1;
            p {
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 5;
              overflow: hidden;
              text-overflow: ellipsis;
            }
          }
          .archive_btn {
            width: 38px;
            height: 38px;
            margin-left: auto;
            margin-top: auto;
            img {
              object-fit: contain;
            }
          }

          .wrap {
            display: flex;
            flex-wrap: wrap-reverse;
            align-items: center;
            gap: 15px;
            .category {
              color: var(--color-pink);
              border-radius: 100px;
              border: var(--color-pink) 1px solid;
              font-size: 12px;
              padding: 5px 16px;
              display: grid;
              place-items: center;
              line-height: 1;
              font-weight: 700;
            }
            .category._green {
              color: var(--color-green);
              border: var(--color-green) 1px solid;
            }
            time {
              line-height: 1;
              font-size: 14px;
              font-family: var(--en);
            }
          }
        }
        .voice_card {
          background-color: #fff;
          padding: var(--space40);
          padding-bottom: 30px;
          border: 1px solid #ebe7ce;
          border-radius: var(--border-r);
          display: flex;
          flex-direction: column;
          transition: var(--trans);
          width: 100%;
          height: 100%;

          .title {
            border-bottom: 1px solid #ebe7ce;
            margin-bottom: 20px;
            padding-bottom: 20px;
            min-height: calc(var(--fz20) * 1.5 * 2 + 20px);
            span {
              font-weight: 700;
              font-size: var(--fz20);
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 2; /* 表示する行数 */
              overflow: hidden;
            }
          }
          .desc {
            font-size: var(--fz16);
            margin-bottom: 20px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            overflow: hidden;
          }
          .archive_btn {
            width: 38px;
            height: 38px;
            margin-left: auto;
            margin-top: auto;
            img {
              object-fit: contain;
            }
          }
        }
        .card:hover {
          .img {
            img {
              scale: 1.02;
            }
          }
        }
        .voice_card:hover {
          transform: translateY(-7px);
        }
      }
    }
  }
}
@media (max-width: 870px) {
  .archive_page {
    .inner1 {
      .blog-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        li {
          .card {
            gap: 8px;
            .title {
              font-size: 16px;
            }
            .wrap {
              gap: 5px;
              .category {
                font-size: 10px;
              }
              time {
                font-size: 12px;
              }
            }
            .btn {
              padding: 10px 15px;
              img {
                width: 14px;
              }
            }
          }
        }
      }
    }
  }
}

/* ----------------------------

フェードインアニメーション

------------------------------*/

.fadeIn {
  transform: translate3d(0, 50px, 0);
  transition: 1.5s;
  opacity: 0;
}
.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
/* ----------------------------

固定フェードインアニメーション

------------------------------*/
.fadeIn-fixed {
  animation-name: fadeIn;
  animation-duration: 1.5s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* ----------------------------

ページネーション

------------------------------*/

.page-nation {
  width: 100%;
  display: flex;
  justify-content: center;

  .wp-pagenavi {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
    @media (max-width: 960px) {
      gap: 8px;
    }
  }

  .wp-pagenavi a,
  .current {
    transition: all 0.3s;
    font-size: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: var(--color-pink) 1px solid;
    transition: var(--trans);
    color: var(--color-pink);
  }

  .current {
    border: var(--color-pink);
    background-color: var(--color-pink);
    color: #fff;
  }
  .wp-pagenavi a:hover {
    background-color: var(--color-pink);
    color: #fff;
  }
}

.page-nation._green {
  .wp-pagenavi a,
  .current {
    border: var(--color-green) 1px solid;
    transition: var(--trans);
    color: var(--color-green);
  }

  .current {
    border: var(--color-green);
    background-color: var(--color-green);
    color: #fff;
  }
  .wp-pagenavi a:hover {
    background-color: var(--color-green);
    color: #fff;
  }
}

/* ----------------------------

404

------------------------------*/

.page_404 {
  position: relative;
  z-index: 2;
  min-height: 70vh;
  display: grid;
  place-items: center;
}
.title_404 {
  font-size: 120px;
  line-height: 1;
}
.sub_title_404 {
  font-size: 16px;
}

/* ----------------------------

リキャプチャ非表示

------------------------------*/

.grecaptcha-badge {
  visibility: hidden;
}
