@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: inherit;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

a {
  color: inherit;
  text-decoration: inherit;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

video {
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
}

html {
  overflow-y: scroll;
}

body {
  background-color: #F5F2EF;
  font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
  color: #36533C;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bodyWrapper {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px ) {
  .bodyWrapper {
    width: 390px;
  }
}

.txta {
  margin: -8px -0.04em -6px 0;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.04em;
}
.txta.small {
  font-size: 10px;
  line-height: 15px;
  /* 150% */
  margin: -4px -0.1em -4px 0;
}

.txtb {
  margin: -7px -0.04em -5px 0;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.btn_base {
  width: 260px;
  height: 50px;
  background-color: #83BA46;
  border-radius: 25px;
  box-shadow: 0 6px 10px rgba(71, 85, 103, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: relative;
  cursor: pointer;
}
.btn_base .txt {
  margin: -2px -0.04em 0 0;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.btn_base .arw {
  width: 14px;
  height: 10px;
  margin-left: 10px;
}
.btn_base .arw .half_1 {
  fill: #FFE163;
}
.btn_base .arw .half_2 {
  fill: rgba(255, 225, 99, 0.5);
  transform-origin: center;
  transform: scaleY(-1);
}
.btn_base .lighting {
  width: 8px;
  height: 30px;
  margin: auto 0;
  fill: #6C7888;
  position: absolute;
  top: 0;
  bottom: 0;
}
.btn_base .lighting_R {
  right: -12px;
}
.btn_base .lighting_L {
  left: -12px;
}
.btn_base .lighting_L use {
  transform-origin: center;
  transform: scaleX(-1);
}

.btn_reserv {
  width: 260px;
  height: 60px;
  background-color: #EA7983;
  border-radius: 30px;
  box-shadow: none;
}
.btn_reserv .icon {
  width: 26px;
  height: 30px;
  margin-right: 16px;
  fill: currentColor;
}
.btn_reserv .arw {
  width: 8px;
  height: 6px;
  margin-left: 16px;
}
.btn_reserv .arw .half_1, .btn_reserv .arw .half_2 {
  fill: currentColor;
}

main {
  padding-top: 70px;
  background-color: #F9F2DB;
}
main > section {
  padding-bottom: 80px;
}
main > section > .wrapper {
  width: 89.7435897436%;
  margin: 0 auto;
}
main > section > .wrapper > .inner {
  width: 88.5714285714%;
  margin: 0 auto;
}
main .txta {
  margin: -7px -0.1em -7px 0;
  text-align: justify;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.1em;
}
main .txta em {
  background: #FFE88E;
  font-weight: 700;
}

img, svg, video {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.gap20 {
  display: flex;
  flex-flow: column;
  gap: 20px;
}

.gap26 {
  display: flex;
  flex-flow: column;
  gap: 26px;
}

.gap30 {
  display: flex;
  flex-flow: column;
  gap: 30px;
}

.gap50 {
  display: flex;
  flex-flow: column;
  gap: 50px;
}

.h2a {
  width: 100%;
  aspect-ratio: 390/220;
  margin: -20px 0 80px;
  padding: 0 5.1282051282%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  background: url(../../img/mom/orthodontics/lp02/h2a_bg.png.webp) center/100% 100% no-repeat;
  color: #fff;
  position: relative;
  z-index: 1;
}
.no-webp .h2a {
  background-image: url(../../img/mom/orthodontics/lp02/h2a_bg.png);
}
.h2a .ttl {
  text-align: center;
  font-size: 24px;
  line-height: 38px;
  letter-spacing: 0.2em;
  margin: -6px -0.2em -6px 0;
}
.h2a::after {
  content: "";
  width: 95px;
  height: 50px;
  background: url(../../img/mom/orthodontics/lp02/mouthpiece1.png) center/100% 100% no-repeat;
  filter: drop-shadow(4px 10px 10px rgba(60, 48, 39, 0.1));
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.h2a.ani {
  opacity: 0;
  transform: translateY(26px);
  transition: 0.8s ease-out;
}
.h2a.ani.active {
  opacity: 1;
  transform: translateY(0);
}

.h3a {
  margin: 80px 0 50px;
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}
.h3a .ttl {
  margin: -5px -0.1em -5px 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.1em;
}

.circle {
  position: relative;
  z-index: 0;
}
.circle::after {
  content: "";
  width: 220px;
  height: 220px;
  background: url(../../img/mom/orthodontics/lp02/ripples.png) center/100% 100% no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}

/*
.circle {
    position: relative;
    z-index: 0;
    &::after,
    .circle1,
    .circle1::before,
    .circle1::after,
    .circle2,
    .circle2::before,
    .circle2::after {
        content: "";
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        position: absolute;
        z-index: -1;
        pointer-events: none;
    }
    &::after {
        width: 100px;
        height: 100px;
        background-color: #fff;
        opacity: .9;
    }
    .circle1,
    .circle1::before,
    .circle1::after {
        width: 80px;
        height: 80px;
        background-color: $colorY2;
        opacity: .4;
        animation: ripples1 4s ease-in infinite;
    }
    .circle1 {
        animation-delay: 0.0s;
    }
    .circle1::before {
        animation-delay: 2.0s;
    }
    .circle1::after {
        animation-delay: 4.0s;
    }
    .circle2,
    .circle2::before,
    .circle2::after {
        width: 80px;
        height: 80px;
        opacity: .6;
        animation: ripples2 4s ease-in infinite;
    }
    .circle2 {
        animation-delay: 1.0s;
    }
    .circle2::before {
        animation-delay: 3.0s;
    }
    .circle2::after {
        animation-delay: 5.0s;
    }
}
@keyframes ripples1 {
    0% {
        width: 80px;
        height: 80px;
        background-color: $colorY2;
        opacity: .2;
    }
    25% {
        width: 120px;
        height: 120px;
        background-color: $colorY2;
        opacity: .2;
    }
    50% {
        width: 160px;
        height: 160px;
        background-color: $colorY2;
        opacity: .2;
    }
    75% {
        width: 200px;
        height: 200px;
        background-color: $colorY2;
        opacity: .1;
    }
    100% {
        width: 240px;
        height: 240px;
        background-color: $colorY2;
        opacity: 0;
    }
}
@keyframes ripples2 {
    0% {
        width: 80px;
        height: 80px;
        border: 1px solid #fff;
        opacity: .1;
    }
    25% {
        width: 120px;
        height: 120px;
        border: 1px solid #fff;
        opacity: .4;
    }
    50% {
        width: 160px;
        height: 160px;
        border: 1px solid #fff;
        opacity: .6;
    }
    75% {
        width: 200px;
        height: 200px;
        border: 1px solid #fff;
        opacity: .8;
    }
    100% {
        width: 240px;
        height: 240px;
        border: 1px solid #fff;
        opacity: 1.0;
    }
}
*/
.h3b {
  width: 100%;
  padding-top: 1px;
  display: flex;
  align-items: center;
  color: #fff;
  position: relative;
}
.h3b .numGrp {
  flex: none;
  width: 91px;
  height: 91px;
  margin-top: -1px;
  padding: 27px 5px 0 0;
  background: url(../../img/mom/orthodontics/lp02/circle_bg.png.webp) center/contain no-repeat;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 9px;
  font-family: "Libre Bodoni", serif;
  font-weight: 400;
  position: relative;
  z-index: 1;
}
.no-webp .h3b .numGrp {
  background-image: url(../../img/mom/orthodontics/lp02/circle_bg.png);
}
.h3b .numGrp .txt {
  margin: 0 -0.1em -2px;
  font-size: 10px;
  letter-spacing: 0.1em;
}
.h3b .numGrp .num {
  margin: -1px -0.1em -6px;
  font-style: italic;
  font-size: 30px;
  letter-spacing: 0.1em;
}
.h3b .ttlGrp {
  margin-left: -41px;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  z-index: 0;
}
.h3b .ttlGrp .line {
  display: block;
  padding: 7px calc(40px - 0.04em) 8px 50px;
  background: linear-gradient(90deg, #00796B 50%, rgba(0, 121, 107, 0) 100%);
  border-radius: 2px;
  font-size: 20px;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.h3b .note {
  color: #00796B;
  font-size: 10px;
  letter-spacing: 0.04em;
  position: absolute;
  right: 0;
  bottom: -10px;
}

.h3bGrp {
  margin: 60px 0 30px;
}
.h3bGrp .video {
  aspect-ratio: 390/220;
}
.h3bGrp .video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.h3bGrp .h3b {
  width: 89.7435897436%;
  margin: -46px auto 0;
}
.h3bGrp .ttlGrp.ani {
  opacity: 0;
  transform: translateX(-20px);
  transition: 0.5s ease-out;
}
.h3bGrp .ttlGrp.ani.active {
  opacity: 1;
  transform: translateX(0);
}

.pica {
  display: block;
  width: 100%;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
}
.pica.video {
  aspect-ratio: 310/180;
}
.pica.video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.picb {
  display: block;
  width: 100%;
  margin: 0 auto;
  border-radius: 6px;
  overflow: hidden;
}

.balloon {
  width: 310px;
  min-height: 122px;
  margin: 80px auto 0;
  padding: 33px 0 39px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  white-space: nowrap;
  position: relative;
  z-index: 0;
}
.balloon::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 16px);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0px 24px 40px 0px #CFC5AD;
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
}
.balloon::after {
  content: "";
  display: block;
  width: 70px;
  height: 17px;
  background: url(../../img/mom/orthodontics/lp02/balloon_tail.svg) center/contain no-repeat;
  position: absolute;
  inset: auto auto 0;
}
.balloon .txt1 {
  margin: -3px -0.06em -1px 0;
}
.balloon .txt2 {
  margin: -3px -0.06em 0 0;
  padding-bottom: 6px;
  color: #E24D2C;
  position: relative;
}
.balloon .txt2::after {
  content: "";
  display: block;
  width: calc(100% - 0.06em);
  height: 1px;
  background: currentColor;
  position: absolute;
  left: calc(50% - 0.03em);
  bottom: 0;
  transform: translateX(-50%);
}
.balloon .txt2Grp {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 8px;
}
.balloon.ani {
  opacity: 0;
  transform: translateY(-20px);
  transition: 0.6s ease-out;
}
.balloon.ani .txt2::after {
  width: 0;
  opacity: 0;
  transition: 0.6s ease-out;
}
.balloon.ani.active {
  opacity: 1;
  transform: translateY(0);
}
.balloon.ani.active .txt2::after {
  width: calc(100% - 0.06em);
  opacity: 1;
}

.scroll {
  width: 58px;
  height: 78px;
  margin: 0 auto -40px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  -webkit-animation: arrowmove 1s ease-in-out infinite;
          animation: arrowmove 1s ease-in-out infinite;
}
.scroll .text {
  display: block;
  margin-right: -0.08em;
  color: #E24D2C;
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  white-space: nowrap;
  position: absolute;
  inset: auto auto -3px;
}
.scroll .arrow {
  position: absolute;
  width: 28px;
  height: 5px;
  opacity: 0;
  will-change: transform;
  transform: scale3d(0.5, 0.5, 0.5);
  -webkit-animation: move 3s ease-out infinite;
          animation: move 3s ease-out infinite;
}
.scroll .arrow:first-child {
  -webkit-animation: move 3s ease-out 1s infinite;
          animation: move 3s ease-out 1s infinite;
}
.scroll .arrow:nth-child(2) {
  -webkit-animation: move 3s ease-out 2s infinite;
          animation: move 3s ease-out 2s infinite;
}
.scroll .arrow:before, .scroll .arrow:after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #E24D2C;
}
.scroll .arrow:before {
  left: 0;
  will-change: transform;
  transform: skew(0deg, 30deg);
}
.scroll .arrow:after {
  right: 0;
  width: 50%;
  will-change: transform;
  transform: skew(0deg, -30deg);
}
@-webkit-keyframes move {
  25% {
    opacity: 1;
  }
  33% {
    opacity: 1;
    transform: translateY(30px);
  }
  67% {
    opacity: 1;
    transform: translateY(40px);
  }
  100% {
    opacity: 0;
    transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
  }
}
@keyframes move {
  25% {
    opacity: 1;
  }
  33% {
    opacity: 1;
    transform: translateY(30px);
  }
  67% {
    opacity: 1;
    transform: translateY(40px);
  }
  100% {
    opacity: 0;
    transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
  }
}
.scroll.ani {
  opacity: 0;
  transform: translateY(-40px);
  transition: 0.8s ease-out;
}
.scroll.ani.active {
  opacity: 1;
  transform: translateY(0);
}

.tglBox1 {
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
}
.tglBox1 + .tglBox1 {
  margin-top: 10px;
}
.tglBox1 .tglBox_open {
  display: none;
}
.tglBox1 .tglBox_open:checked ~ .tglHead {
  background: #00BBA5;
  border-radius: 6px 6px 0 0;
}
.tglBox1 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon {
  color: #fff;
}
.tglBox1 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::after {
  content: "CLOSE";
}
.tglBox1 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon span::after {
  opacity: 0;
}
.tglBox1 .tglBox_open:checked ~ .tglBody .tglBodyWrap {
  margin-top: 0;
}
.tglBox1 .tglHead {
  border-radius: 6px;
  background: #524E44;
  transition: 0.5s;
}
.tglBox1 .tglHeadWrap {
  min-height: 86px;
  padding: 20px calc(5.7142857143% + 50px) 20px 5.7142857143%;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
.tglBox1 .tglHeadWrap .txt {
  margin: -7px -0.1em -7px 0;
  color: #fff;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.1em;
}
.tglBox1 .tglHeadWrap .icon {
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 50%;
  text-align: center;
  font-family: "Outfit", sans-serif;
  color: #FFE030;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: absolute;
  top: calc(50% - 20px);
  right: 5.7142857143%;
  transition: 0.5s;
}
.tglBox1 .tglHeadWrap .icon::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: 0.4;
  position: absolute;
  inset: -4px;
}
.tglBox1 .tglHeadWrap .icon::after {
  content: "OPEN";
  display: block;
  padding-left: 0.1em;
  position: absolute;
  top: 21px;
  left: 50%;
  transform: translateX(-50%) scale(0.5);
}
.tglBox1 .tglHeadWrap .icon span::before, .tglBox1 .tglHeadWrap .icon span::after {
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background: currentColor;
  border-radius: 1px;
  position: absolute;
  top: 13.5px;
  left: calc(50% - 6.5px);
}
.tglBox1 .tglHeadWrap .icon span::after {
  transform: rotate(90deg);
}
.tglBox1 .tglBody {
  overflow: hidden;
  background: #fff;
  border-radius: 0 0 10px 10px;
}
.tglBox1 .tglBodyWrap {
  margin-top: -1000px;
  padding: 40px 8.5714285714%;
  display: flex;
  flex-flow: column;
  gap: 30px;
  transition: 0.5s;
}

.tglBox2 {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
}
.tglBox2 + .tglBox2 {
  margin-top: 10px;
}
.tglBox2 .tglBox_open {
  display: none;
}
.tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::before {
  opacity: 0.2;
}
.tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::after {
  opacity: 0.6;
}
.tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon span::after {
  opacity: 0;
}
.tglBox2 .tglBox_open:checked ~ .tglBody .tglBodyWrap {
  margin-top: 0;
}
.tglBox2 .tglHead {
  position: relative;
}
.tglBox2 .tglHeadWrap {
  padding: 30px 7.4285714286%;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  transition: 0.5s;
  cursor: pointer;
}
.tglBox2 .tglHeadWrap .num {
  flex: none;
  width: 22px;
  height: 22px;
  background: #00796B;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", sans-serif;
  color: #fff;
  font-size: 14px;
}
.tglBox2 .tglHeadWrap .txt {
  flex: auto;
  margin: -2px -0.1em -4px 0;
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.tglBox2 .tglHeadWrap .icon {
  flex: none;
  width: 22px;
  height: 22px;
  position: relative;
}
.tglBox2 .tglHeadWrap .icon::before, .tglBox2 .tglHeadWrap .icon::after {
  content: "";
  display: block;
  background: #00796B;
  border-radius: 50%;
  position: absolute;
  transition: 0.5s;
}
.tglBox2 .tglHeadWrap .icon::before {
  width: 22px;
  height: 22px;
  opacity: 0.4;
}
.tglBox2 .tglHeadWrap .icon::after {
  width: 18px;
  height: 18px;
  inset: 2px;
}
.tglBox2 .tglHeadWrap .icon span::before, .tglBox2 .tglHeadWrap .icon span::after {
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background: #fff;
  border-radius: 1px;
  position: absolute;
  top: 10px;
  left: 5px;
  z-index: 1;
}
.tglBox2 .tglHeadWrap .icon span::after {
  transform: rotate(90deg);
  transition: 0.5s;
}
.tglBox2 .tglBody {
  margin-top: -10px;
  padding: 0 7.4285714286% 10px;
  overflow: hidden;
}
.tglBox2 .tglBodyWrap {
  margin-top: -400px;
  padding: 26px 0 20px;
  border-top: 1px solid rgba(54, 83, 60, 0.6);
  display: flex;
  flex-flow: column;
  gap: 20px;
  transition: 0.5s;
}

.planBox1 {
  width: 350px;
  height: 150px;
  margin: 0 auto;
  padding: 6px;
  background: url(../../img/mom/orthodontics/lp02/planbox1_bg.png) center/100% 100% no-repeat;
  filter: drop-shadow(0px 1px 1px rgba(166, 157, 133, 0.6));
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 19px;
}
.planBox1 + .planBox1 {
  margin-top: 6px;
}
.planBox1 .planHead {
  width: 100%;
  height: 60px;
  padding: 0 20px 0 30px;
  background: url(../../img/mom/orthodontics/lp02/planbox1_head_bg.png.webp) center/100% 100% no-repeat;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.no-webp .planBox1 .planHead {
  background-image: url(../../img/mom/orthodontics/lp02/planbox1_head_bg.png);
}
.planBox1 .plan_ttl {
  display: flex;
  align-items: center;
  gap: 16px;
}
.planBox1 .plan_ttl .ttl1 {
  height: 34px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 6px;
  color: #FFE030;
}
.planBox1 .plan_ttl .ttl1_1 {
  font-family: "Niconne", serif;
  font-size: 28px;
  line-height: 20px;
}
.planBox1 .plan_ttl .ttl1_2 {
  margin: 0 -0.1em -2px 0;
  font-family: "Libre Baskerville", serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.planBox1 .plan_ttl .ttl2 {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 10px;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-weight: 700;
}
.planBox1 .plan_ttl .ttl2_1 {
  margin: -3px 0 -2px;
  font-size: 18px;
  letter-spacing: 0.1em;
}
.planBox1 .plan_ttl .ttl2_2 {
  margin: -2px 0 -1px;
  font-size: 12px;
  letter-spacing: 0.1em;
}
.planBox1 .planBody {
  height: 45px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.planBox1 .normal_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 10px;
}
.planBox1 .normal_price .txt {
  padding: 3px calc(5px - 0.1em) 4px 5px;
  border: 1px solid rgba(54, 83, 60, 0.4);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.planBox1 .normal_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  white-space: nowrap;
}
.planBox1 .normal_price .num {
  margin: -2px 0 -3px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-size: 20px;
  letter-spacing: -0.04em;
}
.planBox1 .normal_price .yen {
  margin: -2px 0 0 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
}
.planBox1 .monitor_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
}
.planBox1 .monitor_price .txt {
  margin: -2px -0.1em -2px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.planBox1 .monitor_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #E24D2C;
  white-space: nowrap;
}
.planBox1 .monitor_price .num {
  margin: -2px 0 -5px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 30px;
  letter-spacing: -0.04em;
}
.planBox1 .monitor_price .yen {
  margin: -2px 0 0 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
}
.planBox1 .monitor_price .txt2 {
  margin: -2px 0 -1px 6px;
  font-size: 20px;
  font-weight: 700;
}

.planBox2 {
  width: 290px;
  height: 120px;
  margin: 0 auto;
  padding: 6px 0 6px 6px;
  background: url(../../img/mom/orthodontics/lp02/planbox2_bg.png.webp) center/100% 100% no-repeat;
  filter: drop-shadow(0px 1px 1px rgba(166, 157, 133, 0.6));
  display: flex;
  align-items: center;
}
.no-webp .planBox2 {
  background-image: url(../../img/mom/orthodontics/lp02/planbox2_bg.png);
}
.planBox2 + .planBox2 {
  margin-top: 6px;
}
.planBox2 .planHead {
  flex: none;
  width: 110px;
  height: 108px;
  padding: 2px 0 0 6px;
  background: url(../../img/mom/orthodontics/lp02/planbox2_head_bg.png) center/100% 100% no-repeat;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}
.planBox2 .plan_ttl img {
  width: auto;
  height: 84px;
}
.planBox2 .planBody {
  flex: auto;
  display: flex;
  flex-flow: column;
  align-items: center;
  color: #fff;
}
.planBox2 .normal_price {
  display: flex;
  align-items: center;
  gap: 8px;
}
.planBox2 .normal_price .txt {
  width: 30px;
  height: 30px;
  padding: 2px 0 0 0.1em;
  border: 1px solid currentColor;
  text-align: center;
  font-size: 10px;
  line-height: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.planBox2 .normal_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  white-space: nowrap;
}
.planBox2 .normal_price .num {
  margin: -1px 0 -3px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-size: 18px;
  letter-spacing: -0.04em;
}
.planBox2 .normal_price .yen {
  margin: -1px 0 -1px 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 12px;
}
.planBox2 .normal_price:only-child {
  flex-flow: column;
  gap: 12px;
}
.planBox2 .normal_price:only-child .txt {
  width: 55px;
  height: 19px;
}
.planBox2 .normal_price:only-child .num {
  margin: -1px 0 -5px;
  font-style: italic;
  font-size: 26px;
}
.planBox2 .normal_price:only-child .yen {
  margin-left: 1px;
}
.planBox2 .arw {
  width: 8px;
  height: 8px;
  margin: 4px auto 10px;
  transform: rotate(90deg);
  filter: brightness(0) invert(1);
}
.planBox2 .monitor_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
}
.planBox2 .monitor_price .txt {
  margin: -2px -0.1em -2px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.planBox2 .monitor_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #FFE030;
  white-space: nowrap;
}
.planBox2 .monitor_price .num {
  margin: -1px 0 -5px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 26px;
  letter-spacing: -0.04em;
}
.planBox2 .monitor_price .yen {
  margin: -1px 0 -1px 1px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 12px;
}
.planBox2 .monitor_price .txt2 {
  margin: -3px 0 -1px 4px;
  font-size: 16px;
  font-weight: 700;
}

.price_note {
  margin: 10px -0.1em -1px 0;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.ctaArrow {
  width: 24px;
  height: 52px;
  margin: 20px auto;
  position: relative;
}
.ctaArrow::before {
  content: "";
  display: block;
  width: 14px;
  height: 40px;
  margin: 0 auto;
  background: linear-gradient(rgba(0, 187, 165, 0), #00BBA5);
}
.ctaArrow::after {
  content: "";
  display: block;
  width: 24px;
  height: 12px;
  background: #00BBA5;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.ctaMsg {
  margin: -5px 0 11px;
  padding-left: 0.1em;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.btn_cta {
  width: 330px;
  height: 94px;
  margin: 0 auto;
  padding: 0 70px 0 86px;
  background: url(../../img/mom/orthodontics/lp02/btn_cta_bg.png.webp) center/100% 100% no-repeat;
  border-radius: 47px;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.no-webp .btn_cta {
  background-image: url(../../img/mom/orthodontics/lp02/btn_cta_bg.png);
}

.ctaArea {
  margin-top: 80px;
  padding: 80px 0;
  color: #fff;
  position: relative;
  z-index: 0;
}
.ctaArea .bg {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.ctaArea .bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url(../../img/mom/orthodontics/lp02/contact_bg.jpg.webp) bottom/cover no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
@media (min-width: 768px ) {
  .ctaArea .bg::before {
    width: 390px;
    margin: 0 auto;
  }
}
.no-webp .ctaArea .bg::before {
  background-image: url(../../img/mom/orthodontics/lp02/contact_bg.jpg);
}
.ctaArea .bg::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(54, 83, 60, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
.ctaArea .inner {
  width: 330px;
  margin: 0 auto;
}
.ctaArea .telGrp {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.ctaArea .tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.ctaArea .tel .icon {
  width: 36px;
  height: 36px;
  background: #fff url(../../img/mom/orthodontics/lp02/icon_tel.svg) center/10px 10px no-repeat;
  border-radius: 50%;
}
.ctaArea .tel .txt {
  margin-right: -0.02em;
  font-family: "Josefin Sans", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.02em;
}
.ctaArea .note {
  margin: 12px -0.1em 0 0;
  text-align: center;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.ctaArea + .scroll {
  margin-top: 20px;
}

.popupWrap {
  left: 0 !important;
}

#reserv_popup {
  font-family: "Kiwi Maru", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #1C2733;
  font-size: 16px;
  line-height: 1;
  font-weight: 300;
}
@media (min-width: 768px ) {
  #reserv_popup {
    width: 390px;
    margin: 0 auto;
    right: 0;
  }
}

#secFv {
  width: 100%;
  height: 620px;
  padding: 36px 0 0;
  background: url(../../img/mom/orthodontics/lp02/fv_bg.jpg) center/cover no-repeat;
}
#secFv .catch {
  margin: 0 15px 17px auto;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 6px;
}
#secFv .catch span:nth-of-type(2) {
  padding-top: 20px;
}
#secFv .catch span:nth-of-type(3) {
  padding-top: 40px;
}
#secFv .img1 {
  display: block;
  width: 140px;
  height: 75px;
  margin: 0 0 6px auto;
  filter: drop-shadow(0px 10px 10px rgba(34, 99, 150, 0.1));
}
#secFv .ttlGrp {
  width: 350px;
  height: 186px;
  margin: 0 auto;
  filter: drop-shadow(0px 4px 10px rgba(87, 100, 111, 0.3)) drop-shadow(0px 1px 0px rgba(87, 100, 111, 0.6));
  position: relative;
}
#secFv .ttl1 {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
}
#secFv .ttl2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
  position: absolute;
  right: 0;
  bottom: 7px;
}
#secFv .ttl2 .tag {
  padding: 4px calc(10px - 0.2em) 4px 10px;
  background: #FFE030;
  border-radius: 12px;
  color: #00796B;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2em;
}
#secFv .ttl2 .price {
  height: 57px;
  display: flex;
  gap: 2px;
  color: #FFE030;
  position: relative;
}
#secFv .ttl2 .num {
  margin-right: 0.08em;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 70px;
  line-height: 63px;
  letter-spacing: -0.08em;
}
#secFv .ttl2 .txt {
  margin: 0 -1.5px -4px 0;
  align-self: flex-end;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
}
#secFv .ttl2 .txt .dash {
  font-size: 22px;
}
#secFv .ttl2 .tax {
  font-family: "Noto Serif JP", serif;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  top: 7px;
  right: -3px;
}
#secFv .note {
  margin: -2px -0.09em 0 0;
  color: #fff;
  text-align: right;
  font-size: 10px;
  letter-spacing: 0.1em;
  transform-origin: right bottom;
  transform: scale(0.9);
}
#secFv .btn_monitor {
  display: block;
  width: 370px;
  height: 110px;
  margin: 13px 0 0 auto;
  cursor: pointer;
}
#secFv.ani .catch {
  opacity: 0;
  transform: translateY(-10px);
  transition: 0.5s 0.3s ease-out;
}
#secFv.ani .img1 {
  opacity: 0;
  transform: translateY(-10px);
  transition: 0.5s 0.8s ease-out;
}
#secFv.ani .ttl1 {
  opacity: 0;
  transform: translateX(-10px);
  transition: 0.5s 0.8s ease-out;
}
#secFv.ani .ttl2 {
  opacity: 0;
  transform: translateX(10px);
  transition: 0.5s 0.8s ease-out;
}
#secFv.ani .note {
  opacity: 0;
  transform: scale(0.9) translateX(10px);
  transition: 0.5s 0.8s ease-out;
}
#secFv.ani .btn_monitor {
  opacity: 0;
  transform: translateX(10px);
  transition: 0.5s 1.5s ease-out;
}
#secFv.ani.active .catch, #secFv.ani.active .img1, #secFv.ani.active .ttl1, #secFv.ani.active .ttl2, #secFv.ani.active .btn_monitor {
  opacity: 1;
  transform: translate(0, 0);
}
#secFv.ani.active .note {
  opacity: 1;
  transform: scale(0.9) translate(0, 0);
}

