@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Set core root defaults */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, fieldset {
    border: 0;
    font-size: 100%;
    font-weight: normal;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

figure {
  margin: 0;
}

a {
  color: inherit;
  display: block;
  text-decoration: none;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

pre {
  white-space: pre-wrap;
}

html {
  font-size: 62.5%;
}

:root {
  --color-main: #3d3dff;
  --color-main: #3d3dff;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 0.85616vw;
  }
}

@media screen and (min-width: 1168px) {
  html {
    font-size: 10px;
  }
}

body {
  color: #1d180e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.55rem;
  font-weight: 400;
  width: 100%;
}

.main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.fixed {
  height: 100%;
  position: fixed;
  width: 100%;
}

.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
}

.inner-wide {
  margin-left: auto;
  margin-right: auto;
  max-width: 192rem;
  position: relative;
  width: 100%;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 116.8rem;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  position: relative;
  width: 100%;
}
@media (max-width: 768px) {
  .inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

/*画像の中央寄せ*/
.aligncenter {
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

/*figureタグで囲まれた画像の中央寄せ*/
.aligncenter img {
  height: auto;
  max-width: 100%;
}

/*画像右寄せ*/
.alignright {
  height: auto;
  margin-left: auto;
  max-width: 100%;
}

/*figureタグで囲まれた画像右寄せ*/
.alignright img {
  height: auto;
  max-width: 100%;
}

/*位置指定のない画像*/
.alignnone {
  height: auto;
  max-width: 100%;
}

/*figureタグで囲まれた位置指定のない画像*/
.alignnone img {
  height: auto;
  max-width: 100%;
}

/* 自動折り返し有効化 */
pre {
  white-space: pre-wrap;
}

div.wpcf7 .ajax-loader {
  display: none !important;
}

.wpcf7-spinner {
  display: none;
}

div.wpcf7-mail-sent-ok {
  display: none !important;
}

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

/* ==============================================================
*  セクション(common)
* ============================================================ */
main.home {
  /* background-color: #fff; */
}

.home-section__desc {
  color: #fff;
  line-height: 1.7;
  margin-top: 1rem;
  width: 50rem;
}

.home-section-title {
  color: #ffe03f;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: calc(58 / 40);
}

.home-section-title span {
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 0.8rem;
}

.home-section-title.-center {
  text-align: center;
}

.home-section-title.-news {
  text-align: center;
  background: linear-gradient(to right, #5bbf9b, #31a5d8);
  background-clip: text;
  background-size: 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}

.home-section-title.-news span {
  color: #303030;
}

.banner.-home-top {
  margin-top: 9rem;
}

.banner.-home-bottom {
  background-color: #fff;
  padding-bottom: 10rem;
  padding-top: 8rem;
}

.home .banner.-sub {
  margin-bottom: 6rem;
}
.banner.-sub {
  margin-top: 6rem;
}

.banner__link {
  margin-left: auto;
  margin-right: auto;
  width: 80.36%;
}

.banner__link.-sub {
  width: 90rem;
}

.btn {
  background-color: #fff;
  display: inline-block;
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
  min-width: 22rem;
  width: auto;
  z-index: 2;
  color: #303030;
  text-shadow: none;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-decoration: none;
  transition: all 0.3s ease;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(106, 157, 45, 0.18);
}

.btn::after,
.btn::before {
  content: none;
}

.btn span {
  bottom: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 1.2rem;
}

.btn span img {
  bottom: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}

.btn.-color {
  background: #5bbf9b;
  border: 1px solid #5bbf9b;
  border-radius: 50px;
  color: #fff;
  font-size: 1.4rem;
  padding: 1.4rem 3rem;
  line-height: 1.4;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.btn.-color:hover {
  background: #a7dcc8;
  border: 1px solid #a7dcc8;
  color: #fff;
  padding: 1.4rem 3rem;
}
@media screen and (max-width: 767px) {
  .btn.-color {
    font-size: 1.25rem;
    padding: 1.1rem 2rem;
  }
  .btn.-color:hover {
    padding: 1.1rem 2rem;
  }
}

.btn.-color span .white {
  z-index: 1;
}

.js-fadeUp {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

/*下からフェードイン*/
.js-fadeInUp {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.is-fadeInUp,
.js-fadeUp.is-fadeUp,
.js-fadeUp.blockIn,
.js-fadeUp.is-inview,
.js-fadeUp.is-inview-mv {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.is-inview-mv {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

/* PC表示のみhoverアニメーション(768px以上) */
@media screen and (min-width: 768px) {
  .banner__link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .banner__link:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn:hover {
    color: #fff;
  }
  .btn:hover span .color {
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn:hover::after,
  .btn:hover::before {
    content: none;
  }
  .btn span img {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn.-color:hover {
    color: #fff;
  }
  .btn.-color:hover span .white {
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn.-color:hover span .color {
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn.-color:hover::after {
    background-color: #2b6b56;
    top: 0;
  }
}

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 2rem;
  width: 100%;
  z-index: 20;
  align-items: center;
  /* background: #fff; */
  /*
  	    -webkit-box-shadow: 8px 8px 16px 0 rgba(0,0,0,.03);
      box-shadow: 8px 8px 16px 0 rgba(0,0,0,.03);
  	    border-top: 3px solid #5bbf9b;
  */
}

.header.-sub {
  background-color: #fff;
}

.header__logo {
  margin-left: 1rem;
  margin-top: 0.8rem;
  max-width: 24rem;
  width: 100%;
}
.header__logo img {
  width: 100%;
  height: auto;
  display: block;
}
.footer__logo img {
  filter: brightness(0) saturate(100%) invert(56%) sepia(48%) saturate(686%) hue-rotate(43deg) brightness(95%) contrast(89%);
}
.header__logo img,
.header-sp__logo img {
  filter: brightness(0) saturate(100%) invert(56%) sepia(48%) saturate(686%) hue-rotate(43deg) brightness(95%) contrast(89%);
}

.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  padding: 10px 2rem;
  border-radius: 50px;
}

.header__top {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #303030;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: 2rem;
}

.header__top.-sub {
  color: #232472;
}

.header__tel {
  font-size: 3rem;
  font-weight: 700;
  position: relative;
}

.header__tel::before {
  background-image: url(../img/common/tel-color.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0px;
  content: "";
  /* -webkit-filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.16)); */
  /* filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.16)); */
  height: 1.6rem;
  left: -1.8rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: 1.6rem;
}

.header__tel.-sub {
  text-shadow: none;
}

.header__tel.-sub::before {
  background-image: url(../img/common/tel-color.svg);
}

.header__time {
  font-size: 1.2rem;
  margin-left: 1.1rem;
}

.header__time span {
}

.header__time span:nth-of-type(1) {
  /* border: 1px solid #5bbf9b; */
  font-size: 1rem;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  text-shadow: 0 0 10px #fff;
  background: #ffffff;
}

.header__time span:nth-of-type(2) {
  font-size: 1.2rem;
  /* text-shadow: 0 0 10px #fff; */
  background: #ffe098;
  width: 100%;
}

.header__time.-sub span:nth-of-type(1) {
  border: 1px solid #4fae8b;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.header__time.-sub span:nth-of-type(1) span {
  text-shadow: none;
}

.header__nav {
  margin-right: 2rem;
  /* margin-top: 1.8rem;
  margin-bottom: 1.8rem; */
}

.header__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header__item:not(:first-of-type) {
  margin-left: 2.5rem;
}
@media screen and (max-width: 1300px) {
  .header__item:not(:first-of-type) {
    margin-left: 1.5rem;
  }
}
.header__item:last-of-type {
  /*   margin-left: 2rem; */
}

.header__item:last-of-type a {
  /*   -webkit-filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.16));
  width: 1.995rem; */
}

.header__link {
  color: #232472;
  font-size: 1.6rem;
}

.header__link.-sub {
  color: #232472;
}

.header__btn {
  background: #31a5d8;
  /*
    margin: 0.5rem;
    border-radius: 50px;
*/
  padding: 2rem 2rem 2rem 5.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  position: relative;
  height: 5.5rem;
  border-radius: 50px;
}
.header__btn.email::before {
  position: absolute;
  content: "";
  background-image: url(../img/home/header_icon001.svg);
  background-repeat: no-repeat;
  background-size: 3.5rem;
  top: 1.3rem;
  left: 9%;
  width: 2.8rem;
  height: 2.8rem;
  background-size: contain;
}

/* .header__item:last-of-type a {
    width: 1.995rem;
} */

@media screen and (min-width: 768px) {
  .header__link {
    color: #000;
    font-weight: 700;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .header__link:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .header__logo {
    margin-left: 1rem;
    width: 18rem;
  }
  .header__btn {
    /*		padding: 3.3rem 1.4rem;*/
  }
}

.footer {
  background-color: #fff;
  color: #303030;
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 4rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  .footer-info-block,
  .footer-nav-grid {
    padding-left: 0;
    padding-right: 0;
  }
}

.footer__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2rem 3rem;
}

.footer__item:not(:first-of-type) {
  /* margin-left: 3rem; */
}

.footer__item:last-of-type {
  /*   margin-left: 2rem; */
}

.footer__item:last-of-type a {
  /* width: 20px; */
}

.footer_link_banner {
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  padding: 50px 0 50px 0;
}
.footer_link_banner .footer_link_banner_inner {
  max-width: 116.8rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2%;
}
.footer_link_banner .footer_link_banner_inner a {
  width: 23.5%;
  background: #fff;
}

.footer__link {
  font-size: 1.5rem;
  color: #1a1a1a;
}

.footer__address {
  text-align: left;
}

.footer__address span {
  display: block;
  font-style: normal;
  line-height: 1.5;
}

.footer__copyright {
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
  display: block;
  font-size: 1.2rem;
  margin-top: 3.1rem;
  padding-bottom: 2.3rem;
  padding-top: 2.3rem;
  text-align: center;
  width: 100%;
}

.footer .page-top {
  width: 100%;
}

.footer .page-top a {
  bottom: 1.15rem;
  display: inline-block;
  position: absolute;
  right: 2.3rem;
}

.footer .page-top__img {
  margin-left: auto;
  margin-right: auto;
  width: 1.6rem;
}

.footer .page-top span {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 0.4rem;
  color: #fff;
}
.footer_top {
  /* background-image: url(../img/home/service-bg.png); */
  background: #3f9a78;
  background-repeat: repeat;
  text-align: center;
  /* padding-top: 8rem; */
  /* padding-bottom: 8rem; */
  position: relative;
}
.footer_top .sec_ttl {
  color: #fff;
}
.footer_top .sec_ttl .en {
  color: #fff;
  font-size: 4.5rem;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
}

.footer_text {
  color: #fff;
  /* margin-top: 40px; */
  font-size: 100%;
  line-height: 1.7;
}
.footer_flex .left {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}

.footer_flex {
  display: flex;
  justify-content: space-evenly;
  max-width: 1000px;
  margin: 45px auto 0;
  align-items: center;
  position: relative;
}

.footer_flex .right {
  width: calc((100% - 30px) / 2);
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 20px 24px;
}

.footer_flex .tel {
  font-size: 4.5rem;
  font-weight: bold;
  color: var(--primary-color);
  /* padding-left: 4.3rem; */
  background: url(../img/common/tel-color.svg) no-repeat left 10% top 1.5rem/3rem
    auto;
  transition: 0.3s;
  line-height: 1.1;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
}
.footer_flex .tel:hover {
  opacity: 0.7;
}
.footer_flex .tel_text .text01 {
  font-size: 1.4rem;
  margin-right: 0.6rem;
  border: 1px solid #5bbf9b;
  padding: 0.1rem 0.8rem;
  border-radius: 3px;
}
.tel_text {
  margin-bottom: 6px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 0.6rem;
  text-align: center;
}
.footer_flex .tel_text .text02 {
  font-size: 1.8rem;
  font-weight: 700;
}
.footer_flex .tel_text .text03 {
  font-size: 1.3rem;
  flex-basis: 100%;
  color: #777;
  margin-top: 0.4rem;
}
.footer_flex .mail {
  display: block;
  background: #5bbf9b;
  color: #fff;
  width: 360px;
  max-width: 100%;
  border-radius: 45px;
  text-align: center;
  padding: 15px 10px;
  font-size: 18px;
  font-weight: bold;
  transition: 0.3s;
  margin: 2rem auto 0 auto;
  border: 2px solid #5bbf9b;
}
.footer_flex .mail span {
  /* padding-left: 25px; */
  position: relative;
}
.footer_flex .mail span::after,
.footer_flex .mail span::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 14px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
/*.footer_flex .mail span::after {
  background: url(../img/common/mail.svg) no-repeat center/contain;
}
.footer_flex .mail span::before {
  background: url(../img/common/mail_blue.svg) no-repeat center/contain;
  opacity: 0;
}*/
.footer_flex .mail:hover {
  background-color: #fff;
  color: #5bbf9b;
}
.footer_flex .mail:hover span::after {
  opacity: 0;
}
.footer_flex .mail:hover span::before {
  opacity: 1;
}
.footer_flex .mail_text {
  margin-top: 5px;
}

.ttl_cover_20230406 {
  background-image: url(../img/common/bg001.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.sub-section-title {
  color: #000;
  font-size: 6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: calc(58 / 40);
  text-align: center;
  padding: 85px 0 40px 0;
  background: rgba(255, 255, 255, 0.8);
}

@media screen and (min-width: 768px) {
  .footer__link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer__link:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .page-top {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .page-top:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer_flex .tel_text .text01 {
    font-size: 10px;
  }
  .footer_flex .tel_text .text02 {
    font-size: 14px;
  }
}

.sp_cta {
  position: fixed;
  width: 100%;
  display: block;
  height: 55px;
  bottom: 0;
  z-index: 2;
  background: #31a5d8;
  display: flex;
  align-items: center;
  z-index: 11;
  border-top: 2px solid #fff;
}
.sp_cta a {
  display: block;
  height: 100%;
  text-align: center;
  width: 50%;
  font-size: 16px;
  padding: 18px 0 10px 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
  background: #28a7e1;
  position: relative;
}
.sp_cta a:last-child {
  background: #d4dd18;
  border-left: 2px solid #fff;
}
.sp_cta a::before {
  position: absolute;
  content: "";
  background-image: url(../img/common/tel-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 1.8rem;
  left: 2rem;
  width: 2rem;
  height: 2rem;
}
.sp_cta a:last-child::before {
  position: absolute;
  content: "";
  background-image: url(../img/home/header_icon001.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 1.5rem;
  left: 2rem;
  width: 2.5rem;
  height: 2.5rem;
}
.sp_cta a span {
  font-weight: 700;
}

/* ==============================================================
*  セクション(home)
* ============================================================ */
.home-mv {
  position: relative;
}
/* .home-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url(../img/home/mv-cover.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 2;
} */

.home-mv__text {
  color: #fff;
  left: 50%;
  margin: 0;
  position: absolute;
  text-align: center;
  top: 45.6%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}

/* MVキャプション：左寄せ + 暗緑単色オーバーレイ + 横アクセントライン（プロ仕様） */
.home-mv__slide {
  position: relative;
  overflow: hidden;
}
.home-mv__slide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 36, 14, 0.18) 0%, rgba(20, 36, 14, 0.42) 100%);
  z-index: 2;
  pointer-events: none;
}
/* Ken Burns 控えめなズーム（14秒・幅小） */
.home-mv__slide img {
  transform: scale(1.03);
  transition: transform 14s ease-out;
}
.home-mv__slide.slick-active img {
  transform: scale(1.08);
}

.home-mv__caption {
  position: absolute;
  left: 0;
  bottom: 14vh;
  top: auto;
  transform: none;
  width: 100%;
  text-align: left;
  z-index: 3;
  padding: 0 7vw;
  pointer-events: none;
}
.home-mv__catch {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  position: relative;
  display: block;
  padding-top: 0;
}
.home-mv__catch img {
  max-width: 700px;
  margin: 0 auto;
}
.home-mv__catch span {
  display: block;
}
/* 英字は小さな装飾ラベル（日本語見出しを主にするため控えめに） */
.home-mv__catch-en {
  font-family: "Arimo", "Noto Sans JP", sans-serif;
  font-size: clamp(1.3rem, 1.8vw, 1.8rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.16em;
  color: #a7dcc8;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.30);
  margin-top: 0.8rem;
}
/* 日本語を主見出しに（大きく・しっかり） */
.home-mv__catch-jp {
  font-size: clamp(1.9rem, 3vw, 3.2rem);
  font-weight: 700;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.32);
  letter-spacing: 0.04em;
}

/* キャッチは静止（ズームしない・移動しない） */
.home-mv__caption {
  transform: none !important;
  transition: opacity 0.6s ease;
}
.home-mv__slide .home-mv__caption {
  opacity: 0;
}
.home-mv__slide.slick-active .home-mv__caption {
  opacity: 1;
  transition-delay: 0.2s;
}

@media screen and (max-width: 767px) {
  .home-mv__caption {
    padding: 0 6vw;
    bottom: 8vh;
  }
  .home-mv__catch-en {
    font-size: clamp(1.1rem, 3.6vw, 1.5rem);
    letter-spacing: 0.14em;
    margin-top: 0.5rem;
  }
  .home-mv__catch-jp {
    font-size: clamp(1.6rem, 5vw, 2.1rem);
    font-weight: 700;
    line-height: 1.55;
  }
}

.home-mv__slide img {
  height: 100vh;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  opacity: 0;
}
.home-mv .slick-track img {
  opacity: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.home-mv .slider-img img {
  height: auto;
  width: 100%;
}

.home-mv .slide-dots {
  margin-top: 1.7rem;
  padding: 0;
  text-align: center;
}

.home-mv .slide-dots li {
  display: inline-block;
  margin: 0 12px;
}

.home-mv .slide-dots li button {
  position: relative;
  text-indent: -9999px;
}

.home-mv .slide-dots li button::before {
  background-image: url(../img/home/dots-small.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  cursor: pointer;
  height: 4px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 24px;
  width: 4px;
}

.home-mv .slide-dots li.slick-active button::before {
  background-image: url(../img/home/dots-large.svg);
  height: 14px;
  width: 14px;
}

.home-mv button {
  background: none;
  border: none;
  outline: none;
  padding: 0 7px;
}

@-webkit-keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    /* 拡大率 */
  }
}

@keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    /* 拡大率 */
  }
}

/* スライド全体のズームは無効化（imgのみKen Burnsズーム） */
.home-mv .add-animation {
  animation: none;
}
.home-mv .add-animation img {
  -webkit-animation: fadezoom 5s 0s forwards;
  animation: fadezoom 5s 0s forwards;
}

.home-mv__scrolldown {
  position: absolute;
  left: 30px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 40px;
  height: 60px;
}
.home-mv__scrolldown::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 50px;
  background-color: #5bbf9b;
  animation: patmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@-webkit-keyframes patmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  20% {
    height: 50px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
@keyframes patmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  20% {
    height: 50px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
.home-mv__scrolldown span {
  position: absolute;
  left: -20px;
  top: -40px;
  font-size: 1rem;
  color: #5bbf9b;
  text-align: end;
  /* -webkit-transform: rotate(90deg); */
  transform: rotate(90deg);
  font-family: "Arimo", sans-serif;
  letter-spacing: 0.2em;
}

.home-shop {
  padding-top: 10.1rem;
}

.home-shop .home-section-title {
  position: relative;
  z-index: 1;
}

.home-shop__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: -11.5rem;
}

.home-shop__text {
  background: #5bbf9b;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}

.home-shop__text::before {
  background: #303030;
  bottom: 0;
  content: "";
  position: absolute;
  right: 100%;
  top: 0;
  width: 9999px;
}

.home-shop__intro {
  color: #fff;
  font-size: 2.4rem;
  line-height: calc(35 / 24);
  width: 50rem;
}

.home-shop__intro span {
  display: block;
  font-weight: 700;
}

.home-shop__img {
  position: absolute;
  right: 0;
}
.home-shop__img img {
}

.home-shop .btn {
  margin-top: 5rem;
  /*   padding-right: 2.2rem; */
}

.home-shop .btn span {
  right: 5rem;
}
.home-shop .p-home-sec02__ttl {
  color: #ffe353;
  font-size: 3rem;
  top: 2rem;
}

.home-center {
  background: #fff;
  margin-top: 10rem;
  padding-bottom: 10.6rem;
  padding-top: 8rem;
  position: relative;
}

/* .home-center::before {
  background-image: url(../img/home/home-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
	opacity: 0.7;
} */

.home-center__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.home-center__container.-service {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.home-center__container.-service {
  margin: 6rem 0 0rem 0;
  background: #fff;
  border-radius: 10px;
  padding: 5rem;
  /*	-webkit-box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);*/
  /*    box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);*/
}

.home-center__text {
  /*   margin-top: 4.3rem; */
  width: 50%;
  padding: 0 0 0 5rem;
}

.home-center__text .btn {
  margin-top: 4rem;
  /*   padding-right: 2.2rem; */
}

.home-center__text .btn span {
  right: 3.3rem;
}
.home-center__container.-service .home-section-title {
  color: #5bbf9b;
  /* 	    border-bottom: 2px solid #5bbf9b; */
  padding: 0 0 10px 0;
  font-size: 3rem;
}
.home-center__container.-service .home-section-title span {
  color: #31a5d8;
  font-weight: 500;
  margin: 0;
}
.home-center__container.-service .home-section__desc {
  color: #000;
  width: 100%;
}
.home-center__container.-service .btn {
  background: #80bef1;
  background: -moz-linear-gradient(left, #80bef1 0%, #3165bf 100%);
  background: -webkit-linear-gradient(left, #80bef1 0%, #3165bf 100%);
  background: linear-gradient(to right, #80bef1 0%, #3165bf 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80bef1', endColorstr='#3165bf',GradientType=1 );
  border-radius: 10px;
  color: #fff;
}
.home-center__container.-price .home-section-title {
  color: #5bbf9b;
  border-bottom: 2px solid #5bbf9b;
  padding: 0 0 10px 0;
}
.home-center__container.-price .home-section-title span {
  color: #5bbf9b;
}
.home-center__container.-price .home-section__desc {
  color: #000;
}
.home-center__container.-price .btn {
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
}

.home-center__img {
  width: 50%;
}
.home-center__img img {
  /* 	border-radius: 10px; */
}

.home-service .btn {
  margin-top: 4rem;
  /*   padding-right: 2.2rem; */
}

.home-service .btn span {
  right: 3.3rem;
}

.home-price {
  margin-top: 10rem;
  margin-bottom: 10rem;
}

.home-price .btn {
  margin-top: 4rem;
  /*   padding-right: 1.2rem; */
}

.home-price .btn span {
  right: 6rem;
}

.home-gallery {
  background-color: #303030;
  padding-bottom: 10rem;
  padding-top: 8.3rem;
  position: relative;
  z-index: 1;
}

.home-gallery__list {
  display: -ms-grid;
  display: grid;
  gap: 2rem 2rem;
  -ms-grid-columns: (minmax(25rem, 1fr)) [ auto-fill];
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  margin-top: 3.9rem;
}

.home-gallery__item {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.home-gallery__item:hover {
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.home-gallery__btn {
  margin-top: 6.3rem;
  text-align: center;
}

.home-gallery__btn .btn {
  padding-right: 2.2rem;
}

.home-gallery__btn .btn span {
  right: 4.2rem;
}

.home-news {
  /*        background: linear-gradient(180deg, white 0%, #fbf9f7 100%);*/
  padding-bottom: 8rem;
  padding-top: 8rem;
  position: relative;
  z-index: 1;
  /* 	    margin: 8rem 0 0 0; */
  /*	background-color: rgba(255,255,255,0.3);*/
  background-blend-mode: lighten;
  background: #fff;
}
.home-news .inner {
  padding: 0;
}

.home-news__box {
  background: unset;
  width: 100%;
  padding: 0;
}

.home-news__container {
  margin-top: 3.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

.home-news__link {
  display: block;
  width: 31.5%;
  background: #fff;
  box-shadow: 0px 0px 5px rgba(160, 160, 160, 0.2);
  border-radius: 10px;
}
.home-news__thumbnail {
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
.home-news__thumbnail img {
  width: 100%;
  max-height: 250px;
  object-fit: cover;
}

.home-news__time-category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 1rem 1rem 0 1rem;
}

.home-news__time {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.2rem;
}

.home-news__category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.2rem;
  height: 2.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 2rem;
  width: 10rem;
}

.home-news__title {
  line-height: 1.5;
  padding: 1rem 1rem 1rem 1rem;
}

.home-news__btn {
  margin-top: 6.1rem;
  text-align: center;
}

.home-news__btn a {
  border: 1px solid #4fae8b;
  /*   padding-right: 1.8rem; */
}

.home-news__btn a span {
  right: 6.2rem;
}

.p-home-sec04 {
  position: relative;
}
.p-home-sec04::before {
  position: absolute;
  top: 10%;
  left: -8rem;
  content: "";
  display: block;
  width: 100%;
  height: 90%;
  background-image: linear-gradient(-135deg, #eef8f3 0%, #d3ebff 100%);
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}
.p-home-sec04 .p-service-sec06__item .item__txt {
  font-size: 1.5rem;
  margin: 1rem 0 0 0;
  line-height: 1.3;
}
.p-home-sec05 {
  position: relative;
}
.p-home-sec05::before {
  position: absolute;
  top: 10%;
  right: -8rem;
  content: "";
  display: block;
  width: 100%;
  height: 90%;
  background-image: linear-gradient(-135deg, #eef8f3 0%, #d3ebff 100%);
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}
.home-feature {
  background: linear-gradient(180deg, white 0%, #edf3f9 100%);
  margin-top: 8rem;
  padding: 0 0 8rem 0;
}

@media screen and (min-width: 768px) {
  .home-news__title span {
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#5bbf9b),
        to(#5bbf9b)
      )
      0 100%/0 1px no-repeat;
    background: linear-gradient(#5bbf9b, #5bbf9b) 0 100%/0 1px no-repeat;
    text-decoration: none;
    -webkit-transition: background 0.4s;
    transition: background 0.4s;
  }
  .home-news__link:hover .home-news__title span {
    background-size: 100% 1px;
    /* 線の横幅を100%にする */
  }
}

/* ==============================================================
*  セクション(sub-common)
* ============================================================ */
main.sub {
  /* background-color: #fff; */
}

.sub-bg {
  padding-bottom: 8rem;
  padding-top: 4rem;
  position: relative;
  background: #ffffff;
}

.sub-section-title {
  background: linear-gradient(to right, #5bbf9b, #31a5d8);
  background-clip: text;
  background-size: 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  font-size: 6rem;
  font-weight: 700;
  line-height: calc(58 / 40);
  text-align: center;
}

.sub-section-title span {
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
}

.sub-section-subtitle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 3.2rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 4.8rem;
}

.sub-section-subtitle::after,
.sub-section-subtitle::before {
  background: radial-gradient(#baab00, #9c7800);
  content: "";
  height: 1px;
  width: 34rem;
}

.sub-section-subtitle.-color {
  color: #4fae8b;
}

.sub-section-subtitle.-color::after,
.sub-section-subtitle.-color::before {
  width: 33rem;
}

.sub-section-subtitle span {
  display: block;
}

.breadcrumb {
  background-color: #fff;
  font-size: 14px;
  padding-bottom: 2.4rem;
  padding-top: 2.4rem;
  display: block;
}

.breadcrumb__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #9da3a7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb__inner span:not(:first-of-type) {
  margin-left: 5px;
}

.breadcrumb__inner span:not(:last-of-type) {
  color: #006947;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.breadcrumb .home {
  margin-right: 4px;
}

/* ==============================================================
*  セクション(sub-404)
* ============================================================ */
.sub-404__box {
  background-color: #fff;
  padding-bottom: 10.1rem;
  padding-top: 6rem;
}

.sub-404__title {
  color: #1f1f1f;
  font-size: 2.4rem;
  line-height: calc(36 / 24);
  text-align: center;
}

.sub-404__title span {
  display: block;
}

.sub-404__desc {
  color: #1f1f1f;
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  margin-top: 2.7rem;
  text-align: center;
}

.sub-404__desc span {
  display: block;
}

.sub-404__link {
  margin-top: 5.6rem;
  text-align: center;
}

.sub-404__link a {
  border-bottom: 1px solid #5bbf9b;
  color: #5bbf9b;
  display: inline-block;
}

/* ==============================================================
*  セクション(sub-archive)
* ============================================================ */
.sub-archive__box {
  /* background-color: #fff; */
  padding-bottom: 10rem;
  padding-top: 6.4rem;
}

.sub-archive__top {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sub-archive__category-name {
  font-size: 2.4rem;
}

.sub-archive__select-container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sub-archive__select-title {
  font-size: 1.2rem;
}

.sub-archive__select {
  border: 1px solid #4fae8b;
  font-size: 1.4rem;
  margin-left: 0.9rem;
  position: relative;
}

.sub-archive__select::before {
  border-left: 0.475rem solid transparent;
  border-right: 0.475rem solid transparent;
  border-top: 0.825rem solid #1e1d1d;
  content: "";
  position: absolute;
  right: 0.9rem;
  top: 0.9rem;
  width: 0;
  z-index: -1;
}

.sub-archive select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* デフォルトの矢印を非表示 */
  padding-bottom: 0.6rem;
  padding-left: 0.9rem;
  padding-right: 2.9rem;
  padding-top: 0.6rem;
}

.sub-archive select::-ms-expand {
  display: none;
  /* デフォルトの矢印を非表示(IE用) */
}

.sub-archive__container {
  margin-top: 3.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

.sub-archive__link {
  display: block;
  width: 31.5%;
  background: #fff;
  box-shadow: 0px 0px 5px rgba(160, 160, 160, 0.2);
  border-radius: 10px;
}

.sub-archive__link:last-of-type {
  /*   border-bottom: 1px solid #cecece; */
}

.sub-archive__time-category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 1rem 1rem 0 1rem;
}

.sub-archive__time {
  color: #1e1d1d;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.4rem;
  font-weight: 700;
}

.sub-archive__category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.2rem;
  margin-left: 1.9rem;
  min-width: 12.8rem;
  padding: 0.45rem 2rem;
  text-align: center;
}

.sub-archive__title {
  color: #303030;
  font-size: 1.6rem;
  line-height: calc(28 / 16);
  padding: 1rem 1rem 1rem 1rem;
}

.sub-archive__title span {
  word-break: break-all;
}

.sub-archive .pagination-wrapper {
  margin-top: 6rem;
}

.sub-archive .nav-links {
  color: #4fae8b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.sub-archive .page-numbers {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #5bbf9b;
  color: #5bbf9b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 10px;
  margin-right: 10px;
  width: 40px;
}

.sub-archive .page-numbers.current {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
}

.sub-archive .page-numbers.next,
.sub-archive .page-numbers.prev {
  border: 1px solid #5bbf9b;
  width: 80px;
}

.sub-archive .page-numbers.next {
  margin-left: 20px;
}

.sub-archive .page-numbers.prev {
  margin-right: 20px;
}

.sub-archive .page-numbers.dots {
  border: none;
  margin: 0;
}

/* PC表示のみhoverアニメーション(768px以上) */
@media screen and (min-width: 768px) {
  .sub-archive__title span {
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#5bbf9b),
        to(#5bbf9b)
      )
      0 100%/0 1px no-repeat;
    background: linear-gradient(#5bbf9b, #5bbf9b) 0 100%/0 1px no-repeat;
    text-decoration: none;
    -webkit-transition: background 0.4s;
    transition: background 0.4s;
  }
  .sub-archive__link:hover .sub-archive__title span {
    background-size: 100% 1px;
    /* 線の横幅を100%にする */
  }
}

/* ==============================================================
*  セクション(sub-contact)
* ============================================================ */
.sub-contact__top {
  /* background-color: #fff; */
  padding-bottom: 2rem;
  padding-top: 4rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .sub-contact__top {
    margin-bottom: 4rem;
  }
}

.sub-contact__list-top {
  display: block;
  width: 100%;
  text-align: center;
  margin: -30px 0 0 0;
}
.sub-contact__item-top {
  max-width: 400px;
  margin: 0 auto;
}

.sub-contact__item-top:not(:first-of-type) {
  margin-left: 6rem;
}

.sub-contact__top-title {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 33rem;
}

.sub-contact__top-title::before {
  background-image: url(../img/sub/contact/arrow-contact.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1.433rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4.9rem;
  width: 33rem;
}

.sub-contact__top-qr {
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.2rem;
  width: 11.7rem;
}

.sub-contact__tel {
  color: #5bbf9b;
  font-size: 4.4rem;
  font-weight: 700;
  margin-top: 5.8rem;
  padding-left: 2.3rem;
  pointer-events: none;
  position: relative;
}

.sub-contact__tel::before {
  background-image: url(../img/common/tel-color.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 2.744rem;
  left: 3.2rem;
  margin: auto;
  position: absolute;
  top: 0.6rem;
  width: 2.744rem;
}

.sub-contact__time {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 0.4rem;
  margin-top: 1.2rem;
}

.sub-contact__time span {
  color: #5bbf9b;
}

.sub-contact__time span:nth-of-type(1) {
  border: 1px solid #5bbf9b;
  font-size: 1.6rem;
  padding: 0.4rem 1.2rem;
}

.sub-contact__time span:nth-of-type(2) {
  font-size: 1.8rem;
  margin-left: 0.9rem;
}

.sub-contact__box {
  background-color: #fff;
  padding-bottom: 10.4rem;
  border-radius: 14px;
  margin-top: 8rem;
  padding-left: 16px;
  padding-right: 16px;
}

.sub-contact__title {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
  width: 33rem;
}

.sub-contact__title::before {
  background-image: url(../img/sub/contact/arrow-contact.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1.433rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4.9rem;
  width: 33rem;
}

.sub-contact__intro {
  font-size: 1.8rem;
  line-height: calc(28 / 18);
  margin-left: 0.9rem;
  margin-top: 5rem;
  text-align: center;
}

.sub-contact__form {
  margin-top: 3rem;
  padding: 3rem 7rem 0 7rem;
}

.sub-contact__item {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  border-top: 1px solid #cecece;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 3.4rem;
  padding-top: 3rem;
}

.sub-contact__item:last-of-type {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-bottom: 1px solid #cecece;
}

.sub-contact__item dt {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 23.3rem;
}

.sub-contact__item dt span {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.4rem 0.6rem;
}

.sub-contact__item dt .required {
  background-color: #5bbf9b;
}

.sub-contact__item dt .optional {
  background-color: #888;
}

.sub-contact__item dd {
  margin-left: 2rem;
  width: 100%;
}

.sub-contact__item input,
.sub-contact__item textarea {
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  border-radius: 0.4rem;
}

.sub-contact__item input {
  font-size: 1.6rem;
  padding: 0.75rem;
}

.sub-contact__item input.short {
  width: 29rem;
}

.sub-contact__item input.wide {
  width: 100%;
}

.sub-contact__item textarea {
  font-size: 1.6rem;
  height: 20rem;
  padding: 0.75rem;
  width: 100%;
}

.sub-contact__privacy {
  padding-top: 3.6rem;
  text-align: center;
}

.sub-contact__submit {
  display: inline-block;
  margin-top: 4.8rem;
  text-align: center;
  width: 100%;
}

.sub-contact__submit input {
  background-color: #31a5d8;
  border-radius: 0.5rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 2.8rem 10.7rem;
}

.sub-contact__privacy-wrapper {
  border: 1px solid #9da3a7;
  height: 20rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6rem;
  max-width: 640px;
  padding-bottom: 1.8rem;
  padding-left: 1.9rem;
  padding-right: 0.9rem;
  padding-top: 1.8rem;
}

.sub-contact__privacy-text {
  height: 16.291rem;
  overflow-y: auto;
  padding-right: 2rem;
  text-align: left;
}

.sub-contact__privacy-text::-webkit-scrollbar {
  width: 1rem;
}

.sub-contact__privacy-text::-webkit-scrollbar-thumb {
  background: #000;
}

.sub-contact__privacy-text::-webkit-scrollbar-track {
  border: 1px solid #9da3a7;
}

.sub-contact__privacy-item:not(:first-of-type) {
  margin-top: 2.4rem;
}

.sub-contact__privacy-title {
  color: #222;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: calc(24 / 14);
}

.sub-contact__privacy-intro {
  color: #303030;
  font-size: 1.6rem;
  line-height: calc(28 / 16);
}

.sub-contact__privacy-desc {
  color: #222;
  font-size: 1.4rem;
  line-height: calc(24 / 14);
  margin-top: 0.6rem;
}

.sub-contact .wpcf7-not-valid {
  background-color: #ffd1d1;
}

.sub-contact .wpcf7-not-valid-tip {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #ff4848;
  border-radius: 4px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  height: 2.6rem;
  margin-top: 1.67rem;
  padding-left: 1.2rem;
  position: relative;
  width: 29rem;
}

.sub-contact .wpcf7-not-valid-tip::before {
  background-color: #ff4848;
  bottom: 0;
  -webkit-clip-path: polygon(100% 100%, 50% 0%, 0% 100%);
  clip-path: polygon(100% 100%, 50% 0%, 0% 100%);
  content: "";
  height: 1.2rem;
  left: 3rem;
  margin: auto;
  position: absolute;
  top: -3.1rem;
  width: 1.4rem;
}

.sub-contact .wpcf7-form.invalid .wpcf7-response-output {
  display: none;
}

@media screen and (min-width: 768px) {
  .sub-contact__submit input {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .sub-contact__submit input:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
}

/* ==============================================================
*  セクション(sub-price)
* ============================================================ */
.sub-price__intro {
  color: #fff;
  font-size: 2rem;
  margin-top: 4.5rem;
  text-align: center;
}

.sub-price__intro span {
  font-weight: 700;
}

.sub-price__box {
  background-color: #fff;
  margin-top: 0;
  padding: 0 0 0 0;
  border-radius: 10px;
  /*	 box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);*/
}

.project_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}
.project_inner .item {
  width: 36rem;
  margin: 0 0 2rem 0;
}
.project_inner .item .item_ttl {
  color: #5bbf9b;
  font-weight: 500;
  font-size: 2rem;
  padding: 0 0 15px 0;
  border-bottom: 2px solid #5bbf9b;
  margin: 0 0 1.5rem 0;
}
.project_inner .item .txt {
  padding: 2rem 1rem 3rem 1rem;
}
.project_inner .item .txt ul li {
  position: relative;
  padding: 1rem 1rem 1rem 2rem;
}
.project_inner .item .txt ul li::before {
  content: "●";
  color: #5bbf9b;
  position: absolute;
  font-size: 10px;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.sub-price__title {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
}

.sub-price__title::before {
  background-color: #edbd21;
  bottom: -1.8rem;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 10rem;
}

.sub-price__price {
  background-color: #ebd27f;
  border-radius: 4px;
  color: #4fae8b;
  font-size: 6rem;
  font-weight: 700;
  margin-top: 4.8rem;
  padding-bottom: 2.5rem;
  padding-top: 2.5rem;
  text-align: center;
}

.sub-price__price span {
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
  top: 0.2rem;
}

.sub-price__container:not(:first-of-type) {
  margin-top: 6.7rem;
}

.sub-price__group {
  display: -ms-grid;
  display: grid;
  gap: 0 1.5rem;
  -ms-grid-columns: (minmax(29rem, 1fr)) [auto-fill];
  grid-template-columns: repeat(auto-fill, minmax(29rem, 1fr));
  margin-top: 4.7rem;
}

.sub-price__plan {
  border: 1px solid #dddada;
  border-radius: 6px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  width: 29rem;
}

.sub-price__plan:nth-of-type(1) .sub-price__plan-title,
.sub-price__plan:nth-of-type(3) .sub-price__plan-title {
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#4fae8b),
    to(#00120c)
  );
  background: linear-gradient(to right, #4fae8b, #00120c);
}

.sub-price__plan:nth-of-type(2) .sub-price__plan-title {
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#00120c),
    to(#4fae8b)
  );
  background: linear-gradient(to right, #00120c, #4fae8b);
}

.sub-price__plan-title {
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  padding-bottom: 1.8rem;
  padding-top: 1.6rem;
  text-align: center;
}

.sub-price__plan-title span {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.1em;
  margin-top: 1.1rem;
}

.sub-price__list {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.sub-price__item {
  padding-bottom: 2.7rem;
  padding-top: 2.3rem;
}

.sub-price__item:not(:first-of-type) {
  border-top: 1px solid #dddada;
}

.sub-price__item:nth-of-type(2) {
  padding-bottom: 3.2rem;
}

.sub-price__item:nth-of-type(3) {
  padding-bottom: 3.2rem;
}

.sub-price__item-title {
  font-size: 1.4rem;
  font-weight: 700;
}

.sub-price__item-desc {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  margin-top: 1rem;
}

.sub-price__item-desc span {
  font-size: 1.4rem;
  font-weight: 700;
}

.sub-price__attention-list {
  margin-top: 2.7rem;
}

.sub-price__attention-item {
  font-size: 1.6rem;
  line-height: 1.5;
}

.sub-price__btn {
  margin-top: 4rem;
  text-align: center;
}

.sub-price__btn .btn {
  font-size: 1.6rem;
  padding-right: 2rem;
}

.sub-price__btn .btn span {
  right: 4rem;
}

.sub-price__banner-title {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 5.2rem;
  margin-top: 6.5rem;
  position: relative;
  text-align: center;
}

.sub-price__banner-title::before {
  background-image: url(../img/sub/price/arrow-price.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1.433rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4.9rem;
  width: 33rem;
}

.sub-price__bottom {
  margin-top: 5rem;
}

.sub-price__title-desc {
  line-height: 1.5;
  margin-top: 5rem;
  text-align: center;
}

.sub-price__title-desc span {
  display: block;
}

.sub-price__title-desc span.tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.sub-price__title-desc span.tel a {
  color: #00e;
  display: inline-block;
  text-decoration: underline;
}

/* 
==============================================================
*  セクション(sub-service)
* ============================================================ */
.sub-service__list {
  margin-top: 4.7rem;
}
.sub-service__list.type002 {
  margin-top: 0;
}

.sub-service__item {
  background-color: #fff;
  position: relative;
  width: 100%;
}

.sub-service__item::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin: auto;
  top: 6.33rem;
  position: absolute;
}

.sub-service__item:nth-of-type(odd) {
}

.sub-service__item:nth-of-type(odd)::before {
  right: 0.98rem;
}

.sub-service__item:nth-of-type(odd) .sub-service__container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sub-service__item:nth-of-type(odd) .sub-service__text {
  margin-left: 4rem;
}

.sub-service__item:nth-of-type(even) {
  margin-right: auto;
}

.sub-service__item:nth-of-type(even)::before {
  left: 0.84rem;
}

.sub-service__item:nth-of-type(even) .sub-service__container {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sub-service__item:nth-of-type(even) .sub-service__text {
  margin-right: 4rem;
}

.sub-service__item:not(:first-of-type) {
  /*   margin-top: 6rem; */
}

.sub-service__item:nth-of-type(1) .sub-service__text-title span {
  display: inline;
}

.sub-service__item:nth-of-type(1)::before {
  background-image: url(../img/sub/service/01.svg);
  height: 11.25rem;
  top: 6.73rem;
  width: 14.85rem;
}

.sub-service__item:nth-of-type(2)::before {
  background-image: url(../img/sub/service/02.svg);
  height: 11.25rem;
  width: 15.907rem;
}

.sub-service__item:nth-of-type(3)::before {
  background-image: url(../img/sub/service/03.svg);
  height: 11.25rem;
  width: 15.885rem;
}

.sub-service__item:nth-of-type(4)::before {
  background-image: url(../img/sub/service/04.svg);
  height: 11.25rem;
  width: 16.48rem;
}

.sub-service__item:nth-of-type(5)::before {
  background-image: url(../img/sub/service/05.svg);
  height: 11.25rem;
  width: 15.975rem;
}

.sub-service__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 6rem;
  padding-top: 3.5rem;
  position: relative;
}

.sub-service__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 50rem;
}

.sub-service__text {
  margin-top: -0.2rem;
  width: 50rem;
}
.main_lead {
  text-align: center;
  line-height: 2;
}

.sub-service__text-title {
  font-size: 2.4rem;
  line-height: calc(40 / 24);
  background: linear-gradient(to right, #5bbf9b, #31a5d8);
  background-clip: text;
  background-size: 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  border-bottom: 2px solid #5bbf9b;
  padding: 0 0 5px 0;
}

.sub-service__text-title span {
  font-weight: 700;
  display: block;
}

.sub-service__text-desc {
  font-size: 1.6rem;
  line-height: 1.7;
  margin-top: 2.7rem;
}

.sub-service__text-desc span {
  display: block;
}

.sub-service__text-desc span:not(:first-of-type) {
  margin-top: 2.4rem;
}

/* ==============================================================
*  セクション(sub-reserve)
* ============================================================ */
.sub-reserve-flow__box {
  background-color: #fff;
  margin-top: 4.7rem;
  padding-bottom: 8rem;
  padding-left: 11rem;
  padding-right: 11rem;
  padding-top: 6rem;
}

.sub-reserve-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sub-reserve-flow__item:not(:first-of-type) {
  margin-top: 6rem;
}

.sub-reserve-flow__item-text {
  margin-top: 1.7rem;
  width: 57.2rem;
}

.sub-reserve-flow__item-title {
  border-left: 1rem solid #edbd21;
  color: #4fae8b;
  display: inline-block;
  font-size: 3.1rem;
  font-weight: 700;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-top: 0.9rem;
  position: relative;
}

.sub-reserve-flow__item-title span {
  font-size: 4.7rem;
  font-weight: 700;
  left: 10.4rem;
  position: absolute;
  top: -0.6rem;
}

.sub-reserve-flow__item-intro {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: calc(34 / 24);
  margin-top: 1.3rem;
}

.sub-reserve-flow__item-desc {
  line-height: 1.5;
  margin-top: 2rem;
}

.sub-reserve-flow__item-desc span {
  display: block;
}

.sub-reserve-flow__item-img {
  margin-left: 0.5rem;
  margin-top: 1.2rem;
  width: 11.7rem;
}

.sub-reserve-flow__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 26.8rem;
}

.sub-reserve-faq {
  /*   padding-top: 10.7rem; */
  /* 矢印 */
}

.sub-reserve-faq__box {
  background-color: #fbf9f7;
  margin-top: 2.7rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-top: 5rem;
  border-radius: 10px;
  /*    box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);	*/
}

.sub-reserve-faq .accordion {
  position: relative;
  width: 100%;
  margin-top: 1rem;
}

.sub-reserve-faq .accordion-item {
  border-bottom: 1px solid #9da3a7;
}

.sub-reserve-faq .accordion-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  line-height: calc(28 / 16);
  padding-bottom: 3rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 3rem;
}

.sub-reserve-faq .accordion-title span {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #5bbf9b;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  height: 3.2rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 1rem;
  width: 3.3rem;
}

.sub-reserve-faq .accordion-content {
  background-color: #fff5ec;
  border-radius: 0.4rem;
  display: none;
  padding-bottom: 2.9rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2.9rem;
}

.sub-reserve-faq .accordion-content a {
  color: #00e;
  display: inline-block;
  text-decoration: underline;
}

.sub-reserve-faq .accordion-content p {
  line-height: calc(28 / 16);
}

.sub-reserve-faq .accordion-title {
  position: relative;
}

.sub-reserve-faq .accordion-title::after {
  border-right: solid 1px #303030;
  border-top: solid 1px #303030;
  content: "";
  display: block;
  height: 0.9rem;
  position: absolute;
  right: 2.3rem;
  top: 45%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out,
    -webkit-transform 0.3s ease-in-out;
  width: 0.9rem;
}

.sub-reserve-faq .accordion-title.open::after {
  top: 41%;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.sub-reserve-cancel {
  margin-top: 10.7rem;
}

.sub-reserve-cancel__box {
  background-color: #fff;
  margin-top: 4.7rem;
  padding-bottom: 8rem;
  padding-left: 11rem;
  padding-right: 11rem;
  padding-top: 6rem;
}

.sub-reserve-cancel__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.philosophy_img img {
  max-width: 600px;
  display: block;
  margin: 5rem auto 7rem auto;
}

.sub-reserve-cancel__item-text-container {
  margin-top: 0.6rem;
  width: 57.2rem;
}

.sub-reserve-cancel__item-text:not(:first-of-type) {
  margin-top: 3.6rem;
}

.sub-reserve-cancel__item-text:nth-of-type(2) .sub-reserve-cancel__item-desc {
  margin-top: 2.3rem;
}

.sub-reserve-cancel__item-title {
  font-size: 2.4rem;
  font-weight: 700;
}

.sub-reserve-cancel__item-desc {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 2.5rem;
}

.sub-reserve-cancel__item-desc span {
  display: block;
}

.sub-reserve-cancel__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 26.8rem;
}

/* ==============================================================
*  セクション(sub-shop)
* ============================================================ */
.sub-shop__box {
  background-color: #fff;
  /*   padding-left: 4rem;
  padding-right: 4rem; */
  padding-top: 4rem;
}

.sub-shop__container {
  display: block;
}
.sub-shop .c-flexbox01__head span {
  position: relative;
}
/* .sub-shop .c-flexbox01__head span::before {
    position: absolute;
        top: 3rem;
    right: -1.5rem;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(-135deg, #eef8f3 0%, #d3ebff 100%);
    z-index: -1;
} */

.contents_ttl_001 {
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  margin: 0 0 3rem 0;
}
.contents_ttl_001 span {
  color: #fff;
  font-size: 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.construction_item + .construction_item {
  margin: 4rem 0 0 0;
}
.construction_item .year {
  font-size: 2rem;
  color: #5bbf9b;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin: 0 0 1.5rem 0;
}
.construction_item table {
  width: 100%;
  border-collapse: collapse;
}
.construction_item table th {
  padding: 1rem 1rem 1rem 1rem;
  background: #edf4fa;
  font-weight: 500;
  border: 1px solid #cecece;
}
.construction_item table td {
  padding: 1rem 1rem 1rem 1rem;
  border: 1px solid #cecece;
}

.sub-shop__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 47rem;
}

.sub-shop__table {
  width: 100%;
  left: 0;
  position: relative;
  text-align: left;
  padding: 0 5rem 0 5rem;
}

.sub-shop__table tr {
  border-top: 1px solid #cecece;
  display: block;
  padding: 1.8rem;
}

.sub-shop__table tr:last-of-type {
  border-bottom: 1px solid #cecece;
}

.sub-shop__table th {
  width: 13rem;
  color: #5bbf9b;
  font-weight: 500;
}

.sub-shop__table td {
  line-height: 1.5;
}

.sub-shop__table td span {
  display: block;
}

.sub-shop__table td span.map {
  text-align: right;
}

.sub-shop__table td a {
  color: #00e;
  display: inline-block;
  text-decoration: underline;
}

.sub-shop__map {
  margin: 4.3rem 0 7rem 0;
}

.sub-shop__map iframe {
  height: 30rem;
  width: 100%;
}

/* ==============================================================
*  セクション(sub-single)
* ============================================================ */
.sub-single .nav-previous img,
.sub-single .nav-next img {
  width: 10px;
}
.sub-single__main img {
  max-width: 100%;
  height: auto;
}

.sub-single__box {
  /* background-color: #fff; */
  padding: 0 0 0 0;
}

.sub-single__title-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.sub-single__title {
  color: #5bbf9b;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 1.1rem;
}

.sub-single__time-category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.sub-single__time {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 700;
}

.sub-single__category {
  border: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 1.9rem;
  padding: 0;
  background: transparent;
}
.sub-single__category ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 0.6rem;
}
.sub-single__category li {
  display: inline-block;
  padding: 0.4rem 1.2rem !important;
  font-size: 1.25rem;
  font-weight: 700;
  border-radius: 4px;
  letter-spacing: 0.04em;
  background: #fff !important;
}
.sub-single__category li.is-cat-news            { border: 1px solid #5bbf9b !important; color: #5bbf9b !important; }
.sub-single__category li.is-cat-topics          { border: 1px solid #31a5d8 !important; color: #31a5d8 !important; }
.sub-single__category li.is-cat-column          { border: 1px solid #4FA3D8 !important; color: #4FA3D8 !important; }
.sub-single__category li.is-cat-blog            { border: 1px solid #FFB300 !important; color: #FFB300 !important; }
.sub-single__category li.is-cat-customers-voice { border: 1px solid #b07a8a !important; color: #b07a8a !important; }

.sub-single__main {
    border-top: 1px solid #5bbf9b;
    line-height: calc(34 / 16);
    margin: 1rem 0;
    padding-top: 1rem;
}

.wp-block-heading {
    margin-bottom: 1rem;
}

.sub-single__main h2 {
  background-color: #5bbf9b;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  margin-top: 3rem;
  padding: 1.3rem 2rem;
  font-size: 3rem;
}

.sub-single__main h3 {
  border-bottom: 1rem solid #5bbf9b;
  color: #5bbf9b;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 4.5rem;
  padding-bottom: 1.6rem;
}

.sub-single__main h4 {
  border-left: 0.5rem solid #5bbf9b;
  color: #5bbf9b;
  display: inline-block;
  font-size: 2.2rem;
  line-height: 1;
  margin-top: 5.4rem;
  padding: 0.1rem 1.1rem;
}

.sub-service__list.type002 .sub-service__item::before {
  display: none;
}

.sub-single__main h5 {
  color: #5bbf9b;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
  margin-top: 5.8rem;
}

.sub-single__main p {
  font-size: 1.6rem;
}

.sub-single__main ul,
.sub-single__main ol {
  margin-top: 2rem;
}

.sub-single__main li {
  font-size: 1.6rem;
  margin-left: 2.5rem;
  position: relative;
  list-style: circle;
}

.sub-single__main figure {
  margin-top: 8rem;
}
sub-single .inner {
  padding: 0 0 0 0;
}

.sub-single__main figcaption {
  font-size: 1.8rem;
  line-height: calc(38 / 18);
  margin-top: 2rem;
  text-align: center;
}

.sub-single__main img {
  /*   margin-top: 5.4rem; */
}

.sub-single__main a {
  color: #00e;
  display: inline-block;
  text-decoration: underline;
}

.sub-single__btn-group {
  margin-top: 5.8rem;
  position: relative;
  text-align: center;
}

.sub-single__btn {
  background: rgb(31, 137, 214);
  background: -moz-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  background: linear-gradient(
    to right,
    rgba(31, 137, 214, 1) 0%,
    rgba(46, 43, 143, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  padding: 1rem 5rem;
}

.sub-single .nav-previous,
.sub-single .nav-next {
  bottom: 0;
  display: inline-block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  position: absolute;
  top: 0;
}

.sub-single .nav-previous a,
.sub-single .nav-next a {
  padding: 2rem;
}

.sub-single .nav-previous {
  left: 40.6rem;
}

.sub-single .nav-next {
  right: 40.6rem;
}

.sub-single .banner.-sub {
  margin-top: 10rem;
}

/* ==============================================================
*  セクション(sub-terms)
* ============================================================ */
.sub-terms__box {
  background-color: #fff;
  color: #2f2f2f;
  margin-top: 4.1rem;
  padding-bottom: 7.75rem;
  padding-left: 11rem;
  padding-right: 11rem;
  padding-top: 6.5rem;
}

.sub-terms__item:not(:first-of-type) {
  margin-top: 6.5rem;
}

.sub-terms__title {
  font-size: 2rem;
}

.sub-terms__list-child {
  margin-left: 4.4rem;
  margin-top: 2.1rem;
}

.sub-terms__item-child {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
}

.sub-terms__item-child span {
  font-size: 1.6rem;
  left: -2.4rem;
  margin-right: 1rem;
  position: absolute;
  top: -0.3rem;
}

.sub-terms__item-child:not(:first-of-type) {
  margin-top: 1.9rem;
}

.sub-terms__item-child:nth-child(n + 10) {
  padding-left: 0.8rem;
}

.sub-terms__list-end {
  margin-left: 6rem;
  margin-top: 2rem;
}

.sub-terms__item-end {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
}

.sub-terms__item-end span {
  font-size: 1.6rem;
  left: -2.3rem;
  margin-right: 1rem;
  position: absolute;
  top: -0.3rem;
}

.sub-terms__item-end:not(:first-of-type) {
  margin-top: 1.9rem;
}

.sub-terms__desc {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 2.2rem;
}

.sub-terms__desc span {
  display: block;
}

.sub-terms__desc span:not(:first-of-type) {
  margin-top: 2.4rem;
}

/* ==============================================================
*  セクション(sub-thanks)
* ============================================================ */
.sub-thanks__box {
  background-color: #fff;
  padding-bottom: 6.2rem;
  padding-top: 6.6rem;
}

.sub-thanks__title {
  color: #1f1f1f;
  font-size: 2.4rem;
  text-align: center;
}

.sub-thanks__desc {
  color: #1f1f1f;
  font-size: 1.8rem;
  line-height: 2;
  margin-top: 3.1rem;
  text-align: center;
}

.sub-thanks__desc span {
  display: block;
}

.sub-thanks__list {
  left: 0.9rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3.2rem;
  max-width: 622px;
  position: relative;
}

.sub-thanks__item {
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  position: relative;
}

.sub-thanks__item::before {
  background-color: #303030;
  border-radius: 50%;
  content: "";
  height: 0.8rem;
  left: -1.8rem;
  margin: auto;
  position: absolute;
  top: 1.1rem;
  width: 0.8rem;
}

.sub-thanks__item:not(:first-of-type) {
  margin-top: 0.4rem;
}

.sub-thanks__tel-area {
  margin-top: 4.2rem;
  text-align: center;
}

.sub-thanks__tel-title {
  color: #4fae8b;
  font-size: 3.2rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
  width: 33rem;
}

.sub-thanks__tel-title::before {
  background-image: url(../img/sub/contact/arrow-contact.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1.433rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4.9rem;
  width: 33rem;
}

.sub-thanks__tel {
  color: #4fae8b;
  display: inline-block;
  font-size: 3.4rem;
  font-weight: 700;
  margin-top: 5.9rem;
  padding-left: 3rem;
  pointer-events: none;
  position: relative;
}

.sub-thanks__tel::before {
  background-image: url(../img/common/tel-color.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 2.744rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0.6rem;
  width: 2.744rem;
}

.sub-thanks__time {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 0.4rem;
  margin-top: 1rem;
}

.sub-thanks__time span {
  color: #4fae8b;
}

.sub-thanks__time span:nth-of-type(1) {
  border: 1px solid #4fae8b;
  font-size: 1.6rem;
  padding: 0.4rem 1.2rem;
}

.sub-thanks__time span:nth-of-type(2) {
  font-size: 1.8rem;
  margin-left: 0.9rem;
}

.sub-thanks__link {
  margin-top: 6.2rem;
  text-align: center;
}

.sub-thanks__link a {
  border-bottom: 1px solid #5bbf9b;
  color: #5bbf9b;
  display: inline-block;
}

/* ==============================================================
*  レスポンシブPC(common)
* ============================================================ */
/* ==============================================================
*  レスポンシブPC(home)
* ============================================================ */
@media screen and (max-width: 1168px) {
  .home-shop__text {
    padding-bottom: 6rem;
    padding-left: 2.4rem;
    padding-top: 13.8rem;
    width: 76.2rem;
  }
  .home-shop__img {
    top: 13.9rem;
    width: 58.4rem;
  }
}

@media screen and (min-width: 1169px) {
  .home-shop__text {
    padding-bottom: calc(6rem + ((1vw - 11.69px) * (40 / 7.51)));
    padding-left: calc(2.4rem + ((1vw - 11.69px) * (376 / 7.51)));
    /*     padding-top: calc(13.8rem + ((1vw - 11.69px) * (26 / 7.51))); */
    padding-top: calc(13.8rem + ((1vw - 1.69px) * (26 / 7.51)));
    width: calc(76.2rem + ((1vw - 11.69px) * (491 / 7.51)));
  }
  .home-shop__img {
    /*     top: calc(13.9rem + ((1vw - 11.69px) * (25 / 7.51))); */
    top: calc(13.9rem + ((1vw - 1.69px) * (25 / 7.51)));
    width: calc(58.4rem + ((1vw - 11.69px) * (376 / 7.51)));
  }
}

@media screen and (min-width: 1920px) {
  .home-shop__text {
    padding-bottom: 10rem;
    padding-left: 40rem;
    padding-top: 14.4rem;
    width: 125.3rem;
  }
  .home-shop__img {
    top: 14.4rem;
    width: 85rem;
  }
}

/* ==============================================================
*  レスポンシブSP(common)
* ============================================================ */
@media screen and (max-width: 767px) {
  .inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .home-section-title {
    font-size: 9vw;
  }
  .home-section-title.type001 {
    color: #5bbf9b;
  }
  .home-section-title.type001 span {
    color: #5bbf9b;
  }
  .home-section-title span {
    font-size: 4.5vw;
    margin-top: 1vw;
  }
  .home-section__desc {
    font-size: 3.5vw;
    margin-top: 0;
    width: 100%;
  }
  .banner.-home-top {
    margin-top: 10vw;
  }
  .banner.-home-bottom {
    padding-bottom: 10vw;
    padding-top: 10vw;
  }
  .banner.-sub {
    margin-top: 10vw;
    padding: 1rem;
  }
  .banner.-sub .inner {
    padding: 0;
  }
  .banner__link {
    width: 100%;
  }
  .banner__link.-sub {
    width: 100%;
  }
  .btn {
    font-size: 3vw;
    padding-bottom: 3.5vw;
    padding-top: 3.5vw;
    width: 42vw;
  }
  .btn span {
    width: 2.5vw;
  }
  .sub-shop .c-flexbox01__head span::before {
    top: 1rem;
    right: -1rem;
  }
}

@media screen and (max-width: 767px) {
  .l-page-cover__ttl {
    font-size: 14vw !important;
    /* 		background: linear-gradient(to right, #64b3f4, #2159ba 100%) !important;
		background-clip: text !important;
		background-size: 200% !important;
		-webkit-text-fill-color: transparent !important;
		-webkit-background-clip: text !important; */
    width: 100% !important;
    /*		padding: 30px 0 20px 0 !important;*/
    font-family: "Arimo", sans-serif;
    font-weight: 700;
  }
  .header-sp {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 20;
    background: #fff;
  }
  .header-sp.-sub {
    background-color: #fff;
  }
  .header-sp__top {
    /* 2026-07-29 メニュー展開中もロゴ・ハンバーガーを見せる（.nav-drawer は z-index:35） */
    position: relative;
    z-index: 40;
    background: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 3vw;
    padding-left: 0vw;
    padding-top: 3vw;
  }
  .header-sp__logo {
    position: relative;
    width: 40vw;
    z-index: 1;
    margin-top: 1.2rem;
  }
  .hamburger {
    border: none;
    cursor: pointer;
    height: 14vw;
    outline: none;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.5s ease-out;
    transition: background-color 0.5s ease-out;
    width: 13.5vw;
    z-index: 40;
    background: #5bbf9b;
  }
  .hamburger.-sub span {
    background-color: #fff;
  }
  .hamburger span {
    background-color: #fff;
    height: 0.35vw;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    width: 4.7vw;
  }
  .hamburger__lineTop {
    top: 5.1vw;
  }
  .hamburger__lineCenter {
    top: 6.4vw;
  }
  .hamburger__lineBottom {
    top: 7.7vw;
  }
  .nav-drawer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    display: none;
    height: 100vh;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow-y: scroll;
    padding-bottom: 15vw;
    padding-top: 25vw;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 35;
  }
  .nav-drawer__nav {
    padding-left: 0;
    padding-top: 0;
  }
  .nav-drawer__list {
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    color: #31a5d8;
    padding-left: 17vw;
  }
  .nav-drawer__item:not(:first-of-type) {
    margin-top: 7vw;
  }
  .nav-drawer__item:last-of-type {
    /*     width: 10vw; */
  }
  .nav-drawer__link {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
  }
  /* .nav-drawer__link::before {
    content: "";
    position: absolute;
    top: 3px;
    left: -3rem;
    width: 15px;
    height: 15px;
    background-image: none;
    background-repeat: no-repeat;
    background-size: contain;
  } */
	 .nav-drawer__link02 {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
  }
  .nav-drawer__link02::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -3rem;
    width: 15px;
    height: 15px;
    background-image: none;
    background-repeat: no-repeat;
    background-size: contain;
  }
	
  .nav-drawer__btn {
    background: rgb(31, 137, 214);
    background: -moz-linear-gradient(
      left,
      rgba(31, 137, 214, 1) 0%,
      rgba(46, 43, 143, 1) 100%
    );
    background: -webkit-linear-gradient(
      left,
      rgba(31, 137, 214, 1) 0%,
      rgba(46, 43, 143, 1) 100%
    );
    background: linear-gradient(
      to right,
      rgba(31, 137, 214, 1) 0%,
      rgba(46, 43, 143, 1) 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5bbf9b', endColorstr='#31a5d8',GradientType=1 );
    color: #fff;
    display: inline-block;
    font-size: 4.5vw;
    margin-top: 7vw;
    padding: 3vw;
    width: 80vw;
    border-radius: 50px;
  }
  .nav-drawer__tel {
    font-size: 5vw;
    margin-top: 7vw;
    color: #31a5d8;
  }
  .nav-drawer__tel a {
    display: inline-block;
    margin-left: 4vw;
    position: relative;
  }
  .nav-drawer__tel a::before {
    background-image: url(../img/common/tel-color.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    height: 4vw;
    left: -5vw;
    margin: auto;
    position: absolute;
    top: 4px;
    width: 4vw;
  }
  .nav-drawer__time {
    font-size: 4.5vw;
    margin-top: 3vw;
    color: #31a5d8;
  }
  .nav-drawer__time span {
    border: 1px solid #31a5d8;
    display: inline-block;
    margin-right: 2vw;
    padding: 1vw;
  }
  .nav-drawer__time:nth-of-type(2) {
    margin-top: 2rem;
  }
  /* 表示された時用のCSS */
  .open .hamburger {
    background-color: #fff;
    -webkit-transition: background-color 0.5s ease-out;
    transition: background-color 0.5s ease-out;
  }
  .open .hamburger__lineTop {
    top: 6.7vw;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .open .hamburger__lineCenter {
    display: none;
  }
  .open .hamburger__lineBottom {
    top: 6.7vw;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .open .hamburger span {
    background-color: #fff;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    padding-top: 15vw;
  }
  .footer_link_banner {
    padding: 40px 15px 40px 15px;
  }
  .footer_link_banner .footer_link_banner_inner {
    gap: 0;
  }
  .footer_link_banner .footer_link_banner_inner a {
    width: 46%;
    margin: 0 2% 3% 2%;
  }
  .footer__list {
    padding-left: 1.6rem;
  }
  .footer__item:not(:first-of-type) {
    margin-left: 0;
    /* margin-top: 10vw; */
  }
  .footer__item:last-of-type {
    margin-left: 0;
    /* margin-top: 10vw; */
  }
  .footer__item:last-of-type a {
    margin-left: auto;
    margin-right: auto;
  }
  .footer__link {
    font-size: 4.5vw;
  }
  .footer__logo {
    /* margin-top: 10vw; */
    width: 80vw;
  }
  .footer__address {
    text-align: center;
  }
  .footer__address span {
    font-size: 4.5vw;
  }
  .footer__copyright {
    font-size: 3.5vw;
    margin-top: 10vw;
    padding-bottom: 6vw;
    padding-top: 6vw;
  }
  .footer .page-top span {
    font-size: 2.5vw;
    margin-top: 1vw;
  }
  .footer .page-top__img {
    width: 4vw;
  }
  .footer .page-top a {
    bottom: 4vw;
    right: 3vw;
    z-index: 10;
  }
}

/* ==============================================================
*  レスポンシブSP(home)
* ============================================================ */
@media screen and (max-width: 767px) {
  .home-mv__catch {
    font-size: clamp(20px, 5vw, 40px);
  }
  .home-mv__catch span {
    display: block;
  }
  .home-mv__slide img {
    height: calc(100vh / 2);
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
  }
  .home-mv .slide-dots li {
    margin: 0 2vw;
  }
  .home-mv .slide-dots li.slick-active button::before {
    height: 2vw;
    width: 2vw;
  }
}

@media screen and (max-width: 767px) {
  .home-shop {
    padding-top: 8vw;
    background: #5bbf9b;
  }
  .home-shop .home-section__desc {
    margin-top: 5vw;
  }
  .home-shop__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 8vw;
    position: static;
  }
  .home-shop__img {
    position: static;
    width: 100%;
  }
  .home-shop__text {
    padding: 10vw 5vw;
    width: 100%;
  }
  .home-shop__intro {
    font-size: 5vw;
    width: 100%;
  }
  .home-shop .btn {
    margin-top: 8vw;
    /*     padding-right: 3vw; */
  }
  .home-shop .btn span {
    right: 7vw;
  }
}

@media screen and (max-width: 767px) {
  .home-center {
    margin-top: 15vw;
    padding-bottom: 0;
    padding-top: 10vw;
  }
  .home-center .inner {
    padding: 0;
  }
  .home-center__container.-service {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .home-center__container.-price {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .home-center__text {
    margin-top: 0rem;
    padding: 6vw 0vw 3vw 0vw;
    width: 100%;
  }
  .home-center__img {
    margin-top: 3vw;
    width: 100%;
  }
  .home-service {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .home-service .btn {
    margin-top: 8vw;
    /*     padding-right: 3vw; */
  }
  .home-service .btn span {
    right: 4vw;
  }
  .home-price {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 10vw;
    margin-bottom: 4rem;
  }
  .home-price .btn {
    margin-top: 8vw;
    /*     padding-right: 3vw; */
  }
  .home-price .btn span {
    right: 11vw;
  }
}

@media screen and (max-width: 767px) {
  .home-gallery {
    padding-bottom: 15vw;
    padding-top: 10vw;
  }
  .home-gallery__list {
    gap: 5vw 5vw;
    -ms-grid-columns: (minmax(45%, 1fr)) [auto-fill];
    grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
    margin-top: 8vw;
  }
  .home-gallery__btn {
    margin-top: 10vw;
  }
  .home-gallery__btn .btn {
    padding-right: 2vw;
  }
  .home-gallery__btn .btn span {
    right: 7vw;
  }
}

@media screen and (max-width: 767px) {
  .home-news {
    padding-bottom: 0;
    padding-top: 0;
    margin: 0rem 0 0 0;
  }
  .home-news__box {
    padding: 10vw 5vw;
  }
  .home-news__container {
    margin-top: 8vw;
    flex-direction: column;
    gap: 0;
  }
  .home-news__link {
    display: block;
    width: 100%;
  }
  .home-news__link:not(:first-of-type) {
    margin-top: 10vw;
  }
  .home-news__time {
    font-size: 4.5vw;
  }
  .home-news__category {
    font-size: 4.5vw;
    margin-left: 4vw;
    width: 35vw;
  }
  .home-news__title {
    font-size: 4.5vw;
    margin-left: 0;
    margin-top: 2vw;
  }
  .home-news__btn {
    margin-top: 10vw;
  }
  .home-news__btn a span {
    right: 8vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-common)
* ============================================================ */
@media screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 3vw;
    padding-bottom: 3vw;
    padding-top: 19vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .breadcrumb__inner {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
  .sub-bg {
    padding-bottom: 10vw;
    padding-top: 10vw;
  }
  .sub-bg::before {
    height: 90vw;
  }
  .sub-section-title {
    font-size: 12vw;
  }
  .sub-section-title span {
    font-size: 4.5vw;
  }
  .sub-section-subtitle {
    font-size: 6vw;
    line-height: 1.5;
    margin-top: 5vw;
    text-align: center;
  }
  .sub-section-subtitle::before,
  .sub-section-subtitle::after {
    width: 16vw;
  }
  .sub-section-subtitle.-color::after,
  .sub-section-subtitle.-color::before {
    width: 16vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-404)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-404__box {
    margin-top: 0;
    padding-bottom: 12vw;
    padding-top: 0;
  }
  .sub-404__title {
    font-size: 4.5vw;
  }
  .sub-404__desc {
    font-size: 2.6vw;
    margin-top: 6vw;
  }
  .sub-404__link {
    margin-top: 9vw;
  }
  .sub-404__link a {
    font-size: 4.5vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-archive)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-archive__box {
    margin-top: 0;
    padding: 5vw 0;
  }
  .sub-archive__container {
    margin-top: 8vw;
    flex-direction: column;
  }
  .sub-archive__category-name {
    font-size: 4.5vw;
  }
  .sub-archive__select-title {
    font-size: 3vw;
  }
  .sub-archive__select {
    font-size: 3vw;
    margin-left: 2vw;
  }
  .sub-archive__select::before {
    border-left: 1vw solid transparent;
    border-right: 1vw solid transparent;
    border-top: 1.5vw solid #1e1d1d;
    right: 1vw;
    top: 2vw;
  }
  .sub-archive select {
    padding-bottom: 1vw;
    padding-left: 1vw;
    padding-right: 4vw;
    padding-top: 1vw;
  }
  .sub-archive__link {
    display: block;
    padding-bottom: 5vw;
    padding-right: 0;
    padding-top: 5vw;
    padding: 0 0 0 0;
    width: 100%;
  }
  .sub-archive__time {
    font-size: 4.5vw;
  }
  .sub-archive__category {
    font-size: 4.5vw;
    margin-left: 4vw;
    padding: 1vw 2vw;
  }
  .sub-archive__title {
    font-size: 4.5vw;
    margin-left: 0;
    margin-top: 2vw;
  }
  .sub-archive .pagination-wrapper__sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 5vw;
  }
  .sub-archive .pagination-wrapper .page-numbers {
    font-size: 5vw;
    height: 9.5vw;
    margin-left: 2vw;
    margin-right: 2vw;
    width: 24vw;
  }
  .sub-archive .pagination-wrapper .page-numbers.next,
  .sub-archive .pagination-wrapper .page-numbers.prev {
    border: none;
  }
  .sub-archive .pagination-wrapper .page-numbers.next a,
  .sub-archive .pagination-wrapper .page-numbers.prev a {
    border: 1px solid #4fae8b;
    padding: 2vw 6vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-contact)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-contact__top {
    margin-top: 0;
    padding-bottom: 10vw;
    padding-top: 5vw;
  }
  .sub-contact__list-top {
    display: block;
  }
  .sub-contact__item-top:not(:first-of-type) {
    margin-left: 0;
    margin-top: 15vw;
    text-align: center;
  }
  .sub-contact__top-title {
    font-size: 6vw;
    margin-left: auto;
    margin-right: auto;
    width: auto;
  }
  .sub-contact__top-title::before {
    height: 3vw;
    top: 8vw;
    width: 60vw;
  }
  .sub-contact__top-qr {
    margin-top: 10vw;
    width: 70%;
  }
  .sub-contact__top-qr-desc {
    font-size: 4.5vw;
    line-height: 1.5;
    margin-top: 6vw;
    text-align: center;
  }
  .sub-contact__tel {
    display: inline-block;
    font-size: 7vw;
    margin-top: 15vw;
    padding-left: 7vw;
    pointer-events: all;
  }
  .sub-contact__tel::before {
    height: 5vw;
    left: 0;
    top: 1vw;
    width: 5vw;
  }
  .sub-contact__time {
    margin-left: 0;
    margin-top: 5vw;
  }
  .sub-contact__time span:nth-of-type(1) {
    font-size: 5vw;
    padding: 1vw 3vw;
  }
  .sub-contact__time span:nth-of-type(2) {
    font-size: 5vw;
    margin-left: 3vw;
  }
  .sub-contact__box {
    margin-top: 5vw;
    padding-bottom: 12vw;
  }
  .sub-contact__title {
    font-size: 6vw;
    margin-left: auto;
    margin-right: auto;
    width: auto;
  }
  .sub-contact__title::before {
    height: 3vw;
    top: 8vw;
    width: 60vw;
  }
  .sub-contact__intro {
    font-size: 3.5vw;
    margin-left: 0;
    margin-top: 10vw;
  }
  .sub-contact__intro span {
    display: block;
  }
  .sub-contact__form {
    margin-top: 2rem;
    padding: 0;
  }
  .sub-contact__item {
    display: block;
    padding-bottom: 6vw;
    padding-top: 6vw;
  }
  .sub-contact__item dt {
    font-size: 4.5vw;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
  }
  .sub-contact__item dt span {
    font-size: 3vw;
    margin-left: 3vw;
    padding: 1vw 2vw;
  }
  .sub-contact__item dd {
    margin-left: 0;
    margin-top: 4vw;
  }
  .sub-contact__item input,
  .sub-contact__item textarea {
    font-size: 4.5vw;
    padding: 2vw;
  }
  .sub-contact__item input.short {
    width: 100%;
  }
  .sub-contact__item textarea {
    height: 40vw;
  }
  .sub-contact__privacy {
    padding-top: 7vw;
  }
  .sub-contact__privacy-intro {
    font-size: 3.5vw;
  }
  .sub-contact__privacy-intro span {
    display: block;
  }
  .sub-contact__submit {
    margin-top: 7vw;
  }
  .sub-contact__submit input {
    border-radius: 1.8vw;
    font-size: 5vw;
    padding: 5vw 18vw;
  }
  .sub-contact__privacy-wrapper {
    height: 50vw;
    margin-top: 10vw;
    max-width: none;
    padding: 5vw 3vw;
  }
  .sub-contact__privacy-text {
    height: 40vw;
    padding-right: 2vw;
  }
  .sub-contact__privacy-text::-webkit-scrollbar {
    width: 1.8vw;
  }
  .sub-contact__privacy-item:not(:first-of-type) {
    margin-top: 8vw;
  }
  .sub-contact__privacy-title {
    font-size: 3vw;
  }
  .sub-contact__privacy-desc {
    font-size: 3vw;
    margin-top: 2vw;
  }
  .sub-contact .wpcf7-not-valid-tip {
    border-radius: 0.6vw;
    font-size: 3vw;
    height: 6vw;
    margin-top: 3vw;
    padding-left: 3vw;
    width: 54vw;
  }
  .sub-contact .wpcf7-not-valid-tip::before {
    height: 2vw;
    left: 4vw;
    top: -7.8vw;
    width: 3vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-price)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-price__intro {
    font-size: 4.5vw;
    margin-top: 6vw;
  }
  .sub-price__intro span {
    display: block;
    line-height: 1.5;
  }
  .sub-price__title {
    font-size: 6vw;
  }
  .sub-price__title::before {
    bottom: -3vw;
    width: 18vw;
  }
  .sub-price__box {
    margin-top: 0vw;
    padding-bottom: 12vw;
    /*     padding-left: 5vw;
    padding-right: 5vw; */
    padding-top: 12vw;
  }
  .sub-price__price {
    border-radius: 0.6vw;
    font-size: 10vw;
    margin-top: 10vw;
    padding-bottom: 5vw;
    padding-top: 4vw;
  }
  .sub-price__price span {
    font-size: 4.5vw;
    top: 0.2vw;
  }
  .sub-price__container:not(:first-of-type) {
    margin-top: 12vw;
  }
  .sub-price__group {
    display: block;
    margin-top: 8vw;
  }
  .sub-price__plan {
    width: 100%;
  }
  .sub-price__plan:not(:first-of-type) {
    margin-top: 10vw;
  }
  .sub-price__plan-title {
    border-radius: 0.8vw 0.8vw 0 0;
    font-size: 7vw;
    padding-bottom: 4vw;
    padding-top: 3vw;
  }
  .sub-price__plan-title span {
    font-size: 4.5vw;
  }
  .sub-price__list {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  .sub-price__item {
    padding-bottom: 7vw;
    padding-top: 6vw;
  }
  .sub-price__item:nth-of-type(2) {
    padding-bottom: 7vw;
  }
  .sub-price__item:nth-of-type(3) {
    padding-bottom: 7vw;
  }
  .sub-price__item-title {
    font-size: 4.5vw;
  }
  .sub-price__item-desc {
    font-size: 8vw;
    margin-top: 3vw;
  }
  .sub-price__item-desc span {
    font-size: 4.5vw;
  }
  .sub-price__attention-list {
    margin-top: 6vw;
  }
  .sub-price__attention-item {
    font-size: 4.5vw;
    text-indent: -1em;
  }
  .sub-price__btn {
    margin-top: 8vw;
  }
  .sub-price__btn .btn {
    font-size: 3vw;
    padding-right: 3vw;
  }
  .sub-price__btn .btn span {
    right: 6vw;
  }
  .sub-price__banner-title {
    font-size: 5vw;
    margin-bottom: 7vw;
    margin-top: 12vw;
  }
  .sub-price__banner-title::before {
    height: 3vw;
    top: 7.5vw;
    width: 50vw;
  }
  .sub-price__title-desc {
    font-size: 4.5vw;
    margin-top: 8vw;
    text-align: left;
  }
  .sub-price__title-desc span.tel {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
}

/* 
==============================================================
*  レスポンシブSP(sub-service)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-service__list {
    margin-top: 8vw;
  }
  .sub-service__item {
    padding-bottom: 8vw;
    /*     padding-left: 5vw;
    padding-right: 5vw; */
    padding-top: 5vw;
    width: 100%;
  }
  .sub-service__item:nth-of-type(odd)::before {
    left: auto;
    right: 2vw;
    top: 60vw;
  }
  .sub-service__item:nth-of-type(odd) .sub-service__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .sub-service__item:nth-of-type(odd) .sub-service__text {
    margin-left: 0;
  }
  .sub-service__item:nth-of-type(even)::before {
    left: auto;
    right: 2vw;
    top: 62vw;
  }
  .sub-service__item:nth-of-type(even) .sub-service__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .sub-service__item:nth-of-type(even) .sub-service__text {
    margin-right: 0;
  }
  .sub-service__item:not(:first-of-type) {
    margin-top: 10vw;
  }
  .sub-service__item:nth-of-type(1) .sub-service__text-title span {
    display: block;
  }
  .sub-service__item:nth-of-type(1)::before {
    height: 18vw;
    width: 23vw;
  }
  .sub-service__item:nth-of-type(2)::before {
    height: 18vw;
    width: 23vw;
  }
  .sub-service__item:nth-of-type(3)::before {
    height: 18vw;
    width: 23vw;
  }
  .sub-service__item:nth-of-type(4)::before {
    height: 18vw;
    width: 23vw;
  }
  .sub-service__item:nth-of-type(5)::before {
    height: 18vw;
    width: 23vw;
  }
  .sub-service__container {
    padding: 0;
    position: static;
  }
  .sub-service__img {
    width: 100%;
  }
  .sub-service__text {
    margin-top: 6vw;
    width: 100%;
  }
  .sub-service__text-title {
    font-size: 5vw;
  }
  .sub-service__text-desc {
    font-size: 4.5vw;
    margin-top: 8vw;
  }
  .sub-service__text-desc span:not(:first-of-type) {
    margin-top: 5vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-reserve)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-reserve-flow__box {
    margin-top: 8vw;
    padding-bottom: 15vw;
    padding-left: 5vw;
    padding-right: 5vw;
    padding-top: 15vw;
  }
  .sub-reserve-flow__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sub-reserve-flow__item:not(:first-of-type) {
    border-top: 1px solid #9da3a7;
    margin-top: 15vw;
    padding-top: 15vw;
  }
  .sub-reserve-flow__item-text {
    margin-top: 0;
    width: 100%;
  }
  .sub-reserve-flow__item-title {
    border-left: 2.5vw solid #edbd21;
    font-size: 7vw;
    padding-bottom: 2vw;
    padding-left: 3vw;
    padding-top: 3vw;
  }
  .sub-reserve-flow__item-title span {
    font-size: 12vw;
    left: 24vw;
    top: -1vw;
  }
  .sub-reserve-flow__item-intro {
    font-size: 5vw;
    margin-top: 4vw;
    white-space: normal;
  }
  .sub-reserve-flow__item-desc {
    font-size: 4.5vw;
    margin-top: 6vw;
  }
  .sub-reserve-flow__item-img {
    margin-left: auto;
    margin-right: auto;
    margin-top: 8vw;
    width: 50%;
  }
  .sub-reserve-flow__img {
    margin: auto;
    margin-top: 10vw;
    width: 70%;
  }
  .sub-reserve-flow__line-btn {
    margin-inline: auto;
    margin-top: 8vw;
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .sub-reserve-faq {
    padding-top: 0vw;
  }
  .sub-reserve-faq__box {
    margin-top: 0vw;
    padding-bottom: 7vw;
    padding-left: 5vw;
    padding-right: 5vw;
    padding-top: 0vw;
  }
  .sub-reserve-faq .accordion-title {
    font-size: 3.5vw;
    padding-bottom: 4vw;
    padding-left: 0;
    padding-right: 6vw;
    padding-top: 4vw;
  }
  .sub-reserve-faq .accordion-title span {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 8vw;
    margin-right: 3vw;
    width: 8vw;
  }
  .sub-reserve-faq .accordion-content {
    -webkit-column-break-before: 0.6vw;
    break-before: 0.6vw;
    padding: 3vw;
  }
  .sub-reserve-faq .accordion-content p {
    font-size: 3vw;
  }
  .sub-reserve-faq .accordion-title::after {
    height: 2vw;
    right: 2vw;
    width: 2vw;
  }
}

@media screen and (max-width: 767px) {
  .sub-reserve-cancel {
    margin-top: 20vw;
  }
  .sub-reserve-cancel__box {
    margin-top: 8vw;
    padding-bottom: 15vw;
    padding-left: 5vw;
    padding-right: 5vw;
    padding-top: 10vw;
  }
  .sub-reserve-cancel__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sub-reserve-cancel__item-text-container {
    margin-top: 0;
    width: 100%;
  }
  .sub-reserve-cancel__item-text:not(:first-of-type) {
    margin-top: 10vw;
  }
  .sub-reserve-cancel__item-text:nth-of-type(2) .sub-reserve-cancel__item-desc {
    margin-top: 5vw;
  }
  .sub-reserve-cancel__item-title {
    font-size: 5vw;
  }
  .sub-reserve-cancel__item-desc {
    font-size: 4.5vw;
    margin-top: 5vw;
  }
  .sub-reserve-cancel__img {
    margin: auto;
    margin-top: 10vw;
    width: 70%;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-shop)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-shop__box {
    margin-top: 5vw;
    padding: 0vw;
  }
  .sub-shop__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .sub-shop__img {
    width: 100%;
  }
  .sub-shop__text {
    margin-top: 10vw;
  }
  .sub-shop__table {
    font-size: 4.5vw;
    position: static;
    width: 100%;
    padding: 0;
  }
  .sub-shop__table tr {
    padding-bottom: 3vw;
    padding-top: 3vw;
  }
  .sub-shop__table th {
    width: 22vw;
  }
  .sub-shop__map {
    margin-top: 5vw;
  }
  .sub-shop__map iframe {
    height: 60vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-single)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-single__box {
    padding: 0;
  }
  .sub-single__time {
    font-size: 4.5vw;
  }
  .sub-single__category {
    font-size: 4.5vw;
    margin-left: 4vw;
    padding: 1vw 2vw;
  }
  .sub-single__title {
    font-size: 6vw;
    margin-top: 3vw;
  }
  .sub-single__main {
    margin-top: 5vw;
  }
  .sub-single__main h2 {
    font-size: 5vw;
    margin-top: 6vw;
    padding: 2vw 3vw;
  }
  .sub-single__main h3 {
    border-bottom: 1.2vw solid #006947;
    font-size: 4.5vw;
    margin-top: 6vw;
    padding-bottom: 3vw;
  }
  .sub-single__main h4 {
    border-left: 1.5vw solid #006947;
    font-size: 4.5vw;
    margin-top: 6vw;
    padding: 1vw 2vw;
  }
  .sub-single__main h5 {
    font-size: 3.5vw;
    margin-top: 6vw;
  }
  .sub-single__main p {
    font-size: 3.6vw;
    /*     margin-bottom: 10vw;
    margin-top: 6vw; */
  }
  .sub-single__main ul,
  .sub-single__main ol {
    margin-top: 6vw;
  }
  .sub-single__main li {
    font-size: 3vw;
    /*     margin-left: 4vw; */
  }
  .sub-single__main li::before {
    height: 2vw;
    left: -3.5vw;
    top: 2.5vw;
    width: 2vw;
  }
  .sub-single__main figure {
    margin-top: 8vw;
  }
  .sub-single__main figcaption {
    font-size: 3vw;
    margin-top: 3vw;
  }
  .sub-single__main img {
    /*     margin-top: 6vw; */
  }
  .sub-single__btn-group {
    margin-top: 8vw;
  }
  .sub-single__btn {
    font-size: 4.5vw;
    padding: 2vw 6vw;
  }
  .sub-single .nav-previous a,
  .sub-single .nav-next a {
    padding: 3vw;
  }
  .sub-single .nav-previous a img,
  .sub-single .nav-next a img {
    width: 3vw;
  }
  .sub-single .nav-previous {
    left: 16vw;
  }
  .sub-single .nav-next {
    right: 16vw;
  }
  .sub-single .banner.-sub {
    margin-top: 15vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-terms)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-terms__box {
    margin-top: 10vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .sub-terms__item:not(:first-of-type) {
    margin-top: 12vw;
  }
  .sub-terms__title {
    font-size: 4.5vw;
  }
  .sub-terms__list-child {
    margin-left: 5vw;
    margin-top: 4vw;
  }
  .sub-terms__item-child {
    font-size: 3vw;
  }
  .sub-terms__item-child span {
    font-size: 3vw;
    left: -4vw;
    margin-right: 2vw;
    top: -0.6vw;
  }
  .sub-terms__item-child:not(:first-of-type) {
    margin-top: 3vw;
  }
  .sub-terms__list-end {
    margin-left: 3vw;
    margin-top: 3vw;
  }
  .sub-terms__item-end {
    font-size: 3vw;
  }
  .sub-terms__item-end span {
    font-size: 3vw;
    left: -4vw;
    margin-right: 2vw;
    top: -0.6vw;
  }
  .sub-terms__item-end:not(:first-of-type) {
    margin-top: 3vw;
  }
  .sub-terms__desc {
    font-size: 3vw;
    margin-top: 4vw;
  }
}

/* ==============================================================
*  レスポンシブSP(sub-thanks)
* ============================================================ */
@media screen and (max-width: 767px) {
  .sub-thanks__box {
    margin-top: 0;
    padding: 0;
  }
  .sub-thanks__title {
    font-size: 5vw;
  }
  .sub-thanks__desc {
    font-size: 3.5vw;
    margin-top: 5vw;
  }
  .sub-thanks__list {
    margin-top: 8vw;
    max-width: none;
  }
  .sub-thanks__item {
    font-size: 3vw;
    margin-left: 2vw;
  }
  .sub-thanks__item::before {
    height: 1.5vw;
    left: -3vw;
    top: 2vw;
    width: 1.5vw;
  }
  .sub-thanks__tel-area {
    margin-top: 10vw;
  }
  .sub-thanks__tel-title {
    font-size: 6vw;
    margin-left: auto;
    margin-right: auto;
    width: auto;
  }
  .sub-thanks__tel-title::before {
    height: 3vw;
    top: 8vw;
    width: 60vw;
  }
  .sub-thanks__tel {
    font-size: 7vw;
    margin-top: 10vw;
    padding-left: 7vw;
    pointer-events: all;
  }
  .sub-thanks__tel::before {
    height: 5vw;
    left: 0;
    top: 1vw;
    width: 5vw;
  }
  .sub-thanks__time {
    margin-left: 0;
    margin-top: 5vw;
  }
  .sub-thanks__time span:nth-of-type(1) {
    font-size: 5vw;
    padding: 1vw 3vw;
  }
  .sub-thanks__time span:nth-of-type(2) {
    font-size: 5vw;
    margin-left: 3vw;
  }
  .sub-thanks__link {
    margin-top: 12vw;
  }
  .sub-thanks__link a {
    font-size: 4.5vw;
  }
}
/*# sourceMappingURL=style.css.map */

/* --------------20230719--------------------- */

/* --------------------------------
l-page
----------------------------------- */
.l-page-cover {
  background-image: url(../img/common/cover.jpg);
  background-repeat: no-repeat;
  background-position: bottom 30% center;
  background-size: cover;
  position: relative;
  right: 0;
  /* height: 320px; */
}
.l-page-cover::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(106, 157, 45, 0.18);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
}
.l-page-cover__inner {
  padding: 80px 0 30px 0;
  position: relative;
  z-index: 1;
}
/* .l-page-cover__ttl {
  font-size: 12vw;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, from(rgb(100, 179, 244)), color-stop(50%, rgb(33, 89, 186)));
  background: linear-gradient(to right, rgb(100, 179, 244) 0%, rgb(33, 89, 186) 50%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
} */
.l-page-cover__ttl.h1_ttl {
  padding: 0 0 10px 0;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  max-width: 116.8rem;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  position: relative;
  width: 100%;
}

.l-page-cover__ttl {
  color: #5bbf9b33;
  font-size: 7rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  border-radius: 0 20px 0 0;
  text-align: center;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
}
/* .l-page-cover__ttl::before {
    content: "";
    display: block;
    width: 5vw;
    height: 2px;
    background: #006FCE;
    position: absolute;
    left: 0;
    top: 50%;
} */
/* .l-page-cover__ttl::before {
	position: absolute;
    content: "";
    background-image: url(../img/home/title_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    right: -499px;
    top: 0;
    width: 100%;
    height: 100%;
} */

.l-page-cover__ttl span {
  display: block;
  font-size: 4vw;
  letter-spacing: 0.03em;
  font-weight: 700;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: -2rem;
}

/* --------------------------------
header
----------------------------------- */
.header-sp__top {
  height: 14vw;
  border-top: 2px solid #5bbf9b;
}
.header-sp .nav-drawer__list {
  color: #000000;
}
.header-sp .nav-drawer__btn {
  background: #31a5d8;
}
.header-sp .nav-drawer__tel {
  color: #303030;
}
.header-sp .nav-drawer__time {
  color: #303030;
}
.header-sp .nav-drawer__time span {
  border-color: #303030;
  font-size: 3.5vw;
}
.header-sp .hamburger {
  background: #5bbf9b;
}
/* --------------------------------
c-heading
----------------------------------- */
.c-heading01 {
  color: #303030;
  font-size: clamp(2.6rem, 5.5vw, 4.4rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
}
.c-heading01 span {
  display: inline-block;
  color: #5bbf9b;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
  margin-bottom: 0.6rem;
  font-weight: 700;
  font-family: "Arimo", sans-serif;
  letter-spacing: 0.18em;
  position: relative;
  margin-left: 0;
}
/* .c-heading01 span::before の leaf アイコンは撤去（ユーザー指示） */
.c-heading01_center {
  text-align: center;
}
.c-heading01_border {
  padding-bottom: 10px;
  border-bottom: 2px solid #5bbf9b;
}

.c-heading02 {
  color: #303030;
  border-bottom: 3px solid #5bbf9b;
  background: transparent;
  padding: 0 0 1.5rem 0.5rem;
  font-size: 2.5rem;
  font-weight: 500;
}

/* --------------------------------
c-news
----------------------------------- */
.c-news__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  padding: 1rem 0;
}
.c-news__data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-news__tag {
  display: block;
  width: 35vw;
  font-weight: 500;
  height: 2.6rem;
  background: #f8f6f4;
  color: #303030;
  border-radius: 5px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-news__time {
  padding-right: 2rem;
}
.c-news__ttl {
  margin-top: 2vw;
  line-height: 1.5;
}
.c-news__link:hover .c-news__ttl span {
  background-size: 100% 1px;
}

/* --------------------------------
btn
----------------------------------- */
.btn {
  background-color: #fff;
  color: #31a5d8;
}
.btn:hover {
  color: #fff;
}
.btn:hover::after {
  content: none;
}

/* --------------------------------
c-card
----------------------------------- */
.c-card {
  width: 100%;
  /* background-color: #fff; */
  /* -webkit-box-shadow: 8px 8px 16px 0 rgba(0, 0, 0, 0.03);
  box-shadow: 8px 8px 16px 0 rgba(0, 0, 0, 0.03); */
  /* border-radius: 10px; */
}
.c-card__img-wrap img {
  max-height: 250px;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-card__body {
  padding: 1rem 0;
}
.c-card__body-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-card__time {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 4vw;
}
.c-card__body-bottom {
  font-size: 4.5vw;
  line-height: 1.5;
  margin-top: 2vw;
  padding-top: 1rem;
}

/* --------------------------------
c-tag
----------------------------------- */
.c-tag {
  background: #5bbf9b;
  color: #fff;
  font-size: 4.5vw;
  width: 35vw;
  height: 2.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-tag span {
  font-weight: 500;
}

/* --------------------------------
c-media
----------------------------------- */
.c-media__body {
  padding-top: 2rem;
}
.c-media__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #31a5d8;
  line-height: 1.5;
  border-bottom: 2px solid #64b3f4;
  padding-bottom: 5px;
}
.c-media__ttl .ja {
  font-size: 5vw;
  font-weight: bold;
}
.c-media__txt {
  line-height: 1.7;
  padding-top: 2.7rem;
}

/* --------------------------------
c-accordion
----------------------------------- */
.c-accordion {
  border-bottom: 1px solid #9da3a7;
}
.c-accordion__title {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  padding: 4vw 6vw 4vw 0;
  position: relative;
  font-size: 3.5vw;
  line-height: 1.75;
}
.c-accordion__title span {
  width: 8vw;
  height: 8vw;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgb(100, 179, 244)),
    to(rgb(33, 89, 186))
  );
  background: linear-gradient(
    90deg,
    rgb(100, 179, 244) 0%,
    rgb(33, 89, 186) 100%
  );
  color: #fff;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 3vw;
}
.c-accordion__title::after {
  content: "";
  width: 2vw;
  height: 2vw;
  border-top: 1px solid #303030;
  border-right: 1px solid #303030;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 45%;
  right: 2vw;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.c-accordion__title.open::after {
  top: 41%;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.c-accordion__content {
  display: none;
  background-color: #edf4fa;
  padding: 3vw;
}
.c-accordion__content p {
  font-size: 3vw;
  line-height: 1.75;
}

/* --------------------------------
c-flexbox
----------------------------------- */
.c-flexbox01__body {
  padding-top: 3rem;
}
.c-flexbox02__body {
  padding-top: 2rem;
}

/* --------------------------------
c-table
----------------------------------- */
.c-table {
  width: 100%;
  text-align: left;
}
.c-table tr {
  display: block;
  border-top: 1px solid #cecece;
  line-height: 1.5;
  padding: 3vw 1.8rem;
}
.c-table tr:last-child {
  border-bottom: 1px solid #cecece;
}
.c-table th {
  width: 22vw;
  vertical-align: top;
  color: #5bbf9b;
  font-weight: 500;
}
.sub-shop .c-table span {
  display: block;
}

/* --------------------------------
footer
----------------------------------- */
.footer__copyright {
  background: #5bbf9b;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
main.home {
  /* background: url(../img/common/bg002.jpg); */
  /*
    background-size: cover;
    background-attachment: fixed;
*/
}

.p-home-sec01 {
  padding: 4rem 4rem 4rem 4rem;
}
.p-home-sec01__box {
  background-color: #fff;
  padding: 6rem 6rem 6rem 6rem !important;
  border-radius: 14px;
}
.p-home-sec01__cont {
  padding-top: 8vw;
}
.p-home-sec01__cont article {
  border-bottom: 1px solid #e5e5e5;
}
.p-home-sec01__btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 4rem;
}

.p-home-sec02 {
  background: #5bbf9b;
  padding-top: 11rem;
}
.p-home-sec02__ttl {
  position: relative;
  z-index: 1;
  color: #006fce;
}
.p-home-sec02__ttl span {
  color: #fff;
}
.p-home-sec02 .home-shop__text {
  background: #5bbf9b;
  /* 	    border-radius: 0 15px 15px 0; */
  width: 100% !important;
}

.p-home-sec03 {
  /* background-image: url(../img/home/service-bg.png); */
  background-repeat: repeat;
  border-radius: 30px;
  overflow: hidden;
  margin-top: 30px;
  padding-bottom: 9rem;
  position: relative;
  /* 2026-07-29 ロゴのパレット（シアン → 黄緑）に寄せる。従来の #3f9a78 はロゴ色から離れていた */
  /* 2026-07-29 背景を淡く（色相はロゴのシアン→黄緑のまま明度を上げる） */
  background: linear-gradient(125deg, #d8effb 0%, #e2f3fc 38%, #edf6d6 70%, #f5f8c6 100%);
}
/* 黄緑のハイライトを重ねてロゴの色移りを再現 */
.p-home-sec03::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 8%, rgba(212, 221, 24, 0.20) 0%, rgba(212, 221, 24, 0) 46%),
    radial-gradient(circle at 6% 92%, rgba(212, 221, 24, 0.12) 0%, rgba(212, 221, 24, 0) 42%);
}
.p-home-sec03 > * { position: relative; z-index: 1; }
.p-home-sec03__inner {
  padding-top: 10rem;
}
.p-home-sec03__txt {
  line-height: 1.5;
  padding-top: 3rem;
  text-align: center;
  color: #3a4a52;
}
.p-home-sec03__item-wrap {
  padding-top: 5rem;
}
.p-home-sec03 .item {
  color: #303030;
}
.p-home-sec03 .item__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 8rem 2rem;
}
.p-home-sec03 .item__ttl {
  font-size: 6vw;
  font-weight: bold;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  margin-top: 2rem;
  text-align: center;
  color: #5bbf9b;
}
.p-home-sec03 .item__txt {
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  line-height: 2;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-top: 2rem;
  color: #272727;
}
.p-home-sec03 .item__readmore {
  position: relative;
  margin-top: 3rem;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}
.p-home-sec03 .item__readmore::after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.official-line-inner {
  max-width: 1100px;
  margin: 4rem auto 1rem auto;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.official-line-inner li {
  font-size: 1.7rem;
  font-weight: 500;
}

.p-home-sec04__inner {
  padding-top: 15rem;
  padding-bottom: 10rem;
}
.p-home-sec04__item-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-top: 5rem;
  margin-top: -2rem;
}
.p-home-sec04__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 2rem;
}
.p-home-sec04__btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 5rem;
}

.p-home-sec05__inner {
  padding-top: 14rem;
  padding-bottom: 6rem;
}
.p-home-sec05__item-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 3rem;
  margin-top: -2rem;
}
.p-home-sec05__item {
  padding-top: 2rem;
}

.home-news {
  /*   background-color: #c3cfe2; */
}
.home-news__title span {
  background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#001842),
      to(#001842)
    )
    0 100%/0 1px no-repeat;
  background: linear-gradient(#001842, #001842) 0 100%/0 1px no-repeat;
}

.p-feature-sec01 .c-heading01 {
  color: #5bbf9b;
}
.p-feature-sec01 .c-heading01 span {
  color: #5bbf9b;
}
.p-feature-sec01 .c-heading01_border {
  border-bottom: 2px solid #5bbf9b;
}

.sub-service__item:nth-of-type(1)::before {
  background-image: url(../img/sub/feature/01.svg);
}

.sub-service__item:nth-of-type(2)::before {
  background-image: url(../img/sub/feature/02.svg);
}

.sub-service__item:nth-of-type(3)::before {
  background-image: url(../img/sub/feature/03.svg);
}

.p-service-sec01 {
  text-align: center;
}
.p-service-sec01__txt {
  line-height: 1.5;
}

.p-service-sec02 {
  background-image: linear-gradient(-135deg, #eef8f3 0%, #d3ebff 100%);
  padding: 5rem 0;
  margin-top: 5rem;
}
.p-service-sec02__ancLink {
  margin-top: -1rem;
}
.p-service-sec02__ancLink li {
  margin-top: 1rem;
}
.p-service-sec02__ancLink li a {
  display: block;
  width: 100%;
  background-color: #fff;
  padding: 2rem 3rem 2rem 2rem;
  position: relative;
  line-height: 1.5;
  color: #31a5d8;
  font-weight: 500;
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}
.p-service-sec02__ancLink li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  border-color: #31a5d8 transparent transparent transparent;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-service-sec03__inner {
  padding-top: 10rem;
}
.p-service-sec03__cont {
  margin-top: -5rem;
  padding-top: 3rem;
}
.p-service-sec03 .cont__item {
  margin-top: 5rem;
}

.sec05__inner {
  padding-top: 8rem;
}
.sec05 .project_area {
  padding-top: 5rem;
}
.sec05 .project_area .txt {
  line-height: 1.5;
  text-align: center;
}
.sec05 .project_inner .item {
  /*       -webkit-box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1);
    box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1); */
  /*   padding: 2rem; */
}
.sec05 .project_area .project_inner .item .item_ttl {
  color: #5bbf9b;
  border: none;
  text-align: center;
  padding: 0;
}
.sec05 .project_area .project_inner .item .img img {
  display: block;
  margin: 0 auto 3rem auto;
}
.p-service-sec05 .project_area .project_inner .item .img img {
  display: block;
  margin: 0 auto 3rem auto;
}

.p-service-sec05__inner {
  padding-top: 5rem;
}
.p-service-sec05 .project_area {
  padding-top: 5rem;
}
.p-service-sec05 .project_area .txt {
  line-height: 1.5;
  text-align: center;
}
.p-service-sec05 .project_inner .item {
  -webkit-box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1);
  box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1);
}
.p-service-sec05 .project_area .project_inner .item .item_ttl {
  color: #006fce;
  border: none;
  text-align: center;
  padding: 0;
}

.p-service-sec06 {
  /*      background: #fbf9f7;*/
  /*  padding: 4rem 0;*/
  /*  margin-top: 5rem;*/
  margin-bottom: 6rem;
}
.p-service-sec06__ttl {
  color: #1ba2e6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  padding: 1.5rem;
}
.p-service-sec06__item-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-top: 3rem;
  margin-top: -5rem;
}
.p-service-sec06__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 5rem;
}
.p-service-sec06__item a img {
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}
.p-service-sec06 .item__txt {
  color: #303030;
  padding-top: 2rem;
  line-height: 1.7;
}

.p-service-sec07__inner {
  padding-top: 10rem;
  padding-bottom: 4rem;
}
.p-service-sec07__ttl {
  font-size: 3rem;
  font-weight: 700;
  color: #1ba2e6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5rem;
  margin-bottom: 2rem;
}

.p-company-sec01 .item__ttl {
  color: #5bbf9b;
  font-size: 5vw;
  font-weight: bold;
  border-bottom: 2px solid #5bbf9b;
  padding: 0 0 10px 0;
}
.p-company-sec01 .item__ttl span {
  display: block;
  font-size: 3vw;
  font-weight: 400;
  padding-top: 1rem;
  color: #31a5d8;
  font-weight: 500;
}
.p-company-sec01 .item__txt {
  line-height: 1.7;
  padding-top: 2rem;
}

.p-company-sec02__cont {
  padding-top: 0;
  padding-bottom: 4rem;
}
.p-overview-building {
  margin: 0 0 3rem;
  text-align: center;
  padding: 0 2rem;
}
.p-overview-building img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}
@media (max-width: 768px) {
  .p-overview-building {
    padding: 0 1rem;
  }
  .p-overview-building img {
    max-width: 100%;
  }
}
.p-company-sec02 .cont .item01__table {
  padding-top: 3rem;
}
.p-company-sec02 .cont__item02 {
  padding-top: 1.875rem;
}
.p-company-sec02 .cont .item02__map {
  padding-top: 25rem;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  margin: 0 5rem;
}
.p-company-sec02 .cont .item02__map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.p-company-sec03 {
  background: linear-gradient(180deg, white 0%, #edf3f9 100%);
}
.p-company-sec03__inner {
  padding-top: 4rem;
  padding-bottom: 8rem;
  margin-top: 0rem;
}
.p-company-sec03 .cont__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #5bbf9b;
}
.p-company-sec03 .cont__ttl .ja {
  font-size: 5vw;
  font-weight: bold;
  position: relative;
}
.p-company-sec03 .cont__ttl .en {
  font-size: 3vw;
  padding-top: 1rem;
  color: #31a5d8;
  font-weight: 500;
}
.p-company-sec03 .cont__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-company-sec03 .cont .top__img-wrap {
  padding-top: 2rem;
}
.p-company-sec03 .cont .top__img-wrap img {
  width: 65rem;
}
.p-company-sec03 .cont__btm {
  margin-top: -5rem;
  padding-top: 5rem;
}
.p-company-sec03 .cont .btm__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 8rem;
}
.p-company-sec03 .cont .btm__txt {
  line-height: 1.7;
  padding-top: 3rem;
}
.p-company-sec03 .cont .btm__img-wrap {
  padding-top: 4rem;
}
.p-company-sec03 .cont .btm__img-wrap img {
  width: 22.2rem;
}

.p-company-sec04 {
  /* 	display: none; */
}
.p-company-sec04 .cont__item:nth-child(2),
.p-company-sec04 .cont__item:nth-child(3),
.p-company-sec04 .cont__item:nth-child(4),
.p-company-sec04 .cont__item:nth-child(5) {
  display: none;
}
.p-company-sec04__inner {
  padding-top: 8rem;
}
.p-company-sec04__cont {
  padding-top: 3rem;
}
.p-company-sec04 .cont__item + .cont__item {
  padding-top: 5rem;
}
.p-company-sec04 .item .body .top__txt {
  color: #5bbf9b;
  font-size: 5vw;
  font-weight: 500;
  margin: 0 0 1rem 0;
}
.p-company-sec04 .item .body .top__table tr {
  display: block;
  padding: 0.5rem 0;
  line-height: 1.7;
}
.p-company-sec04 .item .body .top__table th {
  font-weight: 400;
  text-align: left;
  width: 20vw;
}
.p-company-sec04 .item .body__btm {
  padding-top: 3rem;
}
.p-company-sec04 .item .body .btm__txt {
  color: #5bbf9b;
  font-size: 5vw;
  font-weight: 500;
  margin: 0 0 1rem 0;
}
.p-company-sec04 .item .body .btm__table tr {
  display: block;
  padding: 1rem 0;
  line-height: 1.5;
  border-bottom: 1px solid #cecece;
}
.p-company-sec04 .item .body .btm__table th {
  font-weight: 400;
  text-align: left;
  width: 20vw;
}
.p-company-sec04 .item .body .btm__btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 3rem;
}

.p-topics-wrap .navigation .nav-previous {
  left: 13vw;
}
.p-topics-wrap .navigation .nav-next {
  right: 13vw;
}

.p-topics-sec01__cont {
  padding-top: 8vw;
}

.p-voice-wrap .sub-single__title {
  color: #303030;
}
.p-voice-wrap .sub-single__category {
  border: 1px solid #5bbf9b;
  color: #5bbf9b;
}
.p-voice-wrap .sub-single__main {
  border-top: 1px solid #5bbf9b;
}
.p-voice-wrap .sub-single__main h1,
.p-voice-wrap .sub-single__main h2,
.p-voice-wrap .sub-single__main h3,
.p-voice-wrap .sub-single__main h4,
.p-voice-wrap .sub-single__main h5,
.p-voice-wrap .sub-single__main h6 {
  color: #31a5d8;
  font-weight: bold;
}
.p-voice-wrap .sub-single__main h1 {
  font-size: 1.125rem;
  background-color: #31a5d8;
  color: #fff;
  padding: 0.46875rem 1.5625rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main h2 {
  font-size: 1rem;
  background-color: #64b3f4;
  color: #fff;
  border-left: 10px solid #31a5d8;
  padding: 0.46875rem 0.625rem 0.46875rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main h3 {
  font-size: 1rem;
  border-left: 10px solid #31a5d8;
  padding: 0.46875rem 0.625rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main h4 {
  font-size: 0.9375rem;
  border-top: 2px solid #31a5d8;
  border-bottom: 2px solid #31a5d8;
  padding: 0.46875rem 0.75rem 0.46875rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main h5 {
  font-size: 0.9375rem;
  border-bottom: 2px solid #31a5d8;
  padding: 0 0 0.46875rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main h6 {
  font-size: 0.9375rem;
  margin-top: 1.875rem;
}
.p-voice-wrap .sub-single__main p {
  padding-top: 2rem;
}
.p-voice-wrap .sub-single__main p + p {
  padding-top: 1.25rem;
}
.p-voice-wrap .navigation .nav-previous {
  left: 13vw;
}
.p-voice-wrap .navigation .nav-next {
  right: 13vw;
}

.p-topics-sec01__cont {
  padding-top: 8vw;
}

.p-contact-sec01 .sub-contact__tel {
  color: #303030;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
}
.p-contact-sec01 .sub-contact__time span {
  color: #303030;
}
.p-contact-sec01 .sub-contact__time span:nth-of-type(1) {
  border: 1px solid #303030;
}
.p-contact-sec01 .sub-contact__submit input {
  background: #31a5d8;
  border-radius: 50px;
}

.p-privacy-policy-sec01 {
  /*   background-color: #f7f7f7; */
}
.p-privacy-policy-sec01__inner {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.p-privacy-policy-sec01__cont {
  background-color: #fff;
  padding: 10vw 5vw;
}
.p-privacy-policy-sec01 .cont__item {
  line-height: 1.5;
}
.p-privacy-policy-sec01 .cont__item + .cont__item {
  padding-top: 10rem;
}
.p-privacy-policy-sec01 .item__ttl {
  color: #5bbf9b;
  text-align: center;
  font-size: 5vw;
  font-weight: bold;
  position: relative;
}
.p-privacy-policy-sec01 .item__ttl::after {
  content: "";
  width: 10rem;
  height: 2px;
  background-color: #ffc014;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -10px;
}
.p-privacy-policy-sec01 .item__txt {
  font-size: 3vw;
  padding-top: 10vw;
}
.p-privacy-policy-sec01 .item__list {
  margin-top: -1.875rem;
  padding-top: 2.5rem;
}
.p-privacy-policy-sec01 .item .list__item {
  margin-top: 12vw;
}
.p-privacy-policy-sec01 .item .list__ttl {
  color: #5bbf9b;
  font-weight: 500;
  font-size: 4.5vw;
}
.p-privacy-policy-sec01 .item .list__desc {
  font-size: 3vw;
  padding-top: 4vw;
}
.p-privacy-policy-sec01 .item .list__desc a {
  color: #64b3f4;
  text-decoration: underline;
}
.p-privacy-policy-sec01 .item .list__desc_txtRight {
  text-align: right;
}
.p-privacy-policy-sec01 .item .list .child__ttl {
  font-size: 3vw;
}
.p-privacy-policy-sec01 .item .list .child__desc {
  font-size: 3vw;
  padding-top: 4vw;
}
.p-privacy-policy-sec01 .item .list .child__item {
  margin-top: 5vw;
}
.p-privacy-policy-sec01 .item .list .child__item ul {
  padding-top: 4vw;
}
.p-privacy-policy-sec01 .item .list .child__item ul li {
  font-size: 3vw;
  position: relative;
  padding-left: 2rem;
}
.p-privacy-policy-sec01 .item .list .child__item ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media (min-width: 768px) {
  .l-page-cover__inner {
    padding: 140px 0 80px 0;
  }
  .l-page-cover__ttl {
    font-size: 12rem;
    padding: 130px 0 120px 0;
  }
  .l-page-cover__ttl span {
    font-size: 2.6rem;
    margin-top: -5rem;
  }
  .header__main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header__nav {
    margin-right: 3rem;
  }
  .header__link {
    color: #303030;
    font-weight: 700;
  }
  .header__time {
    /*    padding-top: 1rem;*/
    margin-left: 0;
  }
  .c-heading01 {
    font-size: 4rem;
  }
  .c-heading01 span {
    font-size: 2.6rem;
    font-family: "Arimo", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .c-news__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1.5rem 0;
  }
  .c-news__tag {
    width: 10rem;
    font-size: 1.2rem;
    margin-right: 2rem;
  }
  .c-news__time {
    font-size: 1.2rem;
  }
  .c-news__ttl {
    margin-top: 0;
    font-weight: 500;
  }
  .c-news__ttl span {
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#5bbf9b),
        to(#5bbf9b)
      )
      0 100%/0 1px no-repeat;
    background: linear-gradient(#5bbf9b, #5bbf9b) 0 100%/0 1px no-repeat;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-card {
    width: 31.5%;
  }
  .c-card__time {
    font-size: 1.2rem;
    margin-left: 2rem;
  }
  .c-card__body-bottom {
    font-size: 1.6rem;
    margin-top: 0;
  }
  .c-card_link .c-card__ttl {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#5bbf9b),
        to(#5bbf9b)
      )
      0 100%/0 1px no-repeat;
    background: linear-gradient(#5bbf9b, #5bbf9b) 0 100%/0 1px no-repeat;
  }
  .c-card_link:hover .c-card__ttl {
    background-size: 100% 1px;
  }
  .c-tag {
    font-size: 1.2rem;
    width: 10rem;
  }
  .c-media {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-media__img-wrap {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 45%;
    -ms-flex: 0 1 45%;
    flex: 0 1 45%;
    margin-right: 3.3333%;
    -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
  }
  .c-media__body {
    width: 50rem;
    padding-top: 0;
  }
  .c-media__ttl .ja {
    font-size: 2.4rem;
  }
  .c-media_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .c-media_reverse .c-media__img-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-right: 0;
  }
  .c-media_reverse .c-media__body {
    margin-right: 3.3333%;
  }
  .c-accordion__title {
    font-size: 1.6rem;
    padding: 3rem 2rem;
  }
  .c-accordion__title span {
    width: 3.3rem;
    height: 3.3rem;
    margin-right: 1rem;
  }
  .c-accordion__title::after {
    width: 0.9rem;
    height: 0.9rem;
    right: 2.3rem;
  }
  .c-accordion__content {
    padding: 2.9rem 2rem;
  }
  .c-accordion__content p {
    font-size: 1.6rem;
  }
  .c-flexbox01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-flexbox01__head {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 45%;
    -ms-flex: 0 1 45%;
    flex: 0 1 45%;
    margin-right: 3.3333%;
  }
  .c-flexbox01__body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-top: 0;
  }
  .c-flexbox02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .c-flexbox02__head {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 45%;
    -ms-flex: 0 1 45%;
    flex: 0 1 45%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
  }
  .c-flexbox02__body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 3.3333%;
    padding-top: 0;
  }
  .c-table tr {
    padding: 1.8rem;
  }
  .c-table th {
    width: 13rem;
  }
  .home-mv__catch img {
    max-width: 800px;
  }
  .p-home-sec01__box {
    padding: 2rem 11rem 6rem 11rem !important;
  }
  .p-home-sec01__cont {
    padding-top: 2rem;
  }
  .p-home-sec02 {
    background: #fff;
  }
  .p-home-sec03__inner {
    padding-top: 6rem;
  }
  .p-home-sec03__item-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 5rem;
  }
  .p-home-sec03__item {
    width: 50%;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  /*
  .p-home-sec03 .item__inner {
    padding: 20rem 15rem;
  }
*/
  .p-home-sec03 .item__ttl {
    font-size: 2.4rem;
  }
  .p-home-sec03 .item__readmore {
    margin-top: 5rem;
  }
  .p-home-sec04__item-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .p-home-sec04__item {
    width: 24%;
  }
  .p-home-sec04__btn-wrap {
    padding-top: 8rem;
  }
  .p-home-sec05__item-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 5rem;
  }
  .p-home-sec05__item {
    width: 33.333%;
  }
  .p-service-sec02__ancLink {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .p-service-sec02__ancLink li {
    width: 23%;
  }
  .p-service-sec03__cont {
    margin-top: -8rem;
  }
  .p-service-sec03 .cont__item {
    margin-top: 8rem;
  }
  .p-service-sec05__inner {
    padding-top: 3.5rem;
  }
  .p-service-sec06__item-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 5rem;
  }
  .p-service-sec06__item {
    width: 23%;
  }
  .p-company-sec01 .item__ttl {
    font-size: 3rem;
    border-bottom: none;
  }
  .p-company-sec01 .item__ttl span {
    font-size: 1.6rem;
    margin-top: 0.8rem;
  }
  .p-company-sec02 .cont .item01__table {
    padding: 0 5rem;
  }
  .p-company-sec02 .cont__item02 {
    padding-top: 3.125rem;
  }
  .p-company-sec02 .cont .item02__map {
    padding-top: 40rem;
  }
  .p-company-sec03 .cont__ttl .ja {
    font-size: 3rem;
  }
  .p-company-sec03 .cont__ttl .en {
    font-size: 1.6rem;
  }
  .p-company-sec03 .cont__btm {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .p-company-sec03 .cont .btm__item {
    width: 50%;
    padding: 0 2rem;
  }
  .p-company-sec04 .cont__item + .cont__item {
    padding-top: 8rem;
  }
  .p-company-sec04 .item .body .top__txt {
    font-size: 2rem;
  }
  .p-company-sec04 .item .body .top__table th {
    width: 12rem;
  }
  .p-company-sec04 .item .body .btm__txt {
    font-size: 2rem;
  }
  .p-company-sec04 .item .body .btm__table th {
    width: 12rem;
  }
  .p-company-sec04 .item .body .btm__btn-wrap {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .p-topics-wrap .c-news__link {
    padding: 2.5rem 1.8rem 3.2rem 0;
  }
  .p-topics-wrap .navigation .nav-previous {
    left: 37rem;
  }
  .p-topics-wrap .navigation .nav-next {
    right: 37rem;
  }
  .p-topics-sec01__cont {
    padding-top: 3.2rem;
  }
  .p-voice-wrap .sub-single__main h1 {
    font-size: 1.5rem;
    margin-top: 3.125rem;
  }
  .p-voice-wrap .sub-single__main h2 {
    font-size: 1.375rem;
    padding: 0.46875rem 0.9375rem 0.46875rem;
    margin-top: 2.5rem;
  }
  .p-voice-wrap .sub-single__main h3 {
    font-size: 1.375rem;
    padding: 0.46875rem 0.9375rem;
    margin-top: 2.5rem;
  }
  .p-voice-wrap .sub-single__main h4 {
    font-size: 1.25rem;
    padding: 0.46875rem 1.0625rem 0.46875rem;
    margin-top: 2.5rem;
  }
  .p-voice-wrap .sub-single__main h5 {
    font-size: 1.25rem;
    padding: 0 0 0.6875rem;
    margin-top: 2.1875rem;
  }
  .p-voice-wrap .sub-single__main h6 {
    font-size: 1.25rem;
  }
  .p-voice-wrap .navigation .nav-previous {
    left: 37rem;
  }
  .p-voice-wrap .navigation .nav-next {
    right: 37rem;
  }
  .p-topics-sec01__cont {
    padding-top: 3.2rem;
  }
  .p-privacy-policy-sec01__cont {
    padding: 2rem 0 2rem;
  }
  .p-privacy-policy-sec01 .item__ttl {
    font-size: 3rem;
  }
  .p-privacy-policy-sec01 .item__txt {
    font-size: 1.6rem;
    padding-top: 5rem;
  }
  .p-privacy-policy-sec01 .item__list {
    margin-top: -4.0625rem;
  }
  .p-privacy-policy-sec01 .item .list__item {
    margin-top: 6.5rem;
  }
  .p-privacy-policy-sec01 .item .list__ttl {
    font-size: 2rem;
  }
  .p-privacy-policy-sec01 .item .list__desc {
    font-size: 1.6rem;
    padding-top: 2.2rem;
  }
  .p-privacy-policy-sec01 .item .list .child__ttl {
    font-size: 1.6rem;
  }
  .p-privacy-policy-sec01 .item .list .child__desc {
    font-size: 1.6rem;
    padding-top: 1.9rem;
  }
  .p-privacy-policy-sec01 .item .list .child__item {
    margin-top: 4rem;
  }
  .p-privacy-policy-sec01 .item .list .child__item ul {
    padding-top: 2rem;
  }
  .p-privacy-policy-sec01 .item .list .child__item ul li {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 767px) {
  .p-privacy-policy-sec01__inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
    padding-left: 0;
    padding-right: 0;
  }
  .p-privacy-policy-sec01 .item__txt {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .p-privacy-policy-sec01 .item .list__ttl {
    font-size: 1.6rem;
  }
  .p-privacy-policy-sec01 .item .list__desc {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .p-privacy-policy-sec01 .item .list .child__ttl {
    font-size: 1.5rem;
  }
  .p-privacy-policy-sec01 .item .list .child__desc {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .p-privacy-policy-sec01 .item .list .child__item ul li {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .p-service-sec06 .item__txt {
    font-size: 1.5rem;
  }
  .p-service-sec03__inner {
    padding-top: 5rem;
  }
  .sec05__inner {
    padding-top: 0rem;
  }
  .project_inner .item .txt {
    padding: 1rem 0rem 1rem 0rem;
  }
  .p-service-sec05__inner {
    padding-top: 0rem;
  }
  .p-service-sec05__inner > .sub-price__box {
    margin-top: 0;
    padding-top: 1rem;
  }
  .p-service-sec06 {
    margin-top: 0rem;
  }
  .p-service-sec07__inner {
    padding-top: 5rem;
  }
  .c-heading02 {
    font-size: 2rem;
  }
  .sec03-text {
    font-size: 1.6rem !important;
  }
  .flowList {
    flex-wrap: wrap;
    gap: 2.5rem;
  }
  .flowItem {
    width: 100% !important;
  }
  .p-company-sec02__inner {
    padding-top: 3rem;
  }
  .p-company-sec02 .philosophy span {
    line-height: 1.5;
  }
  .p-company-sec02__cont {
    padding-top: 0rem;
    padding-bottom: 4rem;
  }
  .c-table tr {
    line-height: 1.7;
    padding: 3vw 0;
  }
  .p-company-sec03__inner {
    padding-top: 6rem;
    padding-bottom: 6rem;
    margin-top: 6rem;
  }
  .p-company-sec04__inner {
    padding-top: 6rem;
  }
  .c-news__tag {
    font-size: 4.5vw;
  }
  .p-home-sec01__box {
    padding: 5vw 5vw !important;
  }
  .p-home-sec02 {
    padding-top: 3rem;
    margin-top: 3rem;
  }
  .p-home-sec03__inner {
    padding-top: 5rem;
  }
  .p-home-sec04__inner {
    padding-top: 6rem;
    padding-bottom: 5rem;
  }
  .p-home-sec05__inner {
    padding-top: 5rem;
    padding-bottom: 3rem;
  }
  .c-news__time {
    font-size: 4.5vw;
  }
  .c-news__ttl {
    font-size: 4.5vw;
  }
  .c-card__time {
    font-size: 4.5vw;
  }
  .c-media__txt {
    font-size: 4.5vw;
  }
  .c-table {
    font-size: 4.5vw;
  }
  .p-home-sec03__txt {
    font-size: 16px;
  }
  .p-home-sec03__txt br,
  .p-home-sec03 .item__txt br {
    display: none;
  }
  .p-home-sec03 .item__txt {
    font-size: 14px;
    text-align: left;
    line-height: 2;
  }
  .p-home-sec03 .item__readmore {
    font-size: 4.5vw;
  }
  .p-service-sec01__txt {
    font-size: 4vw;
  }
  .p-service-sec02__ancLink li a {
    font-size: 4.5vw;
  }
  .p-company-sec01 .item__txt {
    font-size: 3.5vw;
  }
  .p-company-sec03 .cont .btm__txt {
    font-size: 4.5vw;
  }
  .p-company-sec04 .item .body .top__table tr {
    font-size: 4.5vw;
  }
  .p-company-sec04 .item .body .btm__table tr {
    font-size: 4.5vw;
  }
  .home-center__container.-service {
    margin: 4rem 0 4rem 0;
    padding: 0rem 1rem;
  }
  .official-line-inner {
    flex-direction: column;
    text-align: center;
  }
  .official-line-inner li {
    font-size: 1.6rem;
  }
}

.home-works-area {
  background: linear-gradient(180deg, white 0%, #fffcf1 100%);
  padding: 0 0 8rem 0;
  margin-top: 5rem;
}
.home-works-area .img_area {
  display: flex;
  margin: 8rem 0 0 0;
}
.home-works-area .p-home-sec02__ttl {
  margin-top: 3rem;
}
.home-works-area .inner {
  /* 	    background: rgba(255,255,255,0.7);
    -webkit-box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    padding-top: 5rem;
    padding-bottom: 3rem;
	border-radius: 5px; */
}
.home-works-area .home-center__container.-service {
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.home-works-area .home-center__img img {
  /* 	-webkit-box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1);
	box-shadow: 1px 0px 15px 5px rgba(42, 145, 209, 0.1); */
}

.table_simple {
  padding: 0 0 0 0;
}
.table_simple tr {
  padding: 0 0 0 0 !important;
}
.table_simple th {
  padding: 2rem;
  background: #41a151;
  width: 25rem;
  color: #fff;
}
.table_simple td {
  padding: 1.8rem;
}
.sub-shop .home-feature {
  background: linear-gradient(180deg, white 0%, #fffcf1 100%);
}
.recruit_list {
  margin: 3rem 0 4rem 0;
}
.recruit_list li {
  font-size: 1.8rem;
  color: #303030;
  font-weight: 700;
  margin-top: 2rem;
}
.recruit_list li::before {
  content: "i";
  background: #ffc014;
  color: #fff;
  padding: 1px 10px 1px 10px;
  border-radius: 20px;
  font-weight: 700;
  margin: 0 10px 0 0;
  font-size: 1.5rem;
}
.recruit_list.type002 li {
  color: #5bbf9b;
}
.recruit_list.type002 li span {
  color: #303030;
  display: block;
  font-size: 1.5rem;
  line-height: 1.7;
  margin: 1.5rem 0 0 0;
}
.recruit_list.type002 li::before {
  display: none;
}
.recruit_staff {
  background-color: rgba(255, 255, 255, 0.8) !important;
  background-blend-mode: lighten;
  background: url(../img/home/recruit_bg001.jpg);
  margin: 7rem 0 0 0;
  padding: 4rem 0 4rem 0;
  background-size: 140%;
  background-position: top center;
  background-repeat: no-repeat;
}
.recruit_staff .staff_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
  margin: 3rem 0 0 0;
}
.recruit_staff .staff_list li {
  width: 23.8%;
  background: #fff;
  padding: 1.4rem 1.4rem 3rem 1.4rem;
  line-height: 1.5;
  font-size: 1.5rem;
  border: 1px solid #ccc;
  border-radius: 10px;
  margin: 0 0 2% 0;
}
.recruit_staff .staff_list li .name {
  text-align: center;
  margin: 2rem 0 2rem 0;
  font-size: 1.6rem;
  font-weight: 500;
  color: #006fce;
}
.recruit_staff .staff_list li .img img {
  max-width: 150px;
  margin: 0 auto;
}

.sec04 {
  /*  background-color: #fbf9f7;*/
  padding: 0;
  /*
	background-image: url(../img/common/bg001.jpg);
    background-size: cover;
    background-attachment: fixed;
	background-color: rgba(0,0,0,0.2);
    background-blend-mode: darken;
*/
  padding-bottom: 6rem;
}

.aboutWrap {
  margin-top: 20px;
}

.aboutBox {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.aboutBox:nth-child(odd) {
  flex-direction: row-reverse;
}
.aboutBox:nth-child(odd) .about_body {
  border-radius: 30px 0 0 30px;
  padding: 60px 0 60px 25%;
}
.aboutBox:nth-child(odd) .about_ttl {
  padding-right: 20px;
}
.aboutBox:nth-child(odd) .about_text {
  padding-right: 20px;
}
/* .aboutBox:nth-child(odd) .about_pic {
  margin-right: -22%;
} */
.aboutBox:nth-child(odd) .about_pic img {
  border-radius: 10px;
}
.aboutBox:nth-child(even) .about_body {
  border-radius: 0px 30px 30px 0px;
  padding: 60px 25% 60px 0px;
}
.aboutBox:nth-child(even) .about_ttl {
  margin-left: auto;
  padding-left: 20px;
}
.aboutBox:nth-child(even) .about_ttl::before {
  left: 20px;
}
.aboutBox:nth-child(even) .about_text {
  margin-left: auto;
  padding-left: 20px;
}
.aboutBox:nth-child(even) .about_pic {
  /* margin-left: -22%; */
}
.aboutBox:nth-child(even) .about_pic img {
  border-radius: 10px;
}
.aboutBox + .aboutBox {
  /* margin-top: 60px; */
}
/*
.aboutBox:nth-child(1) .about_ttl::before {
  background-image: url(../img/home/num1.svg);
}
*/
.aboutBox:nth-child(2) .about_ttl {
  padding-top: 70px;
}
/*
.aboutBox:nth-child(2) .about_ttl::before {
  background-image: url(../img/home/num2.svg);
}
*/
.aboutBox:nth-child(3) .about_ttl::before {
  background-image: url(../img/home/num3.svg);
}

.about_body {
  background-color: #fff;
  width: 60%;
  min-height: 32vw;
}

.about_ttl {
  font-size: 3rem;
  line-height: 1.45833;
  color: #5bbf9b;
  max-width: 575px;
  padding-top: 48px;
  padding-bottom: 18px;
  font-weight: 400;
  position: relative;
  z-index: 1;
}
.about_ttl::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 100px;
  background: no-repeat left center/contain;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.about_text {
  max-width: 575px;
  margin-top: 0;
  line-height: 1.7;
}
.about_text span {
  display: block;
}
.about_text span .btn {
  margin-top: 3rem;
  width: 330px;
  padding-top: 2.1rem;
  padding-bottom: 2.1rem;
}

.about_pic {
  width: 70%;
  position: relative;
  z-index: 1;
  margin-top: 60px;
}

.about_btn {
  margin-top: 60px;
}

.sec03 {
  margin-top: 8rem;
  text-align: center;
  padding-bottom: 8rem;
  text-align: center;
  background: url(../img/top/sec03_bg.svg) no-repeat bottom 100px right 43px/516px
    auto;
}

.sec03-text {
  font-size: 2.5rem;
  margin-top: 2rem;
  line-height: 1.7;
}
.sec03-text .marker {
  background: linear-gradient(transparent 60%, #ffebec 60%);
  font-weight: 500;
}
.home .sec03 .btn {
  margin-top: 5rem;
}

.sec03-text02 {
  margin-top: 3rem;
  line-height: 1.7;
}

.flowList {
  display: flex;
  margin: 40px -15px 0;
}

.flowItem {
  margin: 0 15px;
  position: relative;
  width: calc((100% - 0px) / 2);
  z-index: 1;
}







.flowItem_pic {
  min-height: 105px;
  display: flex;
  align-items: center;
}

.flow-ico {
  margin: 0 auto;
}

.flow-ttl {
  min-height: 70px;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  margin-top: 20px;
  line-height: 2.4rem;
  flex-direction: column;
}
.flow-ttl .marker.yellow {
  font-size: 2rem;
  background: linear-gradient(transparent 80%, #fcffa7 80%);
  font-weight: 700;
  margin-bottom: 1rem;
}
.flow-ttl .marker.pink {
  font-size: 24px;
  background: linear-gradient(transparent 80%, #ffebec 80%);
}

.flow_btn {
  margin-top: 70px;
}

.p-company-sec02 .philosophy p {
  text-align: center;
  margin: 2rem 0 3rem 0;
}
.p-company-sec02 .philosophy span {
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 5rem;
}
.p-company-sec02 .philosophy .item01__table {
  margin: 0 0 4rem 0;
  padding: 0 !important;
}
.p-company-sec02 .philosophy .item01__table table tr {
  border: none !important;
  padding: 0rem 0 2rem 0;
}
.p-company-sec02 .philosophy .item01__table table tr td {
  display: block;
}
.p-company-sec02 .philosophy .table_simple td {
  padding: 0 0 2rem 0;
  line-height: 1.7;
  font-size: 1.4rem;
}
.p-company-sec02 .philosophy {
  margin: 0 0 7rem 0;
}
.philosophy .p-company-sec01 {
  margin: 5rem 0 0 0;
}

@media only screen and (max-width: 767px) {
  .home-works-area .inner {
    padding-top: 2rem;
  }
  .footer_flex {
    flex-direction: column;
    margin-top: 0;
  }
  .footer_flex .left,
  .footer_flex .right {
    width: 90% !important;
    padding: 30px 20px 24px !important;
    margin: 0 auto 2rem auto !important;
  }
  .footer_top {
    /* padding-top: 50px !important; */
    /* padding-bottom: 50px !important; */
  }
  .footer_flex .tel {
    font-size: 3rem !important;
    background: url(../img/common/tel-color.svg) no-repeat left 15% top 1rem/2rem
      auto !important;
  }
  .table_simple th {
    padding: 1.2rem;
    font-size: 1.4rem;
    width: 10rem;
  }
  .table_simple td {
    padding: 1.2rem;
    font-size: 1.4rem;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .p-home-sec01 {
    padding: 4rem 0rem 4rem 0rem;
  }
  .c-heading01 {
    font-size: 7vw;
  }
  .home-works-area {
    padding: 0 0 1rem 0;
  }
  .home-feature {
    margin-top: 6rem;
    padding: 0 0 1rem 0;
  }
  .home-shop .p-home-sec02__ttl {
    font-size: 2rem;
  }
  .footer_text {
    font-size: 14px;
    padding: 0 5vw;
  }
  .l-page-cover__ttl::before {
    display: none;
  }
  .project_inner {
    flex-direction: column;
  }
  .sec05 .project_inner .item {
    width: 100%;
    padding: 2rem;
    background-color: #fff;
    border-radius: 1vw;
  }
  .p-service-sec05 .project_inner .item {
    width: 100%;
  }
  .p-company-sec03 .cont .btm__item:first-child {
    margin-top: 0rem;
  }
  .p-company-sec03 .cont__btm {
    padding-top: 0rem;
  }
  .recruit_staff .staff_list {
    flex-direction: column;
  }
  .recruit_staff .staff_list li {
    width: 100%;
    margin: 0 0 3rem 0;
  }
}

.scheduleWrap {
  display: flex;
  margin-bottom: 4rem;
  align-items: center;
}
.scheduleWrap .left {
  width: 51%;
  margin-right: 3%;
}
.scheduleWrap .right {
  width: 50%;
}

.schedule_pic01 {
  width: 90%;
  border-radius: 10px;
  overflow: hidden;
}

.schedule_pic02 {
  width: 52.6%;
  margin-left: auto;
  margin-top: -75px;
  border-radius: 10px;
  overflow: hidden;
}

.programList {
  margin-top: 5rem;
  position: relative;
  z-index: 1;
  margin-bottom: 8rem;
}
.programList::after {
  content: "";
  display: none;
  width: 1200px;
  height: 1000px;
  background: #fff;
  position: absolute;
  top: 0;
  left: -35px;
  z-index: -1;
  border-radius: 50%;
}

.programItem {
  display: flex;
  align-items: center;
}
.programItem + .programItem {
  margin-top: 30px;
}
.programItem:nth-child(odd) {
  flex-direction: row-reverse;
}
.programItem:nth-child(odd) .program_pic {
  margin-right: 3%;
}
.programItem:nth-child(even) .program_pic {
  margin-left: 3%;
}

.program_body {
  width: 46%;
  padding-bottom: 13px;
  line-height: 1.7;
}

.program_ttl {
  font-size: 18px;
}
.program_ttl span {
  background: linear-gradient(transparent 80%, #fcffa7 80%);
  font-weight: 500;
}

.program_text {
  margin-top: 15px;
  /*  font-weight: 500;*/
}

.program_pic {
  border-radius: 10px;
  overflow: hidden;
  width: 51%;
}

.schedule_btn {
  margin-top: 45px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1168px) {
  /*
  .programItem {
    align-items: flex-start;
  }
*/
}
@media screen and (max-width: 767px) {
  .p-home-sec02__inner {
    padding-top: 5rem;
  }
  .about_body {
    width: calc(100% - 15px);
    min-height: 0px;
    margin-top: -60px;
  }
  .aboutBox {
    flex-direction: column-reverse !important;
  }
  .aboutBox:nth-child(odd) .about_body {
    padding: 70px 0 40px 20px;
    border-radius: 20px 0 0 20px;
  }
  .aboutBox:nth-child(even) .about_body {
    padding: 70px 20px 40px 0px;
    border-radius: 0px 20px 20px 0px;
  }
  .about_ttl {
    font-size: 19px;
    max-width: 100%;
    padding-top: 28px;
  }
  .about_ttl::before {
    height: 70px;
  }
  .aboutBox:nth-child(2) .about_ttl {
    padding-top: 40px;
  }
  .about_text {
    max-width: 100%;
    margin-top: 0;
  }
  .aboutBox:nth-child(odd) .about_pic img {
    border-radius: 0 7px 7px 0;
  }
  .about_btn {
    margin-top: 40px;
  }
  .about_pic {
    width: 90%;
    max-width: 690px;
    margin: 0;
  }
  .aboutBox:nth-child(odd) .about_body {
    margin-left: auto;
  }
  .aboutBox:nth-child(even) .about_pic {
    margin-left: auto;
  }
  .home-mv__catch img {
    max-width: 90vw;
  }
  .sec05 {
    margin-top: 40px;
  }
  .scheduleWrap {
    flex-direction: column;
    margin-bottom: 20px;
  }
  .scheduleWrap .left {
    width: 100%;
    margin-right: 0;
  }
  .scheduleWrap .right {
    width: 50%;
    margin-top: 3rem;
  }
  .scheduleWrap .left img,
  .scheduleWrap .right img {
    border-radius: 10px;
  }
  .schedule_pic01,
  .schedule_pic02,
  .program_pic {
    border-radius: 7px;
  }
  .programList {
    margin-top: 65px;
  }
  .programList::after {
    width: 800px;
    height: 800px;
    left: -275px;
    top: 80px;
  }
  .programItem {
    flex-direction: column-reverse !important;
  }
  .programItem + .programItem {
    margin-top: 50px;
  }
  .program_pic {
    width: 100%;
    margin: 0;
  }
  .program_body {
    width: 100%;
    margin-top: 20px;
    padding-bottom: 0;
  }
  .program_ttl {
    font-size: 17px;
  }
  .program_text {
    margin-top: 10px;
  }
  .programItem {
    flex-direction: column-reverse !important;
    position: static;
  }
  .program_body {
    margin: -50px 0px 0 auto;
  }
  h3.program_ttl {
    padding: 0 0 10px 70px;
  }
  .programItem.right .program_body {
    padding: 60px 10% 60px 4%;
  }
  .program_body {
    width: 100%;
    margin: -50px 0px 0 auto;
  }
  h3.program_ttl {
    padding: 10px 0 20px 70px;
  }
  .programItem {
    display: flex;
    align-items: center;
  }
  .inner {
    position: relative;
  }
  .programItem.right .program_body {
    padding: 60px 10% 60px 4%;
  }
  h3.program_ttl {
    padding: 0 0 10px 70px;
  }
  .programItem.right .program_ttl {
    position: relative;
    font-size: 29px;
    padding: 5vw 0px 20px 70px;
    line-height: 1.8;
  }
  .programItem.right .program_body {
    padding: 70px 10% 50px 4%;
  }
  .programItem.right .program_ttl {
    font-size: 20px;
  }

  .p-service-sec05 table {
    border-collapse: collapse;
  }
  .p-service-sec05 table tr {
    display: table;
    width: 100%;
    text-align: center;
  }
  .p-service-sec05 table tr th {
    border-right: 1px solid #cecece;
    border-left: 1px solid #cecece;
  }
  .p-service-sec05 table tr td + td {
    border-left: 1px solid #cecece;
  }
  .p-service-sec05 table tr td:last-child {
    border-right: 1px solid #cecece;
  }
  .p-service-sec05 .note {
    line-height: 1.5;
    margin: 1.5rem 0 5rem 1.5rem;
  }

  .flowItem_pic_img {
    display: flex;
    align-items: center;
    max-width: 400px;
    margin: auto;
  }

  .flowItem_pic_img img {
    border-radius: 10px;
  }

  .flowItem_pic {
    min-height: 105px;
    display: flex;
    align-items: center;
    width: 150px;
    margin: auto;
  }

  .p-service-sec05 table tr {
    table-layout: fixed;
  }

  .c-table tr:last-child {
    border-bottom: 3px solid #5bbf9b;
  }

  .c-table tr {
    border-top: 3px solid #5bbf9b;
    display: grid;
    grid-template-columns: 1fr 2fr;
  }
  .programItem.left h3.program_ttl.service-icon_01 {
    padding: 0 0 0px 70px;
  }
  .programItem.right h3.program_ttl.service-icon_02 {
    padding: 10px 0px 30px 80px;
  }
  .programItem.left h3.program_ttl.service-icon_03 {
    padding: 10px 0px 30px 60px;
  }
  .programItem.right h3.program_ttl.service-icon_04 {
    padding: 10px 0 30px 80px;
  }
  .programItem.left h3.program_ttl.service-icon_05 {
    padding: 10px 0 10px 80px;
    margin-bottom: 2rem;
  }
}

/*追加*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  /*    margin: 8rem 0 0;*/
}
.slider2 img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider2 .slick-slide {
  margin: 0 0px; /*スライド左右の余白調整*/
}

/*top*/
/* .aboutBox:nth-child(odd) .about_pic {
  margin-right: -200px;
} */
.aboutBox:nth-child(odd) .about_body {
  border-radius: 60px 0 0 60px;
  padding: 60px 0 60px 10%;
}

.about_ttl::before {
  content: "";
  display: inline-block;
  width: 100px;
  height: 100px;
  background: no-repeat left center/contain;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
main.home .about_ttl::before {
  content: "";
  display: inline-block;
  width: 100px;
  height: 100px;
  background: no-repeat left center/contain;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  display: none;
}

.img_001 {
  max-width: 800px;
  margin: 0 auto;
}

img.img_001 {
  padding-top: 4rem;
}

section {
  margin-bottom: 0rem;
}

.map {
  margin: 0 auto;
  max-width: 1000px;
  padding: 2vw 0;
  position: relative;
}

iframe {
  height: 30rem;
  width: 100%;
}

ul.home-gallery__list img {
  border-radius: 5px;
}

section.sec03.bg_01 h2.c-heading01.c-heading01_center {
  padding-top: 5rem;
}





main.home article.home-news {
  background: #fff;
}

@media screen and (min-width: 768px) {
  /* .aboutBox:nth-child(odd) .about_pic {
    margin-right: -140px;
  } */
  .about_ttl::before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .about_pic {
    width: 100%;
  }
  .aboutBox:nth-child(odd) .about_body {
    padding: 60px 20px 40px 20px;
    border-radius: 0vw;
  }
  .about_body {
    width: calc(100%);
    min-height: 0px;
    margin-top: -60px;
  }
  .aboutBox:nth-child(odd) .about_text {
    padding-right: 0px;
  }
  .aboutBox:nth-child(odd) .about_ttl {
    padding-right: 0px;
  }
  .about_ttl::before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 230px;
    top: 40px;
    z-index: -1;
  }
}

/*波*/

.sec03,
.gallery {
  position: relative;
}
.sec03 {
  margin-top: 0rem;
}
.custom-shape-divider-top-1701395521 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-top-1701395521 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 16px;
}

.custom-shape-divider-top-1701395521 .shape-fill {
  fill: #ffffff;
}

.inner.inner_gallery {
  padding-top: 6rem;
  padding-bottom: 12rem;
}

h2.c-heading01.c-heading01_center {
  padding-top: 5rem;
}

h2.instagram_banner img {
  max-width: 700px;
  margin: 0 auto;
  padding: 3rem 0;
}

@media screen and (max-width: 767px) {
  .inner.inner_gallery {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  h2.c-heading01.c-heading01_center {
    padding-top: 2rem;
  }
}

/*illust*/

@media screen and (min-width: 768px) {
  .illust_01 {
    content: "";
    display: inline-block;
    width: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 56%;
    top: 42px;
    z-index: 1;
  }
  .illust_03 {
    content: "";
    display: inline-block;
    width: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 26%;
    top: 38px;
    z-index: 1;
  }
  .illust_02 {
    content: "";
    display: inline-block;
    width: 120px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 61%;
    top: 32px;
    z-index: 1;
  }
  .illust_04 {
    content: "";
    display: inline-block;
    width: 90px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 31%;
    top: 31px;
    z-index: 1;
  }
}

@media screen and (max-width: 767px) {
  .illust_01 {
    content: "";
    display: inline-block;
    width: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 65%;
    top: 70px;
    z-index: 1;
  }
  .illust_02 {
    content: "";
    display: inline-block;
    width: 90px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 73%;
    top: 22px;
    z-index: 1;
  }
  .illust_03 {
    content: "";
    display: inline-block;
    width: 100px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 1%;
    top: 30px;
    z-index: 1;
  }
  .illust_04 {
    content: "";
    display: inline-block;
    width: 90px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 6%;
    top: 18px;
    z-index: 1;
  }
}

@media screen and (min-width: 1168px) {
  .illust_01 {
    content: "";
    display: inline-block;
    width: 140px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 57%;
    top: 65px;
    z-index: 1;
  }
  .illust_02 {
    content: "";
    display: inline-block;
    width: 140px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 63%;
    top: 58px;
    z-index: 1;
  }
  .illust_03 {
    content: "";
    display: inline-block;
    width: 140px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 27%;
    top: 53px;
    z-index: 1;
  }
  .illust_04 {
    content: "";
    display: inline-block;
    width: 140px;
    background: no-repeat left center/contain;
    position: absolute;
    left: 31%;
    top: 20px;
    z-index: 1;
  }
}

/*サービス*/
/*PC*/

.box__title {
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
  padding-bottom: 2rem;
}
.box__inner {
  margin: 15px auto 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.box__inner__item {
  width: 48%;
  margin: 0 1%;
  padding: 20px;
  /*    border: 2px solid #f3ccb3;*/
  border-radius: 10px;
  background: #fff9f1;
}
.inner__title {
  text-align: center;
  /* background-color: #f3b3b3; */
  padding: 6px 0;
  margin-bottom: 15px;
  color: #303030;
  font-size: 2rem;
  font-weight: 500;
}
.box__inner__item.type2 {
  /*        border: 2px solid #5bbf9b;*/
  background: #e6f1f6;
}
.box__inner__item.type2 .inner__title {
  /* background-color: #c0e2a4; */
  color: #303030;
}
.t-m10 {
  margin-top: 10px;
}
p.inner__txt {
  text-align: center;
}
.inner_pageArea {
  margin: 5rem 0 8rem 0;
  background: #fff;
  border-radius: 10px;
  padding: 5rem;
  /*    box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);*/
}
.sec05 .project_area .project_inner .item .img img {
  display: block;
  margin: 0 auto 3rem auto;
  border-radius: 1vw;
}
.sec05 .project_inner .item {
  padding: 2rem;
  border-radius: 10px;
  background: #fff;
  box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);
}
.p-service-sec06 h2.c-heading01.c-heading01_center {
  padding-top: 60px;
}

h3.program_ttl::before {
  background: url(../img/home/service-icon_01.png) no-repeat;
  background-size: contain;
  width: 79px;
  height: 75px;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
}
h3.program_ttl.service-icon_01::before {
  background: url(../img/home/service-icon_01.png) no-repeat;
}
h3.program_ttl.service-icon_02::before {
  background: url(../img/home/service-icon_02.png) no-repeat;
}
h3.program_ttl.service-icon_03::before {
  background: url(../img/home/service-icon_03.png) no-repeat;
}
h3.program_ttl.service-icon_04::before {
  background: url(../img/home/service-icon_04.png) no-repeat;
}
h3.program_ttl.service-icon_05::before {
  background: url(../img/home/service-icon_05.png) no-repeat;
}

h3.program_ttl {
  position: relative;
  font-size: 29px;
  padding: 0 0 40px 70px;
  line-height: 1.8;
}

section#sec04 .sub-price__box {
  box-shadow: none;
}
.page-id-2358 h3.program_ttl::before {
  display: none;
}

.page-id-2358 h3.program_ttl {
  font-size: 29px;
  padding: 0;
}

.programList::after {
  display: none;
}

.program_pic {
  border-radius: 10px;
  overflow: hidden;
  width: 51%;
  float: left;
  max-width: 500px;
  width: 63%;
  margin: 0 0px 0 0;
  z-index: 1;
  margin-right: -7%;
}

.program_body {
  width: 46%;
  padding-bottom: 13px;
  line-height: 1.7;
  width: 100%;
  margin: 0 0 0 auto;
  background: #fff;
  padding: 40px 4% 60px 10%;
  border-radius: 60px;
  z-index: 0;
  box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%);
}
.programItem.right .program_body {
  padding: 17% 10% 50px 4%;
}
.programItem .program_pic {
  margin-right: -6%;
}
.programItem.right .program_pic {
  margin-left: -6%;
  margin-right: 0;
}

.programItem.left .program_pic {
  margin-right: -6%;
}

.programItem + .programItem {
  margin-top: 60px;
}

section#schedule {
  background: #fff;
  margin-bottom: 8rem;
}

section#sec04 {
  background: #fbf9f7;
}

section#sec04 .sub-price__box {
  background-color: #fbf9f7;
  /* box-shadow: 1px 0px 15px 5px rgb(196 196 196 / 10%); */
}

section#sec04 .sec05__inner {
  padding-top: 0rem;
  padding-bottom: 4rem;
  margin-top: 6rem;
}

article.home-news {
  padding-top: 1rem;
}

@media screen and (min-width: 1168px) {
  .programList::after {
    content: "";
    display: none;
    width: 1156px;
    height: 1368px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -35px;
    z-index: -1;
    border-radius: 40%;
  }
  .programList::after {
    content: "";
    display: none;
    width: 1200px;
    height: 1600px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -35px;
    z-index: -1;
    border-radius: 50%;
  }
  .programItem.right .program_body {
    padding: 5% 10% 50px 4%;
  }
  h3.program_ttl {
    font-size: 29px !important;
    padding: 0 0 40px 70px !important;
  }
  h2.instagram_banner img {
    max-width: 700px !important;
  }
}

/*TAB*/
@media screen and (min-width: 768px) {
  .page-id-2358 h3.program_ttl {
    font-size: 20px;
    padding: 0 0 20px 0px !important;
  }
  h3.program_ttl {
    font-size: 20px;
    padding: 0 0 10px 70px;
  }
  h3.program_ttl.service-icon_02::before,
  h3.program_ttl.service-icon_03::before,
  h3.program_ttl.service-icon_04::before,
  h3.program_ttl.service-icon_05::before {
    top: -18px;
  }
  h2.instagram_banner img {
    max-width: 480px;
  }
}

/*SP*/
@media screen and (max-width: 767px) {
  .programList::after {
    width: 830px;
    height: 1670px;
    left: -275px;
    top: 80px;
    border-radius: 50%;
  }
  .box__inner__item {
    width: 100%;
    margin: 0 1%;
    padding: 20px;
  }
  .inner_pageArea {
    margin: 6rem 0 0rem 0;
    border-radius: 10px;
    padding: 5vw;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
  }
  .box__title {
    font-size: 5.5vw;
    text-align: center;
    line-height: 1.3;
    padding-bottom: 3rem !important;
  }
  .box__inner__item {
    width: 100%;
    padding: 4vw;
  }
  .inner__title {
    text-align: center;
    padding: 6vw 0 2vw;
    margin-bottom: 4vw;
  }
  p.inner__txt {
    padding: 1vw 2vw 6vw;
    font-size: 4.5vw;
  }
  .t-m10 {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 4.5vw;
  }
  .box__inner__item.type2 {
    margin: 4vw 0 0;
  }
  .inner_pageArea {
    margin: 2rem 0 3rem 0;
  }
  .pageArea__box {
    margin: 6vw 0 4vw;
  }
  .home-center__container.-service {
    margin: 2rem 0 4rem 0;
    padding: 0rem 1rem;
  }
  li.programItem:last-child {
    margin-bottom: 12vw;
  }
  .sub-price__box {
    border-radius: 10px;
  }
  .p-service-sec06 {
    background: #fbf9f7;
  }
  .txt {
    font-size: 4.5vw;
  }
  .program_ttl {
    font-size: 6vw;
  }
  .program_text {
    margin-top: 1rem;
    font-weight: normal;
    font-size: 4.5vw;
  }
  .note_txt01 {
    font-size: 4.5vw;
  }
  h3.program_ttl {
    font-size: 20px;
  }
  .scheduleWrap .right {
    width: 100%;
    margin-top: 3rem;
  }
  .program_pic {
    width: 100%;
  }
  .program_body {
    width: 100%;
    margin: 0 0 0 auto;
    background: #fff;
    padding: 20% 4vw 40px 4vw;
    border-radius: 10px;
  }
  .programItem.left .program_pic,
  .programItem.right .program_pic {
    margin: 0 auto -15% auto;
    width: 90%;
    margin-right: 0;
    margin-left: 0;
  }
  .programItem.right .program_body {
    padding: 60px 10% 60px 4%;
  }
  .programItem.left h3.program_ttl.service-icon_03 {
    padding: 0px 0px 30px 60px;
  }
  .programItem.right .program_body {
    padding: 70px 10% 50px 4%;
  }
}

/*concept*/
.page.page-id-2358 .programList::after {
  display: none;
}
.page-id-2358 p.program_text {
  text-align: left;
}
.page-id-2358 .program_ttl {
  font-size: 18px;
  text-align: left;
}
.page-id-2358 .programItem .program_body {
  padding: 40px 40px 60px 90px;
  box-shadow: none;
}
.page-id-2358 .programItem .program_pic {
  margin-right: -5%;
  width: 100%;
}
.flowItem_pic img {
  width: 150px;
  margin: 0 auto;
}

section.sec03.bg_02 {
  background: #fbf9f7;
  margin-top: 6rem;
}

.bg_02 {
  background: #fbf9f7;
}

/*company*/
.company_img {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
  padding: 4rem 0 4rem;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
}
.company_img img {
  width: 420px;
  border-radius: 10px;
}
.p-company-sec02 .philosophy p {
  text-align: left;
  margin: 2rem 0 3rem 0;
}
.table_simple th {
  padding: 2rem;
  background: #41a151;
  width: 25rem;
}
.c-table tr {
  border-bottom: 1px solid #5bbf9b;
  border-top: none;
}
.c-table tr:last-child {
  border-bottom: 1px solid #fbf9f7;
}

section.p-company-sec01 .c-flexbox01 {
  display: flex;
  align-items: center;
}

.greeting-txt.txt {
  letter-spacing: 0.06em;
  line-height: 2.4rem;
  margin: 0 auto;
  background-color: #fbf9f7;
  border-radius: 10px;
}

.p-company-sec02 .philosophy p {
  text-align: left;
  margin: 2rem 0 3rem 0;
  padding: 4rem;
}

.sub-shop__box.p-company-sec02__inner.inner {
  background: #fbf9f7;
}

/*
.page-id-14 main.sub {
    background-color: #fbf9f7;
}
*/

.sub-shop__box.p-company-sec02__inner.inner.bg_01 {
  background: #ffffff;
  border-radius: 10px;
}

section#company_profile {
  background: url(../img/common/bg002.jpg);
}

.c-flexbox01.cont__item.item {
  margin: 4rem 0;
  display: flex;
  align-items: center;
}

section#greeting {
  padding-bottom: 5rem;
  background: #fff;
}
.greeting-txt.txt {
  background-color: #fff;
  border-radius: 10px;
}

.sub-shop__box.p-company-sec02__inner.inner {
  background: #fbf9f7;
  border-radius: 10px;
  padding: 7rem 4rem 1rem;
  background: #e9f5ff;
}

.c-flexbox01__head img {
  border-radius: 10px;
}
.home-center__img img {
  border-radius: 10px;
}
/*
.philosophy .c-heading02 {
    border-bottom: 3px solid #5bbf9b;
}
*/

/*PC*/
@media screen and (min-width: 1168px) {
  .p-home-sec01 .p-home-sec01__box h2.c-heading01.c-heading01_center {
    padding-top: 3rem;
  }
  .p-home-sec03__inner h2.c-heading01.c-heading01_center {
    padding-top: 2rem;
  }
  .p-home-sec01__btn-wrap {
    padding-bottom: 5rem;
  }
  .tel_text {
    margin-bottom: 6px !important;
    margin: 1rem 0rem !important;
  }
  .footer_flex .tel_text .text02 {
    font-size: 18px !important;
  }
  .footer_flex .tel_text .text03 {
    font-size: 16px !important;
  }

  .p-home-sec01__box {
    padding: 3rem 6rem 3rem 6rem !important;
  }
}

/*TAB*/
@media screen and (min-width: 768px) {
  section#schedule {
    margin-bottom: 6rem;
  }
  .programItem.right .program_body {
    padding: 5% 10% 50px 4%;
  }
  .header__nav {
    margin-right: 4rem !important;
  }
  .inner.news h2.c-heading01.c-heading01_center {
    padding-top: 2rem !important;
  }
}

/*SP*/
@media screen and (max-width: 767px) {
  a.header-sp__logo {
    height: 10vw;
    width: auto;
    margin-top: 2vw;
    margin-left: 3vw;
  }
  a.header-sp__logo img {
    width: auto;
    height: 100%;
    display: block;
  }
  .footer__logo {
    width: 250px;
  }
  section.p-company-sec01 .c-flexbox01 {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .p-company-sec02 .philosophy span {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 3rem;
  }
  .p-company-sec02 .philosophy p {
    padding: 2rem;
  }

  .company_img {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 0 2rem;
  }
  .table_simple th {
    padding: 1rem;
    width: 9rem;
    font-size: 1.2rem;
  }
  .c-flexbox01.cont__item.item {
    margin: 4rem 0;
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .sub-shop__box.p-company-sec02__inner.inner {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-bottom: 1vw;
  }
  section#greeting .p-company-sec01__inner.inner {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .p-company-sec02 .philosophy p {
    padding: 5vw;
  }
  .p-company-sec02 .cont .item02__map .sub-single img {
    margin: 0;
  }
  .p-company-sec02 .cont .item02__map {
    margin: 0;
  }
  .page-id-2358 .programItem .program_body {
    padding: 5vw;
    box-shadow: none;
  }
  .page-id-2358 h3.program_ttl {
    font-size: 6vw;
    padding: 0;
  }
  .page-id-2358 .programItem .program_pic {
    margin-right: 0;
    width: 100%;
  }
  main.home article.home-news {
    background: #fff;
  }
  .sec05 .project_area {
    padding-top: 0rem;
    margin-bottom: 7rem;
    margin-top: 2rem;
  }
  .inner_pageArea {
    margin: 2rem 0 3rem 0;
    margin-bottom: 22vw;
  }
  section#schedule {
    margin-bottom: 0rem;
    border-radius: 10px;
  }
  .tel_text {
    margin: 1rem !important;
  }
}

section.sub-service.sub-bg {
  padding-bottom: 0rem;
}

.c-card__ttl {
  font-weight: 500;
}

.sec05 .project_area {
  padding-top: 5rem;
  margin-bottom: 7rem;
}

.home-center__container.-service {
  max-width: 1120px;
  margin: 0 auto;
  margin-top: 5rem;
  margin-bottom: 4rem;
}

.page-id-2360 .sec05 h2.c-heading01.c-heading01_center {
  padding-top: 0rem;
}

.header__time_contents {
  position: relative;
  top: 0.2rem;
}
.header__time {
  padding-bottom: 0.4rem;
  margin-left: 0;
}

.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*    margin: 0.3rem;*/
  /* position: relative; */
  top: 0;
  align-items: center;
}
.header__tel {
  font-size: 2.5rem;
  font-weight: 700;
  position: relative;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  text-shadow: 0 0 10px #fff;
  color: #5bbf9b;
}
.entry-content {
  margin-top: 15px;
}
.entry-content a {
  padding: 15px 15px 15px 30px;
  font-weight: bold;
  font-size: 18px;
  text-decoration: underline;
  color: #303030;
  position: relative;
  padding-left: 30px;
  display: block;
}
.entry-header {
  margin-top: 40px;
}
#evaluation .sub-shop__box.js-fadeUp.is-inview-mv.p-company-sec02__inner.inner {
  padding-top: 30px;
  padding-bottom: 60px;
  background: none;
}
.pdf-icon {
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 20px;
  background-image: url(../img/sub/archive/pdf.png);
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: -4px;
}

/*----ステップホーム様----*/
/*---br管理--*/
/*---スマホ時改行--*/
@media screen and (max-width: 480px) {
  .pc-br {
    display: none;
  }
  .tb-br {
    display: none;
  }
  .sp-br {
    display: block;
  }
}
/*---タブレット時改行--*/
@media screen and (min-width: 481px) and (max-width: 1020px) {
  .pc-br {
    display: none;
  }
  .tb-br {
    display: block;
  }
  .sp-br {
    display: none;
  }
}
/*---PC時改行--*/
@media screen and (min-width: 1021px) {
  .pc-br {
    display: block;
  }
  .tb-br {
    display: none;
  }
  .sp-br {
    display: none;
  }
}

/*スライド*/
.xslider_wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
  margin-top: 5rem;
  /*
	background: #e2ffc4;
	box-shadow: 0 2px 5px #999;
*/
}

.xslider1,
.xslider2 {
  display: inline-flex;
  flex: none;
  animation: xslider 30s 2s linear infinite;
}

/*
.xslider_wrap:hover div {
	animation-play-state: paused!important;
}
*/

.xslider1 div,
.xslider2 div {
  flex: none;
  /*	padding: 10px;*/
}

/*
.xslider1 div:hover , .xslider2 div:hover {
	transform: translateY(-5px);
}
*/

@keyframes xslider {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.xslider_wrap img {
  width: 300px;
}

.sec03 .sec_inner.inner {
  margin-top: 6rem;
  /*    background: #fff;*/
  border-radius: 10px;
  padding-bottom: 6rem;
}

.flowItem_pic_img img {
  border-radius: 10px 10px 0 0;
}

/*特徴アイコン*/
.features_contents {
  text-align: center;
  display: flex;
  gap: 3rem 3rem;
  margin: 0 auto;
  margin-top: 4rem;
  margin-bottom: 8rem;
  flex-wrap: wrap;
  justify-content: center;
}
.feature-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 10px;
  border-radius: 50px;
  background: #5bbf9b;
  position: relative;
  margin-bottom: 2rem;
  width: 100%;
}
.feature-ttl::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: #5bbf9b transparent transparent transparent;
}
.features_icon {
  background: #fff;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
  width: 30vw;
  max-width: 353px;
}
.features_icon_img {
  max-width: 130px;
}
.features_icon_txt {
  font-size: 2rem;
  margin: 2rem 0 1rem;
  font-weight: 700;
  color: #303030;
  line-height: 1.5;
}
.features_icon_txt span {
  font-size: 14px;
  display: block;
  margin: 0 0 1rem;
}
.features_link {
  transition-duration: 0.2s;
}
.features_link:hover {
  opacity: 0.6;
  transform: scale(1.1);
}
.company_grid {
  display: grid;
  grid-template-columns: 40% 56%;
  gap: 4rem;
  margin-top: 3rem;
}
.company_table01 .table_simple th {
  width: 17rem;
}
.company_table01 {
  padding-bottom: 0;
}

/*横並び*/
@media screen and (max-width: 767px) {
  .features_icon_img {
    max-width: 80px;
    margin: 1rem;
  }
  .features_icon_txt {
    font-size: 1.8rem;
    margin: 0;
    text-align: left;
  }
  .features_icon {
    display: flex;
    align-items: center;
    background: #fff;
    width: 100%;
  }
  .features_contents {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4vw;
    margin: 0 auto;
    margin-top: 2rem;
    margin-bottom: 5rem;
  }
}

.service_contents .about_pic {
  width: 50%;
  position: relative;
  z-index: 1;
  margin-top: 60px;
}

.service_contents .about_body {
  background-color: #fff;
  width: 40%;
  min-height: 32vw;
  background: none;
}
.service_contents .aboutBox:nth-child(even) .about_body {
  border-radius: 0px 30px 30px 0px;
  padding: 60px 0% 60px 0px;
  text-align: left;
  position: relative;
}

.service_contents .aboutBox:nth-child(even) .about_body::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url(../img/home/ill02.png);
  width: 200px;
  height: 200px;
  background-size: contain;
  background-repeat: no-repeat;
}

.service_contents .about_p {
  width: 50%;
  position: relative;
  z-index: 1;
  margin-top: 60px;
}
.service_contents .aboutBox:nth-child(odd) .about_body {
  border-radius: 60px 0 0 60px;
  padding: 60px 0 60px 0%;
  text-align: left;
  position: relative;
}
.service_contents .aboutBox:nth-child(even) .about_ttl {
  padding-left: 0;
}
.service_contents .aboutBox:nth-child(even) .about_text {
  padding-left: 0;
}
main.home .service_contents {
  margin-bottom: 0rem;
}

main.home .service_contents p {
  text-align: left;
}

@media screen and (max-width: 767px) {
  .aboutBox:nth-child(odd) .about_pic {
    margin-right: 0;
  }
  .service_contents .about_pic {
    width: auto;
    position: relative;
    z-index: 1;
    margin-top: 0;
  }
  .service_contents .about_body {
    width: auto;
  }
  .service_contents .aboutBox:nth-child(odd) .about_body {
    padding: 60px 0 0 0%;
    margin-left: 0;
  }
  .aboutBox + .aboutBox {
    margin-top: 30px;
  }
  .service_contents .aboutBox:nth-child(even) .about_body {
    padding: 60px 0% 0 0px;
  }
  main.home .sec03 {
    padding-bottom: 0;
  }
  main.home .sec03 .sec_inner.inner {
    margin-top: 2rem;
    padding-bottom: 3rem;
    padding-top: 4rem;
  }
  .footer_flex .tel_text .text02 {
    font-size: 14px;
  }
  .footer_flex .tel_text .text01 {
    font-size: 13px;
  }
  .l-page-cover {
    border-radius: 0 0 10px 0;
    /* height: 150px; */
  }
}

/*特徴*/
.column03_service {
  text-align: center;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
.column03_service.-group {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
}
.column03_service.-group img {
  border-radius: 10px 10px 0 0;
}
.service_contents {
  margin-bottom: 14rem;
}
.service_contents p {
  line-height: 1.7;
  letter-spacing: 0.06em;
  margin-top: 4rem;
  text-align: center;
  z-index: 1;
  position: relative;
}
.text {
  line-height: 1.7;
  margin-bottom: 3rem;
  padding: 0 20px;
}
.service_contents .c-heading01_center {
  text-align: center;
  margin-bottom: 1.5rem;
}
.service_contents h4 {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.06em;
  margin-bottom: 2rem;
}
.service_contents#bath .img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2%;
}

.body {
  padding: 0 20px;
  text-align: left;
}
.ttl {
  font-size: 120%;
  font-weight: 500;
  padding: 10px 20px;
}
.service_contents#lifestyle .column03_service.-group {
  margin-bottom: 2rem;
}

/*table*/
.table_design09 {
  border-collapse: collapse;
  table-layout: auto;
  width: 100%;
  max-width: 700px;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  margin: 0 auto;
}
.table_design09 tr {
  background-color: #e6f1f6;
}
.table_design09 tr:nth-child(even) {
  background-color: #fff;
}
.table_design09 th,
.table_design09 td {
  padding: 1em;
}
.table_design09 thead th {
  background-color: #5bbf9b;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.table_design09 tbody th {
  color: #5bbf9b;
}

.p-service-sec01__txt {
  line-height: 1.5;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 6rem;
}
.page_link {
  background: #fbf9f7;
  padding: 2rem;
  border-radius: 10px;
  font-weight: 500;
  background: linear-gradient(135deg, #5bbf9b 0%, #fcd68d 100%);
  transition-duration: 0.2s;
}
.page_link:hover {
  opacity: 0.6;
  transform: scale(1.05);
  transition-duration: 0.2s;
}
.img img {
  border-radius: 10px;
}

.page_link:nth-child(odd) {
  background: #5bbf9b;
  color: #fff;
}
.page_link:nth-child(even) {
  background: #9ed700;
  color: #fff;
}
.service_contents#building .column03_service,
.service_contents#care .column03_service {
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.care_contents {
  display: flex;
  gap: 20px;
}
.text_01 h4 {
  text-align: left;
}
.text_01 p {
  text-align: left;
}
.service_contents#care .column03_service {
  margin-bottom: 4rem;
}

.service_contents#building .body span {
  display: block;
  background: #ffe9ac;
  padding: 1rem;
  margin: 1rem;
  border-radius: 10px;
  text-align: center;
}
.box__title span {
  font-size: 70%;
  display: block;
  margin-top: 1rem;
}
.box__inner__item li {
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
}

.service_contents .icon_img {
  width: 100px;
  margin: 0 auto;
  margin-bottom: 2rem;
}
.note_01 {
  text-align: center;
  margin-bottom: 4rem;
}
.body ul {
  list-style-type: square;
  list-style-position: inside;
}

.icon_img {
  width: 100px;
  margin: 0 auto;
  margin-bottom: 0;
}
.sec05#bath .c-heading01 span,
.sec05#building .c-heading01 span {
  color: #5bbf9b;
}

.sec05 .sub-shop__box.p-company-sec02__inner.inner.bg_01 {
  margin: 3rem 0 8rem;
}

@media screen and (max-width: 787px) {
  .table_design09 {
    border-radius: 0;
    text-align: left;
  }
  .table_design09 thead {
    display: none;
  }
  .table_design09 tr {
    background-color: unset;
  }
  .table_design09 th,
  .table_design09 td {
    display: block;
    border: 0;
    border-bottom: 1px solid #5bbf9b;
  }
  .table_design09 tbody th {
    background: #5bbf9b;
    color: #fff;
    text-align: center;
  }
  .table_design09 td::before {
    content: attr(data-label);
    background-color: #e6f1f6;
    font-weight: bold;
    display: inline-block;
    width: 20%;
    min-width: 4em;
    text-align: center;
    margin-right: 0.5em;
    padding: 4px;
    border-radius: 100vh;
  }
  .service_contents#bath .img {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2%;
  }
  .sec05#care {
    margin: 4rem 0;
  }
  .p-service-sec06#day1 .inner {
    padding: 4rem 5vw;
  }
}

/*1日の流れ*/
.schedule {
  position: relative;
  font-size: 100%;
  margin-bottom: 4rem;
  text-align: left;
  line-height: 1.7;
  margin-top: 2rem;
}
.schedule::before {
  position: absolute;
  background-color: #f7e5de;
  content: "";
}

.schedule ul {
  padding: 0px;
  margin: 0px;
  list-style: none;
}

.schedule li {
  position: relative;
}

.schedule_time {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 5em;
  height: 2em;
  border-radius: 6px;
  background-color: #5bbf9b;
  color: #fff;
  text-align: center;
}
.schedule_time::before {
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  z-index: -1;
  background-color: #5bbf9b;
  content: "";
}
.schedule_time::after {
  position: absolute;
  width: 1em;
  height: 1em;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: #fbf7ef;
  content: "";
}

.schedule_content_title {
  font-weight: bold;
}

@media screen and (max-width: 991.98px) {
  .schedule::before {
    top: 0px;
    left: 6.5em;
    width: 6px;
    height: 100%;
  }
  .schedule li {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .schedule li + li {
    margin-top: 2em;
  }
  .schedule_time::before {
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
  }
  .schedule_time::after {
    top: 50%;
    left: 6em;
    transform: translateY(-50%);
  }
  .schedule_content {
    margin: 0px 0px 0px 3em;
    width: calc(100% - 10em);
  }
}
@media screen and (min-width: 992px) {
  .schedule::before {
    top: 3.5em;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    height: 5px;
  }
  .schedule ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0px -10px;
  }
  .schedule li {
    margin: 0px 10px;
    width: calc(12.5% - 20px);
  }
  .schedule_time {
    margin: 0px auto;
  }
  .schedule_time::before {
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%) translateY(50%) rotate(45deg);
  }
  .schedule_time::after {
    top: 3.5em;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .schedule_content {
    margin: 3em 0px 0px;
  }
  .schedule_content_title {
    text-align: center;
  }
  .schedule_content_detail {
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .sub-reserve-faq__box {
    background-color: #fff;
    box-shadow: none;
  }
  .sub-price__box {
    margin-top: 0vw;
    padding-bottom: 0;
    padding-top: 12vw;
  }
  .p-service-sec06 {
    padding-bottom: 4rem;
  }
  .sub-price__box {
    border-radius: 10px;
    padding-top: 0rem;
  }
  .service_contents#building .column03_service,
  .service_contents#care .column03_service {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .body {
    padding: 0;
    text-align: left;
  }
  .column03_service {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .service_contents {
    margin-bottom: 6rem;
  }
  .service_contents h4 {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .page_link {
    background: #fbf9f7;
    padding: 2rem;
    margin-bottom: 1rem;
    border-radius: 10px;
  }
  .p-service-sec01__txt {
    line-height: 1.5;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .box__inner__item li {
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: left;
    padding-bottom: 10px;
  }
}

/*施設概要*/
.p-company-sec02 .philosophy .name {
  text-align: right;
  font-size: 140%;
}
.p-company-sec02 .philosophy p.name span {
  font-size: 70%;
  margin-right: 2rem;
}
.page-id-14 h2.c-heading01.c-heading01_center {
  padding-top: 0;
  margin: 0 0 4rem;
}
.c-table_g {
  display: flex;
  flex-direction: row-reverse;
}

.page-id-14 .home-center__container.-service {
  flex-direction: column;
}

.page-id-14 .item02__map {
  margin: 4rem 0 0;
}
.p-company-sec02__cont .cont__item.cont__item02.item02 {
  margin: 4rem 0 0;
}
.sub-shop__box.p-company-sec02__inner.inner.bg_01 {
  background: #ffffff;
  border-radius: 10px;
  margin: 0 0 8rem;
}

@media screen and (max-width: 767px) {
  .c-table_g {
    display: flex;
    flex-direction: column-reverse;
  }
  .c-flexbox01.cont__item.item {
    margin: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .p-company-sec02 .philosophy p {
    margin: 2rem 0 0rem 0;
  }
}

/*サービス*/
.page-id-2358 .p-service-sec01__txt {
  line-height: 1.5;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.flow04 {
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
  margin-top: 3rem;
}

.flow04 > li {
  list-style-type: none;
  width: calc(100% / 4);
  display: flex;
}

.flow04 > li .icon04 {
  line-height: 2;
  width: 2em;
  height: 2em;
  text-align: center;
  color: #fff;
  background: #5bbf9b;
  margin: 0 auto 10px;
  display: block;
  border-radius: 100vh;
  position: relative;
}

.flow04 > li .icon04::before {
  content: "";
  border: solid transparent;
  border-width: 7px;
  border-top-color: #5bbf9b;
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow04 > li dl {
  padding: 20px 20px;
  margin: 0;
  border: 3px solid #fbf7ef;
  position: relative;
}

.flow04 > li:not(:first-child) dl::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  display: inline-block;
  border-top: 4px solid #5bbf9b;
  border-right: 4px solid #5bbf9b;
  position: absolute;
  top: calc(50% - 14px);
  left: -45px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.flow04 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: #5bbf9b;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-bottom: 1rem;
  text-align: center;
  line-height: 1.5;
}

.flow04 > li dl dd {
  margin-left: 0;
  line-height: 1.6;
  text-align: left;
}
.icon_img_time {
  padding: 1rem 1rem 3rem;
}

.sec05#blooming .xslider_wrap {
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  .flow04 {
    gap: 20px;
  }
  .flow04 > li {
    max-width: unset;
    display: block;
  }
  .flow04 > li:not(:first-child) dl::before {
    display: none;
  }

  .page-id-2358 .p-service-sec01__txt {
    line-height: 1.5;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .flow04 > li {
    /*     width: auto; */
    width: 100%;
    display: flex;
  }
  .flow04 > li dl {
    width: 100%;
    padding: 20px 18px 30px;
  }
}

/*top news*/
.news {
  position: relative;
}
.news .p-home-sec01__box {
  padding: 20px 20px 20px 30px !important;
  display: flex;
  align-items: center;
  gap: 4%;
  background: #fff;
}
.news h2.c-heading01.c-heading01_center {
  font-size: 2rem;
  padding-top: 0;
  color: #303030;
}
.news .c-heading01 span {
  font-size: 1.6rem;
  margin-top: 0.8rem;
  display: inline;
  padding-left: 1rem;
}
.news .p-home-sec01__btn-wrap {
  padding-top: 0;
  text-align: left;
  justify-content: flex-start;
  -webkit-box-pack: center;
}

.news_more {
  display: inline-block;
  color: #23232a;
  font-size: 90%;
  text-decoration: none;
  position: relative;
  transition: 0.3s;
}
.news_more::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 0;
  height: 1px;
  background-color: #5bbf9b;
  transition: 0.3s;
}
.news .p-home-sec01__cont {
  padding-top: 0rem;
}
.news .c-news__item {
  border-left: 1px solid #5bbf9b;
  padding: 0 20px;
  border-bottom: 0;
}
.c-news__data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-news__time {
  padding-right: 2rem;
}
.home-mv .slide-dots {
  display: none;
}
.slick-slide {
  display: none;
}
.news .p-home-sec01__btn-wrap {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .news {
    width: 70%;
    bottom: 70px;
  }
  .c-news__time {
    font-size: 1.2rem;
  }
  .c-news__ttl {
    margin-top: 0;
    font-weight: 500;
  }
  .c-news__ttl span {
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#5bbf9b),
        to(#5bbf9b)
      )
      0 100% / 0 1px no-repeat;
    background: linear-gradient(#5bbf9b, #5bbf9b) 0 100% / 0 1px no-repeat;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-news__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1.5rem 0;
  }
}

.p-home-sec01 {
  padding: 4rem 4rem 4rem 4rem;
}
.home-mv .slide-dots li {
  display: none;
}
@media screen and (min-width: 1168px) {
  .news {
    width: 70%;
    bottom: 200px;
  }
}

/*追加　TOP*/
.news .p-home-sec01__box {
  padding: 10px 20px 20px 30px !important;
  display: flex;
  align-items: center;
  gap: 4%;
  background: url(../img/common/bg002.jpg);
  background-size: cover;
  background-attachment: fixed;
  background: #fff;
}

.slick-dotted.slick-slider {
  margin-bottom: 0px;
}

.news {
  position: relative;
  bottom: 90px;
  width: 60%;
}

.news .p-home-sec01__cont {
  bottom: 0px;
  margin: 0rem;
}

.news_more::after {
  position: absolut;
  bottom: 0;
  left: 0;
  content: "";
  width: 0;
  height: 1px;
  background-color: #5bbf9b;
  transition: 0.3s;
}
.news_more:hover::after {
  width: 100%;
}

.news .c-heading01 span {
  font-size: 1.6rem;
  margin-top: 0.8rem;
  display: inline;
  padding-left: 1rem;
}

.news .c-news__item {
  border-left: 1px solid #5bbf9b;
  padding: 0 20px;
  border-bottom: 0;
}

.home .slick-slider .slick-track,
.home .slick-slider .slick-list {
  border-radius: 0;
  margin-left: auto;
  overflow: hidden;
  position: relative;
  /* width: calc(100% - 5.2vw); */
  bottom: 0;
}
.home-mv__slides {
  /* margin-left: 13vw; */
  border-radius: 0;
  overflow: hidden;
}

.home-mv__slides .slick-slide img {
  height: 100vh;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.sec05#bath .sec_inner__big,
.sec05#building .sec_inner__big {
  background-color: #fbf7ef;
}
.sec05#Commu .sec_inner__big {
  background-color: #fff;
}
main.home .sec04 h2.c-heading01.c-heading01_center {
  padding-top: 0;
}
main.home .gallery h2.c-heading01.c-heading01_center {
  padding-top: 0;
  text-align: left;
  font-size: 3rem;
}
main.home .home-news h2.c-heading01.c-heading01_center {
  padding-top: 5rem;
}

main.home .sec03.bg_01 .sec_inner.inner {
  margin-top: 0;
  border-radius: 10px;
  padding-bottom: 6rem;
  max-width: none;
}

.banner_link:hover {
  opacity: 0.6;
  transform: scale(1.05);
  transition-duration: 0.2s;
}

/*illust*/
img.gallery_illust {
  width: 40px;
  display: inline-block;
  margin: 0 10px 0 0;
  position: relative;
  top: 8px;
}

.illust_deco01 {
  position: absolute;
  top: 50px;
  left: 4%;
  width: 400px;
  opacity: 0.3;
}

.illust_deco02 {
  position: absolute;
  top: 50px;
  right: 4%;
  width: 400px;
  opacity: 0.3;
}

.p-home-sec01__box .illust_deco03 {
  position: absolute;
  top: 260px;
  left: -16%;
  width: 360px;
  opacity: 0.3;
}
.p-home-sec01__box .illust_deco04 {
  position: absolute;
  top: -60px;
  right: -15%;
  width: 300px;
  opacity: 0.3;
}
.p-home-sec01__box .illust_deco05 {
  position: absolute;
  top: 100px;
  right: -19%;
  width: 270px;
  opacity: 0.3;
}
.inner.p-home-sec03__inner .illust_deco03 {
  position: absolute;
  top: 130px;
  left: -16%;
  width: 360px;
  opacity: 0.3;
}
.inner.p-home-sec03__inner .illust_deco04 {
  position: absolute;
  top: -80px;
  right: -9%;
  width: 300px;
  opacity: 0.3;
}
.inner.p-home-sec03__inner .illust_deco05 {
  position: absolute;
  top: 100px;
  right: -19%;
  width: 270px;
  opacity: 0.3;
}

.nikoniko {
  width: 130px;
  position: absolute;
  top: 0;
  right: 0;
  animation: shake 10s infinite;
  transform: rotate(4deg);
}
.nikoniko2 {
  width: 130px;
  position: absolute;
  top: 0;
  right: 0;
  animation: shake2 10s infinite;
  transform: rotate(-4deg);
}

@keyframes shake {
  50% {
    transform: rotate(-4deg);
  }

  100% {
    transform: rotate(4deg);
  }
}

@keyframes shake2 {
  50% {
    transform: rotate(4deg);
  }

  100% {
    transform: rotate(-4deg);
  }
}

.illust_deco03 {
  position: absolute;
  top: 90px;
  left: -6%;
  width: 300px;
}
.illust_deco04 {
  position: absolute;
  top: -90px;
  right: -10%;
  width: 300px;
}
/*illust*/

main.home .item__inner {
  position: relative;
  max-width: 440px;
  height: 300px;
  background: #ffffffb3 center no-repeat;
  margin: 7rem;
  box-shadow: 0 0 4px -2px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
main.home .p-home-sec03 .item__ttl,
main.home .p-home-sec03 .item__txt {
  text-shadow: none;
}

@media screen and (min-width: 768px) {
  .news {
    width: 70%;
    bottom: 95px;
    left: 30%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1020px) {
  .home-mv__slide img {
    height: 100vh;
  }
  .home-mv__catch img {
    max-width: 550px;
    position: relative;
    top: 30px;
  }

  .news .p-home-sec01__box {
    padding: 10px 20px 10px 30px;
  }
  main.home .item__inner {
    position: relative;
    max-width: 440px;
    height: auto;
    background: #ffffffb3 center no-repeat;
    margin: 7rem;
    box-shadow: 0 0 4px -2px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
  }
  h2.c-heading01.c-heading01_center {
    padding-top: 2rem;
  }
  .aboutBox + .aboutBox {
    margin-top: 0;
  }
  .service_contents .aboutBox:nth-child(odd) .about_body {
    padding: 0;
  }
  .illust_deco01 {
    position: absolute;
    top: 10px;
    left: -9%;
    width: 400px;
    opacity: 0.3;
  }
  .illust_deco02 {
    position: absolute;
    top: 10px;
    right: -16%;
    width: 400px;
    opacity: 0.3;
  }
  .p-home-sec01__box .illust_deco03 {
    position: absolute;
    top: 120px;
    left: -16%;
    width: 200px;
    opacity: 0.3;
  }
  .p-home-sec01__box .illust_deco04 {
    position: absolute;
    top: -60px;
    right: -15%;
    width: 210px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco03 {
    position: absolute;
    top: 130px;
    left: -16%;
    width: 290px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco04 {
    position: absolute;
    top: -50px;
    right: -5%;
    width: 230px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco05 {
    position: absolute;
    top: 90px;
    right: -19%;
    width: 210px;
    opacity: 0.3;
  }
  /* .aboutBox:nth-child(odd) .about_pic {
    margin-right: -50px;
  } */
  .header__top {
    min-width: 144px;
  }
  /* .header__btn.email::before {
    background-size: 3.5rem;
    top: 2.2rem;
    left: 14%;
    width: 2.8rem;
    height: 2.8rem;
  } */
}

@media screen and (max-width: 767px) {
  .news {
    position: relative;
    bottom: 0px;
    width: auto;
  }
  .news_more {
    margin: 0 auto;
  }
  .news .p-home-sec01__box {
    padding: 0rem 0rem 0rem 0rem !important;
    flex-direction: column;
    align-items: stretch;
  }

  .news h2.c-heading01.c-heading01_center {
    font-size: 2rem;
    padding-top: 5rem;
  }
  .news .p-home-sec01__btn-wrap {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .news .p-home-sec01__btn-wrap {
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: left;
    justify-content: flex-start;
  }
  .news .p-home-sec01__box {
    padding: 0;
    margin: 1rem 1rem 2rem;
    border-radius: 10px;
  }
  .news h2.c-heading01.c-heading01_center {
    font-size: 2rem;
    padding-top: 2rem;
  }
  .news {
    bottom: 0px;
    margin-bottom: 4rem;
  }
  .home-mv {
    position: relative;
    /* top: 40px; */
    /* padding-bottom: 8vh; */
    margin-top: 40px;
  }
  .home-mv__text {
    top: 40%;
  }
  .home-mv__scrolldown span {
    left: -10px;
  }
  .home-mv__scrolldown {
    left: 20px;
  }
  .home-mv__slides .slick-slide img {
    height: 50vh;
    width: 100%;
  }
  .home .slick-slider .slick-track,
  .home .slick-slider .slick-list {
    /* width: calc(100% - 10.2vw); */
    bottom: 0px;
    max-height: 70vh;
  }
  .home-mv__scrolldown {
    position: absolute;
    left: 15px;
    bottom: 80px;
  }
  .home-mv__scrolldown span {
    position: absolute;
    left: -15px;
    top: -30px;
  }

  .news .c-news__item {
    border-left: 0px solid #5bbf9b;
  }
  .xslider_wrap img {
    width: 200px;
  }
  .p-home-sec01 {
    padding: 4rem 0rem 4rem 0rem;
  }

  .p-home-sec01 .p-home-sec01__box {
    border-radius: 10px;
  }
  img.gallery_illust {
    width: 50px;
    display: block;
    margin: 0 auto;
    margin-bottom: 12px;
  }
  main.home .gallery h2.c-heading01.c-heading01_center {
    text-align: center;
    font-size: 7vw;
  }
  main.home .item__inner {
    position: relative;
    max-width: 440px;
    height: 280px;
    background: #ffffffb3 center no-repeat;
    margin: 1rem 1rem;
    box-shadow: 0 0 4px -2px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
  }
  .p-home-sec01__box .illust_deco04 {
    position: absolute;
    top: -30px;
    right: -5%;
    width: 120px;
    opacity: 0.3;
  }
  .p-home-sec01__box .illust_deco03 {
    position: absolute;
    top: 230px;
    left: -16%;
    width: 150px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco03 {
    position: absolute;
    top: 210px;
    left: -16%;
    width: 150px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco04 {
    position: absolute;
    top: -20px;
    right: -10%;
    width: 140px;
    opacity: 0.3;
  }
  .inner.p-home-sec03__inner .illust_deco05 {
    position: absolute;
    top: 190px;
    right: -7%;
    width: 120px;
    opacity: 0.3;
  }
  .illust_deco01 {
    position: absolute;
    top: 0px;
    left: -35%;
    width: 280px;
    opacity: 0.3;
  }
  .illust_deco02 {
    position: absolute;
    top: 50px;
    right: -36%;
    width: 250px;
    opacity: 0.3;
  }
  section.sec03.bg_01 h2.c-heading01.c-heading01_center,
  main.home .home-news h2.c-heading01.c-heading01_center,
  h2.c-heading01.c-heading01_center {
    padding-top: 0;
  }
}

/*top bg*/
.sec03.wave01 {
  background: #fbf7ef;
}
.sec03.bg_01 .sec_inner.inner {
  margin-top: 0;
  border-radius: 10px;
  padding-bottom: 6rem;
}
section.sec03.bg_01 {
  background-color: #fbf7ef;
  position: relative;
  border-top-left-radius: 50% 100px; /* 半円を作成 */
  border-top-right-radius: 50% 100px;
  margin-top: 4rem;
}

.sec03.wave01 h2.c-heading01.c-heading01_center {
  color: #303030;
}
.sec03.wave01 .c-heading01 span {
  color: #5bbf9b;
}
/*top bg*/

/*fixed_banner*/
.fixed_banner {
  position: fixed;
  z-index: 99999;
  top: 150px;
  right: -1px;
  background-color: #5bbf9b;
  padding: 14px 12px;
  border-radius: 10px 0 0 10px;
  border: 2px solid #fff;
  border-right: none;
  box-shadow: 0px 0px 10px 0px rgb(106 106 106 / 30%);
}

.fixed_banner_pc {
  width: 40px;
}

.floating-banner:hover {
  opacity: 0.8;
}

.fixed_banner_sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .fixed_banner_sp {
    display: inline-block;
    width: 75%;
  }
  .fixed_banner_pc {
    display: none;
  }
  .fixed_banner {
    position: static;
    padding: 4px 8px;
    border-radius: 10px;
    border: 3px solid #04b34d;
    margin-top: 7vw;
    max-width: 300px;
  }
  .sp-display-none {
    display: none;
  }
}

/* ===== HOME TOP transparent header（スクロール前のみ・下層と.scrolledは現状維持） ===== */
.home .header,
.home .header__container,
.home .header__link,
.home .header__tel,
.home .header__logo img {
  transition: background-color 0.4s ease, color 0.3s ease, filter 0.3s ease;
}
.home .header:not(.scrolled) .header__container {
  background: transparent;
  box-shadow: none;
}
.home .header:not(.scrolled) .header__link {
  color: #fff;
  font-weight: 600;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}
.home .header:not(.scrolled) .header__tel {
  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}
.home .header:not(.scrolled) .header__tel::before {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(41deg) brightness(103%) contrast(105%) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}
.home .header:not(.scrolled) .header__logo img {
  filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}
.home .header:not(.scrolled) .header__btn {
  background: rgb(229 234 101);
  color: rgb(0 0 0);
  border: 1px solid rgba(255, 255, 255, 0.6);
  /* text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55); */
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.30);
}
.home .header:not(.scrolled) .header__btn::before {
  filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}
/* SP ヘッダーロゴも home top では白に */
.home .header-sp:not(.scrolled) .header-sp__logo img {
  /* filter: brightness(0) invert(1); */
}
.home .header-sp:not(.scrolled) .hamburger__lineTop,
.home .header-sp:not(.scrolled) .hamburger__lineCenter,
.home .header-sp:not(.scrolled) .hamburger__lineBottom {
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

/* 上部の白フェード背景は撤去（透明ヘッダー優先のため） */
/*
.home-mv__slides .slick-slide::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, #ffffff99 6%, #ffffff00 15%);
}
*/
/* ===== /HOME TOP transparent header ===== */

/*動き*/
.displayed {
  animation: fadeUp 1s forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(-100px);
  }
}

/* 画面外 */
.fade-block2 {
  transform: translate3d(0, 60px, 0);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  will-change: opacity, transform;
}
/* 画面に入った時の動き */
.fade-block2.blockIn {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
/*
.scroll-block {
  height: 100vh;

}
*/

.sub-contact {
  padding-top: 0;
}

/* ===== kaneshi 流の料金表（sr-clover 緑系適用） ===== */
/* 事業所概要テーブル（sr-clover recruit p-recruit-table デザインを複製／配色は medioki 緑青） */
.p-company-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid rgba(91, 191, 155, 0.25);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  margin: 3rem auto;
}
.p-company-table th {
  width: 220px;
  background: #5bbf9b;
  color: #fff;
  text-align: left;
  padding: 1.8rem 2rem;
  font-weight: 700;
  font-size: 1.5rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  letter-spacing: 0.05em;
}
.p-company-table tr:last-child th {
  border-bottom: 0;
}
.p-company-table td {
  padding: 1.8rem 2.2rem;
  vertical-align: top;
  line-height: 1.85;
  font-size: 1.5rem;
  color: #303030;
  border-bottom: 1px solid rgba(91, 191, 155, 0.18);
  background: #fff;
}
.p-company-table tr:last-child td {
  border-bottom: 0;
}
.p-company-table tr:nth-child(even) td {
  background: #eef8f3;
}
@media screen and (max-width: 767px) {
  .p-company-table {
    border-radius: 10px;
  }
  .p-company-table tr {
    display: block;
    border-bottom: 1px solid rgba(91, 191, 155, 0.18);
  }
  .p-company-table tr:last-child {
    border-bottom: 0;
  }
  .p-company-table th {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    font-size: 1.35rem;
    border-bottom: 0;
  }
  .p-company-table td {
    display: block;
    width: 100%;
    padding: 1.4rem 1.5rem 1.6rem;
    font-size: 1.4rem;
    border-bottom: 0;
    background: #fff !important;
  }
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 3rem auto;
  font-size: 1.55rem;
}
.price-table th,
.price-table td {
  padding: 1.8rem 2rem;
  text-align: left;
}
.price-table th {
  background-color: #5bbf9b;
  color: #fff;
  font-weight: bold;
  vertical-align: middle;
  text-align: center;
  font-size: 1.6rem;
}
.price-table td {
  background-color: #fff;
  line-height: 1.7;
  vertical-align: middle;
}
.price-table tbody tr:nth-child(even) td {
  background-color: #eef8f3;
}
.price-table td:nth-child(1),
.price-table th:nth-child(1) {
  border-radius: 10px 0 0 10px;
}
.price-table th:nth-child(2),
.price-table td:nth-child(2) {
  /* border-radius: 0 10px 10px 0; */
}
.price-table td:nth-child(2) {
  border-left: 1px solid #d7ecdf;
  font-weight: 600;
  font-size: 1.55rem;
  line-height: 1.5;
  text-align: right;
  white-space: nowrap;
  color: #2c2c2c;
}
.price-table td:nth-child(2) span {
  font-weight: 400;
  font-size: 1.3rem;
  display: block;
  color: #888;
}
.price-table tr {
  border-radius: 10px;
}
/* テーブル th 内のお得バッジ */
.price-table__badge {
  display: inline-block;
  margin-left: 1rem;
  padding: 0.2rem 0.8rem;
  background: #31a5d8;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 999px;
  letter-spacing: 0.05em;
  vertical-align: middle;
}
/* ダミー（旧スタイルの互換用） */
.price-table .dummy {
  color: #c8a8a8;
  letter-spacing: 0.1em;
}

/* 補足テキスト */
.price-txt {
  text-align: center;
  line-height: 1.7;
  margin-bottom: 1.6rem;
  font-size: 1.45rem;
  color: #555;
}
.price-inner {
  max-width: 1110px;
  position: relative;
  z-index: 2;
  padding: 0 15px;
  margin: 0 auto;
}
/* サービス内容ボックス */
.price-txt-body {
  margin-top: 4rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.price-txt-body h3 {
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 2px solid #5bbf9b;
  padding-bottom: 1rem;
  color: #2c2c2c;
  margin-bottom: 0;
}
.price-txt-body p {
  padding-left: 3rem;
  position: relative;
  display: block;
  margin-top: 1.6rem;
  line-height: 1.7;
  font-size: 1.45rem;
  color: #555;
}
.price-txt-body p::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 1rem;
  width: 10px;
  height: 10px;
  background: #31a5d8;
  border-radius: 50%;
}
/* 旧 .price-note 互換 */
.price-note {
  font-size: 1.4rem;
  color: #555;
  margin: 0.8rem 0;
  line-height: 1.7;
  text-align: center;
}
.price-note.-attention {
  color: #31a5d8;
  font-weight: bold;
}
.price-tax-note {
  text-align: right;
  font-size: 1.3rem;
  color: #888;
  margin-top: 4rem;
  padding: 0 15px;
}

/* アンカーリンクナビ（kaneshi 流・sr-clover 緑/橙適用） */
.service_page-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2rem;
  max-width: 1110px;
  margin: 4rem auto;
  padding: 0 15px;
}
.service_page-link a {
  padding: 1.8rem 1rem 2.4rem;
  text-align: center;
  border: 2px solid #5bbf9b;
  position: relative;
  transition: all 0.3s;
  font-weight: 700;
  line-height: 1.5;
  color: #2c2c2c;
  text-decoration: none;
  background: #fff;
  font-size: 1.45rem;
  border-radius: 4px;
}
.service_page-link a::before {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 11px solid #5bbf9b;
  transition: all 0.3s;
}
.service_page-link a:hover {
  background: #5bbf9b;
  color: #fff;
}
.service_page-link a:hover::before {
  border-top-color: #fff;
}
/* /price ページ用 modifier (オレンジ) */
.service_page-link.-price a {
  border-color: #31a5d8;
}
.service_page-link.-price a::before {
  border-top-color: #31a5d8;
}
.service_page-link.-price a:hover {
  background: #31a5d8;
  color: #fff;
}
.service_page-link.-price a:hover::before {
  border-top-color: #fff;
}

/* セクション背景（薄い緑グラデで区分け） */
.sub-bg {
  padding-bottom: 8rem;
  padding-top: 4rem;
  position: relative;
  background: #fbfbfb;
}
.sub-service > section + section {
  padding-top: 6rem;
}

@media screen and (max-width: 767px) {
  .service_page-link {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .service_page-link a {
    font-size: 1.25rem;
    padding: 1.2rem 0.6rem 2rem;
  }
  .price-table {
    font-size: 1.3rem;
    margin: 2rem auto;
  }
  .price-table th,
  .price-table td {
    padding: 1.2rem 1rem;
  }
  .price-table th {
    font-size: 1.3rem;
  }
  .price-table td:nth-child(2) {
    font-size: 1.35rem;
  }
  .price-txt {
    font-size: 1.3rem;
    text-align: left;
  }
  .price-txt-body h3 {
    font-size: 1.7rem;
  }
  .price-txt-body p {
    font-size: 1.3rem;
    padding-left: 2.4rem;
  }
}

/* ===== 下層 全幅バンド・リズム（全下層 .sub に適用） =====
   狭いinnerに白カードを積むだけの単調さを、全幅の交互背景帯で解消。
   帯は「白 → 薄い緑/青」を交互（白から開始）。白帯は色で区切れない分、
   余白を広めにとってセクションの抑揚を出す。白カードは影で浮かせて活かす。 */
.sub .service.p-lower-bands,
.sub .p-lower-bands {
  padding-top: 0;
  padding-bottom: 0;
}
.sub .p-band {
  width: 100%;
  padding: 7rem 0;
}
.sub .p-band--plain {
  background: #fff;
  padding: 3.5rem 0;
}
.sub .p-band--green {
  background: #f6fbf8;
}
.sub .p-band--blue {
  background: #e7f2fb;
}
.sub .p-band .infoBox {
  margin-top: 0;
  box-shadow: 0 10px 34px rgba(45, 122, 99, 0.08);
}
/* 白帯は infoBox の囲い（白カード）を外し、内容を白地に直接置く。
   緑/青帯は白カードを残してコントラストで映えさせる。 */
.sub .p-band--plain .infoBox {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-top: 8rem;
}
@media (max-width: 768px) {
  .sub .p-band {
    padding: 4.5rem 0;
  }
  .sub .p-band--plain {
    padding: 6rem 0;
  }
}

.infoBox {
  margin-top: 40px;
  background-color: #fff;
  border-radius: 30px;
  padding: 40px 7rem 60px;
}
.infoBox_logo {
  max-width: 300px;
  margin: 0 auto;
}
.infoBox_logo.infoBox_logo__03 {
  max-width: 457px;
}
.infoBox_logo + .infoBox_body {
  margin-top: 30px;
}

.infoBox_body {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
  align-items: center;
  margin-top: 3rem;
}
.infoBox_body > div {
  width: calc((100% - 30px) / 2);
}

.infoBox_ttl {
  font-size: 4.2rem;
  color: #5bbf9b;
  letter-spacing: 0.05em;
  /* background-color: #479ee3; */
  text-align: center;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
.infoBox_ttl-sub {
  font-size: 3rem;
  color: #5bbf9b;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 4rem;
}
/* 注記ボックス（淡青） ※文字色は既存のまま変えない */
.note-t {
  margin-top: 4rem;
  background: #f6fbf8;
  border-radius: 1rem;
  padding: 2rem;
}
.note-t .infoBox_ttl-sub {
  font-size: 3rem;
  text-align: center;
}

.infoBox_text {
  margin-bottom: 2.4rem;
  line-height: 2;
  /* font-size: 15px; */
}
.infoBox_text-list li {
  padding-left: 2rem;
  position: relative;
  line-height: 1.5;
  margin-top: 7px;
}
.infoBox_text-list li::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 3px;
  width: 10px;
  height: 10px;
  background: #5bbf9b;
  border-radius: 50%;
}

/* TOP about セクションの創業年クレジット */
.about_credit {
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #3f9a78;
  background: #eef8f3;
  padding: 0.5rem 1.2rem;
  border-radius: 4px;
  margin-bottom: 1.4rem;
}
.about_credit strong {
  color: #31a5d8;
  font-size: 1.4em;
  margin: 0 0.15em;
  letter-spacing: 0.02em;
}

/* クローバー訴求ブロック (promo.php) - TOP about直後 */



/* 3 stats card */








/* 有資格者数ブロック (左右分割：イラスト + リスト型、上の3カードとは別形状) */

















/* メッセージブロック */







/* CTA エリア */









@media (max-width: 768px) {

}

@media (max-width: 768px) {






















}

/* TOP ご契約までの流れ */
.p-home-flow {
  padding: 6rem 2rem;
  background: #fff;
}
.p-home-flow .inner {
  max-width: 1100px;
  margin: 0 auto;
}
.p-home-flow__lead {
  text-align: center;
  font-size: 1.55rem;
  margin: 1.6rem 0 4rem;
  line-height: 1.8;
  color: #303030;
}
.p-home-flow__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  position: relative;
}
.p-home-flow__item {
  background: #eef8f3;
  border-radius: 12px;
  padding: 3rem 2rem 2.4rem;
  position: relative;
  text-align: center;
}
.p-home-flow__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.2rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #5bbf9b;
  transform: translateY(-50%);
  z-index: 2;
}
.p-home-flow__item:last-child::after {
  display: none;
}
.p-home-flow__icon {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.6rem;
  padding: 1.2rem;
}
.p-home-flow__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-home-flow__step {
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #3f9a78;
  background: #fff;
  padding: 0.5rem 1.4rem;
  border-radius: 999px;
  margin-bottom: 1.4rem;
}
.p-home-flow__step strong {
  font-size: 1.6rem;
  margin-left: 0.4em;
  color: #5bbf9b;
}
.p-home-flow__ttl {
  font-size: 1.85rem;
  font-weight: 700;
  color: #303030;
  margin: 0 0 1rem;
  line-height: 1.3;
}
.p-home-flow__desc {
  font-size: 1.35rem;
  line-height: 1.8;
  color: #555;
  text-align: left;
}
.p-home-flow__note {
  text-align: center;
  font-size: 1.3rem;
  color: #888;
  margin: 3rem 0 1.6rem;
}
.p-home-flow__cta {
  text-align: center;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .p-home-flow {
    padding: 4rem 1.6rem;
  }
  .p-home-flow__list {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
  .p-home-flow__item {
    padding: 2.4rem 1.8rem 2rem;
    text-align: center;
  }
  .p-home-flow__item::after {
    top: auto;
    bottom: -1rem;
    right: 50%;
    transform: translateX(50%);
    border-width: 12px 8px 0 8px;
    border-color: #5bbf9b transparent transparent transparent;
  }
  .p-home-flow__ttl {
    text-align: center;
    font-size: 1.65rem;
  }
}

/* サービスページ サブカード（画像上部バナー＋本文の縦積み・全カード共通） */

/* --reverse は無効化（縦積みのため不要・後方互換のために残す） */







@media (max-width: 768px) {





}

/* サービスページ詳細リスト（dl/dt/dd） */
.p-service-detail-list {
  margin: 1.5rem 0 2rem;
}
.p-service-detail-list dt {
  font-size: 1.6rem;
  font-weight: 700;
  color: #3f9a78;
  margin-top: 1.6rem;
  padding-left: 1.4rem;
  position: relative;
}
.p-service-detail-list dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 8px;
  height: 8px;
  background: #5bbf9b;
  border-radius: 50%;
}
.p-service-detail-list dd {
  margin: 0.6rem 0 0 1.4rem;
  font-size: 1.45rem;
  line-height: 1.85;
  color: #333;
}

.infoBox_list {
  background-color: #fff;
  padding: 10px;
  display: flex;
  margin-top: 15px;
  line-height: 1.3;
}
.infoBox_list dt {
  min-width: 70px;
}
.infoBox_list + .infoBox_list {
  margin-top: 10px;
}

.infoBox .slider__item {
  position: relative;
  width: 100%;
  height: 273px;
  min-height: 0px;
  border-radius: 10px;
  overflow: hidden;
}
.infoBox .slider__item img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.infoBox_map {
  margin-top: 30px;
}
.infoBox_map iframe {
  width: 100%;
  height: 240px;
}
.infoBox .slick-dots li button:before {
  font-size: 10px;
  color: #5bbf9b;
}

@media screen and (max-width: 1200px) {
  .infoBox {
    padding: 40px 40px 60px;
  }
}
@media screen and (max-width: 1023px) {
  .info_linkWrap {
    font-size: 16px;
  }
  .infoBox_body {
    flex-direction: column;
    gap: 0;
    margin-top: 0;
  }
  .infoBox_body > div {
    width: 100%;
  }
  .infoBox_body .right {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .info_linkWrap {
    font-size: 15px;
    padding-top: 0;
  }
  .info_links {
    margin: 0 -5px;
  }
  .info_link__item {
    margin: 0 5px 10px;
    width: calc((100% - 20px) / 2);
  }
  .info_link__item:nth-child(3),
  .info_link__item:nth-child(4),
  .info_link__item:nth-child(9) {
    width: 100%;
  }
  .info_link__item a {
    padding: 3px 10px;
    border-radius: 5px;
  }
  .info_links02 .info_link__item {
    width: calc((100% - 10px) / 2);
  }
  .infoBox {
    padding: 30px 15px 30px;
    border-radius: 20px;
    margin-top: 30px;
  }
  .infoBox_logo {
    max-width: 86% !important;
  }
  .infoBox_logo + .infoBox_body {
    margin-top: 20px;
  }
  .infoBox_ttl {
    font-size: 20px;
    padding: 5px;
  }
  .infoBox_text {
    margin-top: 15px;
    font-size: 14px;
  }
  .infoBox_list {
    font-size: 14px;
  }
  .infoBox_list dt {
    min-width: 60px;
  }
  .infoBox .slider__item {
    height: 41vw;
  }
  .infoBox .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 4px;
  }
  .infoBox .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  .infoBox_map iframe {
    height: 43vw;
  }
  .scheduleWrap .h2 {
    padding-top: 60px;
  }
}
.facility {
  margin-top: 10rem;
  padding-bottom: 10rem;
}
.introduction {
  margin-top: 6rem;
  position: relative;
  background: #fff;
  padding-bottom: 8rem;
}
.intro-txt {
  line-height: 2;
  text-align: center;
  margin-top: 6rem;
}
.intro-txt span {
  font-size: 2rem;
  font-weight: bold;
  padding-bottom: 1rem;
  display: block;
}
.intro-img01 img,
.intro-img02 img,
.intro-img03 img,
.intro-img04 img {
  border-radius: 14px;
}
.intro-img01 {
  position: absolute;
  top: 80%;
  left: 1%;
  max-width: 320px;
}
.intro-img02 {
  position: absolute;
  top: 5%;
  right: 1%;
  max-width: 280px;
}
.intro-img03 {
  position: absolute;
  top: 35%;
  left: 0.5%;
  max-width: 250px;
}
.intro-img04 {
  position: absolute;
  top: 34%;
  right: 0.5%;
  max-width: 200px;
}
@media screen and (max-width: 1250px) {
  .intro-img01 {
    position: absolute;
    top: 83%;
    left: 1%;
    max-width: 220px;
  }
  .intro-img02 {
    position: absolute;
    top: -28%;
    right: 1%;
    max-width: 220px;
  }
  .intro-img03 {
    top: 5%;
  }
}
@media screen and (max-width: 900px) {
  .intro-img01 img,
  .intro-img02 img,
  .intro-img03 img,
  .intro-img04 img {
    display: none;
  }
}

.price {
  margin-top: 10rem;
  padding-bottom: 10rem;
}
.price-txt {
  line-height: 1.5;
  text-align: center;
}
.pricing__details {
  margin-top: 4rem;
}
.pricing__details ul {
  list-style: none;
  padding: 0;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.pricing__details li {
  padding: 15px;
  border-radius: 8px;
  background-color: #fff;
  padding-left: 4rem;
}

.pricing__details h3 {
  font-size: 1.2em;
  color: #5bbf9b;
  margin-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.pricing__details p {
  font-size: 0.95em;
  color: #333;
  line-height: 1.5;
}
.about-grid {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  gap: 6rem;
  align-items: center;
  margin-top: 4rem;
  padding: 6rem 5rem;
  background: #ffffffcc;
  border-radius: 14px;
}
.about-body h3 {
  background: #303030;
  padding: 10px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 7px;
  margin-top: 4rem;
  padding-left: 16px;
}
.about-catch {
  font-size: 2.4rem;
  margin-bottom: 2rem;
}
.about-txt {
  margin-top: 1rem;
  line-height: 2;
}
.about-txt span {
  display: block;
  padding-left: 3rem;
  position: relative;
}
.about-txt span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  background: #5bbf9b;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.feature_txt {
  line-height: 1.5;
  font-size: 14px;
}
.home-mv__vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.8;
  white-space: pre-wrap;
  position: absolute;
  left: 0;
  top: 14%;
/*   transform: translateY(-50%); */
  z-index: 3;
  color: #5bbf9b;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif;
}

.home-mv__vertical p {
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif;
}
.home-mv__txt {
  position: absolute;
  left: 3%;
  bottom: 10%;
  z-index: 4;
  font-size: 1.4rem;
  line-height: 2;
  text-shadow: 0 0 3px #fff;
}
.home-mv__txt-img {
  position: absolute;
  left: 6%;
  bottom: 5%;
  z-index: 3;
  width: 220px;
}



.btn-margin {
  display: block;
  margin-top: 4rem;
}

.slider3 img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 7px;
}
.slider3 .slick-slide {
  margin: 0 10px;
}
.footer_top .c-heading01,
.footer_top .c-heading01 span {
  padding-top: 0 !important;
  color: #fff;
}




.company_btn {
  display: block;
  margin: 2rem auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  /*タブレット用に調整*/
  .home-mv__vertical {
    font-size: 6vw;
  }
  .home-mv__vertical p {
    line-height: 2;
    letter-spacing: 0.06em;
    text-shadow: 0 0 12px #303d30;
  }
  .home-mv__txt {
    line-height: 1.5;
  }
  .home-mv::before {
    background-image: url(../img/home/mv-cover-sp.png);
  }
  .home-mv__vertical {
    left: -14%;
    top: 40%;
    color: #fff;
  }
  .home-mv__txt {
    bottom: 0;
  }
}
@media screen and (max-width: 767px) {


  .home .sec03 .btn {
    margin-top: 3rem;
  }
  .service_contents .aboutBox:nth-child(even) .about_body::before {
    width: 100px;
    height: 100px;
  }
  .about {
    margin-top: 4rem;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
  }
  .aboutus-img {
    max-width: 150px;
    margin: auto;
  }
  .about-catch {
    font-size: 2rem;
    margin-top: 1rem;
  }
  .about-txt {
    line-height: 1.5;
    font-size: 14px;
  }
  .about-txt span {
    font-size: 14px;
  }
  .about-body h3 {
    font-size: 1.8rem;
    margin-top: 2rem;
  }
  .feature_txt {
    margin-top: 1rem;
    text-align: left;
  }
  .company_grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .company_table01 .table_simple th {
    width: 9rem;
  }
  .intro-txt {
    line-height: 1.7;
    font-size: 14px;
    text-align: left;
    margin-top: 3rem;
  }
  .facility {
    margin-top: 6rem;
  }
  .pricing__details li {
    padding-left: 15px;
  }
  .pricing__details h3 {
    font-size: 1.6rem;
  }
  .page-id-14 .footer_top h2.c-heading01.c-heading01_center {
    margin-bottom: 0;
  }








  .home-mv__txt-img {
    z-index: 2;
    left: 40%;
    bottom: -20%;
    width: 250px;
  }
  .home-mv__slides .slick-slide::before {
    background: #8ec2603b;
  }
  .home-mv-txt-sp {
    line-height: 2;
    font-size: 14px;
    padding-left: 5vw;
    /* background: #fff; */
    position: relative;
    top: 0;
    z-index: 4;
    padding-top: 1rem;
  }
}

.programreport_area {
  border-radius: 10px;
  margin: 0 0 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.programreportWrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 2rem;
}
.programreport_group {
  background: #fff;
  border-radius: 10px;
  padding: 0 10px;
}

.programreport_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
}
h3.programreport_ttl {
  color: #303030;
  font-weight: bold;
  font-size: 2rem;
}
h2.programreport_ttl {
  font-size: 2.6rem;
  line-height: 1.45833;
  color: #5bbf9b;
  max-width: 575px;
  padding-top: 48px;
  padding-bottom: 18px;
  font-weight: 400;
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.home .p-home-sec01 .programreport_item .btn {
  margin-top: 0;
  width: 100%;
}

section.sec03.bg_01 {
  padding-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .programreportWrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

.footer_top .sec_inner {
  position: relative;
}
.footer_top .illust_deco03,
.footer_top .illust_deco04 {
  opacity: 0.6;
  z-index: 0;
}
.footer_top .illust_deco03 {
  top: 0;
}
.footer_top .illust_deco04 {
  top: -140px;
  right: -5%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .footer_top {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .footer_top .illust_deco04 {
    top: -120px;
    right: -5%;
  }
}
@media screen and (max-width: 767px) {
  .footer_top .illust_deco04 {
    top: -50px;
    right: -10%;
    width: 140px;
  }
  .footer_top .illust_deco03 {
    top: 120px;
    width: 150px;
  }
}

.l-page-cover__ttl {
  font-size: 2.6rem;
}
.l-page-cover__ttl .big {
  font-size: 12rem;
}
.l-page-cover__ttl .big span {
  color: #ffffffcc;
  font-weight: 700;
  line-height: 1;
  position: relative;
  border-radius: 0 20px 0 0;
  text-align: center;
  font-family: "Arimo", sans-serif;
  overflow: hidden;
  font-size: 12rem;
  letter-spacing: 0;
}
.l-page-cover__ttl .small {
  margin-top: -7rem;
}
.l-page-cover__ttl span,
.l-page-cover__ttl .big span,
.l-page-cover__ttl .small span {
  display: inline-block !important;
  opacity: 0;
  transform: translateY(100%);
  animation: fadeSlideUp 0.6s ease forwards;
  font-size: 2.6rem;
  will-change: transform, opacity;
}
.l-page-cover__ttl .big span {
  font-size: 12rem !important;
}
.l-page-cover__ttl .small span {
  font-size: 2.6rem !important;
}

.l-page-cover__ttl span:nth-child(1) {
  animation-delay: 0s;
}
.l-page-cover__ttl span:nth-child(2) {
  animation-delay: 0.1s;
}
.l-page-cover__ttl span:nth-child(3) {
  animation-delay: 0.2s;
}
.l-page-cover__ttl span:nth-child(4) {
  animation-delay: 0.3s;
}
.l-page-cover__ttl span:nth-child(5) {
  animation-delay: 0.4s;
}
.l-page-cover__ttl span:nth-child(6) {
  animation-delay: 0.5s;
}
.l-page-cover__ttl span:nth-child(7) {
  animation-delay: 0.6s;
}
.l-page-cover__ttl span:nth-child(8) {
  animation-delay: 0.7s;
}
.l-page-cover__ttl span:nth-child(9) {
  animation-delay: 0.8s;
}
.l-page-cover__ttl span:nth-child(10) {
  animation-delay: 0.9s;
}
.l-page-cover__ttl span:nth-child(11) {
  animation-delay: 1s;
}
.l-page-cover__ttl span:nth-child(12) {
  animation-delay: 1.1s;
}
.l-page-cover__ttl span:nth-child(13) {
  animation-delay: 1.2s;
}
.l-page-cover__ttl span:nth-child(14) {
  animation-delay: 1.3s;
}
.l-page-cover__ttl span:nth-child(15) {
  animation-delay: 1.4s;
}
.l-page-cover__ttl span:nth-child(16) {
  animation-delay: 1.5s;
}
.price-ttl {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  margin-top: 3rem;
}
.price-ttl span {
  font-size: 1.6rem;
  font-weight: 600;
  color: #5bbf9b;
  display: block;
  line-height: 2;
}
.price-txt {
  margin-top: 3rem;
  line-height: 1.5;
  margin-top: 2rem;
}
.grid-col03 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
  padding-bottom: 6rem;
}
.grid-item h3 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 1rem;
  text-align: center;
}
.grid-item p {
  line-height: 1.7;
  margin-top: 1rem;
  font-size: 14px;
}
.grid-item img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  .grid-col03 {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .grid-item h3 {
    font-size: 1.6rem;
    margin-top: 7px;
  }
}

@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .l-page-cover__ttl {
    font-size: 1.4rem;
  }
  .l-page-cover__ttl .big {
    font-size: 4rem;
  }
  .l-page-cover__ttl .big span {
    font-size: 4rem !important;
  }
  .l-page-cover__ttl .small {
    margin-top: -2rem;
    font-size: 1.4rem;
  }
  .l-page-cover__ttl .small span {
    font-size: 1.4rem !important;
  }
  .l-page-cover__ttl span {
    font-size: 1.4rem;
  }
  .pricing__details ul {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .infoBox_body .slick-dots {
    bottom: -17px;
  }
  .price-ttl {
    font-size: 1.8rem;
  }
  .infoBox_text-list li::before {
    top: 7px;
  }
  .sub-shop__box.p-company-sec02__inner.inner {
    padding-top: 2rem;
  }
}
.about-wood {
  max-width: 132px;
  margin: 4.5rem auto 4rem;
}
.sec01 {
  padding: 0 0 8rem;
  color: #262830;
}
body {
  background-image: none;
}
.sec01 h2.c-heading01.c-heading01_center {
  padding-top: 8rem;
}
/* 2026-07-29 背景を淡くしたため白文字→濃色へ（英字はブランドブルー） */
.p-home-sec03 h2.c-heading01 {
  color: #2c3e46;
}
.p-home-sec03 h2.c-heading01 span {
  color: #2b93c1;
}
/* 2026-07-29 淡い地では白い葉が見えないため緑の葉に差し替え */
.p-home-sec03 .c-heading01 span::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235bbf9b'%3E%3Cpath d='M20.5 3.5C13 3.5 7.5 7 5.5 12.5c-1 2.8-.7 5.6.4 7.6l1.7-1.7c-.6-1.4-.7-3.3 0-5.2C9.2 8.6 13.6 5.9 19 5.6c-1.6 5.6-5.4 9.6-10.4 11.2l-3 3 1.4 1.4 2.2-2.2C15.6 17.1 20.5 11.6 20.5 3.5z'/%3E%3C/svg%3E");
}
.p-home-sec03 .btn.-color {
  max-width: 330px;
  width: 100%;
  padding: 0;
  padding-top: 2.1rem;
  padding-bottom: 2.1rem;
}

/* .home-company_grid-item の leaf装飾は撤去（ユーザー指示） */
.sec04 .c-heading01 span {
  margin-left: 3rem;
  margin-bottom: 1.6rem;
}
/* 2026-07-29 TOP「私たちについて」の見出し英字は左インデントを外す（ユーザー指定） */
.about_ttlWrap .c-heading01 span {
  margin-left: 0;
}
.footer-bnr {
  max-width: 990px;
  margin-top: 3rem;
}
.footer-bnr a {
  transition: all 0.3s;
}
.footer-bnr a:hover {
  opacity: 0.7;
}
.cta-bnr {
  max-width: 1040px;
  margin: 6rem auto;
}
.cta-bnr a {
  transition: all 0.3s;
}
.cta-bnr a:hover {
  opacity: 0.7;
}
.cta-bnr-wrap {
  background: #fff;
}
.footer_top .c-heading01 span::before {
  background-image: url(../img/common/leaf-wh.svg);
}
.footer-right {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 3rem;
  align-items: start;
}
.footer-flex {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1070px;
  margin: 4rem auto;
  gap: 6rem;
}
.footer .map {
  width: 100%;
}
.footer__logo {
  width: 203px;
}
.footer-head {
  color: #5bbf9b;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Arimo", sans-serif;
  width: 100%;
  margin-top: 2rem;
  letter-spacing: 1.5px;
}

/* Contact tabs + form (sr-clover) */
.contact-direct-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 800px;
  margin: 0 auto 5rem;
  margin-top: 3rem;
}
.contact-direct-card {
  background: #fff;
  border: 1px solid rgba(106, 157, 45, 0.25);
  border-radius: 8px;
  padding: 2.5rem 2rem;
  text-align: center;
}
.contact-direct-card__label {
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #5bbf9b;
  font-size: 1.6rem;
  margin: 0 0 0.5rem;
}
.contact-direct-card__num {
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #303030;
  text-decoration: none;
  letter-spacing: 0.05em;
  margin-bottom: 0.8rem;
}
.contact-direct-card__num:hover {
  color: #5bbf9b;
}
.contact-direct-card__note {
  font-size: 1.3rem;
  color: #777;
  line-height: 1.6;
  margin: 0;
}
.contact-success {
  max-width: 800px;
  margin: 0 auto 4rem;
  padding: 2.5rem 2rem;
  background: #fff8eb;
  border: 1px solid #f3b805;
  border-radius: 8px;
  text-align: center;
}
.contact-success p {
  margin: 0 0 0.8rem;
  line-height: 1.7;
}
.contact-success p:last-child {
  margin-bottom: 0;
}
.contact-success__note {
  font-size: 1.3rem;
  color: #777;
}
.contact-tabs {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border-radius: 8px;
  /* box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); */
  padding: 2rem;
}
.contact-tabs__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 2rem;
}
.contact-tab__btn {
  background: none;
  border: 0;
  padding: 1.2rem 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #888;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  font-family: inherit;
  flex: 1;
  min-width: 140px;
}
.contact-tab__btn:hover {
  color: #5bbf9b;
}
.contact-tab__btn.is-active {
  color: #5bbf9b;
}
.contact-tab__btn.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 3px;
  background: #5bbf9b;
}
.contact-tab__content {
  display: none;
}
.contact-tab__content.is-active {
  display: block;
}
.contact-tab__lead {
  text-align: center;
  color: #303030;
  margin-bottom: 2.5rem;
  line-height: 1.8;
  font-size: 1.55rem;
}
.clover-form__row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.5rem;
  align-items: start;
  padding: 1.4rem 0;
  border-bottom: 1px solid #eee;
}
.clover-form__row:last-of-type {
  border-bottom: 0;
}
.clover-form__label {
  font-weight: 700;
  color: #303030;
  font-size: 1.55rem;
  padding-top: 0.5rem;
}
.clover-form__required {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.15rem 0.6rem;
  background: #31a5d8;
  color: #fff;
  font-size: 1.1rem;
  border-radius: 3px;
  font-weight: 700;
}
.clover-form__optional {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.15rem 0.6rem;
  background: #e0e0e0;
  color: #555;
  font-size: 1.1rem;
  border-radius: 3px;
  font-weight: 500;
}
.clover-form__input,
.clover-form__textarea {
  width: 100%;
  padding: 1rem 1.2rem;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  font-size: 1.55rem;
  font-family: inherit;
  background: #fafafa;
  transition: border-color 0.2s, background 0.2s;
}
.clover-form__input:focus,
.clover-form__textarea:focus {
  outline: none;
  border-color: #5bbf9b;
  background: #fff;
}
.clover-form__input--zip {
  max-width: 160px;
}
.clover-form__input--pref {
  max-width: 200px;
}
.clover-form__input--num {
  max-width: 140px;
}
.clover-form__textarea {
  resize: vertical;
  min-height: 100px;
}
.clover-form__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.5rem;
}
.clover-form__radios label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 1.55rem;
}
.clover-form__row--check {
  grid-template-columns: 1fr;
  text-align: center;
  padding-top: 2.5rem;
}
.clover-form__row--check label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-size: 1.55rem;
}
.clover-form__submit-wrap {
  text-align: center;
  margin-top: 2rem;
}
.clover-form__submit-wrap .btn {
  cursor: pointer;
  border: 0;
}
@media screen and (max-width: 767px) {
  .contact-direct-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .contact-direct-card__num {
    font-size: 2.6rem;
  }
  .contact-tabs {
    padding: 1rem 0.8rem;
  }
  .contact-tabs__buttons {
    flex-direction: column;
    gap: 0.8rem;
    overflow: visible;
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 1.5rem;
  }
  .contact-tab__btn {
    width: 100%;
    flex: none;
    padding: 1.4rem 1.6rem;
    font-size: 1.5rem;
    font-weight: 700;
    background: #fff;
    border: 2px solid #d4e6b4;
    border-radius: 8px;
    color: #3f9a78;
    text-align: center;
    white-space: normal;
  }
  .contact-tab__btn.is-active {
    background: linear-gradient(135deg, #5bbf9b 0%, #a7dcc8 100%);
    color: #fff;
    border-color: #5bbf9b;
    box-shadow: 0 3px 10px rgba(106,157,45,0.25);
  }
  .contact-tab__btn.is-active::after {
    content: none;
  }
  .clover-form__row {
    grid-template-columns: 1fr;
    gap: 0.6rem;
    padding: 1rem 0;
  }
  .clover-form__label {
    padding-top: 0;
    font-size: 1.3rem;
  }
}

/* CF7 radio buttons — 縦並び表示 */
.wpcf7-radio {
  display: block;
}
.wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0 0 0.6rem;
  padding: 0;
}
.wpcf7-radio .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
.wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1.6;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"] {
  cursor: pointer;
  accent-color: #5bbf9b;
  width: 1.8rem;
  height: 1.8rem;
}
.wpcf7-list-item-label {
  display: inline-block;
}

/* privacy policy area + agree (sr-clover contact) — zenrindo方式 */
.privacy-policy-area {
  max-width: 900px;
  margin: 4rem auto 0;
  padding: 3rem 2rem;
  background: #fff;
  border: 1px solid rgba(106, 157, 45, 0.2);
  border-radius: 8px;
}
.privacy-policy-area__ttl {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #5bbf9b;
  margin: 0 0 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #5bbf9b;
}
.privacy-policy-area__box {
  max-height: 360px;
  overflow-y: auto;
  padding: 1.8rem 2.2rem;
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 1.5rem;
  line-height: 1.9;
  color: #333;
}
.privacy-policy-area__box h5 {
  margin: 1.8rem 0 0.6rem;
  color: #303030;
  font-size: 1.65rem;
  font-weight: 700;
}
.privacy-policy-area__box h5:first-of-type {
  margin-top: 1.2rem;
}
.privacy-policy-area__box p {
  margin: 0 0 0.8rem;
}
.privacy-policy-area__box ol {
  margin: 0.5rem 0 1rem 2rem;
  padding: 0;
}
.privacy-policy-area__box li {
  margin: 0.25rem 0;
}
.privacy-policy-area__agree {
  text-align: center;
  margin: 2.5rem 0 1.5rem;
  padding: 1.5rem;
  background: none;
  border-radius: 6px;
}
.privacy-policy-area__agree label {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: 600;
  color: #303030;
}
.privacy-policy-area__agree input[type="checkbox"] {
  width: 1.8rem;
  height: 1.8rem;
  cursor: pointer;
  accent-color: #5bbf9b;
}
.wpcf7-submit.is-disabled,
.btn.-color.is-disabled,
input[type="submit"].is-disabled {
  background: #ccc !important;
  border-color: #ccc !important;
  color: #fff !important;
  cursor: not-allowed !important;
  pointer-events: none;
  opacity: 0.7;
  box-shadow: none !important;
  transform: none !important;
}
@media screen and (max-width: 767px) {
  .privacy-policy-area {
    padding: 2rem 1rem;
    margin-top: 2.5rem;
  }
  .privacy-policy-area__box {
    padding: 1rem 1.2rem;
    max-height: 280px;
    font-size: 1.2rem;
  }
  .privacy-policy-area__agree {
    margin: 1.5rem 0 1rem;
    padding: 1.2rem 0.8rem;
  }
  .privacy-policy-area__agree label {
    font-size: 1.3rem;
  }
}

/* New バッジ（投稿日から7日以内に自動表示） */
.is-new {
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: #31a5d8;
  padding: 0.2rem 0.7rem;
  border-radius: 4px;
  margin-left: 0.8rem;
  line-height: 1.4;
  vertical-align: middle;
  text-transform: uppercase;
  white-space: nowrap;
}

/* category color labels (sr-clover) — 5カテゴリ別カラー */
/* カテゴリバッジ：塗りつぶし＋白文字（ユーザー指示） */
.is-cat-news            { background: #5bbf9b !important; border: 1px solid #5bbf9b !important; color: #fff !important; font-weight: 700 !important; padding: 20px; }
.is-cat-topics          { background: #31a5d8 !important; border: 1px solid #31a5d8 !important; color: #fff !important; font-weight: 700 !important; padding: 20px; }
.is-cat-column          { background: #4FA3D8 !important; border: 1px solid #4FA3D8 !important; color: #fff !important; font-weight: 700 !important; padding: 20px; }
.is-cat-blog            { background: #FFB300 !important; border: 1px solid #FFB300 !important; color: #fff !important; font-weight: 700 !important; padding: 20px; }
.is-cat-customers-voice { background: #b07a8a !important; border: 1px solid #b07a8a !important; color: #fff !important; font-weight: 700 !important; padding: 20px; }

/* カード本体（is-cat-* と組み合わさっても背景白を維持） */
.p-home-news-feature__col.is-cat-news,
.p-home-news-feature__col.is-cat-topics,
.p-home-news-feature__col.is-cat-column,
.p-home-news-feature__col.is-cat-blog,
.p-home-news-feature__col.is-cat-customers-voice {
  background: #fff !important;
}

/* feature col の上部ボーダー色も同期 */
.p-home-news-feature__col { border-top-color: #5bbf9b; }
.p-home-news-feature__col.is-cat-topics { border-top-color: #31a5d8; }
.p-home-news-feature__tag { background: #5bbf9b; }
.p-home-news-feature__tag.is-cat-topics { background: #31a5d8; }

/* Topics archive (sr-clover) */
.topics-archive {
  padding: 6rem 2rem;
  background: #fff;
}
.topics-archive .inner {
  max-width: 1100px;
  margin: 0 auto;
}
/* ===== トピックスアーカイブ デザイン刷新 ===== */
.topics-archive {
  padding: 4rem 0 6rem;
}
/* toyopla.jp 参考のスクエアタブ（等幅グリッド） */
.topics-cat-nav {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.6rem;
  justify-content: stretch;
  margin-bottom: 4rem;
  padding: 0;
  border: none;
}
.topics-cat-nav__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 0.8rem;
  background: #fff;
  border: 2px solid #d0d0d0;
  color: #555;
  text-decoration: none;
  font-size: 1.45rem;
  font-weight: 700;
  border-radius: 0;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.3;
}
/* デフォルト状態でカテゴリ色のアウトライン適用 */
.topics-cat-nav__item--all { color: #3f9a78; border-color: #3f9a78; }
.topics-cat-nav__item--news { color: #5bbf9b; border-color: #5bbf9b; }
.topics-cat-nav__item--topics { color: #31a5d8; border-color: #31a5d8; }
.topics-cat-nav__item--column { color: #4FA3D8; border-color: #4FA3D8; }
.topics-cat-nav__item--blog { color: #FFB300; border-color: #FFB300; }
.topics-cat-nav__item--customers-voice { color: #b07a8a; border-color: #b07a8a; }
.topics-cat-nav__item:hover,
.topics-cat-nav__item.is-active {
  background: #3f9a78;
  border-color: #3f9a78;
  color: #fff;
}
/* カテゴリ別カラー連動（hover/active時にバッジ色と一致） */
.topics-cat-nav__item--all:hover,
.topics-cat-nav__item--all.is-active {
  background: #3f9a78;
  border-color: #3f9a78;
  color: #fff;
}
.topics-cat-nav__item--news:hover,
.topics-cat-nav__item--news.is-active {
  background: #5bbf9b;
  border-color: #5bbf9b;
  color: #fff;
}
.topics-cat-nav__item--topics:hover,
.topics-cat-nav__item--topics.is-active {
  background: #31a5d8;
  border-color: #31a5d8;
  color: #fff;
}
.topics-cat-nav__item--column:hover,
.topics-cat-nav__item--column.is-active {
  background: #4FA3D8;
  border-color: #4FA3D8;
  color: #fff;
}
.topics-cat-nav__item--blog:hover,
.topics-cat-nav__item--blog.is-active {
  background: #FFB300;
  border-color: #FFB300;
  color: #fff;
}
.topics-cat-nav__item--customers-voice:hover,
.topics-cat-nav__item--customers-voice.is-active {
  background: #b07a8a;
  border-color: #b07a8a;
  color: #fff;
}
/* ホームのお知らせタブも同方針でカテゴリ色連動 */
.news-tab__btn[data-tab="news"]:hover,
.news-tab__btn[data-tab="news"].is-active {
  background: #5bbf9b;
  border-color: #5bbf9b;
  color: #fff;
}
.news-tab__btn[data-tab="topics"]:hover,
.news-tab__btn[data-tab="topics"].is-active {
  background: #31a5d8;
  border-color: #31a5d8;
  color: #fff;
}
.news-tab__btn[data-tab="column"]:hover,
.news-tab__btn[data-tab="column"].is-active {
  background: #4FA3D8;
  border-color: #4FA3D8;
  color: #fff;
}
.news-tab__btn[data-tab="blog"]:hover,
.news-tab__btn[data-tab="blog"].is-active {
  background: #FFB300;
  border-color: #FFB300;
  color: #fff;
}
.news-tab__btn[data-tab="customers-voice"]:hover,
.news-tab__btn[data-tab="customers-voice"].is-active {
  background: #b07a8a;
  border-color: #b07a8a;
  color: #fff;
}

/* リスト全体 */
.topics-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  /* box-shadow: 0 2px 16px rgba(0,0,0,0.05); */
}
.topics-list__item {
  border-bottom: 1px solid #f0f0f0;
}
.topics-list__item:last-child {
  border-bottom: 0;
}

/* 各記事のリンク */
.topics-list__link {
  display: grid;
  grid-template-columns: 110px 130px 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 1.8rem 2rem;
  text-decoration: none;
  color: #333;
  transition: all 0.2s ease;
  position: relative;
}
.topics-list__link::after {
  content: '';
  position: absolute;
  right: 1.5rem;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.25s ease;
}
.topics-list__link:hover {
  background: #eef8f3;
}
.topics-list__link:hover::after {
  border-color: #5bbf9b;
  right: 1rem;
}
.topics-list__link:hover .topics-list__title {
  color: #5bbf9b;
}

/* 日付 */
.topics-list__date {
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  color: #888;
  font-size: 1.45rem;
  letter-spacing: 0.04em;
}

/* カテゴリバッジ（アウトライン型・色は .is-cat-* で上書き） */
.topics-list__cat {
  display: inline-block;
  padding: 0.5rem 0;
  background: #fff;
  color: #5bbf9b;
  font-size: 1.15rem;
  font-weight: 700;
  border-radius: 0;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.4;
  width: 100%;
  box-sizing: border-box;
}

/* タイトル */
.topics-list__title {
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  transition: color 0.2s;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-right: 2rem;
}

.topics-list__empty {
  padding: 6rem 2rem;
  text-align: center;
  color: #888;
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .topics-archive {
    padding: 3rem 0 4rem;
  }
  .topics-cat-nav {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 2.5rem;
    gap: 0.4rem;
  }
  .topics-cat-nav__item {
    padding: 1.1rem 0.3rem;
    font-size: 1.2rem;
  }
  .topics-list {
    border-radius: 8px;
  }
  .topics-list__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 1rem;
    padding: 1.4rem 3rem 1.4rem 1.4rem;
  }
  .topics-list__date {
    font-size: 1.25rem;
    order: 1;
  }
  .topics-list__cat {
    width: auto;
    padding: 0.25rem 1rem;
    font-size: 1.05rem;
    order: 2;
  }
  .topics-list__title {
    flex-basis: 100%;
    font-size: 1.4rem;
    padding-right: 0;
    order: 3;
    -webkit-line-clamp: 3;
  }
  .topics-list__link::after {
    right: 1.2rem;
  }
}
.topics-pagination {
  margin-top: 4rem;
  text-align: center;
}
.topics-pagination .nav-links {
  display: inline-flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.topics-pagination .page-numbers {
  display: inline-block;
  padding: 0.7rem 1.3rem;
  border: 1px solid rgba(106, 157, 45, 0.3);
  color: #303030;
  text-decoration: none;
  border-radius: 4px;
  font-family: "Arimo", sans-serif;
  font-size: 1.3rem;
  transition: all 0.2s;
}
.topics-pagination .page-numbers:hover {
  background: rgba(106, 157, 45, 0.08);
  color: #5bbf9b;
}
.topics-pagination .page-numbers.current {
  background: #5bbf9b;
  color: #fff;
  border-color: #5bbf9b;
}
@media screen and (max-width: 767px) {
  .topics-archive {
    padding: 3.5rem 1rem;
  }
  .topics-cat-nav {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    overflow: visible !important;
    width: auto !important;
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    gap: 0.4rem !important;
  }
  .topics-cat-nav .slick-list,
  .topics-cat-nav .slick-track {
    display: contents !important;
  }
  .topics-cat-nav__item {
    padding: 1rem 0.3rem;
    font-size: 1.2rem;
  }
  .topics-list__link {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 1.2rem 0.3rem;
  }
  .topics-list__date {
    font-size: 1.2rem;
    width: auto;
  }
  .topics-list__cat {
    font-size: 1rem;
    padding: 0.2rem 0.8rem;
    width: auto;
  }
  .topics-list__title {
    width: 100%;
    font-size: 1.3rem;
    white-space: normal;
  }
}

/* TOP news tabs (sr-clover home) */
.p-home-news-tabs {
  padding: 6rem 2rem 6rem;
  background: #fbf9f7;
}
.p-home-news-tabs .inner {
  max-width: 1200px;
  margin: 0 auto;
}
.p-home-news-tabs .c-heading01 {
  margin-bottom: 4rem;
}
.news-tabs-wrapper {
  background: #fff;
  padding: 2.5rem 3rem 2rem;
  border-radius: 12px;
  /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); */
}
/* toyopla.jp 参考のスクエアタブ（等幅グリッド） */
.news-tab__buttons {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.6rem;
  margin-bottom: 2rem;
  padding-bottom: 0;
  justify-content: stretch;
}
.news-tab__btn {
  background: #fff;
  border: 2px solid #d0d0d0;
  padding: 1.6rem 0.8rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #555;
  cursor: pointer;
  position: relative;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  font-family: inherit;
  border-radius: 0;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.3;
}
/* デフォルト状態でカテゴリ色のアウトライン適用（archive と統一） */
.news-tab__btn[data-tab="all"] { color: #3f9a78; border-color: #3f9a78; }
.news-tab__btn[data-tab="news"] { color: #5bbf9b; border-color: #5bbf9b; }
.news-tab__btn[data-tab="topics"] { color: #31a5d8; border-color: #31a5d8; }
.news-tab__btn[data-tab="column"] { color: #4FA3D8; border-color: #4FA3D8; }
.news-tab__btn[data-tab="blog"] { color: #FFB300; border-color: #FFB300; }
.news-tab__btn[data-tab="customers-voice"] { color: #b07a8a; border-color: #b07a8a; }
.news-tab__btn:hover {
  background: #3f9a78;
  border-color: #3f9a78;
  color: #fff;
}
.news-tab__btn.is-active {
  background: #3f9a78;
  border-color: #3f9a78;
  color: #fff;
  box-shadow: none;
}
.news-tab__btn.is-active::after {
  content: none;
}
.news-tab__content {
  display: none;
}
.news-tab__content.is-active {
  display: block;
}
.home-news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.home-news-list > li {
  border-bottom: 1px solid rgba(106, 157, 45, 0.15);
}
.home-news-list > li:last-child {
  border-bottom: 0;
}
.home-news-list__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1.4rem;
  padding: 1.4rem 0.5rem;
  text-decoration: none;
  color: #000;
  transition: background 0.2s;
}
.home-news-list__link:hover {
  background: rgba(106, 157, 45, 0.05);
  color: #5bbf9b;
}
.home-news-list__date {
  flex-shrink: 0;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  color: #333;
  font-size: 1.4rem;
  letter-spacing: 0.5px;
}
.home-news-list__cat {
  flex-shrink: 0;
  display: inline-block;
  padding: 0.4rem 1.2rem;
  background: #fff;
  color: #5bbf9b;
  font-size: 1.15rem;
  font-weight: 700;
  border-radius: 0;
  letter-spacing: 0.5px;
  text-align: center;
  line-height: 1.4;
  box-sizing: border-box;
}
.home-news-list__title {
  flex-basis: 100%;
  font-size: 1.65rem;
  font-weight: 500;
  color: #000;
  line-height: 1.7;
  margin-top: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-news-list__date {
  font-size: 1.5rem !important;
}
.home-news-list__cat {
  font-size: 1.25rem !important;
  padding: 0.5rem 1.4rem !important;
}
.home-news-list__empty {
  padding: 3rem 0.5rem;
  text-align: center;
  color: #888;
  font-size: 1.4rem;
}
.home-news-list__more-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home-news-tabs {
    padding: 4rem 1rem;
  }
  .news-tabs-wrapper {
    padding: 1.5rem 1rem 2rem;
  }
  .news-tab__buttons {
    grid-template-columns: repeat(3, 1fr);
    overflow-x: visible;
    gap: 0.4rem;
  }
  .news-tab__btn {
    padding: 1rem 0.3rem;
    font-size: 1.2rem;
    white-space: normal;
    line-height: 1.25;
  }
  .home-news-list__link {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 1.2rem 0.3rem;
  }
  .home-news-list__date {
    font-size: 1.2rem;
    width: auto;
  }
  .home-news-list__cat {
    font-size: 1rem;
    padding: 0.2rem 0.8rem;
    width: auto;
  }
  .home-news-list__title {
    width: 100%;
    font-size: 1.3rem;
    white-space: normal;
  }
}

/* FV news bar (sr-clover home) — ioneair風ピル型バー */
.home-mv .home-mv-news {
  position: absolute;
  left: 4vw;
  right: 4vw;
  bottom: 4vh;
  width: auto;
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  border-top: 0;
  border-bottom: 0;
  padding: 1.4rem 3rem;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  font-size: 1.4rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  z-index: 5;
}
.home-mv-news__label {
  flex-shrink: 0;
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  font-size: 1.55rem;
  color: #3f9a78;
  letter-spacing: 0.18em;
  line-height: 1;
  margin: 0;
  padding: 0;
  border-right: 0;
}
.home-mv-news__item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  text-decoration: none;
  color: #333;
  min-width: 0;
  transition: color 0.2s;
}
.home-mv-news__item:hover {
  color: #3f9a78;
}
.home-mv-news__item--empty {
  cursor: default;
  color: #888;
}
.home-mv-news__date {
  flex-shrink: 0;
  color: #555;
  font-weight: 500;
  font-family: "Arimo", sans-serif;
  letter-spacing: 0.5px;
  font-size: 1.4rem;
}
.home-mv-news__title {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  font-size: 1.4rem;
  color: #333;
}
.home-mv-news__more {
  flex-shrink: 0;
  font-family: "Arimo", sans-serif;
  font-size: 1.3rem;
  color: #555;
  text-decoration: none;
  letter-spacing: 0.06em;
  font-weight: 500;
  transition: color 0.2s;
}
.home-mv-news__more:hover {
  color: #3f9a78;
}
.home-mv-news__line {
  flex-shrink: 0;
  width: 36px;
  height: 1px;
  background: #888;
}
@media screen and (max-width: 767px) {
  .home-mv .home-mv-news {
    left: 3vw;
    right: 3vw;
    bottom: 2vh;
    border-radius: 999px;
    padding: 0.9rem 1.6rem;
    gap: 1rem;
    font-size: 1.2rem;
    flex-wrap: nowrap;
  }
  .home-mv-news__label {
    font-size: 1.15rem;
    letter-spacing: 0.16em;
  }
  .home-mv-news__date {
    font-size: 1.05rem;
  }
  .home-mv-news__title {
    font-size: 1.1rem;
  }
  .home-mv-news__more {
    font-size: 1.05rem;
  }
  .home-mv-news__line {
    width: 18px;
  }
}

/* recruit requirements (募集要項テーブル+ステータス) */
.p-recruit-status {
  position: relative;
  background: #feffe2;
  border: 2px solid #fffa6e;
  border-radius: 12px;
  padding: 3rem 2rem 2.5rem;
  margin: 0 0 4rem;
  text-align: center;
}
.p-recruit-status__badge {
  position: absolute;
  top: -1.4rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 0.4rem 1.4rem;
  background: #31a5d8;
  color: #fff;
  font-family: "Arimo", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(49, 165, 216, 0.3);
}
.p-recruit-status__title {
  font-size: clamp(1.7rem, 2.4vw, 2rem);
  font-weight: 700;
  color: #31a5d8;
  margin: 0 0 1rem;
  line-height: 1.5;
}
.p-recruit-status__text {
  font-size: 1.45rem;
  line-height: 1.85;
  color: #303030;
  margin: 0;
}
.p-recruit-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid rgba(106, 157, 45, 0.2);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.p-recruit-table th {
  width: 220px;
  background: #5bbf9b;
  color: #fff;
  text-align: left;
  padding: 1.8rem 2rem;
  font-weight: 700;
  font-size: 1.5rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  letter-spacing: 0.05em;
}
.p-recruit-table tr:last-child th {
  border-bottom: 0;
}
.p-recruit-table td {
  padding: 1.8rem 2.2rem;
  vertical-align: top;
  line-height: 1.85;
  font-size: 1.5rem;
  color: #303030;
  border-bottom: 1px solid rgba(106, 157, 45, 0.18);
  background: #fff;
}
.p-recruit-table tr:last-child td {
  border-bottom: 0;
}
.p-recruit-table tr:nth-child(even) td {
  background: #fbf9f7;
}
@media screen and (max-width: 767px) {
  .p-recruit-status {
    padding: 2.5rem 1.2rem 2rem;
    margin-bottom: 2.5rem;
  }
  .p-recruit-table {
    border-radius: 10px;
  }
  .p-recruit-table tr {
    display: block;
    border-bottom: 1px solid rgba(106, 157, 45, 0.18);
  }
  .p-recruit-table tr:last-child {
    border-bottom: 0;
  }
  .p-recruit-table th {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    font-size: 1.35rem;
    border-bottom: 0;
  }
  .p-recruit-table td {
    display: block;
    width: 100%;
    padding: 1.4rem 1.5rem 1.6rem;
    font-size: 1.4rem;
    border-bottom: 0;
    background: #fff !important;
  }
}

/* recruit voice grid (3カラム+写真) */
.p-recruit-voice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-top: 2rem;
}
.p-recruit-voice {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(106, 157, 45, 0.18);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-recruit-voice:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(106, 157, 45, 0.15);
}
.p-recruit-voice__photo {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
}
.p-recruit-voice__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.5s ease;
}
.p-recruit-voice:hover .p-recruit-voice__photo img {
  transform: scale(1.05);
}
.p-recruit-voice__body {
  padding: 2rem 1.8rem 2.2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-recruit-voice__role {
  font-size: 1.55rem;
  font-weight: 700;
  color: #5bbf9b;
  margin: 0 0 1rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid rgba(106, 157, 45, 0.25);
}
.p-recruit-voice__text {
  font-size: 1.45rem;
  line-height: 1.85;
  color: #303030;
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-recruit-voice-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-voice-grid {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }
  .p-recruit-voice__body {
    padding: 1.5rem 1.5rem 1.8rem;
  }
}

/* recruit page sections (front-check.xyz /recruit/ より複製) */
.p-recruit-section {
  margin: 4rem auto 0;
  max-width: 1100px;
  padding: 6rem 3rem;
  border-radius: 14px;
  position: relative;
}
/* 各セクション別の背景色 */
.p-recruit-section#voice { background: #eef8f3; }
.p-recruit-section#flow { background: #ffffff; }
.p-recruit-section#numbers { background: #f2f8e9; padding: 3rem; }
.p-recruit-section#requirements { background: #ffffff; }
/* 各セクション タイトル下線色（ブランドグリーンで統一） */
.p-recruit-section .p-recruit-section__title::after { background: #5bbf9b; }
@media (max-width: 768px) {
  .p-recruit-section {
    padding: 4rem 1.6rem;
    margin: 3rem auto 0;
  }
}
.p-recruit-section__title {
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #303030;
  text-align: center;
  margin: 0 0 3rem;
  padding-bottom: 1.2rem;
  position: relative;
}
.p-recruit-section__title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #5bbf9b;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-recruit-card--flex {
  display: flex;
  gap: 3rem;
  align-items: center;
}
.p-recruit-card__content {
  flex: 1;
  min-width: 0;
}
.p-recruit-card__image {
  flex: 1;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  aspect-ratio: 3 / 2;
  min-width: 0;
}
.p-recruit-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.p-recruit-card__image:hover img {
  transform: scale(1.04);
}
.p-recruit-intro__text {
  font-size: 1.55rem;
  line-height: 1.9;
  color: #303030;
  margin: 0 0 1.5rem;
}
.p-timeline {
  margin-top: 1.5rem;
  border-left: 3px solid rgba(106, 157, 45, 0.35);
  padding-left: 1.8rem;
  margin-left: 0.7rem;
}
.p-timeline__item {
  position: relative;
  margin-bottom: 1.6rem;
}
.p-timeline__item:last-child {
  margin-bottom: 0;
}
.p-timeline__item::before {
  content: "";
  position: absolute;
  left: -2.4rem;
  top: 4px;
  width: 14px;
  height: 14px;
  background: #fff;
  border: 3px solid #5bbf9b;
  border-radius: 50%;
}
.p-timeline__time {
  display: inline-block;
  background: #f4faec;
  color: #5bbf9b;
  font-weight: 700;
  font-family: "Arimo", sans-serif;
  padding: 0.2rem 0.9rem;
  border-radius: 4px;
  margin-bottom: 0.4rem;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.p-timeline__desc {
  margin: 0;
  color: #444;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.7;
}
.p-recruit-note {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  color: #888;
}
.p-recruit-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
.p-recruit-stat {
  background: #fff;
  border: 1px solid rgba(106, 157, 45, 0.2);
  border-radius: 12px;
  padding: 3rem 1.5rem 2.5rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-recruit-stat:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(106, 157, 45, 0.15);
}
.p-recruit-stat__num {
  font-family: "Arimo", sans-serif;
  font-size: clamp(3.6rem, 5vw, 4.6rem);
  color: #5bbf9b;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}
.p-recruit-stat__num .stat-num {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
}
.p-recruit-stat__unit {
  font-size: 0.5em;
  font-weight: 700;
  margin-left: 0.25em;
  color: #31a5d8;
}
.p-recruit-stat__label {
  margin-top: 1.2rem;
  color: #303030;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.6;
}
.p-recruit-stat__label small {
  display: block;
  margin-top: 0.4rem;
  color: #888;
  font-size: 0.8em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  /* 2026-07-29 修正: 従来 padding:0 1rem で上下パディングが消え、
     先輩スタッフの声／1日の業務の流れ／募集要項 の見出し上に余白が無くなっていた */
  .p-recruit-section {
    margin-top: 4rem;
    padding: 3.5rem 1.4rem;
  }
  .p-recruit-card--flex {
    flex-direction: column;
    gap: 2rem;
  }
  .p-recruit-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
  }
  .p-recruit-stats {
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }
  .p-recruit-stat {
    padding: 2rem 0.8rem 1.8rem;
  }
}

/* TOP recruit parallax (front-check.xyz より複製) */
/* philosophy section (sr-clover /about) */
.philosophy-section {
  padding: 5rem 0 5rem;
  background: linear-gradient(to bottom, #fff 0%, #fbf9f7 100%);
}
.philosophy-content {
  max-width: 960px;
  margin: 3rem auto 0;
  text-align: center;
  padding: 0 2rem;
}
.philosophy-lead {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  line-height: 2;
  color: #303030;
  margin: 0 0 3rem;
}
.philosophy-credo {
  font-size: clamp(2.2rem, 3.5vw, 3.4rem);
  font-weight: 700;
  color: #303030;
  line-height: 1.6;
  margin: 0 0 3.5rem;
  padding: 2.5rem 1rem;
  border-top: 2px solid #5bbf9b;
  border-bottom: 2px solid #5bbf9b;
  letter-spacing: 0.05em;
}
.philosophy-credo__accent {
  color: #31a5d8;
  font-size: 1.1em;
}
.philosophy-text {
  font-size: clamp(1.4rem, 1.6vw, 1.55rem);
  line-height: 2;
  color: #303030;
  margin: 0 0 1.5rem;
}
.philosophy-text:last-child {
  margin-bottom: 0;
}
.philosophy-image {
  text-align: center;
  margin: 3rem 0;
}
.philosophy-image img {
  max-width: 380px;
  width: 100%;
  height: auto;
}
.philosophy-detail {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
  text-align: left;
  font-family: "Noto Serif JP", serif;
}
.philosophy-detail__block {
  background: #eef8f3;
  /* border-left: 5px solid #5bbf9b; */
  padding: 3rem 3.5rem;
  border-radius: 1rem;
  text-align: center;
}
.philosophy-detail__ttl {
  font-size: clamp(2.4rem, 3vw, 2.8rem);
  font-weight: 700;
  color: #5bbf9b;
  margin-bottom: 1.8rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
}
.philosophy-detail__text {
  font-size: clamp(1.8rem, 2vw, 2.1rem);
  line-height: 2;
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.philosophy-detail__list {
  margin-top: 1.2rem;
  list-style: none;
  padding: 0;
  font-family: "Noto Serif JP", serif;
}
.philosophy-detail__list li {
  font-size: clamp(1.8rem, 2vw, 2.1rem);
  line-height: 2.2;
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media (max-width: 768px) {
  .philosophy-detail__block {
    padding: 2rem 1.6rem;
    border-radius: 0.8rem;
  }
  .philosophy-detail__ttl {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
  .philosophy-detail__text {
    font-size: 1.45rem;
    line-height: 1.85;
    text-align: left;
  }
  .philosophy-detail__list {
    text-align: left;
  }
  .philosophy-detail__list li {
    font-size: 1.45rem;
    line-height: 2;
  }
}
@media (max-width: 768px) {
  .philosophy-detail {
    flex-direction: column;
    gap: 2rem;
  }
  .philosophy-image img {
    max-width: 100%;
  }
}
.philosophy-slider {
  margin-top: 5rem;
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.philosophy-slider__track {
  display: flex;
  gap: 2rem;
  width: max-content;
  animation: philosophy-scroll 40s linear infinite;
}
.philosophy-slider:hover .philosophy-slider__track {
  animation-play-state: paused;
}
.philosophy-slider__item {
  flex-shrink: 0;
  width: clamp(280px, 30vw, 380px);
  height: clamp(180px, 18vw, 240px);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.philosophy-slider__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@keyframes philosophy-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 1rem)); }
}
@media screen and (max-width: 767px) {
  .philosophy-section {
    padding: 5rem 0 4rem;
  }
  .philosophy-content {
    margin-top: 2.5rem;
  }
  .philosophy-credo {
    padding: 2rem 0.5rem;
    margin-bottom: 2.5rem;
    line-height: 1.7;
  }
  .philosophy-slider {
    margin-top: 3rem;
  }
  .philosophy-slider__track {
    gap: 1rem;
    animation-duration: 30s;
  }
  .philosophy-slider__item {
    width: 220px;
    height: 140px;
    border-radius: 6px;
  }
}

/* service process (sr-clover service pages) */
.service-process {
  list-style: none;
  margin: 1.5rem 0 2rem;
  padding: 0;
  counter-reset: process-counter;
}
.service-process > li {
  display: grid;
  grid-template-columns: 60px 220px 1fr;
  gap: 1.5rem;
  align-items: start;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(106, 157, 45, 0.15);
}
.service-process > li:last-child {
  border-bottom: 0;
}
.service-process__step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #5bbf9b;
  color: #fff;
  border-radius: 50%;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
}
.service-process__name {
  font-weight: 700;
  color: #303030;
  font-size: 1.5rem;
  padding-top: 0.6rem;
}
.service-process__desc {
  color: #555;
  line-height: 1.7;
  padding-top: 0.6rem;
  font-size: 1.4rem;
}
.wage-flow__head {
  font-weight: 700;
  color: #5bbf9b;
  font-size: 1.6rem;
  margin: 2rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #5bbf9b;
}
.infoBox_text-list--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 2rem;
}
.infoBox_text-list--inline li {
  flex-basis: calc(33.333% - 1.5rem);
}
@media screen and (max-width: 767px) {
  .service-process > li {
    grid-template-columns: 44px 1fr;
    gap: 1rem;
  }
  .service-process__name {
    font-size: 1.4rem;
    padding-top: 0.5rem;
  }
  .service-process__desc {
    grid-column: 1 / 3;
    padding-top: 0.3rem;
    font-size: 1.3rem;
  }
  .infoBox_text-list--inline li {
    flex-basis: calc(50% - 1rem);
  }
}

/* consultant cards (sr-clover service/consulting) */
.consultant-card {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(106, 157, 45, 0.25);
}
.consultant-card:first-of-type {
  margin-top: 1rem;
  padding-top: 0;
  border-top: 0;
}
.consultant-card__name {
  font-size: 2rem;
  font-weight: bold;
  color: #303030;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  border-left: 4px solid #5bbf9b;
  line-height: 1.5;
}
.consultant-card__title {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  color: #5bbf9b;
  margin-left: 0.6rem;
}
.consultant-card__body {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 2.5rem;
  align-items: start;
}
.consultant-card__photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  border: 1px solid #eee;
}
.consultant-history {
  margin: 0;
}
.consultant-history dt {
  font-weight: bold;
  color: #5bbf9b;
  font-size: 1.5rem;
  margin-top: 1.2rem;
  letter-spacing: 0.05em;
}
.consultant-history dt:first-of-type {
  margin-top: 0;
}
.consultant-history dd {
  margin: 0.3rem 0 0 0;
  line-height: 1.8;
  color: #333;
  font-size: 1.45rem;
}
@media screen and (max-width: 767px) {
  .consultant-card__body {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .consultant-card__photo {
    max-width: 180px;
    margin: 0 auto;
  }
  .consultant-card__name {
    font-size: 1.7rem;
  }
  .consultant-card__title {
    display: block;
    margin-left: 0;
    margin-top: 0.4rem;
  }
  .consultant-history dt {
    font-size: 1.4rem;
  }
  .consultant-history dd {
    font-size: 1.3rem;
  }
}

/* footer detail nav (sr-clover) */
.footer__map-full {
  width: 100%;
  margin-top: 0;
}
.footer__map-full iframe {
  display: block;
  width: 100%;
  height: 400px;
  border: 0;
}
@media screen and (max-width: 767px) {
  .footer__map-full {
    margin-top: 4rem;
  }
}
.footer-info-block {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 4rem;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 3rem;
}
.footer-info-block__right {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 768px) {
  .footer-info-block {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.footer-nav-service {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-nav-service .footer-head {
  margin: 0 0 1.8rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #5bbf9b;
  font-size: 1.8rem;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.footer-nav-service__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 2.5rem;
  align-items: start;
}
.footer-nav-service__grid .nav-group + .nav-group {
  margin-top: 0;
}
.footer-nav-service__grid .nav-group__head {
  margin: 0 0 0.5rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #303030;
  line-height: 1.4;
}
.footer-nav-service__grid .nav-group__head a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
  display: inline-block;
}
.footer-nav-service__grid .nav-group__head a:hover {
  color: #5bbf9b;
}
.footer-nav-service__grid .nav-group__sub {
  list-style: none;
  margin: 0 0 1rem;
  padding-left: 0.8rem;
  border-left: 1px solid rgba(106, 157, 45, 0.3);
}
.footer-nav-service__grid .nav-group__sub li {
  padding: 0.18rem 0;
  line-height: 1.5;
}
.footer-nav-service__grid .nav-group__sub li a {
  color: #555;
  text-decoration: none;
  font-size: 1.3rem;
  position: relative;
  padding-left: 0.8rem;
  display: inline-block;
  transition: color 0.2s;
}
.footer-nav-service__grid .nav-group__sub li a::before {
  content: "·";
  color: #5bbf9b;
  position: absolute;
  left: 0;
  top: -0.1rem;
  font-weight: bold;
}
.footer-nav-service__grid .nav-group__sub li a:hover {
  color: #5bbf9b;
}

.footer-nav-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 2.5rem;
  align-items: start;
}
@media (max-width: 768px) {
  .footer-nav-service__grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .footer-nav-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.footer-nav-col {
  line-height: 1.5;
  font-size: 1.4rem;
}
.footer-nav-col .footer-head {
  margin: 0 0 1.5rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #5bbf9b;
  font-size: 1.8rem;
  letter-spacing: 1.5px;
  width: auto;
}
.footer-nav-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-nav-col .nav-group + .nav-group {
  margin-top: 1.4rem;
}
.footer-nav-col .nav-group__head {
  margin: 0 0 0.5rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #303030;
  line-height: 1.4;
}
.footer-nav-col .nav-group__head a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s;
}
.footer-nav-col .nav-group__head a:hover {
  color: #5bbf9b;
}
.footer-nav-col .nav-group__sub {
  padding-left: 0.8rem;
  border-left: 1px solid rgba(106, 157, 45, 0.3);
  margin-left: 0.2rem;
}
.footer-nav-col .nav-group__sub li {
  padding: 0.18rem 0;
  line-height: 1.5;
}
.footer-nav-col .nav-group__sub a {
  color: #555;
  text-decoration: none;
  font-size: 1.3rem;
  position: relative;
  padding-left: 0.8rem;
  display: inline-block;
  transition: color 0.2s;
}
.footer-nav-col .nav-group__sub a::before {
  content: "·";
  color: #5bbf9b;
  position: absolute;
  left: 0;
  top: -0.1rem;
  font-weight: bold;
}
.footer-nav-col .nav-group__sub a:hover {
  color: #5bbf9b;
}
@media screen and (max-width: 1023px) {
  .footer-info-block {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .footer-info-block > div:first-child {
    text-align: center;
  }
  .footer-info-block .footer__address {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .footer__map-full iframe {
    height: 280px;
  }
  .footer-nav-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1.5rem;
  }
  .footer-nav-col .footer-head {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
  }
  .footer-nav-col {
    font-size: 1.3rem;
  }
  .footer-nav-col .nav-group__head {
    font-size: 1.35rem;
  }
  .footer-nav-col .nav-group__sub a {
    font-size: 1.2rem;
  }
}
.area {
  background-image: url(../img/sub/reason/area-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 8rem;
}
/* --------------------------------
c-accordion
----------------------------------- */
.c-accordion {
  border-bottom: 1px solid #9da3a7;
}

.c-accordion__title {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  padding: 4vw 6vw 4vw 0;
  position: relative;
  font-size: 3.5vw;
  line-height: 1.75;
}

.c-accordion__title span {
  width: 8vw;
  height: 8vw;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgb(100, 179, 244)),
    to(rgb(33, 89, 186))
  );
  background: linear-gradient(
    90deg,
    rgb(100, 179, 244) 0%,
    rgb(33, 89, 186) 100%
  );
  color: #fff;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 3vw;
}

.c-accordion__title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #141414;
  border-right: 2px solid #141414;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 42%;
  right: 2rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-accordion__title.open::after {
  top: 41%;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.c-accordion__content {
  display: none;
  background-color: #edf4fa;
  padding: 3vw;
}

.c-accordion__content p {
  font-size: 3vw;
  line-height: 1.75;
}
.accordion .js-accordion-title {
  background-color: #fff;
  border: 1px solid #5bbf9b;
  cursor: pointer;
  padding: 15px 20px 23px;
  position: relative;
  font-size: 3rem;
  margin-top: 2rem;
  position: relative;
  border-radius: 14px;
}
.accordion .js-accordion-title::before {
  content: "Q";
  position: absolute;
  display: block;
  width: 2.8rem; /* 画像の幅 */
  height: 4rem; /* 画像の高さ */
  background-size: cover;
  margin-right: 5px;
  margin-top: 3px;
  vertical-align: middle;
  /* background-image: url(../img/common/Q.svg); */
  left: 2.2rem;
  font-size: 3rem;
  color: #5bbf9b;
  font-weight: bold;
}
.accordion .js-accordion-title span {
  font-size: 16px;
  margin-left: 5rem;
  margin-bottom: 5px;
}

.accordion .js-accordion-title i.arrow {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 4px solid #5bbf9b;
  border-right: 4px solid #5bbf9b;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
  transition: transform 0.3s ease-in-out;
}

.accordion .js-accordion-title.open i.arrow {
  transform: translateY(-50%) rotate(-45deg);
}

.accordion-content {
  display: none;
  /* background-color: #f9f9f9; */
  padding: 25px 20px;
  font-size: 16px;
  position: relative;
  padding-left: 7rem;
  line-height: 1.5;
}
.accordion-content::before {
  content: "A";
  position: absolute;
  display: block;
  width: 3.3rem; /* 画像の幅 */
  height: 3.5rem; /* 画像の高さ */
  background-size: cover;
  margin-right: 5px;
  margin-top: 3px;
  vertical-align: middle;
  background-image: url(../img/common/A.svg);
  left: 2.5rem;
  top: 1rem;
  font-size: 3rem;
  color: #5bbf9b;
  font-weight: bold;
}
.faq.inner {
  max-width: 1000px;
}
.faq {
  padding-top: 3rem;
  padding-bottom: 10rem;
}
.greeting-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 4rem;
  align-items: center;
  margin-top: 6rem;
}
.greeting-grid.greeting-grid--swap {
  grid-template-columns: 1fr 1.5fr;
}
.greeting-txt {
  line-height: 2;
}
.gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2.5rem;
  margin-top: 6rem;
}
.sub-contact__top h2.c-heading01.c-heading01_center {
  padding-top: 0;
}
.sub-contact__box h2.c-heading01.c-heading01_center {
  padding-top: 5rem;
}
.p-home-column {
  padding-bottom: 3rem;
  background: #fff;
  margin-bottom: 2rem;
}
/* アンカーリンクナビ（kaneshi 流・各ページ共通） */
.page-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2rem;
  max-width: 1110px;
  margin: 4rem auto 6rem;
  padding: 0 15px;
  flex-wrap: nowrap;
  justify-content: stretch;
}
.page-link a {
  padding: 1.8rem 1rem 2.4rem;
  text-align: center;
  border: 2px solid #5bbf9b;
  position: relative;
  transition: all 0.3s ease;
  font-weight: 700;
  line-height: 1.5;
  color: #303030;
  text-decoration: none;
  background: #fff;
  font-size: 1.45rem;
  border-radius: 4px;
  display: block;
}
.page-link a::before {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 9px solid #5bbf9b;
  transition: border-color 0.3s ease;
}
.page-link a:hover {
  background: #5bbf9b;
  color: #fff;
}
.page-link a:hover::before {
  border-top-color: #fff;
}
@media screen and (max-width: 767px) {
  .page-link {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    margin: 3rem auto 4rem;
  }
  .page-link a {
    font-size: 1.4rem;
    padding: 1.4rem 1rem;
  }
  .page-link a::before {
    display: none;
  }
}
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px auto;
}

.price-table tr {
  /* border-radius: 10px; */
}

.price-table th,
.price-table td {
  padding: 1.4rem 1.6rem;
  text-align: left;
  line-height: 1.5;
  vertical-align: middle;
  font-size: 1.55rem;
}

.price-table th {
  background-color: #5bbf9b;
  color: #fff;
  font-weight: bold;
  vertical-align: middle;
  text-align: center;
}

.price-table th:nth-child(1) {
  border-radius: 10px 0 0 0;
}

.price-table th:last-child {
  border-radius: 0 10px 0 0;
}
.price-table td:nth-child(2) span {
  font-weight: 400;
  font-size: 15px;
  display: block;
}
.price-table tbody tr:nth-child(even) td {
  background-color: #eef7f2;
}
.price-table td:nth-child(2) {
  /* border-left: 1px solid #c9cdca; */
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
}
.note {
  text-align: center;
  line-height: 1.3;
}
.service {
  padding-bottom: 12rem;
}
.p-home-sec01__box h2.c-heading01.c-heading01_center {
  padding-top: 2rem;
}
/* メガメニュー（暗緑塗り＋▶アロー＋白文字、参考画像準拠） */
.dropdown-menu {
  visibility: hidden;
  position: absolute;
  top: 230%;
  left: 0;
  background-color: #459104;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  padding: 4rem 15vw 5rem;
  margin: 0;
  list-style: none;
  z-index: 1000;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, top 0.4s ease, visibility 0.4s ease;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}

.dropdown-menu li {
  margin: 0;
  padding: 0;
}

.dropdown-link {
  display: block;
  padding: 8px 0 8px 1.4rem;
  color: rgba(255, 255, 255, 0.86);
  text-decoration: none;
  position: relative;
  line-height: 1.4;
  font-size: 1.45rem;
  font-weight: 400;
  transition: color 0.2s;
}
.dropdown-link::before {
  content: none;
}
.dropdown-link:hover {
  color: #a7dcc8;
}

.header__item:hover .dropdown-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  top: 85%;
}
.header__item {
  padding: 2rem 0;
}
.dropdown-ttl {
  display: none;
}
/* 画像付きメガメニュー（企業情報用） */
.dropdown-menu--with-img {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 3rem;
  align-items: stretch;
}
.dropdown-menu__img {
  margin: 0;
  display: block;
  overflow: hidden;
  border-radius: 4px;
}
.dropdown-menu__img img {
  width: 100%;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  display: block;
}
.dropdown-menu__body {
  min-width: 0;
}
.dropdown-menu--with-img .dropdown-menu-lists {
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 1.6rem !important;
}
.dropdown-menu--with-img .dropdown-menu-lists img {
  /* メイン画像があるので各カラムの個別画像は非表示 */
  display: none;
}
.dropdown-menu-lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.8rem;
  margin-top: 0;
}
.dropdown-menu-lists img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 1.6rem;
  border-radius: 4px;
  aspect-ratio: 3/2;
}
.dd-page-ttl {
  display: block;
  font-size: 1.65rem;
  padding-bottom: 1.2rem;
  border-bottom: 0;
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 1.4rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.2s;
}
a.dd-page-ttl:hover {
  color: #a7dcc8;
}
.dd-page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0 0.5em 0.7em;
  border-color: transparent transparent transparent #a7dcc8;
}
.nav-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s ease;
}

.nav-submenu.is-open {
  max-height: 500px; /* 適当に大きめに */
	margin-top: 1rem;
}
.nav-submenu a {
	padding: 6px ;
	text-align: left;
	font-size: 14px;
	font-weight: bold;
}
.nav-drawer__item.js-has-submenu {
	text-align: left;
}
.nav-drawer__link02 {
	display: block;
	position: relative;
	text-align: left;
	text-decoration: none;
	color: inherit;
}
/* 2026-07-29 親項目: 文字＝ページリンク／右の丸ボタン（＋−）で開閉 */
.nav-drawer__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
}
.nav-drawer__toggle {
	position: relative;
	flex: 0 0 auto;
	width: 3.4rem;
	height: 3.4rem;
	padding: 0;
	border: 1px solid #cfe8dd;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.nav-drawer__toggle::before,
.nav-drawer__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: #5bbf9b;
	border-radius: 2px;
	transform: translate(-50%, -50%);
	transition: transform 0.3s, opacity 0.3s;
}
.nav-drawer__toggle::before { width: 14px; height: 2px; }
.nav-drawer__toggle::after  { width: 2px; height: 14px; }
.nav-drawer__toggle.is-open::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}
/* 3) Instagram アイコン（丸囲みなし・アイコンのみ） */
.nav-drawer__sns {
	display: flex;
	justify-content: center;
	margin-top: 4vw;
}
.nav-drawer__sns a {
	display: inline-flex;
	transition: 0.25s;
}
.nav-drawer__sns a:hover { opacity: 0.7; }
.nav-drawer__sns img { width: 32px; height: 32px; display: block; }
/* 4) Instagram と電話番号の間を詰める（.footer-bnr の margin-top:3rem を打ち消す） */
.nav-drawer .footer-bnr { margin-top: 0.6rem; }
.nav-drawer .footer-bnr p:first-child { margin-top: 0; }
/* 5) 採用バナー（.cta-bnr をドロワー内で使うための調整） */
.nav-drawer .cta-bnr {
	width: 80vw;
	max-width: 80vw;
	margin: 5vw auto 0;
	padding: 0;
}
.nav-drawer .cta-bnr img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}
.greeting-img img{
	aspect-ratio:1;
	object-fit: cover;
}
.greeting.bg_01 {
  background: #eef8f3;
}
.sec05.bg_01 {
  background: #eef8f3;
}
section#srp {
  background: #eef8f3;
}
.gallery-grid img {
		aspect-ratio:3 / 2;
	object-fit: cover;
}
/* mq */

@media screen and (max-width: 768px) {
  .accordion .js-accordion-title {
    margin-top: 1rem;
    padding: 4px 18px 15px;
  }
  .accordion .js-accordion-title span {
    margin-left: 2rem;
  }
  .accordion .js-accordion-title::before {
    font-size: 2.5rem;
    left: 1.2rem;
    top: 1rem;
  }
  .accordion .js-accordion-title i.arrow {
    right: 11px;
    border-top: 3px solid #5bbf9b;
    border-right: 3px solid #5bbf9b;
    top: 46%;
  }
  .accordion .js-accordion-title span {
    font-size: 14px;
  }
  .accordion {
    margin-top: 3rem;
  }
  .accordion-content {
    padding: 15px 10px;
    padding-left: 4rem;
    font-size: 15px;
  }
  .accordion-content::before {
    font-size: 2.4rem;
    left: 1.2rem;
  }
  .about-wood {
    max-width: 80px;
    margin: 0.5rem auto 1rem;
  }
  .c-heading01 span::before {
    top: -1px;
  }

  .sec01 {
    padding: 0 0 2rem;
  }
  .p-home-column {
    padding-top: 4rem;
  }


  .home-company_grid-item:nth-child(2),

  .sec04 {
    padding: 0 15px;
  }
  .cta-bnr {
    margin: 4rem auto;
  }
  .footer-right {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
  .footer-flex {
    grid-template-columns: 1fr;
    margin-top: 0;
    gap: 2rem;
  }
  .page-link a {
    padding: 8px 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1.1;
  }
  .page-link {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 0 15px;
  }
  .price-table td:nth-child(1) {
    background: #fff !important;
    color: #333;
    border-radius: 4px;
    font-weight: 600;
    font-size: 16px;
    border: 1px solid #5bbf9b;
  }
  .price-table td:nth-child(2) {
    border-left: none;
  }
  .price-table thead {
    display: none;
  }
  .price-table tbody tr {
    display: block;
    margin-bottom: 1rem;
  }
  .price-table td {
    display: block;
    padding: 10px;
    text-align: left;
    width: 100%;
  }
  .price-table tbody tr:nth-child(even) td {
    background: none;
  }
  .price-table {
    margin: 3rem auto 1rem;
  }
  .service {
    padding-bottom: 8rem;
  }
  .introduction {
    padding-top: 4rem;
  }
  .feature-ttl {
    font-size: 2rem;
  }
  .area {
    padding: 4rem 0 6rem;
  }
  .sub-contact__box h2.c-heading01.c-heading01_center {
    padding-top: 2rem;
  }
  .greeting {
    padding: 4rem 0;
  }
  .greeting-grid {
    grid-template-columns: 1fr;
    margin-top: 3rem;
    gap: 2rem;
  }
  .gallery {
    padding: 4rem 0;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
	.page-id-2933 .page-link {
		grid-template-columns: 1fr 1fr;
	}
}
/* mq */

/* アクセス方法 */
.p-access-info {
  margin-top: 4rem;
}
.p-access-info__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #5bbf9b;
  margin-bottom: 2rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #5bbf9b;
}
.p-access-info__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.p-access-info__card {
  background: #fff;
  border: 1px solid #d7ecdf;
  border-radius: 10px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 2px 8px rgba(106,157,45,0.08);
}
.p-access-info__icon {
  font-size: 6rem;
  margin-bottom: 1.6rem;
  line-height: 1;
}
.p-access-info__label {
  font-weight: 700;
  color: #5bbf9b;
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}
.p-access-info__text {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #555;
}
@media (max-width: 768px) {
  .p-access-info__grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .p-access-info__card { flex-direction: row; text-align: left; gap: 1.6rem; }
  .p-access-info__icon { font-size: 4.2rem; margin-bottom: 0; flex-shrink: 0; }
}

/* about ページ全体の余白統一 */
section#message,
section#overview,
section#access,
section#group,
section#srp {
  padding-bottom: 6rem;
}
section#group .group-list {
  margin-top: 3rem;
}
@media (max-width: 768px) {
  section#message,
  section#overview,
  section#access,
  section#group,
  section#srp {
    padding-bottom: 4rem;
  }
  .greeting-grid--swap {
    grid-template-columns: 1fr !important;
  }
  .greeting-img img {
    aspect-ratio: 4/3 !important;
  }
}

/* SRP認証カード */
.p-srp-card {
  background: #fff;
  border: 1px solid #d7ecdf;
  border-radius: 12px;
  padding: 3.5rem 4rem;
  margin-top: 3rem;
  box-shadow: 0 2px 12px rgba(106,157,45,0.08);
}
.p-srp-card__head {
  display: flex;
  gap: 3rem;
  align-items: center;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #d7ecdf;
}
.p-srp-card__img { flex-shrink: 0; text-align: center; }
.p-srp-card__img img { max-width: 180px; width: 100%; height: auto; }
.p-srp-card__head-body { flex: 1; }
.p-srp-card__ttl { font-size: 2rem; font-weight: 700; color: #5bbf9b; margin-bottom: 1.2rem; }
.p-srp-card__text { font-size: 1.5rem; line-height: 1.9; color: #444; margin-bottom: 0; }

.p-srp-card__info {
  margin: 2.5rem 0 0;
  padding: 0;
  background: #fbfff6;
  border-radius: 8px;
  padding: 2rem 2.4rem;
}
.p-srp-card__info-row {
  display: flex;
  border-bottom: 1px solid #d4e6b4;
  padding: 0.8rem 0;
  line-height: 2;
}
.p-srp-card__info-row:last-child { border-bottom: 0; }
.p-srp-card__info dt {
  flex-shrink: 0;
  width: 9em;
  font-weight: 700;
  color: #5bbf9b;
  font-size: 1.5rem;
}
.p-srp-card__info dd {
  margin: 0;
  color: #333;
  font-size: 1.5rem;
}

.p-srp-card__detail {
  margin-top: 2.5rem;
}
.p-srp-card__detail-text {
  font-size: 1.5rem;
  line-height: 2;
  color: #444;
  margin-bottom: 1.5rem;
}
.p-srp-card__detail-text:last-child { margin-bottom: 0; }

@media (max-width: 768px) {
  .p-srp-card { padding: 2.5rem 2rem; }
  .p-srp-card__head { flex-direction: column; gap: 1.5rem; text-align: center; }
  .p-srp-card__head-body { text-align: left; }
  .p-srp-card__info { padding: 1.5rem 1.6rem; }
  .p-srp-card__info-row { flex-direction: column; gap: 0.2rem; }
  .p-srp-card__info dt { width: auto; font-size: 1.3rem; }
  .p-srp-card__info dd { font-size: 1.4rem; }
}

/* ========================================
   サービスページ デザイン強化
   (outsourcing / consulting / grant)
======================================== */
.page-template-page-service-outsourcing .service,
.page-template-page-service-consulting .service,
.page-template-page-service-grant .service {
  background: #eef8f3;
  padding-bottom: 8rem;
}

/* infoBox強化：上部にアクセント、影、まとめて整理 */
.page-template-page-service-outsourcing .infoBox,
.page-template-page-service-consulting .infoBox,
.page-template-page-service-grant .infoBox {
  position: relative;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(106,157,45,0.10);
  overflow: hidden;
  margin-top: 8rem;
  padding-top: 0;
}

/* セクション見出し：グリーンのバナー化 */
.page-template-page-service-outsourcing .infoBox > .infoBox_ttl,
.page-template-page-service-consulting .infoBox > .infoBox_ttl,
.page-template-page-service-grant .infoBox > .infoBox_ttl {
  margin: 0 -7rem 5rem;
  padding: 3.5rem 2rem;
  background: linear-gradient(135deg, #5bbf9b 0%, #a7dcc8 100%);
  color: #fff;
  font-size: clamp(2.4rem, 3vw, 3rem);
  text-align: center;
  letter-spacing: 0.08em;
  position: relative;
}
.page-template-page-service-outsourcing .infoBox > .infoBox_ttl::after,
.page-template-page-service-consulting .infoBox > .infoBox_ttl::after,
.page-template-page-service-grant .infoBox > .infoBox_ttl::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%) translateY(100%);
  border-style: solid;
  border-width: 18px 22px 0 22px;
  border-color: #a7dcc8 transparent transparent transparent;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,0));
}

/* 小見出し改善 */
.page-template-page-service-outsourcing .infoBox_ttl-sub,
.page-template-page-service-consulting .infoBox_ttl-sub,
.page-template-page-service-grant .infoBox_ttl-sub {
  font-size: 2rem !important;
  margin-top: 4rem !important;
  padding-left: 1.6rem;
  border-left: 5px solid #5bbf9b;
  line-height: 1.5;
}

/* お悩みリスト改善：背景色付きボックス */
.page-template-page-service-outsourcing .infoBox_text-list,
.page-template-page-service-consulting .infoBox_text-list,
.page-template-page-service-grant .infoBox_text-list {
  /* background: #fffaf2; */
  /* border: 1px dashed #f3a35e; */
  /* border-radius: 10px; */
  padding: 2rem 2.4rem 2rem 4.4rem;
  margin: 1.5rem 0 2rem;
  list-style: none;
}
.page-template-page-service-outsourcing .infoBox_text-list li,
.page-template-page-service-consulting .infoBox_text-list li,
.page-template-page-service-grant .infoBox_text-list li {
  position: relative;
  padding: 0.6rem 0;
  font-size: 1.5rem;
  line-height: 1.7;
}
.page-template-page-service-outsourcing .infoBox_text-list li::before,
.page-template-page-service-consulting .infoBox_text-list li::before,
.page-template-page-service-grant .infoBox_text-list li::before {
  content: '✓';
  position: absolute;
  left: -2.4rem;
  top: 0.6rem;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  color: #5bbf9b;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
}

/* メリット系（★・☆・◎付き）はリストマーカーを残す */
.page-template-page-service-outsourcing .infoBox_text-list li:has(strong),
.page-template-page-service-consulting .infoBox_text-list li:has(strong),
.page-template-page-service-grant .infoBox_text-list li:has(strong) {
  font-weight: 500;
}

/* ========================================
   フローデザイン（強化版）
======================================== */
.page-template-page-service-outsourcing .service-process,
.page-template-page-service-consulting .service-process,
.page-template-page-service-grant .service-process {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 2.5rem 2.4rem;
  list-style: none;
  margin: 3rem 0 3rem;
  padding: 0;
  counter-reset: process-counter;
  position: relative;
}
.page-template-page-service-outsourcing .service-process > li,
.page-template-page-service-consulting .service-process > li,
.page-template-page-service-grant .service-process > li {
  position: relative;
  display: block;
  background: #fff;
  border: 2px solid #5bbf9b;
  border-radius: 12px;
  padding: 3.5rem 1.4rem 2rem;
  text-align: center;
  box-shadow: 0 4px 14px rgba(106,157,45,0.10);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.page-template-page-service-outsourcing .service-process > li:hover,
.page-template-page-service-consulting .service-process > li:hover,
.page-template-page-service-grant .service-process > li:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(106,157,45,0.18);
}
/* SP: 縦積みカード型（カード間にマージン） */
@media screen and (max-width: 767px) {
  .page-template-page-service-outsourcing .service-process > li,
  .page-template-page-service-consulting .service-process > li,
  .page-template-page-service-grant .service-process > li {
    position: relative;
    display: block;
    background: #fff;
    border: 2px solid #5bbf9b;
    border-radius: 12px;
    padding: 3.5rem 1.4rem 2rem;
    text-align: center;
    box-shadow: 0 4px 14px rgba(106,157,45,0.10);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    margin: 1rem 0 0;
  }
}
/* PC：右向き矢印 */
.page-template-page-service-outsourcing .service-process > li::after,
.page-template-page-service-consulting .service-process > li::after,
.page-template-page-service-grant .service-process > li::after {
  content: '';
  position: absolute;
  right: -1.9rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 13px;
  border-color: transparent transparent transparent #5bbf9b;
  z-index: 1;
}
.page-template-page-service-outsourcing .service-process > li:last-child::after,
.page-template-page-service-consulting .service-process > li:last-child::after,
.page-template-page-service-grant .service-process > li:last-child::after {
  display: none;
}
/* ステップ番号：丸バッジを上に */
.page-template-page-service-outsourcing .service-process__step,
.page-template-page-service-consulting .service-process__step,
.page-template-page-service-grant .service-process__step {
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #5bbf9b 0%, #a7dcc8 100%);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Arimo", sans-serif;
  box-shadow: 0 4px 8px rgba(106,157,45,0.25);
  border: 3px solid #fff;
}
.page-template-page-service-outsourcing .service-process__name,
.page-template-page-service-consulting .service-process__name,
.page-template-page-service-grant .service-process__name {
  display: block;
  margin: 0 0 1rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #5bbf9b;
  padding: 0;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.page-template-page-service-outsourcing .service-process__desc,
.page-template-page-service-consulting .service-process__desc,
.page-template-page-service-grant .service-process__desc {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.7;
  color: #555;
  padding: 0;
  text-align: left;
}

@media (max-width: 768px) {
  .page-template-page-service-outsourcing .infoBox,
  .page-template-page-service-consulting .infoBox,
  .page-template-page-service-grant .infoBox {
    padding: 0 2rem 4rem;
    margin-top: 5rem;
  }
  .page-template-page-service-outsourcing .infoBox > .infoBox_ttl,
  .page-template-page-service-consulting .infoBox > .infoBox_ttl,
  .page-template-page-service-grant .infoBox > .infoBox_ttl {
    margin: 0 -2rem 4rem;
    padding: 2.5rem 1rem;
  }
  .page-template-page-service-outsourcing .service-process,
  .page-template-page-service-consulting .service-process,
  .page-template-page-service-grant .service-process {
    grid-template-columns: 1fr;
    gap: 4.5rem 0;
    padding: 1rem 0;
  }
  .page-template-page-service-outsourcing .service-process > li::after,
  .page-template-page-service-consulting .service-process > li::after,
  .page-template-page-service-grant .service-process > li::after {
    right: 50%;
    top: auto;
    bottom: -3rem;
    transform: translateX(50%) rotate(90deg);
  }
  .page-template-page-service-outsourcing .infoBox_text-list,
  .page-template-page-service-consulting .infoBox_text-list,
  .page-template-page-service-grant .infoBox_text-list {
    padding: 1.5rem 1.6rem 1.5rem 3.6rem;
  }
  .page-template-page-service-outsourcing .infoBox_text-list li::before,
  .page-template-page-service-consulting .infoBox_text-list li::before,
  .page-template-page-service-grant .infoBox_text-list li::before {
    left: -2rem;
  }
}

/* ========================================
   サービスページ：フックポイント強調
======================================== */
/* 実績・トップクラスなどの credibility 系（オレンジバナー） */
.p-service-highlight {
  background: linear-gradient(135deg, #31a5d8 0%, #62c3e6 100%);
  color: #fff !important;
  font-size: clamp(1.8rem, 2.5vw, 2.4rem) !important;
  font-weight: 700 !important;
  text-align: center;
  padding: 2.4rem 3rem !important;
  border-radius: 12px;
  margin: 2.5rem 0 !important;
  box-shadow: 0 6px 20px rgba(49, 165, 216,0.28);
  letter-spacing: 0.08em;
  position: relative;
  line-height: 1.6 !important;
  border: none;
}
/* リード文（problem/solution）グリーン枠 */
.p-service-lead-msg {
  font-size: clamp(1.7rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
  color: #3f9a78 !important;
  background: linear-gradient(135deg, #f0f8e6 0%, #e6f3d8 100%);
  padding: 1.8rem 2.2rem 1.8rem 5.5rem !important;
  border-radius: 10px;
  border-left: 5px solid #5bbf9b;
  margin: 0 0 2rem !important;
  position: relative;
  line-height: 1.5 !important;
}
.p-service-lead-msg::before {
  content: '!';
  position: absolute;
  left: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background: #5bbf9b;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 900;
  font-family: "Arimo", sans-serif;
}

@media (max-width: 768px) {
  .p-service-highlight {
    font-size: 1.55rem !important;
    padding: 1.6rem 1.5rem !important;
    letter-spacing: 0.04em;
  }
  .p-service-lead-msg {
    padding: 1.4rem 1.5rem 1.4rem 4.5rem !important;
  }
  .p-service-lead-msg::before {
    left: 1.2rem;
    width: 2rem;
    height: 2rem;
    font-size: 1.3rem;
  }
}

/* ========================================
   助成金カテゴリ 3カラムカード
======================================== */
.p-grant-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin: 2.5rem 0 3rem;
}
.p-grant-category {
  background: #fff;
  border: 1px solid #d7ecdf;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(106,157,45,0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.p-grant-category:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(106,157,45,0.18);
}
.p-grant-category__img {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef8f3;
}
.p-grant-category__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-grant-category__body {
  padding: 2rem 2rem 2.4rem;
  flex: 1;
}
.p-grant-category__ttl {
  font-size: 1.85rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #5bbf9b 0%, #a7dcc8 100%);
  padding: 0.8rem 1.4rem !important;
  border-radius: 6px !important;
  margin: 0 0 1.4rem !important;
  border: none !important;
  letter-spacing: 0.04em;
  text-align: center;
}
.p-grant-category__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: none !important;
}
.p-grant-category__list li {
  position: relative;
  padding: 0.6rem 0 0.6rem 2rem;
  font-size: 1.4rem;
  line-height: 1.7;
  border-bottom: 1px dashed #d7ecdf;
}
.p-grant-category__list li:last-child {
  border-bottom: 0;
}
.p-grant-category__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1.2rem;
  width: 8px;
  height: 8px;
  background: #5bbf9b;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .p-grant-categories {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-grant-category__img {
    aspect-ratio: 16 / 9;
  }
}

/* ========================================
   TOP 新着情報 2カラム フィーチャー設計
======================================== */
.p-home-news-feature {
  padding: 6rem 2rem;
  background: #fff;
}
.p-home-news-feature .inner {
  max-width: 1200px;
  margin: 0 auto;
}
.p-home-news-feature__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 3rem;
}
.p-home-news-feature__col {
  background: #fff;
  border-radius: 0;
  padding: 3.6rem 3rem 2.5rem;
  position: relative;
  border: 0;
  border-top: 4px solid #5bbf9b;
}
.p-home-news-feature__col.is-cat-topics { border-top-color: #31a5d8; }
.p-home-news-feature__col.is-cat-column { border-top-color: #4FA3D8; }
.p-home-news-feature__col.is-cat-blog { border-top-color: #FFB300; }
.p-home-news-feature__col.is-cat-customers-voice { border-top-color: #b07a8a; }

/* シンプルな見出しブロック（吹き出し撤去・大見出し主役） */
.p-home-news-feature__head {
  display: block;
  margin-bottom: 2.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #ececec;
  position: relative;
}
.p-home-news-feature__head::before,
.p-home-news-feature__head::after {
  content: none;
}
/* 小さな英字タグ（控えめにタイトル上に配置・is-cat-* badge filled を上書きして透明化） */
.p-home-news-feature__tag {
  display: inline-block;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.22em;
  color: #5bbf9b !important;
  padding: 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  margin: 0 0 0.8rem;
  line-height: 1;
}
.p-home-news-feature__col.is-cat-topics .p-home-news-feature__tag { color: #31a5d8 !important; }
.p-home-news-feature__col.is-cat-column .p-home-news-feature__tag { color: #4FA3D8 !important; }
.p-home-news-feature__col.is-cat-blog .p-home-news-feature__tag { color: #FFB300 !important; }
.p-home-news-feature__col.is-cat-customers-voice .p-home-news-feature__tag { color: #b07a8a !important; }

.p-home-news-feature__head-body {
  flex: 1;
}
/* 大見出し（クッキリ太めSans・ブランド色） */
.p-home-news-feature__title {
  font-size: clamp(2.8rem, 3.4vw, 4.2rem);
  font-weight: 700;
  color: #2c2c2c;
  margin: 0;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.p-home-news-feature__col.is-cat-topics .p-home-news-feature__title,
.p-home-news-feature__col.is-cat-column .p-home-news-feature__title,
.p-home-news-feature__col.is-cat-blog .p-home-news-feature__title,
.p-home-news-feature__col.is-cat-customers-voice .p-home-news-feature__title {
  color: #2c2c2c;
}
.p-home-news-feature__desc {
  display: none;
}
.p-home-news-feature__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}
.p-home-news-feature__list li {
  border-bottom: 1px solid #ececec;
}
.p-home-news-feature__list li:last-child { border-bottom: 0; }
/* SP時はお知らせ/トピックスとも先頭2件のみ表示 */
@media (max-width: 767px) {
  .p-home-news-feature__list li:nth-child(n+3) {
    display: none;
  }
}
.p-home-news-feature__item {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.4rem 0;
  text-decoration: none;
  color: #000;
  transition: color 0.2s;
}
.p-home-news-feature__item:hover {
  color: #5bbf9b;
}
.p-home-news-feature__date {
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  color: #333;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
.p-home-news-feature__item-title {
  font-size: 1.65rem;
  font-weight: 500;
  line-height: 1.7;
  color: #000;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-home-news-feature__empty {
  padding: 1.5rem 0;
  color: #888;
  font-size: 1.4rem;
}
.p-home-news-feature__more {
  text-align: center;
  border-top: 1px solid #f0f0f0;
  padding-top: 1.6rem;
  margin-top: 1.6rem;
}
.p-home-news-feature__more-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 100%;
  font-size: 1.45rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #5bbf9b;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.06em;
  padding: 1.4rem 1.6rem;
  background: #fff;
  border: 1px solid #5bbf9b;
  border-radius: 0;
  position: relative;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, gap 0.25s ease;
  box-sizing: border-box;
}
.p-home-news-feature__more-link::after {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: currentColor;
  transition: width 0.25s ease;
  position: relative;
  top: -1px;
}
.p-home-news-feature__more-link:hover {
  background: #5bbf9b;
  color: #fff;
  border-color: #5bbf9b;
  gap: 1.6rem;
}
.p-home-news-feature__more-link:hover::after {
  width: 44px;
}
/* カテゴリ毎のボタン色（non-hover でも各色） */
.p-home-news-feature__col.is-cat-topics .p-home-news-feature__more-link {
  color: #31a5d8;
  border-color: #31a5d8;
}
.p-home-news-feature__col.is-cat-topics .p-home-news-feature__more-link:hover {
  background: #31a5d8;
  border-color: #31a5d8;
  color: #fff;
}
.p-home-news-feature__col.is-cat-column .p-home-news-feature__more-link {
  color: #4FA3D8;
  border-color: #4FA3D8;
}
.p-home-news-feature__col.is-cat-column .p-home-news-feature__more-link:hover {
  background: #4FA3D8;
  border-color: #4FA3D8;
  color: #fff;
}
.p-home-news-feature__col.is-cat-blog .p-home-news-feature__more-link {
  color: #FFB300;
  border-color: #FFB300;
}
.p-home-news-feature__col.is-cat-blog .p-home-news-feature__more-link:hover {
  background: #FFB300;
  border-color: #FFB300;
  color: #fff;
}
.p-home-news-feature__col.is-cat-customers-voice .p-home-news-feature__more-link {
  color: #b07a8a;
  border-color: #b07a8a;
}
.p-home-news-feature__col.is-cat-customers-voice .p-home-news-feature__more-link:hover {
  background: #b07a8a;
  border-color: #b07a8a;
  color: #fff;
}
.p-home-news-feature__all {
  text-align: center;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .p-home-news-feature {
    padding: 8rem 1.6rem 4rem;
  }
  .p-home-news-feature__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-home-news-feature__col {
    padding: 2rem 2rem 1.6rem;
  }
  .p-home-news-feature__title {
    font-size: 1.7rem;
  }
}

/* ========================================
   料金ページ（page-price）デザイン
======================================== */
.p-price-page {
  padding-bottom: 6rem;
}
.p-price-lead {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.9;
  margin: 3rem auto 5rem;
  max-width: 100rem;
  padding: 0 1.5rem;
}
.p-price-lead strong {
  color: #5bbf9b;
}

/* グループ */
.p-price-group {
  margin-bottom: 6rem;
}
.p-price-group__header {
  display: flex;
  align-items: center;
  gap: 2rem;
  background: linear-gradient(135deg, #5bbf9b 0%, #a7dcc8 100%);
  color: #fff;
  padding: 2.5rem 3rem;
  border-radius: 12px;
  margin-bottom: 3rem;
  box-shadow: 0 6px 20px rgba(106,157,45,0.20);
}
.p-price-group__num {
  flex-shrink: 0;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  font-size: 4.4rem;
  line-height: 1;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.04em;
}
.p-price-group__head-body {
  flex: 1;
  border-left: 2px solid rgba(255,255,255,0.4);
  padding-left: 2rem;
}
.p-price-group__title {
  font-size: clamp(2rem, 2.6vw, 2.6rem);
  font-weight: 700;
  margin: 0 0 0.4rem;
  letter-spacing: 0.06em;
  color: #fff;
}
.p-price-group__desc {
  font-size: 1.4rem;
  margin: 0;
  opacity: 0.92;
  line-height: 1.6;
}
/* グループ見出しの外側に配置するアンカーリンク（h3 セクションへ） */
.p-price-group__anchors {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.2rem;
  margin: 2rem 0 3rem;
  justify-content: center;
}
.p-price-group__anchors a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1rem 2rem;
  background: #fff;
  border: 2px solid #5bbf9b;
  color: #3f9a78;
  text-decoration: none;
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 4px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  line-height: 1.4;
}
.p-price-group__anchors a::after {
  content: "▼";
  font-size: 0.9rem;
  font-weight: 700;
  display: inline-block;
  line-height: 1;
  position: relative;
  top: 0.05em;
  vertical-align: middle;
}
.p-price-group__anchors a:hover {
  background: #5bbf9b;
  border-color: #5bbf9b;
  color: #fff;
}
@media (max-width: 768px) {
  .p-price-group__anchors a {
    font-size: 1.35rem;
    padding: 0.7rem 1.4rem;
    gap: 0.6rem;
  }
}

/* カード */
.p-price-card {
  background: #fff;
  border-radius: 12px;
  padding: 3rem 3.5rem;
  margin-bottom: 2.4rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border: 1px solid #d7ecdf;
}
.p-price-card:last-child {
  margin-bottom: 0;
}
.p-price-card__ttl {
  font-size: clamp(2.4rem, 3.2vw, 3rem);
  font-weight: 700;
  color: #303030;
  margin: 0 0 2.4rem;
  padding: 1.2rem 0 1.2rem 2rem;
  border-bottom: 0;
  letter-spacing: 0.06em;
  position: relative;
  background: #eef8f3;
  border-left: 6px solid #5bbf9b;
  border-radius: 0 6px 6px 0;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .p-price-card__ttl {
    font-size: 1.85rem;
    padding: 0.9rem 0 0.9rem 1.4rem;
    border-left-width: 5px;
    margin-bottom: 1.6rem;
  }
}
.p-price-card__body {
  /* nothing special */
}

/* テーブル列（2カラム並び・3つ目のセット価格は全幅） */
.p-price-tables {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.p-price-tables__col--feature {
  grid-column: 1 / -1;
}
.p-price-tables__col {
  /* */
}
.p-price-tables__col--feature .price-table {
  border: 2px solid #31a5d8;
  border-radius: 8px;
  overflow: hidden;
}
.p-price-tables__col--feature .price-table th {
  background: linear-gradient(135deg, #31a5d8 0%, #62c3e6 100%) !important;
  color: #fff !important;
  position: relative;
}
.p-price-badge {
  display: inline-block;
  background: #fff;
  color: #31a5d8;
  font-size: 1.05rem;
  font-weight: 700;
  padding: 0.15rem 0.7rem;
  border-radius: 999px;
  margin-left: 0.6rem;
  vertical-align: middle;
}

/* お見積り (お問い合わせください)ブロック */
.p-price-quote {
  display: flex;
  align-items: center;
  gap: 2rem;
  background: #eef8f3;
  /* border-left: 5px solid #5bbf9b; */
  padding: 1.6rem 2rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}
.p-price-quote__label {
  flex-shrink: 0;
  font-weight: 700;
  color: #5bbf9b;
  font-size: 1.5rem;
}
.p-price-quote__value {
  font-size: 1.6rem;
  font-weight: 600;
  color: #444;
}

/* 成功報酬の率表示 */
.p-price-rate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  background: #eef7f2;
  border: 0px solid #31a5d8;
  border-radius: 8px;
  padding: 2rem 2.4rem;
  margin-bottom: 1.5rem;
}
.p-price-rate__label {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1d180e;
}
.p-price-rate__value {
  font-size: 2rem;
  color: #444;
}
.p-price-rate__value strong {
  font-size: 1.6em;
  color: #000;
  font-weight: 700;
  font-family: "Arimo", sans-serif;
}

@media (max-width: 768px) {
  .p-price-group {
    margin-bottom: 4rem;
  }
  .p-price-group__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 2rem 1.6rem;
  }
  .p-price-group__num {
    font-size: 2.8rem;
  }
  .p-price-group__head-body {
    border-left: 0;
    padding-left: 0;
  }
  .p-price-card {
    padding: 2rem 1.6rem;
  }
  .p-price-tables {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .p-price-quote,
  .p-price-rate {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1.4rem 1.6rem;
  }
}

/* ===== シャドー全廃（ユーザー指示・フラットデザイン優先） ===== */
*,
*::before,
*::after {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* ============================================================
 * [medioki] en-houkan踏襲: 優しい緑#5bbf9b と 水色#31a5d8 を同等に
 * 見出し・th＝緑 / ボタン・CTA・フロー・目次・アイコン＝青 で均衡
 * 薄い背景色は 白／淡青#e3f3fa／淡緑#eef8f3 を交互に
 * 文字サイズは既存基準（最小1.4rem）に合わせAIっぽさを回避
 * ============================================================ */
:root{ --oki-green:#5bbf9b; --oki-blue:#31a5d8; --oki-green-pale:#eef8f3; --oki-blue-pale:#e3f3fa; --oki-lime:#d9de07; }

/* ===== 配色リバランス: 緑偏重を是正し 青・ライム(#d9de07=ロゴ色) を増やす ===== */
/* セクション見出し(.infoBox_ttl)を帯で色分け（青帯は青字）＋ライムの下線アクセント */
.sub .p-band--blue .infoBox_ttl { color: var(--oki-blue); }
.sub .infoBox_ttl { position: relative; padding-bottom: 1.8rem; }
.sub .infoBox_ttl::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 64px; height: 4px; border-radius: 2px;
  background: linear-gradient(90deg, var(--oki-lime), var(--oki-blue));
}
/* サブ見出し(.infoBox_ttl-sub)にライムの左アクセント */
.sub .infoBox_ttl-sub {
  border-left: 5px solid var(--oki-lime); padding-left: 1.2rem;
}
/* note-t 内のサブ見出しは中央寄せなので左アクセントを解除 */
.note-t .infoBox_ttl-sub { border-left: 0; padding-left: 0; }
/* 円形バッジ類にライムのリングアクセント（白文字の視認性は保ちつつ縁でライムを効かせる） */

.p-oki-values__no, .p-merit__no, .p-can-card__no {
  box-shadow: 0 0 0 3px rgba(217, 222, 7, 0.45), 0 4px 12px rgba(49, 165, 216, 0.22);
}
/* 青の要素（緑と均等にするため主要導線を青へ） */
/* 2026-07-28 ボタン意匠を統一したため撤去（下部の共通定義に集約） */
.service-process__step{ background:var(--oki-blue)!important; }
.p-home-flow__step strong{ color:var(--oki-blue); }
.page-link a:hover{ border-color:#5bbf9b; color:#ffffff; }
/* 薄い背景色（緑・青を交互に。カードは白で浮かせる） */
.main.sub{ /* background:#f6fbf8; */ }
.main.sub .infoBox:nth-of-type(2n){ /* background:var(--oki-blue-pale); */ }

.p-access-info__card{ background:var(--oki-blue-pale); border:1px solid #cfe9f6; }
/* スタッフ: 役職バッジ（2026-07-27 ユーザー指定） */
.p-staff__role{ display:inline-block; background:linear-gradient(90deg,#5bc4d6,#8BC34A)!important; color:#fff; font-size:1.6rem!important; font-weight:700; padding:.4em 1.2em; border-radius:999px; margin-bottom:1rem; }
/* 文字サイズ是正（既存基準へ・最小1.4rem） */
.p-staff__tag{ font-size:1.6rem!important; }
.p-staff__meta .p-staff__tag b{ font-size:1.6rem!important; }
#price .price-table td:nth-child(2){ white-space:normal; }
#price .price-table td:nth-child(2) span{ font-size:1.4rem; margin-top:.3rem; color:#4f8f76; }

/* [medioki] ロゴは新カラーロゴをそのまま表示（クローバー由来の色フィルタ無効化） */
.header__logo img, .header-sp__logo img, .footer__logo img { filter: none !important; }

/* [medioki] ヘッダーピルナビ 中間幅フィット（SP切替は767pxのまま／SPヘッダーは出さない） */
@media screen and (min-width:768px) and (max-width:1550px){
	.header__container{ padding:8px 1.4rem !important; }
	.header__link{ font-size:1.3rem !important; }
	.header__btn.email{ /* padding:1.3rem 2rem !important; */ /* font-size:1.3rem !important; */ }
	.header__btn.email::before{ display:none !important; }
}
@media screen and (min-width:768px) and (max-width:1350px){
	.header__tel{ display:none !important; }
	.header__link{ font-size:1.2rem !important; }
}
/* MVオーバーレイ（縦書き/英字）安全サイズ */
.home-mv__catch-v{ font-size:clamp(1.8rem,2.6vw,3.4rem) !important; }
.home-mv__en-lg{ font-size:clamp(2.6rem,5vw,6.5rem) !important; }
@media screen and (max-width:767px){
	.home-mv__catch-v{ font-size:clamp(1.6rem,4vw,2.4rem) !important; }
	.home-mv__en{ top:6% !important; }
	.home-mv__en-lg{ font-size:clamp(2rem,8vw,3.6rem) !important; }
	.home-mv__en-sm{ font-size:1.1rem !important; letter-spacing:.18em; }
	.mv-newscard{ left:1.2rem !important; right:1.2rem !important; bottom:0 !important; max-width:none !important; gap:2rem !important; padding-top:2rem !important; }
	p.home-mv__catch-v{ top:auto !important; bottom:5rem !important; font-size:2.4rem !important; }
}

/* [medioki] MVスライドの暗い緑オーバーレイを無効化（写真を明るく） */
.home-mv__slide::before{ background:none !important; }

/* [medioki] MVスライダー下の余白詰め（slick既定マージン） */
.slick-dotted.slick-slider{ margin-bottom:-3rem !important; }

/* [medioki] ヘッダー: 電話下に営業時間＋お問い合わせボタン崩れ防止 */
.header__tel{ display:inline-block; text-decoration:none; line-height:1.15; }
.header__time{ display:flex; flex-direction:column; margin-top:.2rem; }
.header__time span{ font-size:1.1rem; color:#000000; line-height:1.45; white-space:nowrap; font-weight:500; }
.header__btn.email{ white-space:nowrap; flex-shrink:0; }
/* 中間幅では連絡先ブロック(電話+営業時間)を隠してナビ+ボタンを優先 */
@media screen and (min-width:768px) and (max-width:1350px){
	.header__top{ display:none !important; }
}

/* [medioki] ヘッダー電話ブロック: 電話番号の下に受付noteを縦積み */
.header__top{ flex-direction:column !important; align-items:flex-end !important; gap:.1rem; }
.header__time_contents{ top:0 !important; }
.header__time{ display:flex; flex-direction:column; align-items:flex-end; }

/* [medioki] 電話下の受付noteをセンター揃え */
.header__time{ align-items:center !important; text-align:center !important; }
.header__time span{ text-align:center !important; }

/* [medioki] Instagram アイコン/フィード */
.header__sns{display:inline-flex;align-items:center;justify-content:center;color:#31a5d8;margin:0 1rem;flex-shrink:0;transition:.2s;}
.header__sns:hover{opacity:.7;}
.footer__sns-wrap{text-align:center;padding:1rem 0 2rem;}
.footer__sns{display:inline-flex;align-items:center;gap:.6rem;color:#31a5d8;text-decoration:none;font-weight:700;font-size:1.4rem;}
.footer__sns:hover{opacity:.7;}
.p-home-insta{padding:6rem 0;}
.p-home-insta__feed{max-width:1100px;margin:2rem auto 0;padding:0 15px;}

/* ============================================================
   [medioki oki4] タイトル / サービス再構成 / Flow / 料金
   ============================================================ */

/* --- ページタイトル（higa-clinic 風・丸角写真バナー＋下端タイトル。h1アニメ維持） --- */
.l-page-cover{
  background:none !important;
  position:relative;
  /* width:90%; */
  /* max-width:1400px; */
  margin:8rem auto 0 !important;
  left:auto !important; right:auto !important;
  transform:none !important;
}
.l-page-cover::after{ display:none !important; }
.l-page-cover__inner{ padding:0 !important; position:static; }
.l-page-cover__ttl.h1_ttl{
  max-width:116.8rem;
  width:100%;
  margin:-6.5rem auto 0 !important;
  padding:0 2.4rem !important;
  text-align:left !important;
  position:relative;
  z-index:3;
}
.l-page-cover__ttl .big{
  font-family:"Montserrat","Arimo",sans-serif !important;
  font-size:clamp(4.2rem,7vw,7rem) !important;
  line-height:1 !important;
  color:#333 !important;
}
.l-page-cover__ttl .big span{
  color:#333 !important;
  font-family:"Montserrat","Arimo",sans-serif !important;
  font-size:clamp(4.2rem,7vw,7rem) !important;
}
.l-page-cover__ttl .small{ margin-top:.6rem !important; }
.l-page-cover__ttl .small span{
  color:#3f9a78 !important;
  font-family:"LINE Seed JP","Noto Sans JP",sans-serif !important;
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
  font-weight:500 !important;
}
@media(max-width:767px){
  .l-page-cover{ /* width:92%; */ margin-top:5rem !important; }
  .l-page-cover::before{ height:170px; }
  .l-page-cover__ttl.h1_ttl{ margin-top:-4.4rem !important; padding:0 1.6rem !important; }
  .l-page-cover__ttl .big span{ font-size:3.6rem !important; }
  .l-page-cover__ttl .small span{ font-size:1.7rem !important; }
}

/* --- サービス：リード見出しのあしらい刷新（「!」バッジ撤去） --- */
.p-service-lead-msg{
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:1rem auto 2.6rem !important;
  text-align:center;
  color:#3f9a78 !important;
  font-size:clamp(1.9rem,2.2vw,2.4rem) !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  line-height:1.5 !important;
}
.p-service-lead-msg::before{ display:none !important; content:"" !important; }
.p-service-lead-msg::after{
  content:"";
  display:block;
  width:54px; height:0px;
  margin:1.2rem auto 0;
  border-radius:4px;
  background:linear-gradient(90deg,#5bbf9b,#31a5d8);
}

/* --- 私たちの特長 4カラム --- */
.p-feature4{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; margin:2rem 0 1rem; }
.p-feature4__card{ position:relative; background:#fff; /* border:1px solid #e3eeea; */ border-radius:14px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 4px 14px rgba(91,191,155,.10); }
.p-feature4__num{ position:absolute; top:0; left:0; z-index:2; padding:1.3rem 1.6rem .2rem; /* background:rgba(255,255,255,.82); */ border-radius:0 0 12px 0; font-family:"Montserrat","Arimo",sans-serif; font-size:2.3rem; font-weight:700; letter-spacing:.08em; color:#31a5d8; display:flex; flex-direction:column; align-items:flex-start; }
.p-feature4__num b{ font-size:7.1rem; margin-left:.15em; color:#5bbf9b; }
.p-feature4__media{ margin:0; flex:0 0 auto; width:100%; }
.p-feature4__media img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; /* background:#f6fbf8; */ padding:1.6rem; display:block; }
.p-feature4__body{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:flex-start; padding:2.4rem 2.6rem 2.8rem; }
.p-feature4__ttl{ font-size:1.9rem; font-weight:700; color:#2c7a63; margin:0 0 .7rem; line-height:1.45; }
.p-feature4__txt{ font-size:1.5rem; line-height:1.8; color:#444; margin:0; }
@media(max-width:900px){ .p-feature4{ grid-template-columns:1fr; gap:1.6rem; } }
@media(max-width:520px){ .p-feature4__num{ font-size:1.9rem; } .p-feature4__num b{ font-size:2.5rem; } }

/* --- できること：番号バッジ＋詳細タグ --- */


.p-service-mini-list{ display:flex; flex-wrap:wrap; gap:.7rem; list-style:none; margin:1.3rem 0 0; padding:0; }
.p-service-mini-list li{ background:#eef8f3; border:1px solid #d7ecdf; color:#2c7a63; /* font-size:1.4rem; */ font-weight:600; padding:.5em 1.1em; border-radius:999px; }

/* --- ご利用の流れ（kanban風カード＋アイコン） --- */
.p-flow{ margin-top:3rem; }
.p-flow__list{ list-style:none; margin:0 auto; padding:0; max-width:900px; }
.p-flow__list > li{ position:relative; list-style:none; }
.p-flow__list > li:not(:last-child){ margin-bottom:46px; }
.p-flow__list > li dl{ width:100%; margin:0; padding:2.2rem 2.6rem; display:flex; align-items:center; gap:2rem; border:2px solid #31a5d8; border-radius:12px; background:#fff; position:relative; box-shadow:0 4px 14px rgba(49,165,216,.10); }
.p-flow__list > li:not(:last-child) dl::before,
.p-flow__list > li:not(:last-child) dl::after{ content:""; border:solid transparent; position:absolute; top:100%; left:50%; transform:translateX(-50%); }
.p-flow__list > li:not(:last-child) dl::before{ border-width:22px; border-top-color:#31a5d8; }
.p-flow__list > li:not(:last-child) dl::after{ border-width:19px; border-top-color:#fff; }
.p-flow__list dt{ flex:0 0 auto; width:150px; margin:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.8rem; }
.p-flow__ic{ width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,#eef8f3,#e3f3fa); color:#31a5d8; display:flex; align-items:center; justify-content:center; }
.p-flow__ic svg{ width:30px; height:30px; }
.p-flow__step{ display:inline-block; background:#31a5d8; color:#fff; font-family:"Montserrat","Arimo",sans-serif; font-weight:700; font-size:1.35rem; letter-spacing:.06em; padding:.35em .95em; border-radius:5px; }
.p-flow__name{ font-size:1.65rem; font-weight:700; color:#2c7a63; line-height:1.45; }
.p-flow__list dd{ margin:0; flex:1 1 auto; font-size:1.55rem; line-height:2; color:#444; }
@media(max-width:700px){
  .p-flow__list > li dl{ display:block; padding:1.8rem 1.7rem; }
  .p-flow__list dt{ width:100%; flex-direction:row; justify-content:flex-start; text-align:left; margin-bottom:1.1rem; gap:1.1rem; }
  .p-flow__ic{ width:48px; height:48px; }
  .p-flow__ic svg{ width:26px; height:26px; }
  .p-flow__name{ font-size:1.6rem; }
  .p-flow__list dd{ font-size:1.5rem; }
}

/* --- 料金：横スクロール＋1割/2割/3割の広い表 --- */
.p-price-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 .4rem; }
.price-table--wide{ width:100%; border-collapse:collapse; font-size:1.45rem; }
.price-table--wide thead th{ background:#5bbf9b; color:#fff; font-weight:700; padding:1rem .9rem; text-align:center; white-space:nowrap; /* border:1px solid #cfe6db; */ }
.price-table--wide tbody td{ padding:.9rem .9rem; border:1px solid #e3eeea; text-align:center; background:#fff; }
.price-table--wide tbody td:first-child{ text-align:left; white-space:normal; }
.price-table--wide tbody tr.is-sub td{ background:#eef8f3; color:#2c7a63; font-weight:700; text-align:left; }
.price-table--wide tbody tr:nth-child(even) td{ background:#f7fbf9; }
.price-table--wide tbody tr.is-sub td{ background:#eef8f3 !important; }

/* [medioki oki4] Instagram 仮グリッド（正規アカウント連携までの暫定・他社画像回避） */
.p-insta-ph{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;list-style:none;margin:2rem auto 0;padding:0;max-width:1000px;}
.p-insta-ph li{margin:0;}
.p-insta-ph a{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:10px;color:#31a5d8;background:linear-gradient(135deg,#e3f3fa,#eef8f3);border:1px solid #e3eeea;transition:.25s;}
.p-insta-ph a:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(49,165,216,.18);opacity:1;}
.p-insta-ph a svg{width:40%;height:40%;opacity:.8;}
.p-insta-ph li:nth-child(3n) a{background:linear-gradient(135deg,#eef8f3,#f9fbde);}
.p-insta-ph li:nth-child(3n+2) a{background:linear-gradient(135deg,#f0f8e6,#e3f3fa);}
@media(max-width:767px){.p-insta-ph{grid-template-columns:repeat(2,1fr);gap:.8rem;}}

/* [medioki oki4] Instagram 実画像グリッド */
.p-insta-real a{background:none !important;border:none !important;padding:0;overflow:hidden;}
.p-insta-real a img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;}
.p-insta-real a:hover img{opacity:.88;}

/* [medioki oki4] 下層タイトル（バナー）〜パンくずの余白を広げる（PCのみ・SPの固定ヘッダー余白は維持） */
@media(min-width:768px){
  .l-page-cover{ margin-top:9.5rem !important; }
  .l-page-cover__ttl.h1_ttl{ margin-top:-5.5rem !important; padding-bottom:6.5rem !important; }
  .breadcrumb{ padding-top:2.4rem !important; padding-bottom:3.5rem !important; }
}

/* [medioki oki4] Instagramアイコン(sky-triad公式ロゴ流用・img) */
.header__sns img,.footer__sns img{display:block;width:26px;height:26px;}

/* ============================================================
   [medioki oki5] できることzigzag / 流れアイコン下 / 薄水色除去 / 料金SP / FAQアコーディオン / TOP CTA重複
   ============================================================ */

/* --- 薄水色背景の除去（見えにくい対策） --- */
.p-flow__ic{ background:linear-gradient(135deg,#eef8f3,#e6f4ee) !important; }
.p-access-info__card{ background:#fff !important; border:1px solid #d7ecdf !important; }
.p-insta-ph a{ background:linear-gradient(135deg,#eef8f3,#f0f8e6) !important; }
.p-insta-ph li:nth-child(3n+2) a{ background:linear-gradient(135deg,#f0f8e6,#eef8f3) !important; }
.p-insta-real a{ background:none !important; }

/* --- できること：2カラム zigzag（画像/テキスト左右交互） --- */
.p-can-list{ display:flex; flex-direction:column; gap:2.6rem; margin:2rem 0 1rem; }
.p-can-card{ display:flex; align-items:stretch; background:#fff; border:1px solid #e3eeea; border-radius:16px; overflow:hidden; box-shadow:0 4px 16px rgba(91,191,155,.10); }
/* 2026-07-28 左右交互（ジグザグ）を解除し、全カード同じ向き（画像左）に統一 */
.p-can-card__media{ flex:0 0 42%; margin:0; }
.p-can-card__media img{ width:100%; height:100%; object-fit:cover; display:block; min-height:250px; }
.p-can-card__body{ flex:1 1 auto; padding:2.8rem 3rem; min-width:0; }
.p-can-card__ttl{ display:flex; align-items:center; font-size:3.1rem; font-weight:700; color:#4fa3d8; margin:0 0 1.2rem; letter-spacing:.03em; }
.p-can-card__no{ display:inline-flex; align-items:center; justify-content:center; width:3.6rem; height:3.6rem; margin-right:1.2rem; flex-shrink:0; background:linear-gradient(135deg,#5bbf9b,#31a5d8); color:#fff; border-radius:8px; font-family:"Montserrat","Arimo",sans-serif; font-size:1.6rem; font-weight:700; }
.p-can-card__body .infoBox_text{ margin:0 0 .6rem; }
@media(max-width:768px){
  .p-can-card{ flex-direction:column; }
  .p-can-card__media{ flex-basis:auto; }
  .p-can-card__media img{ min-height:0; aspect-ratio:16/9; }
  .p-can-card__body{ padding:2rem 1.8rem; }
  .p-can-card__ttl{ font-size:1.85rem; }
}

/* --- 流れ：アイコンを見出しの下に（dt順=STEP→name→icon・常時縦積み） --- */
.p-flow__list dt{ flex-direction:column !important; align-items:center; gap:.9rem; }
.p-flow__ic{ order:3; margin-top:.3rem; }
@media(max-width:700px){
  .p-flow__list dt{ align-items:flex-start; text-align:left; }
}

/* --- 料金：スマホ調整・アンカー・崩れ対策 --- */
.p-price-group{ scroll-margin-top:110px; }
.p-price-scroll{ position:relative; }
.price-table--wide tbody td:first-child{ min-width:9em; font-weight:600; color:#333; }
@media(max-width:768px){
  .p-price-card{ padding:2rem 1.3rem; }
  .price-table--wide{ font-size:1.35rem; }
  .price-table--wide thead th{ padding:.7rem .5rem; }
  .price-table--wide tbody td{ padding:.7rem .5rem; }
  /* 2026-07-29 横にはみ出している表だけに注意書きを出す（判定は js/main.js の medioki-price-scroll-hint） */
  .p-price-scroll.is-scrollable::before{ content:"← 横にスクロールできます →"; display:block; font-size:1.4rem; color:#31a5d8; font-weight:700; text-align:right; margin-bottom:.5rem; }
}

/* --- FAQ：アコーディオン（agent-r-e風・CSS only） --- */
.p-faq{ max-width:920px; margin:1rem auto 0; }
.p-faq__item{ background:#fff; border:1px solid #d7ecdf; border-radius:10px; margin-bottom:1.2rem; overflow:hidden; }
.p-faq__q{ display:flex; align-items:center; gap:1.3rem; padding:1.9rem 2.1rem; cursor:pointer; list-style:none; font-weight:700; font-size:1.65rem; color:#303030; }
.p-faq__q::-webkit-details-marker{ display:none; }
.p-faq__q::marker{ content:""; }
.p-faq__mark{ flex-shrink:0; width:3.4rem; height:3.4rem; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#5bbf9b; color:#fff; font-family:"Montserrat","Arimo",sans-serif; font-weight:700; font-size:1.8rem; }
.p-faq__mark--a{ background:#31a5d8; }
.p-faq__text{ flex:1 1 auto; line-height:1.55; }
.p-faq__arrow{ flex-shrink:0; width:12px; height:12px; border-right:2px solid #5bbf9b; border-bottom:2px solid #5bbf9b; transform:rotate(45deg); transition:transform .25s ease; margin-right:.4rem; }
.p-faq__item[open] .p-faq__arrow{ transform:rotate(-135deg); }
.p-faq__q:hover{ background:#f7fbf9; }
.p-faq__a{ display:flex; gap:1.3rem; padding:.2rem 2.1rem 2rem; align-items:flex-start; border-top:1px dashed #e3eeea; }
.p-faq__a p{ flex:1 1 auto; margin:0; line-height:1.9; font-size:1.5rem; color:#444; padding-top:1.2rem; }
@media(max-width:768px){
  .p-faq__q{ font-size:1.5rem; padding:1.5rem 1.5rem; gap:1rem; }
  .p-faq__mark{ width:2.9rem; height:2.9rem; font-size:1.5rem; }
  .p-faq__a{ padding:.2rem 1.5rem 1.6rem; }
}

/* --- TOP：フッターの お問い合わせCTAバナーはトップでは非表示（本文CTAと重複回避） --- */
body.home .cta-bnr-wrap{ display:none !important; }
/* 2026-07-29 採用ページでは採用バナー（遷移先が同ページ）を非表示に */
body.page-template-page-recruit .cta-bnr-wrap{ display:none !important; }

/* ============================================================
   [medioki oki6] 疾患/要件カード・FAQスムーズ開閉・対応エリア背景(薄緑)除去
   ============================================================ */

/* --- サービスページの薄緑地を白に（対応エリア含む全体）＋カードは軽い影で分離 --- */
.service{ background:#fff !important; }
.service .infoBox{ box-shadow:0 6px 24px rgba(45,122,99,.07); border:1px solid #eef2f0; }

/* --- 対象となる疾患：アイコン付きカード --- */
.p-cond{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin:1.8rem 0 1rem; }
.p-cond__item{ display:flex; align-items:center; gap:1.2rem; background:#fff; border:1px solid #e3eeea; border-radius:12px; padding:1.5rem 1.6rem; box-shadow:0 3px 10px rgba(91,191,155,.08); }
.p-cond__ic{ flex-shrink:0; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,#5bbf9b,#31a5d8); }
.p-cond__ic svg{ width:25px; height:25px; }
.p-cond__name{ display:flex; flex-direction:column; font-size:1.6rem; font-weight:700; color:#2c7a63; line-height:1.4; }
.p-cond__name small{ font-size:1.4rem; font-weight:500; color:#777; margin-top:.25rem; }
@media(max-width:900px){ .p-cond{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .p-cond{ grid-template-columns:1fr; } }

/* --- 対象者・ご利用要件：チェック付きカード --- */
.p-req{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin:1.8rem 0 0; }
.p-req__item{ display:flex; align-items:flex-start; gap:1.2rem; background:#fff; border:1px solid #d7ecdf; border-radius:12px; padding:1.7rem 1.9rem; }
.p-req__ic{ flex-shrink:0; width:30px; height:30px; color:#5bbf9b; }
.p-req__ic svg{ width:30px; height:30px; }
.p-req__item p{ margin:0; font-size:1.55rem; line-height:1.75; color:#333; }
.p-req__item strong{ color:#2c7a63; }
@media(max-width:768px){ .p-req{ grid-template-columns:1fr; } }

/* --- FAQ：スムーズ開閉アニメーション --- */
:root{ interpolate-size: allow-keywords; }
.p-faq__item::details-content{
  height:0; overflow:hidden;
  transition: height .32s ease, content-visibility .32s allow-discrete;
}
.p-faq__item[open]::details-content{ height:auto; }
@supports not selector(::details-content){
  @media (prefers-reduced-motion: no-preference){
    .p-faq__item[open] .p-faq__a{ animation: faqReveal .3s ease; }
  }
}
@keyframes faqReveal{ from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);} }

/* ============================================================
   2026-07-27 追加
   ① 下層ページカバー上部のイメージ帯（ユーザー指定CSS）
   ② 料金グループの色分け：01/03=緑（既定）／02/04=青
   ============================================================ */

.l-page-cover::before {
    content: "";
    display: block;
    width: 100%;
    height: 300px;
    border-radius: 14px 14px 0 0;
    background: linear-gradient(0deg, rgb(255 255 255) 0%, rgba(255, 255, 255, .15) 45%, rgba(255, 255, 255, 0) 60%), url(../img/common/cover.jpg) center / cover no-repeat;
    box-shadow: 0 10px 30px rgba(49,165,216,.14);
}

/* --- 料金 02（医療保険）・04（その他の費用）を青系に --- */
#price-iryo .p-price-group__header,
#price-other .p-price-group__header {
  background: linear-gradient(135deg, #31a5d8 0%, #8ad4ee 100%);
  box-shadow: 0 6px 20px rgba(49,165,216,0.20);
}
#price-iryo .p-price-card,
#price-other .p-price-card {
  border-color: #cfe4f5;
}
#price-iryo .p-price-card__ttl,
#price-other .p-price-card__ttl {
  background: #e7f2fb;
  border-left-color: #31a5d8;
}
#price-iryo .price-table th,
#price-other .price-table th,
#price-iryo .price-table--wide thead th,
#price-other .price-table--wide thead th {
  background: #31a5d8;
}
#price-iryo .price-table tbody tr:nth-child(even) td,
#price-other .price-table tbody tr:nth-child(even) td {
  background-color: #eef6fc;
}
#price-iryo .price-table td:nth-child(2),
#price-other .price-table td:nth-child(2) {
  border-left-color: #cfe4f5;
}
/* 目次アンカーも同じ色分け（2番目・4番目＝青） */
.p-price-group__anchors a:nth-child(2),
.p-price-group__anchors a:nth-child(4) {
  border-color: #31a5d8;
  color: #1f7fa8;
}
.p-price-group__anchors a:nth-child(2):hover,
.p-price-group__anchors a:nth-child(4):hover {
  background: #31a5d8;
  color: #fff;
}

/* ============================================================
   2026-07-27 複雑な料金表（加算表など）の可読性改善
   ・1列目「項目」を横スクロール中も左に固定
   ・見出し2段目（1割/2割/3割）を淡色でグループ化
   ・金額は等幅数字＋右寄せ、長文セルは上寄せ・左寄せ
   ・ゼブラは rowspan でズレるため解除し、行ホバーで追跡
   ============================================================ */

/* 1列目（項目）を左固定 */
.price-table--wide thead th:first-child,
.price-table--wide tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
}
.price-table--wide thead th:first-child { z-index: 3; }
.price-table--wide tbody td:first-child {
  background: #fff;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  box-shadow: 1px 0 0 #dfe9e5, 7px 0 10px -8px rgba(0,0,0,.22);
}

/* 見出し2段目（1割・2割・3割）を淡色でグループ化 */
.price-table--wide thead tr:nth-child(2) th {
  background: #46b391;
  font-size: 1.35rem;
  letter-spacing: .04em;
}
#price-iryo .price-table--wide thead tr:nth-child(2) th,
#price-other .price-table--wide thead tr:nth-child(2) th {
  background: #2b93c1;
}

/* 長文セル（サービス内容・対象）は上寄せ＋左寄せで読みやすく */
.price-table--wide tbody td {
  vertical-align: top;
  line-height: 1.65;
}
.price-table--wide tbody td[colspan],
.price-table--wide tbody td[rowspan] {
  text-align: left;
}

/* 金額セルは等幅数字で桁を揃える */
.price-table--wide tbody td {
  font-variant-numeric: tabular-nums;
}

/* 項目ブロックの区切りを強調（rowspan セルの上辺） */
.price-table--wide tbody td[rowspan] {
  /* border-top: 2px solid #a7dcc8; */
}
#price-iryo .price-table--wide tbody td[rowspan],
#price-other .price-table--wide tbody td[rowspan] {
  border-top-color: #8ad4ee;
}

/* ゼブラ解除（rowspan で縞がズレて逆に読みにくいため）＋行ホバーで追跡 */
.price-table--wide tbody tr:nth-child(even) td { background: #fff; }
.price-table--wide tbody tr:hover td { background: #f2faf7; }
.price-table--wide tbody tr:hover td:first-child { background: #eaf6f1; }
#price-iryo .price-table--wide tbody tr:hover td,
#price-other .price-table--wide tbody tr:hover td { background: #f1f8fd; }
#price-iryo .price-table--wide tbody tr:hover td:first-child,
#price-other .price-table--wide tbody tr:hover td:first-child { background: #e7f2fb; }

/* 罫線をやや明瞭に */
.price-table--wide tbody td { border-color: #dde9e5; }

@media (max-width: 767px) {
  .price-table--wide tbody td:first-child { font-size: 1.3rem; }
  .price-table--wide tbody td { line-height: 1.55; }
}

/* ============================================================
   2026-07-28 下層ページカバーをカード化（ユーザー指定CSS）
   背景画像(cover.jpg)を外し、最大1400pxの中央寄せカードにする。
   上部のイメージ帯は .l-page-cover::before が担当。
   ============================================================ */
.l-page-cover {
    background: none !important;
    position: relative;
    /* width: 90%; */
    /* max-width: 1400px; */
    margin: 8rem auto 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}
/* 2026-07-29 SP: カバー上余白を詰める（ユーザー指定） */
@media (max-width: 767px) {
    .l-page-cover {
        /* width: 92%; */
        margin-top: 0rem !important;
    }
}

/* ============================================================
   2026-07-28 お問い合わせフォーム：チェックボックス／ラジオの表示
   （CF7 の [checkbox] / [radio] 出力を既存フォーム意匠に合わせる）
   ============================================================ */
.clover-form__row .wpcf7-checkbox,
.clover-form__row .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2rem;
}
.clover-form__row .wpcf7-list-item {
  margin: 0;
}
.clover-form__row .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1.5;
}
.clover-form__row .wpcf7-list-item input[type="checkbox"],
.clover-form__row .wpcf7-list-item input[type="radio"] {
  width: 1.8rem;
  height: 1.8rem;
  accent-color: #5bbf9b;
  flex-shrink: 0;
  cursor: pointer;
}
.clover-form__row .wpcf7-list-item-label { font-size: 1.55rem; }
@media screen and (max-width: 767px) {
  .clover-form__row .wpcf7-checkbox,
  .clover-form__row .wpcf7-radio { gap: 0.6rem 1.2rem; }
}

/* ============================================================
   2026-07-28 ① 募集要項（職種ごとのカード）② 実績・体制ブロック
   ============================================================ */
.p-recruit-job { margin-bottom: 4.5rem; }
.p-recruit-job:last-child { margin-bottom: 0; }
.p-recruit-job__title {
  font-size: clamp(2rem, 2.6vw, 2.4rem);
  font-weight: 700;
  color: #2c7a63;
  margin: 0 0 1.8rem;
  padding: 1.1rem 0 1.1rem 1.8rem;
  background: #eef8f3;
  border-left: 6px solid #5bbf9b;
  border-radius: 0 6px 6px 0;
  line-height: 1.4;
  letter-spacing: .04em;
}

/* 実績・体制 */
@media (max-width: 767px) {
}

/* ============================================================
   2026-07-28 お知らせのタブを「折り返しタブ」型に刷新
   （参考: styles.jp/news/ ／TOPハイライトとアーカイブで共通）
   ・全幅の下線をタブ列が共有し、選択中のタブだけ下線を断ち切る
   ・選択中＝アクセントカラーの枠線＋文字色、非選択＝枠線なしの素の文字
   ============================================================ */
.p-home-news-highlight .news-tab__buttons,
.topics-archive .topics-cat-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0 0 4rem;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #5bbf9b;
  background: none;
}
.p-home-news-highlight .news-tab__btn,
.topics-archive .topics-cat-nav__item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.8rem 0.6rem;
  margin: 0 0 -1px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0;
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease;
}
.p-home-news-highlight .news-tab__btn:hover,
.topics-archive .topics-cat-nav__item:hover {
  background: transparent;
  border-color: transparent;
  color: #5bbf9b;
}
.p-home-news-highlight .news-tab__buttons .news-tab__btn.is-active,
.topics-archive .topics-cat-nav .topics-cat-nav__item.is-active {
  background: #fff;
  border-color: #5bbf9b;
  border-bottom-color: #fff;
  color: #5bbf9b;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-home-news-highlight .news-tab__buttons,
  .topics-archive .topics-cat-nav {
    margin-bottom: 3rem;
  }
  .p-home-news-highlight .news-tab__btn,
  .topics-archive .topics-cat-nav__item {
    padding: 1.3rem 0.3rem;
    font-size: 1.4rem;
    letter-spacing: .04em;
  }
}

/* 2026-07-28 料金02（医療保険）・04（その他の費用）のサブ見出し行も青系に
   （.is-sub が緑固定でグループの配色と食い違っていたため） */
#price-iryo .price-table--wide tbody tr.is-sub td,
#price-other .price-table--wide tbody tr.is-sub td {
  background: #e7f2fb !important;
  color: #1f7fa8;
}
#price-iryo .price-table--wide tbody tr.is-sub:hover td,
#price-other .price-table--wide tbody tr.is-sub:hover td {
  background: #dceaf7 !important;
}

/* ============================================================
   2026-07-28 ボタン意匠の統一
   基準＝TOP about の「詳しく見る →」（白地・緑2px枠・緑文字＋丸矢印、
   ホバーで緑地・白文字に反転）。サイト全体の .btn.-color をこれに合わせる。
   ============================================================ */
a.btn.-color,
.btn.-color {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  min-width: 0;
  background: #fff;
  border: 2px solid #5bbf9b;
  border-radius: 999px;
  color: #2c7a63;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.4;
  padding: 1.4rem 2.6rem;
  white-space: nowrap;
  text-decoration: none;
  transition: .25s;
}
a.btn.-color::after {
  content: "→";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #5bbf9b;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  transition: .25s;
}
a.btn.-color:hover,
.btn.-color:hover {
  background: #5bbf9b;
  border-color: #5bbf9b;
  color: #fff;
  padding: 1.4rem 2.6rem;
  transform: none;
  box-shadow: none;
}
a.btn.-color:hover::after {
  background: #fff;
  color: #5bbf9b;
}
/* 送信ボタン（input）は擬似要素で矢印を出せないため、同じ形状の塗りボタンにする */
input[type="submit"].btn.-color,
.wpcf7-submit.btn.-color {
  background: #5bbf9b;
  border-color: #5bbf9b;
  color: #fff;
  padding: 1.5rem 4rem;
}
input[type="submit"].btn.-color:hover,
.wpcf7-submit.btn.-color:hover {
  background: #4aab89;
  border-color: #4aab89;
  color: #fff;
}
@media screen and (max-width: 767px) {
  a.btn.-color,
  .btn.-color,
  a.btn.-color:hover,
  .btn.-color:hover {
    font-size: 1.4rem;
    padding: 1.2rem 2rem;
    gap: 1rem;
  }
  a.btn.-color::after { width: 26px; height: 26px; font-size: 1.2rem; }
}

/* ============================================================
   2026-07-28 /service/「訪問看護とは」の余白にゆとりを持たせる
   （見出し・リード・本文・特長カードが詰まって見えたため #about に限定して調整）
   ============================================================ */
#about .infoBox_ttl { margin-bottom: 3.2rem; }
#about .p-service-lead-msg { margin-top: 0 !important; margin-bottom: 4.5rem !important; }
#about .infoBox_body { margin-top: 5rem; gap: 6rem; align-items: center; }
#about .infoBox_text { margin-bottom: 3rem; line-height: 2.15; }
#about .infoBox_text:last-child { margin-bottom: 0; }
#about .infoBox_ttl-sub { margin-top: 7rem; margin-bottom: 1rem; }
#about .p-feature4 { gap: 3rem; margin: 4rem 0 1rem; }
#about .p-feature4__body { padding: 2.8rem 3rem 3.2rem; }
#about .p-feature4__ttl { font-size: 2rem; margin-bottom: 1.2rem; }
#about .p-feature4__txt { font-size: 1.6rem; line-height: 1.95; }
#about .p-feature4__media img { aspect-ratio: 4/3; }
@media (max-width: 900px) {
  #about .infoBox_body { gap: 3.5rem; margin-top: 3.5rem; }
  #about .p-feature4 { gap: 2rem; margin-top: 3rem; }
  #about .p-feature4__body { padding: 2rem 2rem; }
  #about .infoBox_ttl { margin-bottom: 2.4rem; }
  #about .p-service-lead-msg { margin-bottom: 3rem !important; }
  #about .infoBox_ttl-sub { margin-top: 4.5rem; }
}

/* ============================================================
   2026-07-28 お問い合わせCTA（全ページ共通）
   TOPで使っていた .p-home-cta の意匠をフッターの共通CTAへ移設。
   TOPは自前のCTAを持つため body.home では非表示にする。
   ============================================================ */
	/* 2026-07-29 背景をロゴのパレット（シアン→黄緑）に統一。サービス紹介セクションと揃える */
	.p-home-cta{position:relative;background:linear-gradient(125deg,#1e93c8 0%,#31a5d8 38%,#4fb6b4 70%,#79c58f 100%);
		color:#fff;padding:7.5rem 2rem 8rem;overflow:hidden;}
	.p-home-cta::before{content:"";position:absolute;inset:0;pointer-events:none;
		background:radial-gradient(circle at 90% 6%,rgba(212,221,24,.32) 0%,rgba(212,221,24,0) 46%),
			radial-gradient(circle at 4% 94%,rgba(212,221,24,.16) 0%,rgba(212,221,24,0) 42%);}
	.p-home-cta > *{position:relative;z-index:1;}
	.p-home-cta__inner{max-width:1080px;margin:0 auto;display:flex;align-items:stretch;gap:4rem;text-align:left;}
	.p-home-cta__body{display:flex;flex-direction:column;justify-content:center;}
	/* 2026-07-29 写真をテキスト側の高さいっぱいまで伸ばして大きく見せる（セクション高は不変） */
	.p-home-cta__media{position:relative;flex:0 0 45%;margin:0;display:flex;min-height:30rem;}
	/* 左下: 黄緑のオフセット */
	.p-home-cta__media-accent{position:absolute;left:-1.6rem;bottom:-1.6rem;width:56%;height:44%;
		border-radius:18px;background:rgba(229,234,100,.55);z-index:0;}
	/* 右上: 白い細枠のオフセット（奥行きを出す） */
	.p-home-cta__media::after{content:"";position:absolute;right:-1.4rem;top:-1.4rem;width:50%;height:40%;
		border:2px solid rgba(255,255,255,.55);border-radius:18px;z-index:0;pointer-events:none;}
	.p-home-cta__media img{position:relative;z-index:1;width:100%;height:100%;border-radius:20px;display:block;
		box-shadow:0 18px 40px rgba(0,0,0,.28);aspect-ratio:auto;object-fit:cover;}
	.p-home-cta__body{flex:1 1 auto;min-width:0;}
	.p-home-cta__dots{display:flex;justify-content:flex-start;gap:1rem;margin-bottom:1.4rem;display:none;}
	.p-home-cta__dots i{width:12px;height:12px;border-radius:50%;background:#e5ea64;display:block;}
	/* ラベル（Contact ● お問い合わせ） */
	.p-home-cta__label{display:flex;align-items:center;gap:1.1rem;margin:0 0 1.6rem;}
	.p-home-cta__label-en{font-family:"Montserrat","Arimo",sans-serif;font-size:1.5rem;font-weight:700;
		letter-spacing:.14em;text-transform:uppercase;color:#e5ea64;}
	.p-home-cta__label-dot{width:6px;height:6px;border-radius:50%;background:#e5ea64;}
	.p-home-cta__label-ja{font-size:1.5rem;font-weight:700;letter-spacing:.08em;color:#fff;}
	.p-home-cta__ttl{font-size:clamp(2.6rem,4vw,3.6rem);font-weight:800;letter-spacing:.05em;line-height:1.4;margin:0 0 1.8rem;}
	.p-home-cta__txt{font-size:1.6rem;line-height:1.95;margin:0 0 3rem;}
	/* 電話とボタンを白い半透明パネルにまとめて視線を集める */
	.p-home-cta__actions{display:flex;align-items:center;justify-content:center;gap:2.6rem;flex-wrap:wrap;
		padding:2.2rem 2.6rem;border-radius:18px;background:rgba(255,255,255,.14);
		border:1px solid rgba(255,255,255,.30);backdrop-filter:blur(2px);align-content:center;}
	.p-home-cta__tel-wrap{display:flex;flex-direction:column;align-items:flex-start;}
	.p-home-cta__tel{display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(3rem,4.4vw,4.2rem);font-weight:800;letter-spacing:.03em;color:#fff;text-decoration:none;line-height:1.1;}
	.p-home-cta__tel::before{content:"";width:.9em;height:.9em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.15 15.15 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24 11.36 11.36 0 003.56.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1 11.36 11.36 0 00.57 3.56 1 1 0 01-.24 1.02z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.15 15.15 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24 11.36 11.36 0 003.56.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1 11.36 11.36 0 00.57 3.56 1 1 0 01-.24 1.02z'/%3E%3C/svg%3E") no-repeat center/contain;}
	.p-home-cta__note{font-size:1.35rem;opacity:.95;margin-top:.5rem;align-self:center;}
	.p-home-cta__btn{display:inline-flex;align-items:center;gap:.7rem;background:#fff;color:#31a5d8;font-weight:700;font-size:1.7rem;padding:1.7rem 4.2rem;border-radius:999px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.16);white-space:nowrap;transition:.2s;}
	.p-home-cta__btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.22);}
	@media(max-width:767px){
		.p-home-cta{padding:5rem 1.5rem 5.5rem;}
		.p-home-cta__label{justify-content:center;}
		.p-home-cta__actions{padding:1.8rem 1.6rem;width:100%;}
		.p-home-cta__media-accent{left:-.8rem;bottom:-.8rem;}
		.p-home-cta__actions{flex-direction:column;gap:1.8rem;}
		.p-home-cta__inner{flex-direction:column;text-align:center;gap:2.4rem;}
		.p-home-cta__media{flex-basis:auto;width:100%;max-width:420px;min-height:0;margin:0 auto;}
		.p-home-cta__media img{aspect-ratio:4/3;height:auto;}
		.p-home-cta__media::after{right:-.8rem;top:-.8rem;}
		.p-home-cta__dots{justify-content:center;}
		.p-home-cta__actions{justify-content:center;}
		.p-home-cta__tel-wrap{align-items:center;}
		.p-home-cta__btn{width:100%;max-width:340px;justify-content:center;}
	}
	
body.home .footer_top{ display:none; }

/* 2026-07-28 Instagramアイコンを住所ブロックの直下（左寄せ・アイコンのみ）に */
.footer__sns-wrap--addr{ text-align:left; padding:1.8rem 0 0; }
.footer__sns-wrap--addr .footer__sns{ gap:0; }
.footer__sns-wrap--addr .footer__sns img{ width:32px; height:32px; }

/* 2026-07-29 ヘッダーCTAのメールアイコンを削除（依頼）
   アイコン分の左パディング(5.5rem)も不要になるため左右均等に戻す */
.header__btn.email::before{ display:none; }
.header__btn{ padding:2rem 2.8rem; }

/* 2026-07-29 対象者・ご利用要件（見出し付きカード） */
.p-req__lead{ text-align:center; font-size:1.6rem; line-height:1.95; color:#444; margin:1.6rem 0 0; padding-bottom:2rem; }
.p-req__body{ min-width:0; }
p.p-req__ttl{ color:#4fae8b; font-weight:800; font-size:2rem; margin:0 0 .9rem; line-height:1.5; }
.p-req__txt{ margin:0; font-size:1.55rem; line-height:1.9; color:#555; }
.p-req__item{ align-items:flex-start; padding:2.4rem 2.4rem; }
@media(max-width:768px){
  p.p-req__ttl{ font-size:1.8rem; }
  .p-req__item{ padding:2rem 1.8rem; }
}

/* 2026-07-29 note-t 内の小見出しの上余白（#about の 7rem 指定を打ち消す） */
#about .note-t .infoBox_ttl-sub{ margin-top:1rem; }

/* 2026-07-29 対象者・ご利用要件 見出し上のチェックボックスアイコン（緑） */
.p-req__icon{ display:block; text-align:center; color:#5bbf9b; line-height:1; margin-bottom:.6rem; }
.p-req__icon svg{ width:5rem; height:5rem; display:inline-block; vertical-align:middle; }
@media(max-width:768px){ .p-req__icon svg{ width:4.2rem; height:4.2rem; } }

/* 2026-07-29 対象疾患アイコンを聴診器（med.png）に統一・白抜き */
.p-cond__ic-img{ display:block; width:26px; height:26px; background-color:currentColor;
  -webkit-mask:url(../img/common/med.png) no-repeat center/contain;
  mask:url(../img/common/med.png) no-repeat center/contain; }


/* ============================================================
   2026-07-29 ボタン意匠の統一
   基準 = .p-top-recruit__btn（ダークピル＋白丸チェブロン）。
   矢印は ::after で描くためマークアップ変更は不要。
   既存の丸アイコン（i / ::after の「→」）は打ち消す。
   背景が濃い場所（footer_top の緑帯・ヘッダーCTA）は白ベースの反転版にして
   背景色と同化・接触しないようにする。
   ============================================================ */
a.btn.-color,
.btn.-color,
input[type="submit"].btn.-color,
.wpcf7-submit.btn.-color,
.p-home-about__btn,
.p-home-staff__btn,
.nav-drawer__btn,
.p-group__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  background: #2c3e46 !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding: 1.9rem 2.6rem !important;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
}
a.btn.-color:hover,
.btn.-color:hover,
input[type="submit"].btn.-color:hover,
.wpcf7-submit.btn.-color:hover,
.p-home-about__btn:hover,
.p-home-staff__btn:hover,
.nav-drawer__btn:hover,
.p-group__link:hover {
  background: #31a5d8 !important;
  border: none !important;
  color: #fff !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(49, 165, 216, 0.30);
}
/* 白丸チェブロン（旧「→」やアイコン i を置き換える） */
a.btn.-color::after,
.btn.-color::after,
.p-home-about__btn::after,
.p-home-staff__btn::after,
.nav-drawer__btn::after,
.p-group__link::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto;
  width: 2.8rem !important;
  height: 2.8rem !important;
  margin-left: 0.6rem;
  border-radius: 50% !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c3e46' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9,5 17,12 9,19'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 9px 9px !important;
  -webkit-mask: none !important;
  mask: none !important;
  color: transparent !important;
  font-size: 0 !important;
  top: auto;
  position: static;
}
a.btn.-color:hover::after,
.btn.-color:hover::after,
.p-home-about__btn:hover::after,
.p-home-staff__btn:hover::after,
.nav-drawer__btn:hover::after,
.p-group__link:hover::after {
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2331a5d8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9,5 17,12 9,19'/%3E%3C/svg%3E") !important;
}
/* 2026-07-29 修正: page-about.php のインラインCSSに残る mask（外部リンク形）が
   共通の丸チェブロンを切り抜いてしまい、ホバー前にアイコンが見えなくなっていた。
   mask を解除して他のボタンと同じ白丸チェブロンを表示する。 */
.p-group__link::after {
  -webkit-mask: none !important;
  mask: none !important;
  background-color: #fff !important;
}
/* 外部リンクであることは、ラベル前の小さなアイコンで示す */
.p-group__link::before {
  content: "";
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='8.5' y='2.5' width='13' height='13'/%3E%3Cpolyline points='13.5,5.5 18.5,5.5 18.5,10.5'/%3E%3Cline x1='11.8' y1='12.2' x2='18.5' y2='5.5'/%3E%3Cpolyline points='15.5,21.5 2.5,21.5 2.5,8.5'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='8.5' y='2.5' width='13' height='13'/%3E%3Cpolyline points='13.5,5.5 18.5,5.5 18.5,10.5'/%3E%3Cline x1='11.8' y1='12.2' x2='18.5' y2='5.5'/%3E%3Cpolyline points='15.5,21.5 2.5,21.5 2.5,8.5'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* 旧アイコン要素（i / span）は非表示にして二重矢印を防ぐ */
.p-home-about__btn i,
.p-home-staff__btn i {
  display: none !important;
}
/* --- 反転版: 背景が濃い場所（白ピル＋濃色チェブロン） --- */
.footer_top .btn.-color,
.footer_top a.btn.-color,
.p-home-cta__btn {
  background: #fff !important;
  color: #2c3e46 !important;
}
.footer_top .btn.-color:hover,
.footer_top a.btn.-color:hover,
.p-home-cta__btn:hover {
  background: #d9de07 !important;
  color: #2c3e46 !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}
.p-home-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  border: none;
  border-radius: 999px;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 1.9rem 3.4rem;
  text-decoration: none;
  transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
}
.footer_top .btn.-color::after,
.footer_top a.btn.-color::after,
.p-home-cta__btn::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 2.8rem;
  height: 2.8rem;
  margin-left: 0.6rem;
  border-radius: 50%;
  background-color: #2c3e46 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9,5 17,12 9,19'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9px 9px;
}
@media screen and (max-width: 767px) {
  a.btn.-color,
  .btn.-color,
  .p-home-about__btn,
  .p-home-staff__btn,
  .nav-drawer__btn,
  .p-group__link,
  .p-home-cta__btn {
    font-size: 1.5rem;
    padding: 1.5rem 2.2rem !important;
    gap: 1rem;
  }
  a.btn.-color::after,
  .btn.-color::after,
  .p-home-about__btn::after,
  .p-home-staff__btn::after,
  .nav-drawer__btn::after,
  .p-home-cta__btn::after {
    width: 2.4rem !important;
    height: 2.4rem !important;
    margin-left: 0.3rem;
  }
}

/* ============================================================
   2026-07-29 あしらいパーツ（汎用）
   TOP採用セクションの deco を汎用クラス .c-deco として切り出したもの。
   形: --circle / --arc / --square ／ 色: -y(黄) -yl(淡黄) -b(青) -bl(淡青) -g(緑)
   位置: --at-tl / --at-tr / --at-bl / --at-br ／ サイズ: --lg
   親要素に position:relative を付け、はみ出さない位置に置く（overflow は変更しない）。
   ============================================================ */
.p-home-about,
.p-home-sec03,
.p-home-staff,
.p-home-news-highlight,
.p-band {
  position: relative;
}
.c-deco {
  position: absolute;
  display: block;
  pointer-events: none;
  z-index: 0;
  width: 7rem;
  height: 7rem;
}
.c-deco--lg { width: 11rem; height: 11rem; }
/* 形 */
.c-deco--circle { border-radius: 50%; background-color: currentColor; }
.c-deco--square { border-radius: 5px; background-color: currentColor; transform: rotate(-8deg); width: 6.4rem; height: 4.4rem; }
.c-deco--arc {
  background: none;
  border-radius: 50%;
  border-style: solid;
  border-width: 1.4rem;
  border-color: transparent transparent currentColor transparent;
  transform: rotate(-20deg);
}
/* 色 */
.c-deco.-y  { color: #d9de07; }
.c-deco.-yl { color: #eef2a6; }
.c-deco.-b  { color: #31a5d8; }
.c-deco.-bl { color: #bfe4f5; }
.c-deco.-g  { color: #a7dcc8; }
.c-deco.-wh { color: rgba(255, 255, 255, 0.55); }
/* 位置 */
.c-deco--at-tl { left: 2%;  top: 3rem; }
.c-deco--at-tr { right: 2%; top: 3rem; }
.c-deco--at-bl { left: 3%;  bottom: 4rem; }
.c-deco--at-br { right: 3%; bottom: 4rem; }
/* 下層ページ（main 直下に置く場合）は上端から少し下げる */
.c-deco--fixedwrap.c-deco--at-tl { left: 1.5%; top: 12rem; }
.c-deco--fixedwrap.c-deco--at-br { right: 1.5%; bottom: 18rem; }
@media screen and (max-width: 1100px) {
  .c-deco { width: 5.4rem; height: 5.4rem; }
  .c-deco--lg { width: 8rem; height: 8rem; }
  .c-deco--arc { border-width: 1.1rem; }
  .c-deco--square { width: 5rem; height: 3.4rem; }
}
@media screen and (max-width: 767px) {
  .c-deco--arc { display: none; }
  .c-deco { width: 4.2rem; height: 4.2rem; }
  .c-deco--lg { width: 6rem; height: 6rem; }
  .c-deco--square { width: 4.2rem; height: 2.8rem; }
  .c-deco--at-tl, .c-deco--at-tr { top: 1.4rem; }
  .c-deco--at-bl, .c-deco--at-br { bottom: 1.4rem; }
  .c-deco--fixedwrap { display: none; }
}

/* ============================================================
   2026-07-29 /service/ 料金表: SPの横スクロール量を削減
   min-width はインライン指定だったため PC 限定のクラスに置き換え、
   SP では内容に応じた自然幅（＋折り返し）にして横スクロールを最小化する。
   ============================================================ */
@media screen and (min-width: 768px) {
  .price-table--mw420 { min-width: 420px; }
  .price-table--mw560 { min-width: 560px; }
  .price-table--mw680 { min-width: 680px; }
  .price-table--mw820 { min-width: 820px; }
  .price-table--mw900 { min-width: 900px; }
}
@media screen and (max-width: 767px) {
  /* 折り返しを許可し、余白と字間を詰める（本文の最小 1.4rem は維持） */
  .price-table--wide { font-size: 1.4rem; table-layout: auto; }
  .price-table--wide thead th {
    white-space: normal;
    padding: .6rem .35rem;
    font-size: 1.4rem;
    line-height: 1.35;
    letter-spacing: 0;
  }
  .price-table--wide tbody td {
    padding: .6rem .35rem;
    line-height: 1.5;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  /* 1列目の固定幅を緩める（9em → 6em）。sticky は維持 */
  .price-table--wide tbody td:first-child {
    min-width: 6em;
    font-size: 1.4rem;
  }
  /* 金額列は改行させない（桁が崩れるため） */
  .price-table--wide tbody td:not(:first-child) { white-space: nowrap; }
  .price-table--wide tbody td[colspan],
  .price-table--wide tbody td[rowspan] { white-space: normal; }
}


/* 2026-07-29 SP: 実績ブロックは少し詰める */
@media screen and (max-width: 767px) {
  .p-recruit-section#numbers { padding: 3rem 1.4rem; }
}
/* ============================================================
   2026-07-29 アンカーリンクのスクロール位置補正
   ヘッダーが position:fixed のため、従来は対象の見出しがヘッダーの裏に隠れていた。
   （アンカーID自体は全て存在しており、リンク先の指定は正しかった）
   静的なフォールバックとして scroll-padding / scroll-margin を付与し、
   実測値による微調整は js/main.js 側で行う。
   ============================================================ */
html {
  scroll-padding-top: 11rem;
}
main [id] {
  scroll-margin-top: 11rem;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 7rem;
  }
  main [id] {
    scroll-margin-top: 7rem;
  }
}

/* ============================================================
   2026-07-30 フッターの文字サイズ引き上げ
   ナビ・住所・コピーライト等に 1.2〜1.35rem が残っていて全体的に小さかった。
   wp/CLAUDE.md の方針（本文は最小 1.4rem／1.2〜1.3rem は使わない）に合わせる。
   ============================================================ */
.footer-nav-col { font-size: 1.5rem; }
.footer-nav-col .footer-head { font-size: 1.9rem; }
.footer-nav-col .nav-group__head { font-size: 1.6rem; }
.footer-nav-col .nav-group__sub a { font-size: 1.45rem; }
.footer-nav-service__grid .nav-group__head { font-size: 1.6rem; }
.footer-nav-service__grid .nav-group__sub li a { font-size: 1.45rem; }
.footer__link { font-size: 1.6rem; }
.footer__copyright { font-size: 1.4rem; }
.footer__address span { font-size: 1.5rem; line-height: 1.9; }
.footer .page-top span { font-size: 1.4rem; }
/* 事業所一覧 */
.footer-offices__name { font-size: 1.6rem; }
.footer-offices__addr { font-size: 1.5rem; line-height: 1.8; }
.footer-offices__co b { font-size: 1.6rem; }
@media screen and (max-width: 767px) {
  .footer-nav-col { font-size: 1.5rem; }
  .footer-nav-col .footer-head { font-size: 1.7rem; }
  .footer-nav-col .nav-group__head { font-size: 1.55rem; }
  .footer-nav-col .nav-group__sub a { font-size: 1.45rem; }
  .footer__address span { font-size: 1.5rem; }
  .footer__copyright { font-size: 1.4rem; }
  .footer__link { font-size: 1.6rem; }
}

/* 2026-07-30 MVスライド画像の高さ（ユーザー指定） */
.home-mv__slide img,
.home-mv .home-mv__slides .slick-slide img {
    width: 100% !important;
    height: min(60vh, 800px) !important;
    object-fit: cover !important;
    display: block;
    margin: 0 !important;
    max-height: none !important;
}

/* 2026-07-29 SP: 汎用ボタン(.btn.-color)のサイズ調整（ユーザー指定） */
@media screen and (max-width: 767px) {
    a.btn.-color, .btn.-color, a.btn.-color:hover, .btn.-color:hover {
        font-size: 1.4rem;
        padding: 1.2rem 2rem;
        gap: 1rem;
        width: auto;
    }
}

/* 2026-07-29 MV: 背景画像＋余白（ユーザー指定。URLは相対パスにして本番移行に耐えるようにする） */
.home-mv {
    position: relative;
    background: #ffffff url(../img/common/mv-bg.png) no-repeat center top;
    background-size: cover;
    padding: 10.4rem 2.4rem 7rem !important;
    margin-top: 0;
}

/* 2026-07-29 SP: MVの余白調整（ユーザー指定） */
@media (max-width: 767px) {
    .home-mv {
        padding: 7.2rem 1.2rem 9rem !important;
    }
}
/* ============================================================
   2026-07-29 TOP 採用セクション
   参考: https://you-me-life.co.jp/ の事業紹介ブロック
   左=ラベル/大見出し/リード/ピルボタン ／ 右=写真3点の段差コラージュ＋アクセント図形
   ============================================================ */
.p-top-recruit {
	position: relative;
	margin-top: 10rem;
	padding: 0rem 0 10rem;
	/* background: linear-gradient(180deg, #ddf2ff 0%, #ffffff 100%); */
	overflow: hidden;
}
.p-top-recruit__inner {
	display: grid;
	grid-template-columns: minmax(0, 42rem) minmax(0, 1fr);
	gap: 6rem;
	align-items: center;
	max-width: 120rem;
	margin: 0 auto;
	padding: 0 2rem;
}
/* --- 左: テキスト --- */
.p-top-recruit__label {
	display: flex;
	align-items: center;
	gap: 1.1rem;
	margin: 0 0 2.2rem;
}
.p-top-recruit__label-en {
	font-family: "Montserrat", "Arimo", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #5bbf9b;
}
.p-top-recruit__label-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #d9de07;
}
.p-top-recruit__label-ja {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #5bbf9b;
}
.p-top-recruit__ttl {
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: #2c3e46;
	margin: 0 0 3rem;
}
.p-top-recruit__txt {
	font-size: 1.6rem;
	line-height: 2.05;
	color: #444;
	margin: 0 0 4rem;
}
.p-top-recruit__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 1.4rem;
	padding: 1.9rem 2.6rem 1.9rem 2.4rem;
	border-radius: 999px;
	background: #2c3e46;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
}
.p-top-recruit__btn:hover {
	background: #31a5d8;
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(49, 165, 216, 0.30);
	color: #fff;
}
.p-top-recruit__btn-dot {
	width: 0;
	height: 0;
	border-radius: 50%;
	background: #d9de07;
	flex: 0 0 auto;
}
.p-top-recruit__btn-arrow {
	position: relative;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 50%;
	background: #fff;
	flex: 0 0 auto;
	margin-left: 0.6rem;
}
.p-top-recruit__btn-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 46%;
	width: 6px;
	height: 6px;
	border-right: 2px solid #2c3e46;
	border-bottom: 2px solid #2c3e46;
	transform: translate(-50%, -50%) rotate(-45deg);
	transition: border-color 0.3s;
}
.p-top-recruit__btn:hover .p-top-recruit__btn-arrow::before {
	border-color: #31a5d8;
}
/* --- 右: 写真コラージュ --- */
.p-top-recruit__gallery {
	position: relative;
	min-height: 46rem;
}
.p-top-recruit__ph {
	position: absolute;
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #eef4f2;
	box-shadow: 0 14px 34px rgba(44, 62, 70, 0.18);
}
.p-top-recruit__ph img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-top-recruit__ph--01 { left: 0;    top: 0;     width: 40%; aspect-ratio: 3 / 4; z-index: 1; }
.p-top-recruit__ph--02 { left: 34%;  top: 6rem;  width: 36%; aspect-ratio: 3 / 4; z-index: 3; }
.p-top-recruit__ph--03 { right: 0;   top: -1rem; width: 30%; aspect-ratio: 3 / 4; z-index: 2; }
/* --- アクセント図形 --- */
.p-top-recruit__deco { position: absolute; display: block; pointer-events: none; }
.p-top-recruit__deco--circle {
	left: 30%;
	top: -2.5rem;
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	background: #eef2a6;
	z-index: 0;
}
.p-top-recruit__deco--arc {
	left: -2rem;
	bottom: 6rem;
	width: 7rem;
	height: 7rem;
	border: 1.4rem solid #d9de07;
	border-color: transparent transparent #d9de07 transparent;
	border-radius: 50%;
	transform: rotate(-20deg);
	z-index: 4;
}
.p-top-recruit__deco--blue {
	right: 8%;
	bottom: -2rem;
	width: 7.5rem;
	height: 7.5rem;
	border-radius: 50%;
	background: #bfe4f5;
	z-index: 0;
}
.p-top-recruit__deco--square {
	left: 62%;
	bottom: 1rem;
	width: 6.4rem;
	height: 4.4rem;
	background: #d9de07;
	border-radius: 4px;
	transform: rotate(-8deg);
	z-index: 4;
}
@media screen and (max-width: 1100px) {
	.p-top-recruit__inner { grid-template-columns: 1fr; gap: 4.5rem; }
	.p-top-recruit__ttl { font-size: 3.6rem; }
	.p-top-recruit__gallery { min-height: 40rem; }
}
@media screen and (max-width: 767px) {
	.p-top-recruit { margin-top: 6rem; padding: 6rem 0 7rem; }
	.p-top-recruit__inner { padding: 0 1.6rem; gap: 3.5rem; }
	.p-top-recruit__ttl { font-size: 2.8rem; margin-bottom: 2.2rem; }
	.p-top-recruit__txt { font-size: 1.5rem; margin-bottom: 3rem; }
	.p-top-recruit__btn { padding: 1.6rem 2.2rem 1.6rem 2rem; font-size: 1.5rem; }
	.p-top-recruit__gallery { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
	.p-top-recruit__ph { position: static; width: auto; border-radius: 14px; }
	.p-top-recruit__ph--01 { grid-row: span 2; aspect-ratio: 3 / 5; }
	.p-top-recruit__ph--02,
	.p-top-recruit__ph--03 { aspect-ratio: 4 / 3; }
	.p-top-recruit__deco--circle { left: auto; right: 1rem; top: -1.6rem; width: 6rem; height: 6rem; }
	.p-top-recruit__deco--arc { display: none; }
	.p-top-recruit__deco--square { left: auto; right: 40%; bottom: -1rem; width: 5rem; height: 3.4rem; }
}
