@charset "utf-8";

.cm-h {
  --pt: 36;
  --pb: 27;
  margin: 0 max(62.5/1600*100vw, 62.5em/16);
  padding: clamp(var(--pt) * .5em/16, var(--pt) / 1024*100vw, var(--pt) * 1em/16) 0 clamp(var(--pb) * .5em/16, var(--pb) / 1024*100vw, var(--pb) * 1em/16);
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
  font-size: clamp(.8em, calc(16/768*100vw), 1em);
}
@media screen and (max-width: 1024px) {
  .cm-h {
    justify-content: center;
    align-items: center;
    margin: 0;
    padding-left: calc(25/375*100%);
    padding-right: calc(25/375*100%);
  }
}
.cm-h__logoTarget {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .cm-h__logoTarget {
    position: relative;
    align-items: center;
    overflow: visible;
  }
}
.cm-h__logoTargetTxt {
  font-size: calc(13em/16);
  margin-bottom: 1em;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 1024px) {
  .cm-h__logoTargetTxt {
    margin-bottom: 0.6em;
    white-space: nowrap;
  }
}
.cm-h__logoTargetIcon {
  width: calc(186em/16);
}
.cm-h__info {
  display: flex;
  flex-direction: column;
  height: auto;
}
.cm-h__infoTel {
  flex: 1;
  text-align: right;
  font-size: calc(14em/16);
  letter-spacing: 0.025em;
}
@media screen and (max-width: 1024px) {
  .cm-h__info {
    display: none;
  }
}
.cm-h__infoNav {
  display: flex;
  align-items: center;
  gap: calc(32em/16);
}
.cm-h__infoNavList {
  display: flex;
  gap: calc(40em/16);
  letter-spacing: 0;
}
.cm-h__infoNavBtn {
  --w: 136;
  --h: 38;
  width: calc(var(--w) * 1em/14);
  height: calc(var(--h) * 1em/14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
  z-index: 1;
  background-color: #455d50;
  color: #fff;
  font-size: calc(14em/16) ;
  font-weight: 700;
}
/* @media (any-hover: hover) {
  .cm-h__infoNavBtn:where(:any-link, :enabled) {
    transition: filter var(--transition);
  }
  .cm-h__infoNavBtn:where(:any-link, :enabled):hover {
    filter: brightness(.8);
  }
} */
.cm-h__line {
  position: absolute;
  bottom: calc(-42em/16);
  right: calc(28em/16);
  z-index: 3;
  width: calc(299em/16);
}
@media screen and (max-width: 1024px) {
  .cm-h__line {
    display: none;
  }
}


.cm-f {
  --pt: 146;
  --pb: 80;
  padding: clamp(calc(var(--pt) * .8em/16), calc(var(--pt) / 1024*100vw), calc(var(--pt) * 1em/16)) 0 calc(var(--pb) * 1em/16); 
}
.cm-f-inner {
  margin: 0 auto;
  width: calc(305/375*100%);
}
/* @media screen and (max-width: 880px) {
} */
.cm-f__entryTitle {
  position: relative;
  text-align: center;
  font-size: calc(20em/16);
  letter-spacing: 0.03em;
}
.cm-f__entryTitle::before {
  content: '';
  display: block;
  margin: 0 auto clamp(calc(46em/20*.6), calc(46/1024*100vw), calc(46em/20));
  width: 1px;
  height: clamp(calc(260em/20*.4), calc(260/1024*100vw), calc(260em/20));
  background: var(--gray-color);
}
.cm-f__entryIntro {
  margin-top: calc(36em/32);
  line-height: 2;
  font-size: clamp(calc(30em/16*.55), calc(30/1024*100vw), calc(30em/16));
  letter-spacing: -0.02em;
}
.cm-f__entryIntro p+p {
  margin-top: 2em;
}
.cm-f__entryIntro .u-block {
  display: block;
}
.cm-f__entryIntro .u-inbl {
  display: inline-block;
}
.cm-f__entryBtn {
  margin: clamp(calc(48em/16*.8), calc(48/768*100vw), calc(48em/16)) auto 0;
  width: min(100%, calc(382em/16));
  height: auto;
  aspect-ratio: 382/82;
}
.cm-f__entryBtnTarget {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: clamp(calc(18em/16*.95), calc(18/540*100vw), calc(18em/16));
  color: #fff;
  background: var(--green-color);
  border-radius: 100vmax;
  overflow: hidden;
}
.cm-f__info {
  --mt: 76;
  margin-top: clamp(var(--mt) * .8em/16, var(--mt) / 1024*100vw, var(--mt) * 1em/16);
}
.cm-f__infoTxt {
  text-align: center;
  line-height: 1.6;
  font-size: clamp(calc(20em/16*.8), calc(20/768*100vw), calc(20em/16));
  letter-spacing: -0.02em;
}
.cm-f__infoTxt .u-inbl {
  display: inline-block;
}
.cm-f__infoList {
  margin-top: calc(28em/16);
}
.cm-f__infoListTel {
  font-size: clamp(calc(32em/16*.8), calc(32/768*100vw), calc(32em/16));
}
.cm-f__outro {
  --mt: 76;
  --pt: 44;
  position: relative;
  margin: clamp(var(--mt) * .8em/14, var(--mt) / 1024*100vw, var(--mt) * 1em/14) auto 0;
  padding: clamp(var(--pt) * .8em/14, var(--pt) / 1024*100vw, var(--pt) * 1em/14) 0 0;
  width: min(calc(602em/14), 100%);
  line-height: 2.2;
  font-size: calc(14em/16);
  letter-spacing: -0.02em;
  border-top: 1px solid var(--gray-color);
}
@media screen and (max-width: 880px) {
  .cm-f__outro {
    text-align: justify;
  }
  .cm-f__outro .u-spNone {
    display: none;
  }
}
.cm-f__infoListOpen {
  margin-top: calc(22em/16);
  letter-spacing: 0.05em;
  font-size: clamp(calc(14em/16), calc(14/375*100vw), calc(16em/16));
}
.cm-f__link {
  margin-top: calc(36em/14);
  font-size: calc(14em/16);
}
.cm-f__copy {
  --mt: 80;
  margin-top: clamp(var(--mt) * .8em/14, var(--mt) / 1024*100vw, var(--mt) * 1em/14);
  font-size: calc(14em/16);
  display: block;
}

.cm-fixedcta {
  position: fixed;
  bottom: calc(54em/16);
  right: calc(54em/16);
  z-index: 9;
  transition: opacity .5s var(--ease-out-sine);
}
@media screen and (max-width: 1024px) {
  .cm-fixedcta {
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    margin: 0 auto;
    font-size: clamp(.6em, calc(16/750*100vw), 1.2em);
  }
}
@media screen and (max-width: 320px) {
  .cm-fixedcta {
    font-size: .55em;
  }
}
#l-wrapper.is-beforemvanim .cm-fixedcta {
  opacity: 0;
}
#l-wrapper.is-hidden .cm-fixedcta {
  opacity: 0;
}
.cm-fixedcta__formTarget {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(140em/16);
  height: calc(140em/16);
  line-height: 1.8;
  color: #fff;
  background: var(--green-color);
  border-radius: 100vmax;
  overflow: hidden;
  box-shadow: 0 0 calc(10em/16) rgba(38, 38, 38, .47);
}
.cm-fixedcta__formTarget .u-pcNone {
  display: none;
}
@media screen and (max-width: 1024px) {
  .cm-fixedcta__form {
    width: 50%;
    height: clamp(calc(118em/16*.9), calc(118/750*100vw), calc(118em/16*1.2));
  }
  .cm-fixedcta__formTarget {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* height: auto;
    aspect-ratio: 375/118; */
    border-radius: 0;
    box-shadow: none;
    font-size: calc(24em/16);
  }
  .cm-fixedcta__formTarget .u-pcNone {
    display: block;
  }
  .cm-fixedcta__formTarget .u-spNone {
    display: none;
  }
}
.cm-fixedcta__tel {
  display: none;
}
@media screen and (max-width: 1024px) {
  .cm-fixedcta__tel {
    display: block;
    width: 50%;
    height: clamp(calc(118em/16*.9), calc(118/750*100vw), calc(118em/16*1.2));
  }
  .cm-fixedcta__telTarget {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: calc(16em/16);
    width: 100%;
    height: 100%;
    /* height: auto;
    aspect-ratio: 375/118; */
    background: #fff;
  }
  .cm-fixedcta__telTarget::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--green-color);
  }
  .cm-fixedcta__telTargetNum {
    font-size: calc(27em/16);
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width: 430px) {
  .cm-fixedcta__telTarget::before {
    height: 1px;
  }
}