.monitor_head {
  display: block;
  width: 100%;
  margin-bottom: 50px;
}

#monitor_popup {
  padding: 0;
}
@media (min-width: 768px ) {
  #monitor_popup .popup_body {
    width: auto;
  }
}
#monitor_popup .wrapper {
  height: 100%;
  background-color: #F9F2DB;
}
@media (min-width: 768px ) {
  #monitor_popup .wrapper {
    width: 390px;
  }
}
#monitor_popup .monitor_head {
  margin-top: -25px;
}
#monitor_popup .wrap350 {
  width: 89.7435897436%;
  min-width: 350px;
  margin: 0 auto;
}
#monitor_popup .wrap350 > .inner {
  width: 88.5714285714%;
  margin: 0 auto;
}
#monitor_popup .ctaArea {
  padding-bottom: 128px;
}
#monitor_popup .btn_cta .sub {
  font-size: 12px;
}
#monitor_popup .btn_close {
  padding-bottom: 1px;
  border-radius: 6px;
  background: rgba(64, 59, 53, 0.8);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  z-index: 10;
  cursor: pointer;
}
#monitor_popup .btn_close::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-bottom: -1px;
  background: currentColor;
  -webkit-mask: url(../../img/mom/orthodontics/lp02/close.svg) center/contain no-repeat;
          mask: url(../../img/mom/orthodontics/lp02/close.svg) center/contain no-repeat;
}
#monitor_popup .btn_close1 {
  width: 68px;
  height: 24px;
  gap: 3px;
  font-size: 12px;
  top: 10px;
  right: 10px;
}
#monitor_popup .btn_close2 {
  width: calc(100% - 20px);
  height: 60px;
  gap: 9px;
  font-size: 14px;
  left: 10px;
  right: 10px;
  bottom: 10px;
}

