@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
:root {
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 600;
  --green: #37c078;
  --pink: #f87c7c;
  --lgreen: #81bb03;
  --orange: #ef8c38;
  --brown: #7d561a;
  --blue: #009fe6;
  --shadow: 0 4px 8px rgba(0, 0, 0, 0.075);
  --color-bg: #F8F8F6;
}
body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #745018;
  font-size: clamp(0.875rem, 1vw, 1rem);
}
p {
  margin-bottom: clamp(1.5rem, 1.85vw, 1.85rem);
  line-height: 2;
  text-rendering: optimizeLegibility;
}
.section-heading {
  font-size: clamp(1.65rem, 2vw, 2.25rem);
  position: relative;
  font-weight: 600;
  margin-bottom: 2rem;
  line-height: 1.5;
  letter-spacing: 2px;
}
.section-heading::before {
  content: attr(data-text);
  display: block;
  font-size: clamp(3.5rem, 8vw, 5rem);
  font-family: var(--font-accent);
  color: var(--blue);
  letter-spacing: 1px;
  font-weight: 700;
}
.section-heading .en {
  display: block;
  font-size: 4rem;
  color: var(--orange);
  letter-spacing: 0;
  font-weight: 900;
}
.section-heading .en::first-letter {
  color: var(--green);
}
.section-lead {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-family: var(--font-secondary);
  line-height: 1.75;
  margin-bottom: 1.5rem;
  color: inherit;
  letter-spacing: clamp(1px, 0.2vw, 2px);
  font-weight: 600;
}
.section-subheading {
  font-size: clamp(1.35rem, 3vw, 1.5rem);
  font-family: var(--font-secondary);
  margin-bottom: 2.5rem;
  padding-bottom: 1.85rem;
  letter-spacing: clamp(0px, 0.2vw, 2px);
  position: relative;
  font-weight: 400;
}
.section-subheading::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 120px;
  height: 1px;
  border-bottom: solid 2px #333;
  border-bottom-color: rgb(51, 51, 51);
  border-color: var(--green);
}
@media print, screen and (max-width: 431px) {
  .section-subheading::after {
    border-top: none;
    margin: 0;
  }
}
.section-caption {
  position: relative;
  font-weight: 500;
  font-family: var(--font-secondary);
  margin-bottom: 1.25rem;
  font-size: clamp(1.125rem, 4vw, 1.25rem);
  letter-spacing: 2px;
}
.section-caption--2 {
  /*color: var(--green);*/ font-family: var(--font-secondary);
  margin-bottom: 1.25rem;
  font-weight: 500;
  font-size: clamp(1.125rem, 4vw, 1.3rem);
}
.section-caption--3 {
  font-size: clamp(1.125rem, 4vw, 1.3rem);
  position: relative;
  padding: 0 0 1rem;
  font-family: var(--font-secondary);
  border: none;
  font-weight: 500;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid #eee;
}
.section-caption--4 {
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
  padding: 0.8125rem 1.5rem;
  font-family: var(--font-secondary);
  background: #faf7eb;
  border-radius: 4px;
}
.ly_wave, .ly_wave02 {
  position: relative;
}
.ly_wave::after {
  content: "";
  display: block;
  background-image: url(../img/bg_wave-02.webp);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 100% auto;
  width: 100%;
  height: 70px;
  position: absolute;
  left: 0;
  bottom: -69px;
  z-index: 1;
}
.ly_wave02::before {
  content: "";
  display: block;
  background-image: url(../img/bg_wave.webp);
  background-repeat: repeat-x;
  background-position: top center;
  background-size: 100% auto;
  width: 100%;
  height: 70px;
  position: absolute;
  left: 0;
  top: -69px;
  z-index: 1;
}
.ly_main.ly_wave::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-1 * var(--wave-h));
  width: 100%;
  height: var(--wave-h);
  background: url("../img/bg_wave-02.webp") repeat-x bottom center / 100% auto;
  z-index: 1;
  pointer-events: none;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