#sec1 .pic1 {
  display: block;
  width: 100%;
  aspect-ratio: 390/1068;
  margin-top: -15.3846153846%;
  pointer-events: none;
}
#sec1 .balloon {
  margin-top: -87px;
}
#sec1 .ttl {
  display: block;
  width: 324px;
  margin: 30px auto 0;
  position: relative;
  z-index: 1;
}
#sec1 .pic2 {
  display: block;
  width: 220px;
  margin: 40px auto 20px;
}

#sec2 .pic1 {
  display: block;
  width: 100%;
  margin: -100px 0 -105px;
}

#sec3 .secHead1 {
  width: 198px;
  margin: -2px auto;
  position: relative;
}
#sec3 .secHead1 .circle {
  width: 100px;
  height: 100px;
  position: absolute;
  left: calc(50% - 50px);
  bottom: -5px;
}
#sec3 .secHead1 .ttl {
  position: relative;
}
#sec3 .compareList1 {
  position: relative;
  z-index: 1;
}
#sec3 .compareList1 .listHead1 {
  display: flex;
}
#sec3 .compareList1 .listHead1 .head1 {
  width: 20%;
}
#sec3 .compareList1 .listHead1 .body1 {
  width: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sec3 .compareList1 .listBody1 {
  display: flex;
  flex-flow: column;
  gap: 4px;
  margin-top: 8px;
}
#sec3 .compareList1 .listBody1 .list1 {
  display: flex;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
}
#sec3 .compareList1 .listBody1 .list1.h80 {
  height: 80px;
}
#sec3 .compareList1 .listBody1 .list1.h100 {
  height: 100px;
}
#sec3 .compareList1 .listBody1 .list1 .head1 {
  width: 20%;
  padding: 0 10px;
  background: #71908B;
  border-radius: 10px 3px 3px 10px;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}
#sec3 .compareList1 .listBody1 .list1 .head1 .ttl1 {
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}
#sec3 .compareList1 .listBody1 .list1 .body1 {
  width: 40%;
  padding: 0 10px;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
#sec3 .compareList1 .listBody1 .list1 .body1 .mark1 {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
}
#sec3 .compareList1 .listBody1 .list1 .body1 .txt1 {
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  margin: -4px -0.1em -3px 0;
}
#sec3 .compareList1 .listBody1 .list1 .body1 .txt1 .s {
  font-size: 10px;
}
#sec3 .compareList1 .listBody1 .list1 .body1 + .body1 {
  position: relative;
}
#sec3 .compareList1 .listBody1 .list1 .body1 + .body1::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 20px);
  background: #36533C;
  opacity: 0.2;
  position: absolute;
  inset: auto auto auto 0;
}

#sec4 .malocclusion_list {
  max-width: 350px;
  margin: 0 auto 80px;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: 10px;
  position: relative;
}
#sec4 .malocclusion_list > li {
  width: calc(50% - 5px);
}
#sec4 .malocclusion_list .item {
  padding: 12px 12px 16px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
  white-space: nowrap;
}
#sec4 .malocclusion_list .item img {
  max-width: 100%;
  height: auto;
}
#sec4 .malocclusion_list .ttl {
  margin: 0 -0.1em 0 0;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#sec4 .malocclusion_list .sub {
  margin: 6px -0.1em 1px 0;
  font-size: 10px;
  letter-spacing: 0.1em;
}