/* サイズ定義 */
.ly_main.ly_wave {
  --wave-h: clamp(30px, 6vw, 70px);
}
.ly_main-flow.ly_wave::after {
  filter: brightness(0) saturate(100%) invert(80%) sepia(53%) saturate(67%) hue-rotate(73deg) brightness(109%) contrast(95%);
}
@media screen and (max-width: 821px) {
  .ly_wave::after {
    height: 50px;
    background-size: 100% auto;
    bottom: -45px;
  }
  .ly_wave02::before {
    background-size: 100% auto;
    height: 50px;
    top: -45px;
  }
}
@media screen and (max-width: 641px) {
  .ly_wave::after {
    height: 40px;
    bottom: -34px;
  }
  .ly_wave02::before {
    height: 40px;
    top: -34px;
  }
}
.ly_header .ly_header__inner {
  margin: 0 auto;
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
@media print, screen and (max-width: 1024px) {
  .ly_header .ly_header__inner {
    padding-right: 70px;
  }
}
.ly_header .bl_header__logo {
  margin: -1rem -2rem;
}
.ly_header .bl_header__logo img {
  display: block;
  max-height: 100px;
  height: auto;
  width: auto;
}
@media screen and (max-width: 1025px) {
  .ly_header .bl_header__logo img {
    max-height: 90px;
  }
}
@media screen and (max-width: 768px) {
  .ly_header .bl_header__logo {
    margin: -1rem;
  }
  .ly_header .bl_header__logo img {
    max-height: 80px;
  }
}
.ly_header .bl_header__contact {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.ly_header .bl_header__tel img {
  display: block;
  height: auto;
  max-height: 60px;
}
@media screen and (max-width: 1025px) {
  .ly_header .bl_header__tel img {
    max-height: 50px;
  }
}
.ly_header .bl_header__btns {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ly_header .bl_header__btns li img {
  display: block;
  height: auto;
  max-height: 60px;
}
/* responsive */
@media (max-width: 768px) {
  .ly_header .ly_header__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
  }
  .ly_header .bl_header__contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1rem;
  }
  .bl_header__tel {
    display: none;
  }
}
/*navigation*/
.ly_header__nav {
  display: flex;
  max-width: 1480px;
  margin: 0 auto;
}
.ly_header__nav .nav {
  margin: 0 auto;
}
.ly_header__nav li a {
  display: block;
  position: relative;
  font-family: var(--font-secondary);
}
.ly_header__nav .menu-item-has-children > a:after, .ly_header__nav .menu-item-has-children > a:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 10px;
  height: 1px;
  background: #4d6069;
  transition: 0.2s;
}
@media screen and (max-width: 64em) {
  .ly_header__nav .menu-item-has-children > a:after, .ly_header__nav .menu-item-has-children > a:before {
    background: #fff;
    right: 1rem;
  }
}
.ly_header__nav .menu-item-has-children > a:after {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.ly_header__nav .menu-item-has-children > a.open:before {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
.ly_header__nav .menu-item-has-children > a.open:after {
  background: transparent;
}
.ly_header__nav .menu-item-has-children .sub-menu {
  display: none;
}
.ly_header__nav .menu-item-has-children .sub-menu li::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-color: var(--gold);
  transform: translateY(-50%) rotate(-45deg);
}
@media print, screen and (min-width: 1501px) {
  .ly_header__nav li a {
    padding: 20px 20px;
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1024px) {
  #ly_header__navbtn, .overlay {
    display: none;
  }
  .ly_header__nav ul {
    display: flex;
    gap: 2rem;
  }
  .ly_header__nav li {
    position: relative;
    line-height: 1;
  }
  .ly_header__nav .nav-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    color: #0075c2;
  }
  .ly_header__nav .nav-item a::before {
    content: "";
    width: 40px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .ly_header__nav .nav-01 a::before {
    background-image: url("../img/icon-nav-01.webp");
  }
  .ly_header__nav .nav-02 a::before {
    background-image: url("../img/icon-nav-02.webp");
    width: 50px;
    height: 50px;
  }
  .ly_header__nav .nav-03 a::before {
    background-image: url("../img/icon-nav-03.webp");
  }
  .ly_header__nav .nav-04 a::before {
    background-image: url("../img/icon-nav-04.webp");
    width: 60px;
    height: 50px;
  }
  .ly_header__nav .nav-05 a::before {
    background-image: url("../img/icon-nav-05.webp");
    width: 50px;
    height: 50px;
  }
  .ly_header__nav .nav-06 a::before {
    background-image: url("../img/icon-nav-06.webp");
  }
  .ly_header__nav .nav-07 a::before {
    background-image: url("../img/icon-nav-07.webp");
  }
  .ly_header__nav .sp-only a::before {
    content: none;
  }
  .ly_header__nav .menu-item-has-children > a {
    padding-right: 40px;
  }
  .ly_header__nav li ul.sub-menu {
    flex-direction: column;
    background: var(--lgreen);
    position: absolute;
    width: 240px;
    left: 50%;
    margin: 0;
    top: 64px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 10px 0;
    color: #fff;
  }
  .ly_header__nav li ul.sub-menu--2cols {
    flex-direction: column;
    background: var(--lgreen);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.085);
    position: absolute;
    width: 800px;
    left: 50%;
    margin: 0;
    top: 64px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 10px 0;
    color: #fff;
  }
  .ly_header__nav li ul.sub-menu--2cols li {
    width: 50%;
    float: left;
  }
  .ly_header__nav li ul.sub-menu li a {
    line-height: 1.2em;
    font-size: 13px;
    padding: 12px 20px;
  }
}
@media only screen and (max-width: 1024px) {
  .overlay {
    width: 0;
    height: 0;
    position: fixed;
    z-index: 11;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.5s;
    background: rgba(255, 255, 255, 0.7);
  }
  .overlay.open {
    width: 100%;
    height: 100%;
    opacity: 1;
  }
  .ly_header__nav {
    display: block;
  }
  #ly_header__navbtn {
    top: 12px;
    right: 15px;
    transition: 0.3s;
    cursor: pointer;
    position: fixed;
    z-index: 9999;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #ly_header__navbtn .menu-trigger {
    width: 22px;
    height: 18px;
    position: relative;
  }
  #ly_header__navbtn .menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    transition: all 0.5s;
  }
  #ly_header__navbtn .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  #ly_header__navbtn .menu-trigger span:nth-of-type(2) {
    width: 70%;
    top: 9px;
  }
  #ly_header__navbtn .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  #ly_header__navbtn.active .menu-trigger span:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
    background-color: #fff;
  }
  #ly_header__navbtn.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  #ly_header__navbtn.active .menu-trigger span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
    background-color: #fff;
  }
  .ly_header__nav {
    width: 320px;
    height: 100%;
    overflow: auto;
    padding: 60px 0;
    background: var(--blue);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 12;
    transform: translate(100%);
    transition: all 0.5s;
  }
  .ly_header__nav.open {
    transform: translateZ(0);
  }
  .ly_header__nav .nav {
    width: 100%;
  }
  .ly_header__nav .nav > li {
    padding: 0 0;
    margin: 0 1.5rem;
    border-bottom: solid 1px #fff;
  }
  .ly_header__nav li a {
    position: relative;
    padding: 12px 15px;
    color: #fff;
  }
  .ly_header__nav .menu-item-has-children .sub-menu {
    padding: 10px 15px;
    font-size: 0.85rem;
    margin-bottom: 1.5rem;
  }
  .ly_header__nav .menu-item-has-children .sub-menu li {
    padding: 0;
    position: relative;
  }
  .ly_header__nav .menu-item-has-children .sub-menu li:last-child {
    margin-bottom: 0;
  }
  .ly_header__nav .menu-item-has-children .sub-menu li a {
    padding: 0.35rem 0;
  }
  .ly_header__nav .menu-item-has-children .sub-menu li::after {
    content: "";
    position: absolute;
    right: 0.5rem;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: translateY(-50%) rotate(-45deg);
  }
}
@media print, screen and (max-width: 431px) {
  .ly_header__nav {
    width: 100%;
  }
  #ly_header__navbtn {
    background: var(--blue);
    border-radius: 1rem;
  }
  #ly_header__navbtn .menu-trigger span {
    background-color: #fff;
  }
  .ly_header__nav li a {
    text-align: center;
    font-size: 1.125rem;
    padding: 1rem 1.5rem;
    color: #fff;
  }
}
.ly_mv--wrap {
  position: relative;
  overflow: hidden;
  padding: 2rem 0 10rem;
}
@media print, screen and (max-width: 431px) {
  .ly_mv--wrap {
    position: relative;
    overflow: hidden;
    padding: 1rem 1.5rem 10rem;
  }
}
/* ---------- 装飾 ---------- */
.ly_mv__decor {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.ly_mv__decor::before {
  content: "";
  position: absolute;
  left: 17.5%;
  top: 6%;
  width: 320px;
  height: 320px;
  background: url("../img/mv_member.webp") no-repeat top / contain;
}
.ly_mv__decor::after {
  content: "";
  position: absolute;
  right: 20%;
  bottom: 10%;
  width: 300px;
  height: 260px;
  background: url("../img/mv_iruka.webp") no-repeat center / contain;
}
/* 1500 */
@media screen and (max-width: 1500px) {
  .ly_mv__decor::before {
    left: 8%;
  }
  .ly_mv__decor::after {
    right: 8%;
  }
}
/* 1366 */
@media screen and (max-width: 1366px) {
  .ly_mv__decor::before {
    left: 2%;
  }
  .ly_mv__decor::after {
    right: 2%;
  }
}
/* 1300：位置確定 */
@media screen and (max-width: 1300px) {
  .ly_mv__decor::before {
    left: 1%;
    width: 280px;
    height: 280px;
  }
  .ly_mv__decor::after {
    right: 1%;
    width: 260px;
    height: 225px;
  }
}
/* 1200 */
@media screen and (max-width: 1200px) {
  .ly_mv__decor::before {
    width: 250px;
    height: 250px;
  }
  .ly_mv__decor::after {
    width: 230px;
    height: 200px;
  }
}
/* 1024 */
@media screen and (max-width: 1024px) {
  .ly_mv__decor::before {
    width: 220px;
    height: 220px;
  }
  .ly_mv__decor::after {
    width: 200px;
    height: 175px;
  }
}
/* 768 */
@media screen and (max-width: 768px) {
  .ly_mv__decor::before {
    top: 4%;
    width: 190px;
    height: 190px;
  }
  .ly_mv__decor::after {
    bottom: 4%;
    width: 170px;
    height: 150px;
  }
}
/* 600 */
@media screen and (max-width: 600px) {
  .ly_mv__decor::before {
    top: 2%;
    width: 150px;
    height: 150px;
  }
  .ly_mv__decor::after {
    bottom: 2%;
    width: 140px;
    height: 120px;
  }
}
.ly_mv__swiper {
  position: relative;
  z-index: 1;
  overflow: visible; /* ★これが無いと左右が見えない */
}
.ly_mv__swiper .swiper-slide {
  width: min(1080px, 90vw);
  padding: 0;
}
.ly_mv__swiper img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 32px;
  box-sizing: border-box;
}
@media screen and (max-width: 431px) {
  .ly_mv__swiper img {
    height: 45vh;
    object-fit: cover;
    border-radius: 3rem;
  }
}
.ly_mv__copy {
  position: absolute;
  left: 18%;
  bottom: 16%;
  z-index: 4;
  font-weight: 600;
}
.ly_mv__lead, .ly_mv__sub {
  display: inline-block;
  background: #fff;
  padding: 0.35rem 1.5rem;
  font-size: clamp(1.05rem, 1.8vw, 1.5rem);
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  color: var(--blue);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.ly_mv__title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.35;
  letter-spacing: 0.05em;
  background: #fff;
  padding: 0.65rem 1.5rem;
  margin-bottom: 1rem;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* ===== 1300px ===== */
@media screen and (max-width: 1300px) {
  .ly_mv__copy {
    left: 14%;
    bottom: 14%;
  }
}
/* ===== 1024px ===== */
@media screen and (max-width: 1025px) {
  .ly_mv__copy {
    left: 8%;
    bottom: 12%;
  }
}
/* ===== 768px ===== */
@media screen and (max-width: 768px) {
  .ly_mv__copy {
    left: 6%;
    right: 6%;
    bottom: 10%;
  }
  .ly_mv__lead, .ly_mv__sub {
    padding: 0.3rem 1rem;
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
  }
  .ly_mv__title {
    padding: 0.55rem 1rem;
    font-size: 1.6rem;
    line-height: 1.3;
    width: fit-content;
    margin-bottom: 0.75rem;
  }
}
/* ===== 600px ===== */
@media screen and (max-width: 600px) {
  .ly_mv__copy {
    bottom: 8%;
  }
}
.ly_mv__title .is-orange {
  color: #f39800;
  font-weight: 700;
}
.ly_mv__title .is-green {
  color: #8fc31f;
  font-weight: 700;
}
.fade-slider {
  width: 100%;
}
.ly_onayami__wrap {
  background: #009fe6;
  padding: 9rem 0 12rem;
}
@media print, screen and (max-width: 821px) {
  .ly_onayami__wrap {
    padding: 7rem 0 10rem;
  }
}
@media print, screen and (max-width: 431px) {
  .ly_onayami__wrap {
    padding: 2rem 0 7rem;
  }
}
.ly_onayami__wrap .bl_recommend__image img {
  width: 540px;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 1025px) {
  .ly_onayami__wrap .bl_recommend__image img {
    width: 420px;
  }
}
@media screen and (max-width: 599px) {
  .ly_onayami__wrap .bl_recommend__image img {
    width: 80%;
  }
}
.ly_onayami__wrap .bl_recommend__image {
  margin-top: -400px;
  z-index: 10;
  position: relative;
}
@media screen and (max-width: 834px) {
  .ly_onayami__wrap .bl_recommend__image {
    margin-top: -250px;
  }
}
@media screen and (max-width: 768px) {
  .ly_onayami__wrap .bl_recommend__image {
    margin-top: -150px;
  }
}
.ly_onayami__wrap .bl_recommend__catch {
  margin-bottom: clamp(4rem, 6vw, 6rem);
}
.ly_onayami__wrap::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  aspect-ratio: 1920 / 420; /* 画像の実寸比率に合わせて調整 */
  background: url("../img/bg_wave-04.webp") no-repeat center bottom / contain;
  pointer-events: none;
  transform: translateY(-100%);
}
.ly_onayami__wrap .bl_onayami__checklist {
  background: #fff;
  border-radius: 3rem;
  padding: 5rem 5rem 7rem;
  margin: 0 auto 8rem;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.075);
}
@media screen and (max-width: 1024px) {
  .ly_onayami__wrap .bl_onayami__checklist {
    padding: 5rem 3.5rem 5rem;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 600px) {
  .ly_onayami__wrap .bl_onayami__checklist {
    padding: 5rem 2.5rem 5rem;
  }
}
.ly_onayami__wrap .bl_onayami__checklist::before {
  content: "放っておくと歯並びが悪くなるかも・・・！";
  position: absolute;
  top: -1.85rem;
  left: 50%;
  transform: translateX(-50%);
  background: #ff7e93;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
  padding: 0.75rem 2rem;
  border-radius: 3rem;
  width: 90%;
  max-width: 780px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media print, screen and (max-width: 431px) {
  .ly_onayami__wrap .bl_onayami__checklist::before {
    font-size: 1.25rem;
  }
}
.ly_onayami__wrap .bl_onayami__checklist::after {
  content: "";
  position: absolute;
  top: -170px;
  left: 30px;
  width: 116px;
  height: 209px;
  background: url("../img/onayami_penguin.webp") no-repeat center / contain;
  z-index: 2;
}
@media screen and (max-width: 821px) {
  .ly_onayami__wrap .bl_onayami__checklist::after {
    top: -120px;
    left: 16px;
    width: 90px;
    height: 160px;
  }
}
@media screen and (max-width: 600px) {
  .ly_onayami__wrap .bl_onayami__checklist::after {
    top: -70px;
    left: -1rem;
    width: 72px;
    height: 100px;
  }
}
@media screen and (max-width: 431px) {
  .ly_onayami__wrap .bl_onayami__checklist::after {
    top: -30px;
    left: -1rem;
    width: 62px;
    height: 90px;
  }
}
.ly_onayami__wrap .bl_onayami__checklist ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ly_onayami__wrap .bl_onayami__checklist li {
  position: relative;
  padding-left: 3rem;
  margin: 0.35rem 0;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 600;
  color: #146195;
}
.ly_onayami__wrap .bl_onayami__checklist li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  background: url("../img/icon-check.png") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 431px) {
  .ly_onayami__wrap .bl_onayami__checklist li {
    font-size: 1rem;
    padding-left: 2.5rem;
  }
  .ly_onayami__wrap .bl_onayami__checklist li::before {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/* responsive */
@media (max-width: 768px) {
  .ly_onayami__wrap .bl_onayami__checklist ul {
    grid-template-columns: 1fr;
  }
}
.ly_onayami__wrap .bl_onayami__checklist-kujira {
  position: absolute;
  right: 5rem;
  bottom: -80px;
  width: 338px;
  height: 219px;
  background: url("../img/onayami_kujira.webp") no-repeat bottom center / contain;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 821px) {
  .ly_onayami__wrap .bl_onayami__checklist-kujira {
    right: 2.5rem;
    bottom: -60px;
    width: 260px;
    height: 170px;
  }
}
@media screen and (max-width: 431px) {
  .ly_onayami__wrap .bl_onayami__checklist-kujira {
    right: 1rem;
    bottom: -3rem;
    width: 170px;
    height: 110px;
  }
}
.ly_onayami__wrap .bl_onayami__notice--sub {
  background-color: #f7f871;
  border-radius: 2.5rem;
  padding: clamp(2rem, 4vw, 3rem) clamp(2.75rem, 4vw, 5rem);
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  color: #0b5fa5;
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-content {
  flex: 1;
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #0b5fa5;
  margin-bottom: 0.65rem;
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-note {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.65rem;
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-text {
  margin: 0;
  font-weight: 500;
}
.ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-image img {
  width: 140px;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-inner {
    flex-direction: column;
  }
  .ly_onayami__wrap .bl_onayami__notice--sub .bl_onayami__notice-image img {
    width: 120px;
    margin: 0rem;
  }
}
.ly_result__wrap {
  background-color: #39c360;
  padding: clamp(6rem, 8vw, 9rem) 0 25rem;
  background-image: url("../img/bg_forest.webp");
  background-repeat: no-repeat;
  background-position: bottom -10rem center;
  background-size: 100% auto;
}
@media screen and (max-width: 1025px) {
  .ly_result__wrap {
    padding: clamp(5rem, 8vw, 7rem) 0 20rem;
    background-position: bottom -7rem center;
    background-size: 120% auto;
  }
}
@media screen and (max-width: 821px) {
  .ly_result__wrap {
    padding: 7rem 0 10rem;
    background-position: bottom -4rem center;
    background-size: 140% auto;
  }
}
@media screen and (max-width: 431px) {
  .ly_result__wrap {
    padding: 2rem 0 9rem;
    background-position: bottom -2rem center;
  }
}
.ly_result__wrap.ly_wave02::before {
  filter: brightness(0) saturate(100%) invert(70%) sepia(99%) saturate(385%) hue-rotate(73deg) brightness(83%) contrast(80%);
}
.ly_result__wrap .bl_onayami__subtitle {
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 1.5rem;
  letter-spacing: 2px;
}
.ly_result__wrap .bl_onayami__icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 2rem;
  list-style: none;
  padding-top: 3rem;
  margin: 0;
}
.ly_result__wrap .bl_onayami__icons li {
  text-align: center;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.6;
}
.ly_result__wrap .bl_onayami__icons img {
  display: block;
  margin: 0 auto 1rem;
}
/* responsive */
@media (max-width: 768px) {
  .ly_result__wrap .bl_onayami__icons {
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
    gap: 2rem 1.5rem;
  }
  .ly_result__wrap .bl_onayami__icons li:nth-child(3n-1) {
    transform: none;
  }
}
@media (max-width: 480px) {
  .ly_result__wrap .bl_onayami__icons {
    grid-template-columns: 1fr 1fr;
    gap: 0 1.5rem;
  }
  .ly_result__wrap .bl_onayami__icons img {
    width: 180px;
    height: auto;
  }
  .ly_result__wrap .bl_onayami__icons li {
    font-size: 0.8125rem;
  }
}
@media print, screen and (max-width: 431px) {
  .ly_result__wrap .bl_onayami__icons img {
    width: 150px;
    height: auto;
  }
}
.ly_recommend__wrap {
  background: #ffc446;
  padding: clamp(3rem, 8vw, 6rem) 0 clamp(2.5rem, 4vw, 5rem);
}
@media print, screen and (max-width: 431px) {
  .ly_recommend__wrap {
    padding: 2rem 0 2rem;
  }
}
.ly_recommend__wrap.ly_wave02::before {
  content: "";
  display: block;
  background-image: url(../img/bg_wave-03.webp);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
  width: 100%;
  height: 120px;
  position: absolute;
  left: 0;
  top: -119px;
  z-index: 1;
}
/*.ly_recommend__wrap.ly_wave02::before {
  content: "";
  display: block;
  background-image: url(../img/bg_wave-05.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
  width: 100%;
  height: 170px;
  position: absolute;
  left: 0;
  top: -169px;
  z-index: 1;
}*/ .ly_recommend__wrap.ly_wave02::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(-0.98 * var(--wave02-h));
  width: 100%;
  height: var(--wave02-h);
  background: url("../img/bg_wave-05.webp") no-repeat top right / 100% 100%;
  z-index: 1;
  pointer-events: none;
}
.ly_recommend__wrap.ly_wave02 {
  --wave02-h: 170px;
}
@media screen and (max-width: 1024px) {
  .ly_recommend__wrap.ly_wave02 {
    --wave02-h: 140px;
  }
}
@media screen and (max-width: 431px) {
  .ly_recommend__wrap.ly_wave02 {
    --wave02-h: 80px;
  }
}
.ly_recommend__wrap.ly_wave::after {
  filter: brightness(0) saturate(100%) invert(70%) sepia(85%) saturate(354%) hue-rotate(349deg) brightness(99%) contrast(105%);
}
.ly_recommend__wrap .ly_recommend__title {
  background: #f9f769;
  margin: 0 auto 2rem;
  font-weight: 600;
  font-size: 1.85rem;
  text-align: center;
  padding: 0.75rem 2rem;
  border-radius: 3rem;
  width: 100%;
  max-width: 680px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media print, screen and (max-width: 431px) {
  .ly_recommend__wrap .ly_recommend__title {
    font-size: 1.5rem;
    padding: 0.75rem 1rem;
    border-radius: 3rem;
    width: 100%;
    max-width: 680px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
}
.ly_recommend__wrap .bl_recommend__head .section-lead {
  font-size: clamp(1.25rem, 2vw, 1.85rem);
}
.ly_recommend__wrap .bl_recommend__catch {
  margin-top: -3rem;
}
@media print, screen and (max-width: 431px) {
  .ly_recommend__wrap .bl_recommend__catch {
    margin-top: 0;
  }
}
.ly_recommend__wrap .bl_recommend__label {
  text-align: center;
  max-width: 640px;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  padding: clamp(0.5rem, 1.5vw, 0.65rem) clamp(1rem, 3vw, 2rem);
  letter-spacing: 2px;
  font-weight: 700;
  margin: 2rem auto clamp(2rem, 4vw, 4rem);
  color: #fff;
  background: var(--orange);
  border-radius: 3rem;
}
.ly_recommend__wrap .bl_recommend__points {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin: 2rem 0;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.ly_recommend__wrap .bl_recommend__points li {
  flex: 1 1 120px;
  max-width: 150px;
  text-align: center;
}
@media (max-width: 431px) {
  .ly_recommend__wrap .bl_recommend__points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem; /* 必要なら余白調整 */
  }
  .ly_recommend__wrap .bl_recommend__points li {
    flex: 1 1 calc(33.333% - 0.5rem);
    max-width: calc(33.333% - 0.5rem);
    text-align: center;
  }
}
.ly_recommend__wrap .bl_recommend__points img {
  width: 100%;
  height: auto;
  display: block;
}
.ly_recommend__wrap .bl_recommend__lead {
  text-align: center;
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 600;
  margin: 2rem 0;
  line-height: 1.6;
}
.ly_recommend__wrap .highlight-green {
  color: #2aa94e;
}
.ly_recommend__wrap .highlight-orange {
  color: var(--orange);
}
.bl_recommend__arrow {
  margin: 2.5rem auto 1rem;
}
.bl_recommend__arrow img {
  max-width: clamp(100px, 30vw, 200px);
  height: auto;
}
.ly_recommend__wrap .bl_merit__title {
  text-align: center;
  margin: 2rem 1rem;
}
@media screen and (max-width: 431px) {
  .ly_merit__title img {
    width: 75%;
    max-width: 100%;
    height: auto;
  }
}
.ly_recommend__wrap .bl_merit__title img {
  max-width: 100%;
  height: auto;
}
/* 2カラム配置 */
.ly_recommend__wrap .bl_merit__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 4rem;
  background-color: #ffffff;
  border-radius: 2rem;
  padding: clamp(4rem, 6vw, 6rem) clamp(2rem, 6vw, 5rem) clamp(1.5rem, 4vw, 4rem);
  margin-top: clamp(-4rem, -6vw, -2rem);
  margin-bottom: 4rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.075);
  position: relative;
  z-index: -1;
}
.ly_recommend__wrap .bl_merit__list::before {
  content: "";
  position: absolute;
  top: -10%;
  left: 0;
  width: 220px;
  height: 420px;
  background: url("../img/osusume-merit-baloon01.webp") no-repeat center / contain;
  z-index: -1;
}
.ly_recommend__wrap .bl_merit__list::after {
  content: "";
  position: absolute;
  bottom: -2%;
  right: 3%;
  width: 220px;
  height: 520px;
  background: url("../img/osusume-merit-baloon02.webp") no-repeat center / contain;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .ly_recommend__wrap .bl_merit__list::before {
    top: -6%;
    width: 180px;
    height: 340px;
  }
  .ly_recommend__wrap .bl_merit__list::after {
    bottom: -1%;
    right: 2%;
    width: 180px;
    height: 420px;
  }
}
@media screen and (max-width: 821px) {
  .ly_recommend__wrap .bl_merit__list::before {
    top: -4%;
    width: 150px;
    height: 280px;
  }
  .ly_recommend__wrap .bl_merit__list::after {
    bottom: 0;
    right: 1%;
    width: 150px;
    height: 360px;
  }
}
@media screen and (max-width: 600px) {
  .ly_recommend__wrap .bl_merit__list::before {
    top: -2%;
    left: -2%;
    width: 120px;
    height: 220px;
  }
  .ly_recommend__wrap .bl_merit__list::after {
    bottom: 0;
    right: -2%;
    width: 120px;
    height: 280px;
  }
}
@media screen and (max-width: 431px) {
  .ly_recommend__wrap .bl_merit__list::before {
    top: 0;
    left: -4%;
    width: 90px;
    height: 160px;
    opacity: 0.85;
  }
  .ly_recommend__wrap .bl_merit__list::after {
    bottom: -30px;
    right: -4%;
    width: 90px;
    height: 200px;
    opacity: 0.85;
  }
}
.ly_recommend__wrap .bl_merit__item {
  position: relative;
  text-align: center;
}
.ly_recommend__wrap .bl_merit__item img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
}
.ly_recommend__wrap .bl_merit__lead {
  font-size: clamp(1.125rem, 2vw, 1.35rem);
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.8;
  letter-spacing: 2px;
}
.ly_recommend__wrap .bl_merit__desc {
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 2px;
}
/* レスポンシブ */
@media (max-width: 768px) {
  .ly_recommend__wrap .bl_merit__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .ly_recommend__wrap .bl_merit__lead {
    font-size: 1.25rem;
    text-align: left;
  }
  .ly_recommend__wrap .bl_merit__desc {
    text-align: left;
  }
}
/* ===============================
   Responsive
================================= */
@media (max-width: 768px) {
  .bl_recommend__points {
    gap: 1rem;
  }
  .bl_recommend__points li {
    flex: 1 1 45%;
    max-width: 45%;
  }
  .bl_recommend__lead {
    font-size: 1.1rem;
  }
}
@media (max-width: 480px) {
  .bl_recommend__points li {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .bl_recommend__lead {
    font-size: 1rem;
  }
}
.ly_cases__wrap {
  background: #fffde3;
  padding: clamp(3rem, 8vw, 6rem) 0 clamp(2.5rem, 4vw, 5rem);
}
@media print, screen and (max-width: 431px) {
  .ly_cases__wrap {
    padding: 2rem 0;
  }
}
.ly_case__section {
  background: #fff;
  border-radius: 2rem;
  padding: clamp(1.5rem, 4vw, 4rem) clamp(2rem, 6vw, 5rem) clamp(1rem, 3vw, 3rem);
  margin: 4rem 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 431px) {
  .ly_case__section {
    padding: 1.5rem;
    margin: 3rem 0;
  }
}
.ly_case__section .ly_case__heading {
  font-size: clamp(1.5rem, 4vw, 1.85rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 2rem;
}
.ly_case__section .ly_case__compare {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.ly_case__section .bl_case {
  text-align: center;
  position: relative;
  flex-basis: 50%;
}
.ly_case__section .bl_case img {
  width: 90%;
  height: auto;
  border-radius: 1rem;
  display: block;
  margin: 0 auto 1.5rem;
}
.ly_case__section .bl_case__label {
  display: block;
  font-weight: 600;
  border-radius: 2rem 0 0 2rem;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  font-size: clamp(1rem, 2.5vw, 1.5rem);
  padding: clamp(0.5rem, 2vw, 0.85rem) clamp(0.75rem, 3vw, 1rem);
}
.ly_case__section .bl_case--before .bl_case__label {
  background: var(--blue);
  color: #fff;
}
.ly_case__section .bl_case--after .bl_case__label {
  background: var(--pink);
  color: #fff;
  border-radius: 0 2rem 2rem 0;
}
.ly_case__section .bl_case__table {
  width: 100%;
  border-collapse: collapse;
}
.ly_case__section .bl_case__table th, .ly_case__section .bl_case__table td {
  border: 1px solid #d6d3b9;
  padding: clamp(0.75rem, 2vw, 1.5rem) clamp(1rem, 4vw, 2rem);
  vertical-align: top;
  font-weight: 600;
}
.ly_case__section .bl_case__table th {
  background: #f0f9d0;
  width: clamp(120px, 25%, 300px);
  text-align: center;
}
.ly_case__section .bl_case__table td {
  background: #fff;
  text-align: left;
}
@media (max-width: 768px) {
  .ly_case__section .ly_case__compare {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .ly_case__section .bl_case img {
    max-width: 90%;
  }
  .ly_case__section .bl_case__label {
    border-radius: 2rem !important;
  }
}
.ly_reasons__wrap {
  background: #f17c7c;
  padding: clamp(3rem, 8vw, 6rem) 0 clamp(2.5rem, 4vw, 5rem);
}
@media print, screen and (max-width: 431px) {
  .ly_reasons__wrap {
    padding: 2rem 0 2rem;
  }
}
.ly_reasons__wrap.ly_wave02::before, .ly_reasons__wrap.ly_wave::after {
  filter: brightness(0) saturate(100%) invert(62%) sepia(71%) saturate(499%) hue-rotate(310deg) brightness(91%) contrast(110%);
}
.ly_reasons__wrap .bl_reason {
  background: #fff;
  position: relative;
  border-radius: clamp(1.5rem, 3vw, 4rem);
  padding: 4rem clamp(2rem, 5vw, 5rem) clamp(2rem, 5vw, 4rem);
  margin: 6rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.075);
}
@media screen and (max-width: 834px) {
  .ly_reasons__wrap .bl_reason {
    margin: 4rem 0;
  }
}
@media screen and (max-width: 431px) {
  .ly_reasons__wrap .bl_reason {
    padding: 3rem 1.5rem 2rem;
  }
}
.ly_reasons__wrap .bl_reason::before {
  content: "選ばれる理由.01";
  position: absolute;
  top: -1.85rem;
  left: 50%;
  transform: translateX(-50%);
  background: #009fe6;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
  padding: 0.75rem 2rem;
  border-radius: 3rem;
  width: 100%;
  max-width: 580px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 431px) {
  .ly_reasons__wrap .bl_reason::before {
    font-size: 1.35rem;
    width: 90%;
  }
}
.ly_reasons__wrap .bl_reason .bl_card__image {
  flex-basis: 45%;
}
.ly_reasons__wrap .bl_reason .bl_card__text {
  flex-basis: 50%;
}
@media screen and (max-width: 431px) {
  .ly_reasons__wrap .bl_reason .bl_card__image, .ly_reasons__wrap .bl_reason .bl_card__text {
    flex-basis: 100%;
  }
}
.ly_reasons__wrap .bl_reason-02::before {
  content: "選ばれる理由.02";
}
.ly_reasons__wrap .bl_reason__title {
  font-size: clamp(1.6rem, 2vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 2rem;
}
.ly_reasons__wrap .bl_reason__title .number {
  font-size: clamp(5.5rem, 1vw, 9rem);
  font-weight: 900;
  color: var(--orange);
  background-image: url("../img/bg_feature_numb.png");
  background-size: 70% auto;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.ly_reasons__wrap .bl_reason__title .number::first-letter {
  color: var(--green);
}
.ly_reasons__wrap .bl_reason__title .text {
  font-size: clamp(1.5rem, 2vw, 2rem);
  padding-top: 1rem;
  line-height: 1.35;
}
@media print, screen and (max-width: 431px) {
  .ly_reasons__wrap .bl_reason__title .text {
    font-size: 1.5rem;
  }
}
.ly_reasons__wrap .bl_reason__subbox {
  position: relative;
  background-color: #37c078; /* ベースのグリーン */
  border-radius: 2.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 6vw, 4rem);
  display: flex;
  align-items: center;
  gap: 2rem;
  color: #fff;
  overflow: hidden; /* 角丸からはみ出さないように */
  z-index: 0;
  margin-bottom: 0;
}
/* 疑似要素でドットパターンを斜めに */
.ly_reasons__wrap .bl_reason__subbox::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#46c582 4px, transparent 4px);
  background-size: 20px 20px;
  transform: rotate(45deg); /* ←ドットだけ斜め */
  transform-origin: center;
  z-index: -1; /* 背景として配置 */
}
.ly_reasons__wrap .bl_reason__subbox h4 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
}
.ly_reasons__wrap .section-lead {
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  font-family: var(--font-secondary);
  line-height: 1.75;
  margin-bottom: 1rem;
  color: #fff;
  letter-spacing: clamp(1px, 0.2vw, 2px);
  font-weight: 600;
}
.ly_breathing__wrap {
  background: #c5e0fb;
  padding: clamp(10rem, 8vw, 12rem) 0 clamp(2.5rem, 4vw, 5rem);
}
@media print, screen and (max-width: 431px) {
  .ly_breathing__wrap {
    padding: 7rem 0 4rem;
  }
}
.ly_breathing__wrap.ly_wave::after {
  filter: brightness(0) saturate(100%) invert(90%) sepia(5%) saturate(2743%) hue-rotate(180deg) brightness(99%) contrast(99%);
}
.ly_breathing__wrap .bl_breathing__content {
  position: relative;
  background: #fff;
  border-radius: 24px;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 4.5rem) 6rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
  margin: 3rem 0;
}
@media (max-width: 768px) {
  .ly_breathing__wrap .bl_breathing__content {
    grid-template-columns: 1fr; /* スマホでは1列に */
    gap: 2rem; /* 余白を少し詰めると見やすい */
    padding: 5rem 2rem;
  }
}
/* 左側のボックス（デメリット） */
.ly_breathing__wrap .bl_breathing__box--left {
  background: url("../img/kokyuu_demerit.webp") no-repeat center 65%/60%;
}
.ly_breathing__wrap .bl_breathing__box--left .bl_breathing__heading {
  color: #17658c; /* 青見出し */
}
.ly_breathing__wrap .bl_breathing__box--left p {
  color: #0c608a; /* 本文も青 */
  line-height: 2;
  font-size: 1rem;
}
/* 右側のボックス（メリット） */
.ly_breathing__wrap .bl_breathing__box--right {
  background: url("../img/kokyuu_merit.webp") no-repeat center 65%/60%;
}
.ly_breathing__wrap .bl_breathing__box--right .bl_breathing__heading {
  color: #db588c; /* ピンク見出し */
}
.ly_breathing__wrap .bl_breathing__box--right p {
  color: #6a364b;
  line-height: 2;
  font-size: 1rem;
}
/* 見出しスタイル */
.ly_breathing__wrap .bl_breathing__heading {
  font-size: clamp(1.65rem, 4vw, 2rem);
  text-align: center;
  font-weight: 700;
  margin-bottom: clamp(1rem, 3vw, 2rem);
}
@media (max-width: 768px) {
  .ly_breathing__wrap .bl_breathing__heading .sp-only {
    display: none !important;
  }
}
.ly_breathing__wrap .bl_breathing__heading span {
  display: block;
  font-size: 75%;
  margin-top: 0.45rem;
}
.ly_breathing__wrap .bl_breathing__box--left::after {
  content: "";
  position: absolute;
  bottom: -3rem;
  left: 3rem;
  width: 180px;
  height: 140px;
  background: url("../img/kokyuu_img-left.webp") no-repeat center/contain;
  pointer-events: none;
}
.ly_breathing__wrap .bl_breathing__box--right::after {
  content: "";
  position: absolute;
  bottom: -3rem;
  right: 1rem;
  width: 240px;
  height: 180px;
  background: url("../img/kokyuu_img-right.webp") no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 768px) {
  .ly_breathing__wrap .bl_breathing__box--left::after {
    bottom: initial;
    top: -2rem;
    left: 0.65rem;
    width: 120px;
    height: 90px;
  }
  .ly_breathing__wrap .bl_breathing__box--right::after {
    bottom: -2rem;
    right: 1rem;
    width: 140px;
    height: 120px;
  }
}
.ly_faq {
  background: #ddfcb7;
  padding: clamp(15rem, 9vw, 20rem) 0 clamp(4rem, 9vw, 10rem);
}
@media screen and (max-width: 1025px) {
  .ly_faq {
    padding: clamp(10rem, 10vw, 14rem) 0 clamp(4rem, 8vw, 8rem);
  }
}
@media screen and (max-width: 431px) {
  .ly_faq {
    padding: 7rem 0 clamp(4rem, 8vw, 8rem);
  }
}
.ly_faq.ly_wave::after {
  filter: brightness(0) saturate(100%) invert(97%) sepia(4%) saturate(2241%) hue-rotate(29deg) brightness(97%) contrast(105%);
}
.ly_price--wrap {
  position: relative;
  overflow: hidden;
}
@media print, screen and (max-width: 431px) {
  .ly_price--wrap {}
}
.ly_price .bl_price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 2rem 0;
  border: 2px solid #f1e09e;
  border-radius: 2rem;
  overflow: hidden;
  text-align: center;
}
.ly_price .bl_price-table th, .ly_price .bl_price-table td {
  border-bottom: 2px solid #f1e09e;
  padding: 1.65rem 1rem;
  font-size: 1.125rem;
  font-weight: 600;
}
.ly_price .bl_price-table th {
  background-color: #e6f8d4; /* 薄いグリーン背景 */
  width: 50%;
  border-right: 1px solid #d9d9a8; /* セルの区切りだけ */
}
@media print, screen and (max-width: 431px) {
  .ly_price .bl_price-table th, .ly_price .bl_price-table td {
    width: 100%;
    display: block;
    padding: 1.25rem 1rem;
  }
}
.ly_price .bl_price-table td {
  background-color: #fff;
}
.ly_price .bl_payment-method {
  margin: clamp(3rem, 6vw, 6rem) 0;
}
.ly_price .bl_payment-method__title, .ly_price .bl_medical-deduction__title {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  margin-bottom: clamp(1rem, 3vw, 2rem);
  padding: clamp(1.25rem, 2.5vw, 1.45rem) clamp(0.75rem, 2vw, 1rem);
  background-color: var(--blue);
  color: #fff;
  border-radius: 3rem;
  text-align: center;
}
@media print, screen and (max-width: 431px) {
  .ly_price .bl_payment-method__title, .ly_price .bl_medical-deduction__title {
    padding: 0.75rem;
  }
}
.ly_price .bl_payment-method__intro {
  font-size: 1rem;
  margin-bottom: 2rem;
}
.ly_price .bl_payment-method__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  align-items: start;
}
@media (max-width: 768px) {
  .ly_price .bl_payment-method__list {
    grid-template-columns: 1fr; /* スマホでは1列 */
    gap: 1.5rem; /* 余白も少し狭くすると見やすい */
  }
}
.ly_price .bl_payment-method__item img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
  border-radius: 0.5rem; /* 角丸を付けたい場合 */
}
/* ボタン */
.ly_price .bl_payment-method__item .button {
  max-width: 100%;
  background-color: #efb60b;
  color: #fff;
}
.ly_price .bl_medical-deduction {
  margin: clamp(3rem, 6vw, 6rem) 0;
}
.ly_price .bl_medical-deduction__title {
  background-color: #f87c7c; /* 青帯 */
}
/* footer
============================================================================================================ */
.ly_footer {
  background-color: #dbf0fc;
  background:
    url("../img/footer_bg-01.webp") no-repeat center bottom -12rem / 100% auto, url("../img/footer_bg.webp") no-repeat top / cover;
  padding: clamp(14rem, 2vw, 20rem) 0 600px;
  position: relative;
}
.ly_footer::after {
  content: "";
  position: absolute;
  top: 10px;
  left: -10px;
  width: 150px;
  height: 370px;
  background: url("../img/footer-baloon.webp") no-repeat center / contain;
  pointer-events: none;
}
@media screen and (max-width: 1025px) {
  .ly_footer {
    background:
      url("../img/footer_bg-01.webp") no-repeat center bottom -8rem / 120% auto, url("../img/footer_bg.webp") no-repeat top / cover;
    padding: clamp(10rem, 6vw, 14rem) 0 420px;
  }
  .ly_footer::after {
    top: 20px;
    left: -20px;
    width: 120px;
    height: 300px;
  }
}
@media screen and (max-width: 768px) {
  .ly_footer {
    background:
      url("../img/footer_bg-01.webp") no-repeat center bottom -4rem / 150% auto, url("../img/footer_bg.webp") no-repeat top / cover;
    padding: clamp(8rem, 10vw, 12rem) 0 300px;
  }
  .ly_footer::after {
    top: 30px;
    left: -30px;
    width: 90px;
    height: 220px;
  }
}
@media screen and (max-width: 600px) {
  .ly_footer {
    background:
      url("../img/footer_bg-01.webp") no-repeat center bottom -2rem / 170% auto, url("../img/footer_bg.webp") no-repeat top / cover;
    padding: clamp(6rem, 12vw, 10rem) 0 220px;
  }
  .ly_footer::after {
    top: 40px;
    left: -35px;
    width: 70px;
    height: 180px;
  }
}
@media screen and (max-width: 834px) {
  .ly_footer__card {
    display: block;
  }
}
.ly_footer__header {
  display: flex; /* æ¨ªä¸¦ã³ã«ã™ã‚‹ */
  align-items: center; /* ç¸¦æ–¹å‘ã‚’ä¸­å¤®æƒãˆ */
  gap: 2rem; /* ãƒ­ã‚´ã¨SNSã‚¢ã‚¤ã‚³ãƒ³ã®é–“éš” */
  margin-bottom: 2rem;
}
.ly_footer__logo {
  margin: 0; /* ä¸è¦ãªä½™ç™½ã‚’å‰Šé™¤ */
}
.ly_footer__sns {
  margin: 0; /* ä¸è¦ãªä½™ç™½ã‚’å‰Šé™¤ */
}
.ly_footer__sns .instagram-icon img {
  width: 44px; /* ã‚¢ã‚¤ã‚³ãƒ³ã‚µã‚¤ã‚ºã‚’èª¿æ•´ */
  height: auto;
}
.ly_footer__copyright {
  font-size: 0.75rem;
  margin: 0;
  text-align: center;
  padding: 0rem 0 4rem;
}
@media screen and (max-width: 431px) {
  .ly_footer__copyright {
    padding: 0rem 0 6rem;
  }
}
.ly_footer__timetable-wrapper {
  border: 1px solid #ccc;
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  margin: 0 0 1rem;
}
.ly_footer__timetable {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 0;
}
.ly_footer__timetable th {
  background-color: #f0f8dd;
  text-align: center;
  border-bottom: 1px solid #ccc;
  font-weight: 600;
}
.ly_footer__timetable tbody td {
  text-align: center;
  font-weight: 600;
  background: #fff;
  border-bottom: 1px solid #ccc;
}
.ly_footer__timetable tbody tr:last-child td {
  border-bottom: none;
}
.ly_footer__map__notice {
  color: var(--green);
  border: 2px solid #ccc;
  border-color: var(--green);
  padding: 0.5rem;
  margin: 1rem 0 0;
  text-align: center;
}
.ly_footer__sns {
  background-color: #fff;
  border-radius: 1rem;
  padding: 2.5rem;
  text-align: center;
  margin: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.ly_footer__sns img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.ly_footer__sns__link {
  margin: 1rem 0 0;
  font-size: 14px;
  word-break: break-all;
}
.ly_footer__sns__link a {
  color: #000;
  text-decoration: underline;
}
.ly_footer__contact {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: clamp(2rem, 4vw, 3rem) auto;
  border: solid 2px #fff;
  overflow: hidden;
  border-radius: 1.5rem;
}
.ly_footer__contact__tel, .ly_footer__contact__web {
  flex: 1 1 460px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ly_footer__contact__tel {
  background-color: #fff;
}
.ly_footer__contact__tel-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.ly_footer__contact__tel-icon {
  width: 60px;
  height: 60px;
  display: block;
}
.ly_footer__contact__tel-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ly_footer__contact__tel-caption {
  font-size: 1rem;
  color: #5c3d1b;
  margin: 0 0 0.25rem;
  line-height: 1;
}
.ly_footer__contact__tel-number {
  font-size: 2.25rem;
  font-weight: bold;
  color: #5c3d1b;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.05em;
}
/* ---- Web予約 ---- */
.ly_footer__contact__web {
  background: linear-gradient(to bottom, #fff7df, #fff1c2);
  border-radius: 0 1.5rem 1.5rem 0;
  flex-direction: column;
  padding: 1.5rem;
  box-sizing: border-box;
  text-align: center;
}
.ly_footer__contact__web-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.ly_footer__contact__calendar-icon {
  width: 54px;
  height: 54px;
  display: block;
}
.ly_footer__contact__web-title {
  font-size: 1.45rem; /* ←UP */
  color: #5c3d1b;
  margin: 0;
  text-align: left;
  line-height: 1.5;
}
.ly_footer__contact__web-title span {
  color: #ec7c00;
  font-weight: bold;
}
.ly_footer__contact__web-button {
  display: inline-block;
  background-color: #5c3d1b;
  color: #fff;
  font-size: 15px; /* ←UP */
  padding: 0.6rem 1.4rem;
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .ly_footer__contact {
    flex-direction: column;
    align-items: center;
    width: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
  }
  .ly_footer__contact__tel, .ly_footer__contact__web {
    flex: 1 1 100%;
    width: 100%;
    border-radius: 0;
  }
  .ly_footer__contact__tel a {
    padding: 2.5rem 1rem;
  }
  .ly_footer__contact__tel a, .ly_footer__contact__web a {
    width: 100%;
    display: block;
  }
  .ly_footer__contact__tel-inner {
    justify-content: center;
  }
  .ly_footer__contact .ly_contact__bnr-item:nth-child(1) img {
    border-radius: 1.5rem 1.5rem 0 0;
  }
  .ly_footer__contact .ly_contact__bnr-item:nth-child(3) img {
    border-radius: 0 0 1.5rem 1.5rem;
  }
}
.ly_footer__map {
  padding: clamp(1rem, 2vw, 2rem) clamp(1rem, 4vw, 4rem) 0;
}
.ly_footer__map iframe {
  border-radius: 2rem;
}
.ly_contact--sp {
  display: none;
}
@media print, screen and (max-width: 40em) {
  .ly_contact--sp {
    display: flex;
    justify-content: space-between;
    gap: 0;
    padding: 1rem 1.5rem;
  }
  .ly_contact--sp.ly_contact__footer {
    padding: 0;
  }
  .ly_contact__footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
  }
  .ly_contact__item {
    flex: 1;
    text-align: center;
    position: relative;
    color: #fff;
  }
  .ly_contact__item::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 auto 5px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    top: 1rem;
  }
  /* å„ã‚¢ã‚¤ã‚³ãƒ³ */
  .ly_contact__tel::before {
    background-image: url('../img/common/icon-tel.webp');
    filter: brightness(0) saturate(100%) invert(100%) brightness(105%) contrast(105%);
  }
  .ly_contact__guideline::before {
    background-image: url('../img/common/icon-file.webp');
  }
  .ly_contact__entry::before {
    background-image: url('../img/common/icon-mail.webp');
  }
  .ly_contact__footer .ly_contact__mail::before {
    filter: none;
  }
  /* èƒŒæ™¯è‰² */
  .ly_contact__tel {
    background-color: var(--green);
  }
  .ly_contact__guideline {
    background-color: var(--blue);
  }
  .ly_contact__entry {
    background-color: var(--orange);
  }
  .ly_contact__shop {
    background- background-color: var(--green);
  }
  .ly_contact__link {
    color: #fff;
    font-size: 0.75rem;
    letter-spacing: 0;
    padding: 3rem 0.25rem 0.75rem;
    display: block;
    width: 100%;
    height: 100%;
  }
  .ly_contact__mail .ly_contact__link {
    color: var(--green);
  }
  .ly_contact__footer .ly_contact__mail {
    background-color: var(--green);
  }
  .ly_contact__footer .ly_contact__mail .ly_contact__link {
    color: #fff;
  }
}
.ly_pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background-color: var(--blue);
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  border-radius: 50%;
}
@media print, screen and (max-width: 40.000em) {
  .ly_pagetop {
    bottom: 70px;
    width: 44px;
    height: 44px;
    right: 10px;
  }
}
.ly_pagetop::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: 5px;
}
.ly_pagetop.show {
  opacity: 1;
  visibility: visible;
}
.fixed-bottom-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  gap: 10px;
  padding: 10px;
  width: 100%;
  display: none;
  z-index: 9999;
  align-items: center;
}
@media print, screen and (max-width: 431px) {
  .fixed-bottom-banner {
    display: flex;
  }
}
.fixed-bottom-banner a:first-child {
  flex: 0 0 calc((100% - 20px) * 0.1333); /* TEL */
}
.fixed-bottom-banner a:nth-child(2), .fixed-bottom-banner a:nth-child(3) {
  flex: 0 0 calc((100% - 20px) * 0.4333); /* 予約・相談 */
}
.ly_header_flowpage {
  margin-bottom: 3rem;
}
.ly_flow__wrap {
  background: #e1f8e2;
  margin-top: clamp(4rem, 8vw, 8rem);
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(6rem, 12vw, 12rem);
  counter-reset: step;
}
@media print, screen and (max-width: 600px) {
  .ly_flow__wrap {
    margin-top: 3rem;
    padding: 4rem 0 3rem;
  }
}
.ly_flow__wrap.ly_wave02::before {
  filter: brightness(0) saturate(100%) invert(94%) sepia(25%) saturate(176%) hue-rotate(59deg) brightness(100%) contrast(95%);
}
.ly_flow__wrap .flow_section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border-radius: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(4rem, 4vw, 5rem);
  padding: clamp(2rem, 4vw, 4rem);
  gap: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.075);
  position: relative;
}
@media screen and (max-width: 834px) {
  .ly_flow__wrap .flow_section {
    align-items: flex-start;
  }
}
@media screen and (max-width: 600px) {
  .ly_flow__wrap .flow_section {
    display: block;
  }
}
.ly_flow__wrap .flow_section::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  position: absolute;
  top: calc(-40px + 65px - 8px); /* 5px 上に */
  left: calc(4rem + 70px);
  transform: translate(-50%, -50%);
  width: 140px;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1;
  z-index: 1;
}
.ly_flow__wrap .flow_section::after {
  content: "";
  position: absolute;
  top: -40px;
  left: 4rem;
  width: 140px;
  height: 130px;
  background: url("../img/flow_cloud.webp") no-repeat center/contain;
  z-index: 0;
  filter: brightness(0) saturate(100%) invert(68%) sepia(48%) saturate(5498%) hue-rotate(184deg) brightness(94%) contrast(91%);
}
/* ▼ タブレット */
@media screen and (max-width: 834px) {
  .ly_flow__wrap .flow_section::after {
    top: -35px;
    left: 2rem;
    width: 120px;
    height: 110px;
  }
  .ly_flow__wrap .flow_section::before {
    top: calc(-35px + 55px - 5px); /* 5px 上に */
    left: calc(2rem + 60px);
    font-size: 3rem;
    transform: translate(-50%, -50%);
  }
}
/* ▼ スマホ */
@media screen and (max-width: 600px) {
  .ly_flow__wrap .flow_section::after {
    top: -25px;
    left: 1.5rem;
    width: 90px;
    height: 80px;
  }
  .ly_flow__wrap .flow_section::before {
    top: calc(-25px + 40px - 5px); /* 5px 上に */
    left: calc(1.5rem + 45px);
    font-size: 2.4rem;
    transform: translate(-50%, -50%);
  }
}
.ly_flow__wrap .flow_section:nth-of-type(2)::after {
  filter: brightness(0) saturate(100%) invert(72%) sepia(29%) saturate(925%) hue-rotate(67deg) brightness(86%) contrast(85%);
}
.ly_flow__wrap .flow_section:nth-of-type(3)::after {
  filter: brightness(0) saturate(100%) invert(66%) sepia(21%) saturate(5361%) hue-rotate(317deg) brightness(110%) contrast(91%);
}
.ly_flow__wrap .flow_section:nth-of-type(4)::after {
  filter: brightness(0) saturate(100%) invert(97%) sepia(95%) saturate(7481%) hue-rotate(343deg) brightness(90%) contrast(83%);
}
.ly_flow__wrap .flow_section:nth-of-type(5)::after {
  filter: brightness(0) saturate(100%) invert(50%) sepia(94%) saturate(1799%) hue-rotate(230deg) brightness(95%) contrast(93%);
}
.ly_flow__wrap .flow_section:nth-of-type(6)::after {
  filter: brightness(0) saturate(100%) invert(80%) sepia(44%) saturate(3627%) hue-rotate(329deg) brightness(101%) contrast(97%);
}
.ly_flow__wrap .flow_section:nth-of-type(7)::after {
  filter: brightness(0) saturate(100%) invert(47%) sepia(14%) saturate(2125%) hue-rotate(177deg) brightness(89%) contrast(88%);
}
.ly_flow__wrap .flow_img, .ly_flow__wrap .flow_text {
  flex-basis: 47.5%;
}
@media screen and (max-width: 600px) {
  .ly_flow__wrap .flow_img {
    margin-bottom: 1.5rem;
  }
}
.ly_flow__wrap .flow_img img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  display: block;
}
.ly_flow__wrap .flow_text h3 {
  font-size: clamp(1.5rem, 1rem + 1vw, 2rem);
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.ly_flow__wrap .flow_btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: #f391a0;
  color: #fff;
  text-decoration: none;
  border-radius: 0.5rem;
}
.ly_flow__wrap .flow_tel {
  font-weight: 500;
  font-size: 2rem;
  margin: -1.5rem 0 1.5rem;
  color: #9d6405;
}