#sec5 .secHead1 {
  width: 226px;
  margin: -3px auto -2px;
  position: relative;
}
#sec5 .secHead1 .circle {
  width: 100px;
  height: 100px;
  position: absolute;
  left: calc(50% - 50px);
  bottom: -5px;
}
#sec5 .secHead1 .ttl {
  position: relative;
}
#sec5 .btn_newPage {
  width: 240px;
  height: 68px;
  margin-left: auto;
  padding: 0 19px 0 29px;
  border: 1px solid currentColor;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #00796B;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#sec5 .btn_newPage::after {
  content: "";
  width: 25px;
  height: 25px;
  background: currentColor url(../../img/mom/orthodontics/lp02/arw_newpage.svg) center/10px 10px no-repeat;
  border-radius: 50%;
}
#sec5 .subHead1 {
  width: 140px;
  height: 50px;
  margin: 40px auto 30px;
  padding: 15px 0 17px 0.1em;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
}
#sec5 .subHead1::before, #sec5 .subHead1::after {
  content: "";
  display: block;
  width: 20px;
  height: 11px;
  position: absolute;
  left: calc(50% - 10px);
  bottom: -6px;
}
#sec5 .subHead1::before {
  background: #F9F2DB;
}
#sec5 .subHead1::after {
  background: #E24D2C;
  -webkit-clip-path: polygon(25% 0%, 50% 25%, 75% 0%, 50% 100%);
          clip-path: polygon(25% 0%, 50% 25%, 75% 0%, 50% 100%);
}

#sec6 .circle + * {
  position: relative;
}
#sec6 .priceBoxList {
  width: 94.2857142857%;
  margin: 36px auto 0;
}
#sec6 .priceBox {
  padding: 40px 6.0606060606% 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
  position: relative;
}
#sec6 .priceBox + .priceBox {
  margin-top: 56px;
}
#sec6 .priceBox + .priceBox::before {
  content: "";
  width: 16px;
  height: 16px;
  background: #E24D2C;
  -webkit-clip-path: polygon(0 6px, 6px 6px, 6px 0, 10px 0, 10px 6px, 16px 6px, 16px 10px, 10px 10px, 10px 16px, 6px 16px, 6px 10px, 0 10px);
          clip-path: polygon(0 6px, 6px 6px, 6px 0, 10px 0, 10px 6px, 16px 6px, 16px 10px, 10px 10px, 10px 16px, 6px 16px, 6px 10px, 0 10px);
  position: absolute;
  top: -36px;
  left: calc(50% - 8px);
}
#sec6 .priceBox .boxNum {
  width: 58px;
  height: 58px;
  padding: 7px 0 0 6px;
  background: url(../../img/mom/orthodontics/lp02/pricebox_bg.png) center/contain no-repeat;
  font-family: "Libre Baskerville", serif;
  font-size: 26px;
  line-height: 20px;
  position: absolute;
  inset: -6px auto auto -6px;
}
#sec6 .priceBox .inner {
  width: 93.1034482759%;
  margin: 0 auto;
  padding-bottom: 6px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 22px;
}
#sec6 .priceBox .inner:not(:last-child) {
  margin-bottom: 20px;
}
#sec6 .priceBox .price_ttl {
  margin: -6px -0.1em 0 0;
  padding-bottom: 7px;
  text-align: center;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
}
#sec6 .priceBox .price_ttl::after {
  content: "";
  width: calc(100% - 0.1em);
  height: 1px;
  background: currentColor;
  position: absolute;
  inset: auto auto 0 0;
}
#sec6 .priceBox .price_txt1 {
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E24D2C;
}
#sec6 .priceBox .price_txt1 .num {
  margin: -4px 0 -5px;
  padding-right: 0.06em;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 34px;
  letter-spacing: -0.06em;
}
#sec6 .priceBox .price_txt1 .yen {
  align-self: flex-end;
  margin: 0 -0.02em 0 3px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#sec6 .priceBox .price_txt1 .dash {
  margin: 0 2px;
  font-size: 16px;
  font-weight: 700;
}
#sec6 .priceBox .price_txt2 {
  margin: -6px -0.1em -5px 0;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 0.1em;
}
#sec6 .priceBox .price_txt2 em {
  color: #E24D2C;
  font-weight: 700;
}
#sec6 .priceBox .planGrpHead {
  margin: 26px 0 12px;
  padding: 12px 0 12px 0.2em;
  background: linear-gradient(90deg, rgba(0, 121, 107, 0), #00796B 50%, rgba(0, 121, 107, 0));
  text-align: center;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2em;
}
#sec6 .priceBox .inner + .planGrpHead {
  margin-top: 0;
}

#sec7 .monitor_head {
  margin-top: -115px;
}

#sec8 .h3_num {
  margin: 60px auto 40px 0;
}
#sec8 .h3_num::after,
#sec8 .h3_num .circle1,
#sec8 .h3_num .circle1::before,
#sec8 .h3_num .circle1::after,
#sec8 .h3_num .circle2,
#sec8 .h3_num .circle2::before,
#sec8 .h3_num .circle2::after {
  left: 0;
}
#sec8 .h3_num .ttl {
  width: 94.8717948718%;
  height: 54px;
  padding-left: 5.1282051282%;
  background: #00796B;
  border-radius: 0px 4px 4px 0px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#sec8 .h3_num .num {
  width: 22px;
  height: 22px;
  background: #FFE030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #00796B;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}
#sec8 .h3_num + .wrapper {
  display: flex;
  flex-flow: column;
  gap: 40px;
  position: relative;
  z-index: 1;
}
#sec8 .h4_num {
  margin: -9px -0.1em -8px 0;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#sec8 .txta label {
  color: #E24D2C;
  text-decoration: underline;
  font-weight: 700;
}
#sec8 .pic {
  display: block;
  width: 220px;
  border-radius: 4px;
  overflow: hidden;
}

#ortho_footer_nav .linka {
  position: relative;
  min-height: 20px;
}
#ortho_footer_nav .linka::before {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: url(../../img/mom/orthodontics/common/linka_bg1.svg) center center/cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
#ortho_footer_nav .linka .txt {
  display: inline-block;
  color: #4DA494;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  /* 150% */
  letter-spacing: 0.1em;
  text-decoration: underline;
  margin: -4px -0.1em -4px 0;
  padding-left: 30px;
}
#ortho_footer_nav .h4a {
  margin-top: -6px;
  padding: 0 0 13px 24px;
  color: #36533C;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.1em;
  position: relative;
}
#ortho_footer_nav .h4a::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../../img/mom/orthodontics/common/h4a_bg1.svg) center center/cover no-repeat;
  position: absolute;
  top: 6px;
  left: 0;
}
#ortho_footer_nav .h4a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #576F6B;
  opacity: 0.5;
  position: absolute;
  inset: auto auto 0 0;
}

.ani1.ttl {
  opacity: 0;
  transform-origin: top;
  transform: translateY(-20px) scale(0.8);
  transition: 0.5s 0.5s ease-out;
}
.ani1.ttl.active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.ani1.circle {
  opacity: 0;
  transform: translateY(-10px);
  transition: 0.5s 0.5s ease-out;
}
.ani1.circle.active {
  opacity: 1;
  transform: translateY(0);
}
.ani1.scroll, .ani1.h2a {
  transition-delay: 1s;
}

.ani2.scroll, .ani2.h2a, .ani3.scroll, .ani3.h2a, .ani4.scroll, .ani4.h2a, .ani5.scroll, .ani5.h2a, .ani6.scroll, .ani6.h2a {
  transition-delay: 0.5s;
}

header {
  width: 100%;
  margin-inline: auto;
  box-shadow: 0 3px 6px rgba(71, 85, 103, 0.16);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
@media (min-width: 768px ) {
  header {
    max-width: 390px;
  }
}
header .lineHead {
  width: 100%;
  height: 70px;
  padding: 0 5.1282051282%;
  background-color: #fff;
}
header .lineHead > .wrapper {
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
}
header .lineHead .logo {
  display: block;
  width: 190px;
  height: 30px;
  background: #36533C;
  -webkit-mask: url(../../img/logo.svg) center/contain no-repeat;
          mask: url(../../img/logo.svg) center/contain no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
header .lineHead .btn_reserv {
  width: 50px;
  height: 50px;
  margin-left: auto;
  background-color: #00796B;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
}
header .lineHead .btn_reserv > * {
  pointer-events: none;
}
header .lineHead .btn_reserv img {
  width: 18px;
  height: 18px;
  margin-bottom: 4px;
}
header .lineHead .btn_reserv span {
  margin-right: -0.03em;
  font-size: 10px;
  letter-spacing: 0.03em;
}

footer {
  padding-top: 0 !important;
  background: #F9F2DB;
  font-family: "Kiwi Maru", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #1C2733;
  font-size: 16px;
  line-height: 1;
  font-weight: 300;
}

footer {
  padding-top: 50px;
}
footer .clinicInfo {
  width: 89.3333333333%;
  max-width: 450px;
  margin: 0 auto;
  padding-bottom: 40px;
}
footer .clinicInfo .exterior {
  width: 100%;
  aspect-ratio: 335/158;
  display: flex;
  justify-content: space-between;
}
footer .clinicInfo .exterior .pic1 {
  height: 100%;
  aspect-ratio: 209/158;
  background: url(/assets/img/f_exterior1.jpg.webp) center center/cover no-repeat;
  border-radius: 6px;
}
.no-webp footer .clinicInfo .exterior .pic1 {
  background-image: url(/assets/img/f_exterior1.jpg);
}
footer .clinicInfo .exterior .grp {
  height: 100%;
  aspect-ratio: 120/158;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
}
footer .clinicInfo .exterior .grp .pic2 {
  width: 100%;
  aspect-ratio: 120/76;
  background: url(/assets/img/f_exterior2.jpg.webp) center center/cover no-repeat;
  border-radius: 6px;
}
.no-webp footer .clinicInfo .exterior .grp .pic2 {
  background-image: url(/assets/img/f_exterior2.jpg);
}
footer .clinicInfo .exterior .grp .pic3 {
  width: 100%;
  aspect-ratio: 120/76;
  border-radius: 6px;
  background: url(/assets/img/f_exterior3-sp.jpg.webp) center center/cover no-repeat;
}
.no-webp footer .clinicInfo .exterior .grp .pic3 {
  background-image: url(/assets/img/f_exterior3-sp.jpg);
}
footer .clinicInfo .hours {
  margin-top: 50px;
  overflow: hidden;
}
footer .clinicInfo .hours .logo {
  margin-bottom: 38px;
}
footer .clinicInfo .hours > .txta br {
  display: none !important;
}
footer .clinicInfo .hours span.open {
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  border-radius: 50%;
}
footer .clinicInfo .hours span.close {
  display: inline-block;
  width: 4px;
  height: 1px;
  background-color: currentColor;
}
footer .clinicInfo .hours span.short {
  display: inline-block;
  width: 12px;
  height: 10px;
  border-bottom: 10px solid currentColor;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}
footer .clinicInfo .hours table {
  width: 100%;
  margin-top: 39px;
  font-size: 15px;
  white-space: nowrap;
}
footer .clinicInfo .hours table thead tr {
  height: 47px;
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #E3E3E3;
  display: flex;
  justify-content: space-between;
}
footer .clinicInfo .hours table thead th:first-child {
  width: 96px;
  padding-right: 3px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
footer .clinicInfo .hours table thead th:not(:first-child) {
  width: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .clinicInfo .hours table tbody tr {
  height: 45px;
  border-bottom: 1px solid #E3E3E3;
  display: flex;
  justify-content: space-between;
}
footer .clinicInfo .hours table tbody th {
  width: 96px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
footer .clinicInfo .hours table tbody td {
  width: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .clinicInfo .hours .note {
  margin: 12px 0 -5px;
  font-size: 15px;
  line-height: 26px;
}
footer .clinicInfo .hours .note .item {
  display: inline-block;
}
footer .clinicInfo .hours .note .item:not(:last-child) {
  margin-right: 20px;
}
footer .clinicInfo .hours .note .item span.short {
  margin: 0 6px 1px 4px;
}
footer .reservBox {
  width: 89.3333333333%;
  max-width: 450px;
  margin: 0 auto;
}
footer .reservBox .item {
  padding: 40px 0;
}
footer .reservBox .item:not(:first-child) {
  border-top: 1px solid #9CA8B1;
}
footer .reservBox .item1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
footer .reservBox .item1 .txt1 {
  margin: -10px -0.1em -10px 0;
  text-align: center;
  font-size: 20px;
  line-height: 40px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
footer .reservBox .item2, footer .reservBox .item3 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
footer .reservBox .item2 > .icon, footer .reservBox .item3 > .icon {
  margin-bottom: 18px;
}
footer .reservBox .item2 .emit {
  margin: 30px auto 8px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 18px;
  font-size: 15px;
  font-weight: 500;
}
footer .reservBox .item2 .emit svg {
  width: 16px;
  height: 18px;
  fill: currentColor;
}
footer .reservBox .item2 .emit svg:first-child {
  transform: scaleX(-1);
}
footer .reservBox .item3 .tel {
  margin-top: 16px;
  font-size: 30px;
  line-height: 44px;
  white-space: nowrap;
  position: relative;
}
footer .reservBox .item3 .tel .head {
  display: inline-block;
  height: 15px;
  margin-right: 6px;
  margin-bottom: 9px;
  vertical-align: bottom;
  font-size: 10px;
  line-height: 15px;
  font-weight: 500;
}
footer .reservBox .item3 .tel .num {
  margin-right: -0.05em;
  letter-spacing: 0.05em;
}
footer .reservBox .item3 .tel::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  border-radius: 0.5px;
  position: absolute;
  left: 0;
  bottom: 8px;
}
footer .reservBox .item3 .time {
  margin-top: 4px;
  color: #9CA8B1;
  font-size: 10px;
  line-height: 15px;
  font-weight: 500;
}
footer .toTop {
  width: 100%;
  height: 60px;
  background-color: #1C2733;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
footer .toTop span {
  margin: -4px -0.05em 0 0;
}
footer .toTop .arw {
  width: 8px;
  height: 6px;
  margin-left: 9px;
  fill: currentColor;
  transform: rotate(-90deg);
}
footer .toTop .arw .half_2 {
  transform-origin: center;
  transform: scaleY(-1);
}
footer .pic_staff {
  width: 100%;
  max-height: 430px;
  aspect-ratio: 375/260;
  position: relative;
  background: url(/assets/img/f_staff-sp.jpg.webp) center center/cover no-repeat;
}
.no-webp footer .pic_staff {
  background-image: url(/assets/img/f_staff-sp.jpg);
}
footer .pic_staff .copy {
  width: calc(100% + 0.05em);
  margin-right: -0.05em;
  text-align: center;
  font-size: 12px;
  line-height: 17px;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0;
  bottom: 19px;
}

.inputText {
  position: relative;
  display: inline-block;
}
.inputText input, .inputText select, .inputText textarea {
  position: relative;
  z-index: 1;
  outline: none;
  box-sizing: border-box;
  background: transparent;
}
.inputText input::-ms-clear, .inputText select::-ms-clear, .inputText textarea::-ms-clear {
  visibility: hidden;
}
.inputText img {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin: auto 0;
  pointer-events: none;
}

.inputText1, .inputText2 {
  width: 100%;
  margin-top: 10px;
  display: flex;
  align-items: center;
}
.inputText1 input, .inputText1 select, .inputText1 textarea, .inputText2 input, .inputText2 select, .inputText2 textarea {
  width: 100%;
  height: 50px;
  padding: 0 15px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 300;
  letter-spacing: 0.09em;
  background: #fff;
  border: 1px solid #E3E3E3;
  border-radius: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media (max-width: 374px ) {
  .inputText1 input, .inputText1 select, .inputText1 textarea, .inputText2 input, .inputText2 select, .inputText2 textarea {
    font-size: 15px;
    letter-spacing: 0;
  }
}
.inputText1 input:focus, .inputText1 select:focus, .inputText1 textarea:focus, .inputText2 input:focus, .inputText2 select:focus, .inputText2 textarea:focus {
  box-shadow: 0 0 0 1px #FDDBDE;
}
.inputText1 input.valid, .inputText1 select.valid, .inputText1 textarea.valid, .inputText2 input.valid, .inputText2 select.valid, .inputText2 textarea.valid {
  color: #1C2733;
  border-color: #6C7888;
}
.inputText1 input, .inputText2 input {
  color: #1C2733;
}
.inputText1 input::-ms-clear, .inputText2 input::-ms-clear {
  visibility: hidden;
}
.inputText1 input::-moz-placeholder, .inputText2 input::-moz-placeholder {
  color: #9CA8B1;
}
.inputText1 input:-ms-input-placeholder, .inputText2 input:-ms-input-placeholder {
  color: #9CA8B1;
}
.inputText1 input::placeholder, .inputText2 input::placeholder {
  color: #9CA8B1;
}
.inputText1 select, .inputText2 select {
  color: #9CA8B1;
}
.inputText1 select option, .inputText2 select option {
  color: #1C2733;
}
.inputText1 textarea, .inputText2 textarea {
  height: auto;
  padding: 8px 15px;
}
.inputText1 textarea:focus, .inputText2 textarea:focus {
  box-shadow: 0 0 0 1px #FDDBDE;
}

.inputText2 .pic {
  width: 26px;
  height: auto;
  left: 16px;
}
.inputText2 input, .inputText2 select {
  padding-left: 51px;
}
.inputText2 .arw {
  width: 10px;
  height: 6px;
  fill: #DD637A;
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  right: 16px;
  margin: auto 0;
  pointer-events: none;
}

.checkBoxGrp {
  margin-top: 11px;
  margin-bottom: -7px;
  font-size: 0;
}

.inputCheck {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  position: relative;
}
.inputCheck input {
  display: none;
}
.inputCheck span::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
.inputCheck input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
}

.inputCheck1 {
  margin-right: -0.09em;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 0.09em;
}
@media (max-width: 374px ) {
  .inputCheck1 {
    margin-right: 0;
    letter-spacing: 0;
  }
}
.inputCheck1 span {
  padding-left: 26px;
}
.inputCheck1 span::before {
  width: 20px;
  height: 20px;
  border: 1px solid #9CA8B1;
  border-radius: 2px;
  background: #fff;
  top: 2px;
}
.inputCheck1 input:checked + span::before {
  border-color: #EA7983;
  background: #EA7983;
}
.inputCheck1 input:checked + span::after {
  width: 10px;
  height: 10px;
  background: url(/assets/img/check.svg) center top/10px 9px no-repeat;
  top: 2px;
  left: 5px;
  margin: auto 0;
}

.inputCheck2 {
  margin-right: -0.09em;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 0.09em;
}
@media (max-width: 374px ) {
  .inputCheck2 {
    margin-right: 0;
    letter-spacing: 0;
  }
}
.inputCheck2 span {
  padding-left: 26px;
}
.inputCheck2 span::before {
  width: 20px;
  height: 20px;
  border: 1px solid #9CA8B1;
  border-radius: 50%;
  background: #fff;
  top: 2px;
}
.inputCheck2 input:checked + span::after {
  width: 10px;
  height: 10px;
  background: #DD637A;
  border-radius: 50%;
  top: 2px;
  left: 5px;
  margin: auto 0;
}

.inputCheck3 {
  margin: -1px -0.1em -1px 0;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.1em;
}
.inputCheck3 span {
  padding-left: 20px;
}
.inputCheck3 span::before {
  width: 14px;
  height: 14px;
  border: 1px solid #9CA8B1;
  border-radius: 2px;
  background: #fff;
  top: 2px;
}
.inputCheck3 input:checked + span::before {
  border-color: #337896;
  background: #337896;
}
.inputCheck3 input:checked + span::after {
  width: 8px;
  height: 8px;
  background: url(/assets/img/check.svg) center center/8px 7px no-repeat;
  top: 2px;
  left: 3px;
  margin: auto 0;
}

.popup_open {
  display: none;
}
.popup_open:checked + .popupWrap {
  left: 0;
  opacity: 1;
  pointer-events: auto;
}

.popupWrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s, left 0.3s;
}
.popupWrap .popup_body {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.popupWrap .wrapper {
  background-color: #fff;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

#reserv_popup .reserv_head {
  width: 100%;
  height: 60px;
  padding: 0 max(8.4507042254%, (100% - 295px) / 2);
  background-color: #EA7983;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
}
#reserv_popup .reserv_head .ttl {
  margin-top: -3px;
  font-size: 20px;
  font-weight: 500;
}
@media (max-width: 374px ) {
  #reserv_popup .reserv_head .ttl {
    font-size: 17px;
  }
}
#reserv_popup .form_close {
  display: block;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
#reserv_popup .form_close::before, #reserv_popup .form_close::after {
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background-color: #DD637A;
  border-radius: 1px;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
}
#reserv_popup .form_close::before {
  transform: rotate(-45deg);
}
#reserv_popup .form_close::after {
  transform: rotate(45deg);
}
#reserv_popup .wrapper {
  height: calc(100% - 60px);
}
#reserv_popup .reserv_form {
  width: 100%;
  height: 100%;
  padding-left: 20px;
  background-color: rgba(28, 39, 51, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 201;
  transition: 0.3s;
}
#reserv_popup .reserv_form .inputLayer {
  width: 100%;
  height: 100%;
  box-shadow: -4px 0 10px rgba(28, 39, 51, 0.3);
  position: relative;
}
#reserv_popup .reserv_form .wrapper {
  padding: 40px 0 100px;
}
#reserv_popup .reserv_form .formHead {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.09em;
}
#reserv_popup .reserv_form .formBox {
  width: 83.0985915493%;
  max-width: 295px;
  margin: 0 auto;
}
#reserv_popup .reserv_form .formBox .formUnit {
  margin-top: 38px;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead.col {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 8px;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead .item {
  margin: -6px -0.04em -6px 0;
  color: #DD637A;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead .required, #reserv_popup .reserv_form .formBox .formUnit .formUnitHead .optional {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead .required {
  color: #DD637A;
}
#reserv_popup .reserv_form .formBox .formUnit .formUnitHead .optional {
  color: #63B7DD;
}
#reserv_popup .reserv_form .formBox .formUnit.group {
  margin-top: 28px;
}
#reserv_popup .reserv_form .formBox label.error {
  display: block;
  width: 100%;
  color: #f40;
  font-size: 16px;
  line-height: 28px;
  margin-top: 4px;
  margin-bottom: -6px;
}
#reserv_popup .reserv_form .formBox label.error#privacy-error {
  font-size: 12px;
}
#reserv_popup .reserv_form .formBox .privacyBox {
  text-align: center;
  margin: 50px auto 0;
  line-height: 14px;
}
#reserv_popup .reserv_form .formBox .privacyBox .link {
  text-decoration: underline;
}
#reserv_popup .reserv_form .btn_reserv {
  margin: 12px auto 0;
}
#reserv_popup .reserv_form .form_ctrl {
  width: 100%;
  height: 40px;
  display: flex;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  position: absolute;
  left: 0;
  bottom: 10px;
  z-index: 2;
}
@media (max-width: 374px ) {
  #reserv_popup .reserv_form .form_ctrl {
    font-size: 14px;
  }
}
#reserv_popup .reserv_form .form_ctrl label, #reserv_popup .reserv_form .form_ctrl a {
  width: min(148px, 44.1791044776%);
  height: 40px;
  border-radius: 20px;
  box-shadow: 0 10px 10px rgba(28, 39, 51, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
#reserv_popup .reserv_form .form_ctrl label .txt, #reserv_popup .reserv_form .form_ctrl a .txt {
  margin-top: -1px;
  margin-left: 6px;
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_close {
  background-color: #9CA8B1;
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_close .icon {
  display: block;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_close .icon::before, #reserv_popup .reserv_form .form_ctrl .form_ctrl_close .icon::after {
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background-color: #9CA8B1;
  border-radius: 1px;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_close .icon::before {
  transform: rotate(-45deg);
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_close .icon::after {
  transform: rotate(45deg);
}
#reserv_popup .reserv_form .form_ctrl .form_ctrl_tel {
  background-color: #83BA46;
}
#reserv_popup .thanksBox {
  width: 100%;
  height: 100%;
  background-color: rgba(28, 39, 51, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 202;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
}
#reserv_popup .thanksBox .thanks_popup_body {
  width: 335px;
  max-width: 89.3333333333%;
  max-height: calc(100% - 60px);
  overflow-y: auto;
  padding: 40px min(30px, 8.9552238806%) 50px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(28, 39, 51, 0.3);
  flex: none;
}
#reserv_popup .thanksBox .thanksHead {
  margin: -9px -0.1em -8px 0;
  text-align: center;
  color: #DD637A;
  font-size: 20px;
  line-height: 34px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (max-width: 374px ) {
  #reserv_popup .thanksBox .thanksHead {
    margin-right: 0;
    font-size: 19px;
    letter-spacing: 0;
  }
}
#reserv_popup .thanksBox .thanksHead + .txta {
  margin-top: 30px;
}
#reserv_popup .thanksBox .thanks_close {
  width: 120px;
  height: 40px;
  margin: -20px auto 0;
  background-color: #1C2733;
  border-radius: 20px;
  box-shadow: 0 10px 10px rgba(28, 39, 51, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  flex: none;
  position: relative;
}
#reserv_popup .thanksBox .thanks_close .icon {
  display: block;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
}
#reserv_popup .thanksBox .thanks_close .icon::before, #reserv_popup .thanksBox .thanks_close .icon::after {
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background-color: #1C2733;
  border-radius: 1px;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
}
#reserv_popup .thanksBox .thanks_close .icon::before {
  transform: rotate(-45deg);
}
#reserv_popup .thanksBox .thanks_close .icon::after {
  transform: rotate(45deg);
}
#reserv_popup .thanksBox .thanks_close .txt {
  margin-top: -1px;
  margin-left: 6px;
}
#reserv_popup.thanks .thanksBox {
  opacity: 1;
  pointer-events: auto;
}