@charset "UTF-8";
/**
 *    サイト全体で利用する共通レイアウト
 *    (reset.css、フォントなど)
 *
/* ======================================================================================= */
.popup {
  line-height: 1;
  /* ======================================================================================= */
}
.popup html, .popup body, .popup div, .popup span, .popup applet, .popup object, .popup iframe,
.popup h1, .popup h2, .popup h3, .popup h4, .popup h5, .popup h6, .popup p, .popup blockquote, .popup pre,
.popup a, .popup abbr, .popup acronym, .popup address, .popup big, .popup cite, .popup code,
.popup del, .popup dfn, .popup em, .popup img, .popup ins, .popup kbd, .popup q, .popup s, .popup samp,
.popup small, .popup strike, .popup strong, .popup sub, .popup sup, .popup tt, .popup var,
.popup b, .popup u, .popup i, .popup center,
.popup dl, .popup dt, .popup dd, .popup ol, .popup ul, .popup li,
.popup fieldset, .popup form, .popup label, .popup legend,
.popup table, .popup caption, .popup tbody, .popup tfoot, .popup thead, .popup tr, .popup th, .popup td,
.popup article, .popup aside, .popup canvas, .popup details, .popup embed,
.popup figure, .popup figcaption, .popup footer, .popup header, .popup hgroup,
.popup menu, .popup nav, .popup output, .popup ruby, .popup section, .popup summary,
.popup time, .popup mark, .popup audio, .popup video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
.popup html {
  line-height: 1;
}
.popup ol, .popup ul {
  list-style: none;
}
.popup table {
  border-collapse: collapse;
  border-spacing: 0;
}
.popup caption, .popup th, .popup td {
  text-align: left;
  font-weight: inherit;
  vertical-align: middle;
}
.popup q, .popup blockquote {
  quotes: none;
}
.popup q:before, .popup q:after, .popup blockquote:before, .popup blockquote:after {
  content: "";
  content: none;
}
.popup a img {
  border: none;
}
.popup article, .popup aside, .popup details, .popup figcaption, .popup figure, .popup footer, .popup header, .popup hgroup, .popup main, .popup menu, .popup nav, .popup section, .popup summary {
  display: block;
}
.popup a {
  color: inherit;
  text-decoration: inherit;
}
.popup *,
.popup *::before,
.popup *::after {
  box-sizing: border-box;
}

/**
 *  サイト、LP共通レイアウト
 *  （PCレイアウト、wrap350_390、gap10などの共通パーツ）
 *
/* ======================================================================================= */
body label {
  cursor: pointer;
}
body .xs {
  display: none;
}
@media (max-width: 359px ) {
  body .xs {
    display: block;
  }
}
body .wrap360_390 {
  width: 92.3076923077%;
  margin: 0 auto;
}
body .wrap350_390 {
  width: 89.7435897436%;
  margin: 0 auto;
}
body .wrap330_390 {
  width: 84.6153846154%;
  margin: 0 auto;
}
body .wrap310_390 {
  width: 79.4871794872%;
  margin: 0 auto;
}
body .wrap310_330 {
  width: 93.9393939394%;
  margin: 0 auto;
}
body .wrap310_350 {
  width: 88.5714285714%;
  margin: 0 auto;
}
body .wrap330_350 {
  width: 94.2857142857%;
  margin: 0 auto;
}
body .gap10 {
  display: flex;
  flex-flow: column;
  gap: 10px;
}
body .gap13 {
  display: flex;
  flex-flow: column;
  gap: 13px;
}
body .gap16 {
  display: flex;
  flex-flow: column;
  gap: 16px;
}
body .gap20 {
  display: flex;
  flex-flow: column;
  gap: 20px;
}
body .gap26 {
  display: flex;
  flex-flow: column;
  gap: 26px;
}
body .gap30 {
  display: flex;
  flex-flow: column;
  gap: 30px;
}
body .gap40 {
  display: flex;
  flex-flow: column;
  gap: 40px;
}
body .gap50 {
  display: flex;
  flex-flow: column;
  gap: 50px;
}
body .gap60 {
  display: flex;
  flex-flow: column;
  gap: 60px;
}
body .gap80 {
  display: flex;
  flex-flow: column;
  gap: 80px;
}
body .btnTel2 {
  width: 250px;
  max-width: 100%;
  margin: 0 auto;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}
body .btnTel2 .icon {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #FFF;
  position: relative;
}
body .btnTel2 .icon::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  -webkit-mask: url(/ortho/assets/img/icon_tel.svg) center/12px 12px no-repeat;
          mask: url(/ortho/assets/img/icon_tel.svg) center/12px 12px no-repeat;
  background: #106AB5;
  position: absolute;
  inset: 0 0 0 0;
  margin: auto;
}
body .btnTel2 .txt {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  gap: 10px;
  color: #ffffff;
  margin: -0.2em 0;
}
body .btnTel2 .num {
  text-align: left;
  font-family: "Josefin Sans";
  font-size: 27px;
  font-weight: 300;
  line-height: 100%;
  /* 27px */
  letter-spacing: 0.04em;
  white-space: nowrap;
  margin: -1px -0.1em -7px 0;
}
body .btnTel2 .note {
  text-align: left;
  color: #ffffff;
  font-size: 12px;
  font-weight: 300;
  line-height: 16px;
  /* 133.333% */
  letter-spacing: 0.1em;
  margin: -3px -0.1em -4px 0;
  white-space: nowrap;
}
body .btnTel2 .note2 {
  text-align: left;
  color: #313C45;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin: 0 -0.1em 0 0;
  white-space: nowrap;
}
body .telLink {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  line-height: 36px;
}
@media (min-width: 1280px ) {
  body .telLink {
    gap: 12px;
    line-height: 24px;
  }
}
body .telLink .btnTel3 {
  display: block;
  width: 24px;
  height: 24px;
}
@media (min-width: 1280px ) {
  body .telLink .btnTel3 {
    width: 36px;
    height: 36px;
  }
}
body .telLink .txt1 {
  color: #106AB5;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media (min-width: 1280px ) {
  body .telLink .txt1 {
    font-size: 40px;
  }
}
body .btnReserve1 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 259px;
  height: 64px;
  border-radius: 40px;
  background: #F9FDFF;
  border: 2px solid #FF3B6A;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}
body .btnReserve1 .icon1 {
  display: block;
  width: 24px;
  height: 24px;
  fill: #0C4B80;
}
body .btnReserve1 .txt1 {
  color: #FF3B6A;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.033em;
  margin-left: 12px;
}
body .btnReserve1 .icon2 {
  display: block;
  width: 8px;
  height: 10px;
  fill: #FF3B6A;
  position: absolute;
  inset: 0 20px 0;
  margin: auto 0 auto auto;
  transform: translateY(1px);
}
body .btnTel1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 259px;
  height: 60px;
  border-radius: 18px;
  background: #F9FDFF;
  padding: 0 11px 0 27px;
  margin: 0 auto;
}
body .btnTel1 .icon1 {
  display: block;
  width: 16px;
  height: 19px;
  flex-shrink: 0;
  aspect-ratio: 16/19;
  fill: #145991;
}
body .btnTel1 .txt1 {
  color: #145991;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.03em;
}
body .btnTel1 .txt2 {
  display: flex;
  width: 50px;
  height: 24px;
  padding: 0;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 20px;
  background: #FF3B6A;
  color: #FFF;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  line-height: 24px;
  /* 153.846% */
  letter-spacing: 0.03em;
}
body .btnMenu1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 333px;
  height: 49px;
  border-radius: 4px;
  background: linear-gradient(90deg, #0A497D 0%, rgba(10, 73, 125, 0.31) 53.37%);
  padding: 0 26px 0 17px;
  margin: 0 auto;
  position: relative;
}
body .btnMenu1 .bg1 {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-position: right center;
     object-position: right center;
  border-radius: 4px;
  overflow: hidden;
}
body .btnMenu1 .bg1 img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
body .btnMenu1 .icon1 {
  display: block;
  width: 29px;
  height: 20px;
  fill: #FFF;
}
body .btnMenu1 .txt1 {
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.03em;
}
body .btnMenu1 .icon2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  background: #FF3B6A;
  border-radius: 50%;
}
body .btnMenu1 .icon2 svg {
  display: block;
  width: 8px;
  height: 10px;
  fill: #FFF;
}
body .btnMenu1.link .txt1 {
  font-weight: 400;
}
body .btnMenu1.link .icon3 svg {
  display: block;
  width: 18px;
  height: 23px;
  fill: #FF3B6A;
}
body .btnMenu2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 312px;
  height: 49px;
  border-radius: 4px;
  background: linear-gradient(90deg, #649ECD 0%, #649ECD 53.37%);
  padding: 0 18px 0 17px;
  margin: 0 auto;
}
body .btnMenu2 .txt1 {
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.03em;
}
body .btnMenu2 .icon1 svg {
  display: block;
  width: 16px;
  height: 20px;
  fill: #FFF;
}
body .btnMenu3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  max-width: 333px;
  height: 77px;
  border-radius: 4px;
  padding: 0 13px 0 17px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
body .btnMenu3 .bg1 {
  display: block;
  width: 100%;
  height: 77px;
  position: absolute;
  inset: 0 auto auto 0;
  margin: 0;
}
body .btnMenu3 .bg1 img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: right center;
     object-position: right center;
}
body .btnMenu3 .icon1 {
  display: block;
  width: 29px;
  height: 20px;
  fill: #FFF;
  position: relative;
}
body .btnMenu3 .txt1 {
  color: #0C4B7F;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.03em;
  position: relative;
}
body .btnMenu3 .icon2 {
  display: block;
  width: 8px;
  height: 10px;
  fill: #FFF;
  transform: rotate(-90deg);
  transition: all 0.2s ease-in-out;
  position: relative;
}
body .btnMenu3.small .txt1 {
  font-size: 14px;
}
body .btnMenu3.link .txt1 {
  font-weight: 400;
}
body .btnMenu3.link .icon3 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 23px;
  height: 23px;
  background: #FF3B6A;
  border-radius: 50%;
  position: relative;
}
body .btnMenu3.link .icon3 svg {
  display: block;
  width: 8px;
  height: 10px;
  fill: #FFF;
}
body .btnMenu4 {
  aspect-ratio: 335/108;
  width: 100%;
  max-width: 333px;
  margin: 0 auto;
}
body .btnMenu5 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 147px;
  height: 34px;
  border-radius: 4px;
  background: #106AB5;
  padding: 0 8px 0 9px;
  margin: 0 auto;
}
body .btnMenu5 .txt1 {
  color: #FFF;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}
body .btnMenu5 .txt1 .big {
  font-size: 13px;
}
body .btnMenu5 .icon1 {
  display: block;
  width: 11px;
  height: 11px;
}
body .btnMenu5Area {
  width: 100%;
  margin: 0 auto;
}
body .btnMenu5Area .inner {
  box-sizing: border-box;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 194px;
  background-color: #FFF;
  padding: 15px;
  border-radius: 5px;
  filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.2));
}
body .btnMenu5Area.big .inner {
  max-width: 210px;
}
body .submenu_open {
  display: none;
}
body .submenu_open + .btnMenu1 + .subMenuList {
  transition: all 0.2s ease-in-out;
  overflow: hidden;
  height: 0;
  opacity: 0;
}
body .submenu_open + .btnMenu1 + .subMenuList a {
  pointer-events: none;
}
body .submenu_open:checked + .btnMenu1 .icon2 {
  transform: rotate(-90deg) scale(-1, 1);
}
body .submenu_open:checked + .btnMenu1 + .subMenuList {
  padding: 15px 10px 10px;
  max-height: 3500px;
  height: auto;
  opacity: 1;
  background-color: #0C4D82;
  max-width: 333px;
  margin: -5px auto 0;
  position: relative;
  z-index: 0;
}
body .submenu_open:checked + .btnMenu1 + .subMenuList a {
  pointer-events: auto;
}
body .workingday .mainTable {
  width: 100%;
  margin-top: 50px;
}
body .workingday .mainTable tr {
  height: 57px;
}
body .workingday .mainTable tr.first {
  height: 40px;
  background: var(--Linear, linear-gradient(342deg, #71B8E4 -33.35%, #106AB5 80.63%));
  color: #FFF;
}
body .workingday .mainTable tr.first th, body .workingday .mainTable tr.first td {
  color: #fff;
}
body .workingday .mainTable tr tr:not(.first) {
  color: #106AB5;
}
body .workingday .mainTable tr:not(.end) {
  border-bottom: 1px solid #B7CFDF;
}
body .workingday .mainTable tr th {
  letter-spacing: 0.05em;
  text-align: center;
  vertical-align: middle;
  font-size: 13px;
  color: #106AB5;
}
body .workingday .mainTable tr td {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}
body .workingday .mainTable tr td.maru {
  color: #FF3B6A;
}
body .workingday .mainTable tr td.line {
  color: #106AB5;
}
body .workingday .mainTable tr .first {
  border-right: 1px solid #B7CFDF;
  width: 100px;
  padding-right: 4px;
}
body .workingday .mainTable tr .end {
  width: 55px;
  padding-right: 4px;
}
body .workingday.small .mainTable tr th {
  font-size: 11px;
  letter-spacing: normal;
}
body .workingday.small .mainTable tr td {
  font-size: 11px;
  letter-spacing: normal;
}
body .workingday.small .mainTable tr .first {
  width: 80px;
  padding-right: 4px;
  font-size: 11px;
}
body .workingday.small .mainTable tr .end {
  width: 44px;
  padding-right: 4px;
}
body .workingday.small .mainTable tr:not(.first) {
  color: #106AB5;
}
body .workingday.big .mainTable tr {
  height: 65px;
}
body .workingday.big .mainTable tr th {
  letter-spacing: normal;
}
@media (min-width: 1280px ) {
  body .workingday.big .mainTable tr th {
    font-size: 16px;
    font-weight: 500;
  }
}
body .workingday.big .mainTable tr td {
  letter-spacing: normal;
}
@media (min-width: 1280px ) {
  body .workingday.big .mainTable tr td {
    font-size: 16px;
    font-weight: 500;
  }
}
body .workingday.big .mainTable tr .first {
  width: 85px;
  padding-right: 4px;
}
@media (min-width: 1280px ) {
  body .workingday.big .mainTable tr .first {
    font-size: 16px;
    font-weight: 500;
  }
}
body .workingday.big .mainTable tr .end {
  width: 70px;
  padding-right: 10px;
}
body .workingday.big .mainTable tr:not(.first) {
  color: #106AB5;
}
body .footer {
  background-color: #F2F2F2;
  color: #313C45;
  position: relative;
}
body .footer .tel {
  display: block;
  font-weight: bold;
  letter-spacing: 0.05em;
  white-space: nowrap;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  font-size: 26px;
}
body .footer .tel svg {
  display: inline-block;
  fill: transparent;
  stroke: #313C45;
  margin-right: 10px;
  width: 24px;
  height: 24px;
  margin-top: 10px;
}
body .footer .telArea .tag {
  color: #ffffff;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 100%;
  /* 15px */
  letter-spacing: 0.1em;
  margin: -2px -0.1em -2px 0;
}
body .footer .telArea .btn_tel {
  margin: 20px auto 12px;
}
body .footer .telArea .btnTel2 {
  margin: 0 auto;
}
body .footer .telArea .txt.colorK1 {
  color: #313C45;
}
body .footer .telArea .txt.colorK1 .note {
  color: #313C45;
}
body .footer .telArea .hour {
  text-align: center;
  color: #FFF;
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
  /* 10px */
  letter-spacing: 0.1em;
  margin: 0 -0.1em 0 0;
}
body .footer .telArea .hour.colorK1 {
  color: #313C45;
}
body .footer .workingdayArea {
  display: block;
}
body .footer .workingdayArea .workingday {
  width: auto;
}
body .footer .workingdayArea .contentImg {
  display: block;
  width: 240px;
  margin: 40px auto 0;
}
body .footer .workingdayArea .contentImg img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
body .footer .accessArea {
  display: block;
  margin-top: 50px;
}
body .footer .accessArea .contentImg {
  display: block;
  margin-right: 0;
}
body .footer .accessArea .contentImg img {
  display: block;
  width: 100%;
  height: auto;
}
body .footer .accessArea .contentImg1 {
  width: 100%;
  max-width: 270px;
  margin-left: 0;
  margin-right: auto;
}
body .footer .accessArea .contentImg2 {
  width: 100%;
  max-width: 400px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
body .footer .accessArea .contentText {
  max-width: 400px;
  margin-top: 36px;
  margin-left: auto;
  margin-right: auto;
}
body .footer .accessArea .contentText .text {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 24px;
  margin-top: -4px;
  margin-bottom: -5px;
}
body .footer .accessArea .contentText .text1 .mark {
  width: 11px;
  height: 15px;
  fill: #0D4E67;
  margin-right: 6px;
  display: inline-block;
}
body .footer .accessArea .contentText .btnType3 {
  margin-top: 16px;
}
body .footer .accessArea .contentText .text2 {
  margin-top: 22px;
}
body .footer .accessArea .contentText .text3 {
  margin-top: 22px;
}
body .footer .wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 8% 30px;
}
body .footer .footBox {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  flex-direction: column;
  align-items: center;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
body .footer .footBox > .item {
  width: 100%;
}
body .footer .footBox > .item .address {
  margin-top: 17px;
}
body .footer .footBox > .item .telArea {
  margin-top: 40px;
}
body .footer .logo {
  display: block;
  width: 166px;
  height: 42px;
  margin: 0 auto;
}
body .footer .logo .logoIcon img {
  display: block;
  width: 166px;
  height: auto;
}
body .footer .address {
  letter-spacing: 0.05em;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  margin-top: 27px;
  margin-bottom: -3px;
}
body .footer .tel {
  margin-top: 32px;
  height: 37px;
  line-height: 37px;
}
body .footer .footNav {
  margin-top: 50px;
}
body .footer .footNav > .item {
  position: relative;
  letter-spacing: 0.05em;
  min-height: 16px;
  font-size: 16px;
  line-height: 16px;
}
body .footer .footNav > .item + .item {
  margin-top: 30px;
}
body .footer .footNav > .item > a {
  padding-left: 12px;
  display: block;
  color: #313C45;
  font-size: 16px;
  font-weight: 700;
  line-height: 100%;
  /* 16px */
  letter-spacing: 0.05em;
  margin: -2px -0.1em -2px 0;
}
body .footer .footNav > .item > a .mark1 {
  position: absolute;
  fill: #0D4E67;
  top: 6px;
  left: 0;
  width: 4px;
  height: 4px;
}
body .footer .footNav > .item > a .mark2 {
  position: absolute;
  fill: #313C45;
  top: 5px;
  width: 8px;
  height: 8px;
  right: 0;
}
body .footer .footNav > .item > .subNav {
  margin-top: 20px;
  padding-left: 16px;
}
body .footer .footNav > .item > .subNav > .item {
  position: relative;
  letter-spacing: 0.05em;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
}
body .footer .footNav > .item > .subNav > .item + .item {
  margin-top: 16px;
}
body .footer .footNav > .item > .subNav > .item > a {
  display: block;
  padding-left: 16px;
  color: #313C45;
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  /* 16px */
  letter-spacing: 0.05em;
  margin: -2px -0.1em -2px 0;
}
body .footer .footNav > .item > .subNav > .item > a .mark3 {
  position: absolute;
  top: 5px;
  left: 0;
  width: 8px;
  height: 8px;
  fill: #313C45;
}
body .footer .workingday {
  margin-top: 8px;
  margin-bottom: 18px;
}
body .footer .footBox2 {
  margin: 50px auto 0;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
body .footer .footBox2 > .item .banner {
  display: block;
  width: 280px;
  height: 70px;
  margin-left: auto;
  margin-right: auto;
}
body .footer .footBox2 > .item .banner .bannerImg * {
  width: 280px;
  height: 70px;
}
body .footer .footBox2 > .item + .item {
  margin-top: 10px;
}
body .footer .copyright {
  color: #7E7D79;
  font-size: 10px;
  line-height: 16px;
  letter-spacing: 0.05em;
  margin-top: 47px;
  margin-bottom: -3px;
  text-align: center;
}
body .footer .footMsg {
  font-size: 10px;
  color: #E0B10E;
  width: 100%;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
body .footer .footMsg svg {
  display: inline-block;
  width: 30px;
  height: 20px;
  fill: #E0B10E;
  margin-right: 10px;
}
body .footer .footImgArea {
  position: relative;
}
body .footer .footImgArea::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(209, 209, 201, 0.4);
  z-index: 1;
}
body .footer .footImgArea .footImg * {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
body .footer .logoIcon {
  height: auto;
}
body .fvArea1 {
  position: relative;
  margin-bottom: 70px;
}
body .fvArea1.mb0 {
  margin-bottom: 0;
}
body .fvArea1 .bg {
  width: 100%;
  height: auto;
  position: relative;
  z-index: -1;
}
body .fvArea1 .breadcrumbs {
  width: calc(100% - 43px);
  font-size: 0;
  position: absolute;
  inset: 10px 0 auto;
  margin: 0 auto;
}
body .fvArea1 .breadcrumbs li {
  display: inline-block;
  color: #0C4B80;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.03em;
}
body .fvArea1 .breadcrumbs li:not(:last-child)::after {
  margin: 0 15px;
  content: "＞";
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.03em;
}
body .fvArea1 .breadcrumbs a {
  color: #0C4B80;
  text-decoration: underline;
}
body .fvArea1 .head1 {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: -26px;
}
body .fvArea1 .head1::after, body .fvArea1 .head1::before {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  background-color: #106AB5;
}
body .fvArea1 .head1 .txt1 {
  color: #0A497D;
  font-size: 25px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.1em;
  margin: -6px -0.1em -6px 0;
}
@media (max-width: 359px ) {
  body .fvArea1 .head1::after, body .fvArea1 .head1::before {
    width: 35px;
  }
  body .fvArea1 .head1 .txt1 {
    font-size: 22px;
    letter-spacing: 0.05em;
  }
}
body .fvArea1 .head2 {
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  position: absolute;
  inset: 0 auto auto 10.2564102564%;
  margin-top: 40px;
}
body .fvArea1 .head2.mt10 {
  margin-top: 10px;
}
body .fvArea1 .head2 .txt1 {
  color: #404040;
  font-size: 26px;
  font-weight: 500;
  line-height: 38px;
  letter-spacing: 0.1em;
  margin: -4px -0.1em -3px 0;
}
body .fvArea1 .head2 .txt2 {
  color: #404040;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  /* 166.667% */
  letter-spacing: 0.1em;
  margin: 9px -0.1em -6px 0;
}
body #bodyWrapper {
  width: 100%;
  max-width: 420px;
  min-height: 100vh;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (420px < width) {
  body #bodyWrapper {
    box-shadow: 0 0 60px rgba(50, 57, 59, 0.1);
    margin-left: calc((100% - 420px) * 0.5);
  }
}
body #bodyWrapper main {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
body #pcLayout {
  width: 100%;
  height: 100%;
  background: url(/ortho/assets/img/common/pcbg.png.webp) center center/cover no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.no-webp body #pcLayout {
  background-image: url(/ortho/assets/img/common/pcbg.png);
}
body #pcLayout .pcLeft {
  width: calc((100% - 420px) * 0.5);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 20px;
}
body #pcLayout .pcLeft > .wrapper {
  display: flex;
  flex-flow: column;
  max-width: 420px;
  width: 100%;
  text-align: center;
}
body #pcLayout .pcLeft .logoWide {
  display: block;
  max-width: 355px;
  width: 84.5238095238%;
  margin: 0 auto;
}
body #pcLayout .pcLeft .addressTxt {
  color: #106AB5;
  font-weight: 400;
  line-height: 31px;
  margin: -8px -0.1em -8px 0;
  font-size: 16px;
  letter-spacing: 0.05em;
}
@media (min-width: 1280px ) {
  body #pcLayout .pcLeft .addressTxt {
    font-size: 21px;
    letter-spacing: 0.1em;
  }
}
body #pcLayout .pcLeft .telBox {
  margin: 0 auto;
}
body #pcLayout .pcLeft .telBox .txt2 {
  color: #106AB5;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.1em;
  text-align: left;
  margin: -7px -0.1em -8px 0;
}
body #pcLayout .pcLeft .telArea .btnTel2 {
  margin: 0 auto;
  padding: 0;
}
body #pcLayout .pcLeft .telArea .btnTel2 .icon {
  width: 48px;
  height: 48px;
}
body #pcLayout .pcLeft .workingday .mainTable {
  margin-top: -20px;
}
body #pcLayout .pcLeft .workingday .mainTable tr:first-child {
  border-top: 0;
}
body #pcLayout .pcLeft .workingday .textList > .item .mark3-2 {
  margin-left: 10px;
}
body #pcLayout .pcRight {
  width: calc((100% - 420px) * 0.5);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  /*
              &::after {
                  content: '';
                  display: block;
                  width: 100%;
                  height: 100%;
                  background: $colorK1;
                  opacity: 0.3;
                  position: absolute;
                  inset: 0;
                  margin: auto;
              }
              .bgimg {
                  display: block;
                  width: 100%;
                  height: 100%;
                  position: absolute;
                  inset: auto 0 0 auto;
                  opacity: 0;
                  animation: image-switch-animation 28s infinite;
                  &:nth-of-type(1) {
                      animation-delay: 0s;
                  }
                  &:nth-of-type(2) {
                      animation-delay: 3.5s;
                  }
                  &:nth-of-type(3) {
                      animation-delay: 7s;
                  }
                  &:nth-of-type(4) {
                      animation-delay: 10.5s;
                  }
                  &:nth-of-type(5) {
                      animation-delay: 14s;
                  }
                  &:nth-of-type(6) {
                      animation-delay: 17.5s;
                  }
                  &:nth-of-type(7) {
                      animation-delay: 21s;
                  }
                  &:nth-of-type(8) {
                      animation-delay: 24.5s;
                  }
                  @keyframes image-switch-animation {
                      0%{ opacity: 0;}
                      5%{ opacity: 1;}
                      11%{ opacity: 1;}
                      30%{ opacity: 0;}
                      100%{ opacity: 0;}
                  }
                  img {
                      display: block;
                      width: 100%;
                      height: 100%;
                      object-position: right top;
                      object-fit: cover;
                  }
              }
              >.wrapper {
                  border: 1px solid #000;
                  padding: 20px;
              }
  */
}
@media (max-width: 1079px) {
  body #pcLayout {
    background-position: left;
  }
  body #pcLayout .pcLeft, body #pcLayout .pcRight {
    display: none;
  }
}
body .btnMenu5_pc1_Area {
  float: right;
  width: 420px;
  position: relative;
  z-index: 1;
}
body .btnMenu5_pc1_Area #btnMenu5_pc1 {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
  padding-top: 10px;
}
body .btnMenu5_pc1_Area:hover #btnMenu5_pc1 {
  opacity: 1;
  pointer-events: all;
}
body #btnMenu5_pc1 {
  position: absolute;
  inset: 45px auto auto 0;
}
body #btnMenu5_foot1 {
  width: 50%;
  position: fixed;
  inset: auto 0 calc(70px + 1.2820512821%) auto;
  z-index: 101;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
}
body #btnMenu5_foot1 .inner {
  max-width: none;
}
body .btnMenu5_open {
  display: none;
}
body .btnMenu5_open:checked + #btnMenu5_foot1 {
  opacity: 1;
  pointer-events: all;
}

/**
 *  サイト用
 *
/* ======================================================================================= */
body.base {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo, sans-serif;
  color: #313C45;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.base main {
  padding: 56px 0 0;
  background-color: #E4EEF3;
}
body.base .aniFadeIn {
  opacity: 0;
  transition: all 0.5s 0.2s ease-out;
}
body.base .aniFadeIn.active {
  opacity: 1;
}
body.base .aniFadeUP {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s 0.2s ease-out;
}
body.base .aniFadeUP.active {
  transform: translateY(0);
  opacity: 1;
}
body.base .aniFadeDown {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.5s 0.2s ease-out;
}
body.base .aniFadeDown.active {
  transform: translateY(0);
  opacity: 1;
}
body.base .aniFadeLeft {
  opacity: 0;
  transform: translateX(-20px);
  transition: all 0.5s 0.2s ease-out;
}
body.base .aniFadeLeft.active {
  transform: translateX(0);
  opacity: 1;
}
body.base .aniFadeRight {
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.5s 0.2s ease-out;
}
body.base .aniFadeRight.active {
  transform: translateX(0);
  opacity: 1;
}
body.base .h2c {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  background: url(../img/common/h2a_bg.svg) center center/cover no-repeat;
  width: 100%;
  aspect-ratio: 390/147;
  min-height: 147px;
  padding: 30px 0 55px;
  filter: drop-shadow(0px 3px 6.9px rgba(0, 0, 0, 0.21));
  margin-bottom: 60px;
  opacity: 0;
  transform: translateY(26px);
  transition: all 0.5s 0s ease-out;
}
body.base .h2c .head1 {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-align: center;
}
body.base .h2c .head1 .mark1 {
  display: block;
  box-sizing: content-box;
  width: 20px;
  height: 22px;
  padding-top: 2px;
}
body.base .h2c .head1 .txt1 {
  color: #FFF;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-weight: 500;
  line-height: 29px;
  /* 181.25% */
  letter-spacing: 0.1em;
}
@media (max-width: 359px ) {
  body.base .h2c .head1 .txt1 {
    font-size: 14px;
  }
}
body.base .h2c .head2 {
  color: #FFF;
  font-family: "Zen Kaku Gothic New";
  font-size: 22px;
  font-weight: 500;
  line-height: 29px;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 6px;
}
body.base .h2c .head2 .small1 {
  font-size: 17px;
}
body.base .h2c .head2 .small2 {
  font-size: 17px;
}
@media (max-width: 359px ) {
  body.base .h2c .head2 {
    font-size: 18px;
  }
  body.base .h2c .head2 .small1,
body.base .h2c .head2 .small2 {
    font-size: 14px;
  }
}
body.base .h2c.active {
  opacity: 1;
  transform: translateY(0);
}
body.base .h2d {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 160px;
  max-height: 104px;
  width: 44.4444444444%;
  aspect-ratio: 104/160;
  background: url(../img/common/h2d_bg1.svg) center center/cover no-repeat;
  filter: drop-shadow(0px 6px 12px rgba(16, 106, 181, 0.31));
  position: relative;
}
body.base .h2d .mark1 {
  display: block;
  width: 48px;
  height: 50px;
  position: absolute;
  inset: -17px 0 auto;
  margin: 0 auto;
}
body.base .h2d .txt1 {
  color: #106AB5;
  text-align: center;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: 0.1em;
  padding-top: 12px;
}
@media (max-width: 359px ) {
  body.base .h2d .txt1 {
    font-size: 12px;
    padding-right: 10px;
  }
}
body.base .h2d .mark2 {
  box-sizing: content-box;
  display: block;
  width: 7px;
  height: 12px;
  position: absolute;
  inset: 0 14px 0 auto;
  margin: auto 0;
  padding-top: 12px;
}
body.base .h2dList {
  width: 92.3076923077%;
  max-width: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px 9.7222222222%;
  flex-wrap: wrap;
  margin: 0 auto;
}
body.base .h2e {
  color: #404040;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.2em;
  padding-left: 20px;
  margin: -7px -0.1em -8px 0;
  position: relative;
}
body.base .h2e.blue {
  color: #106AB5;
}
body.base .h2e::before {
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 15px);
  background-color: #106AB5;
  border-radius: 3px;
  position: absolute;
  inset: 0 auto 0 0;
  margin: auto 0;
}
body.base .txta {
  color: #313C45;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  /* 171.429% */
  letter-spacing: 0.1em;
  margin: -7px -0.1em -8px 0;
}
body.base .txta em {
  background: #FDF1C3;
  font-weight: 700;
}
body.base .txta .b1 {
  color: #FF3B6A;
  font-weight: 700;
}
body.base .txta .b2 {
  font-weight: bold;
}
body.base .txta .link {
  text-decoration: underline;
  color: #106ab5;
}
body.base .txta.center {
  text-align: center;
}
body.base .txta.right {
  text-align: right;
}
body.base .h3d {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 15px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.5s 0.1s ease-out;
}
body.base .h3d .head1 .mark1 {
  display: block;
  width: 110px;
  height: 44px;
}
body.base .h3d .head2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
body.base .h3d .head2 .line1 {
  display: inline-block;
  color: #313C45;
  text-align: center;
  font-family: Roboto;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  /* 150% */
  letter-spacing: 0.1em;
  background-color: #FFF;
  white-space: nowrap;
  border-radius: 2px;
  padding: 0 10px;
}
@media (max-width: 359px ) {
  body.base .h3d .head2 .line1 {
    font-size: 18px;
  }
}
body.base .h3d.active {
  opacity: 1;
  transform: translateX(0);
}
body.base .h4c {
  color: #313C45;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  /* 166.667% */
  letter-spacing: 0.1em;
  margin: -8px -0.1em 0 0;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(73, 153, 204, 0.6);
}
body.base .h4d {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
}
body.base .h4d .txt1 {
  color: #313C45;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  /* 155.556% */
  letter-spacing: 0.1em;
  margin: -7px -0.1em -8px 0;
}
body.base .h4d .mark1 {
  display: flex;
  width: 221px;
  height: 11px;
}
body.base .h4e {
  min-height: 52px;
  display: flex;
  padding: 20px;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 6px;
  background: linear-gradient(92deg, #106AB5 -3.21%, #71B8E4 100%);
}
body.base .h4e .txt1 {
  color: #FFF;
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;
  letter-spacing: 0.1em;
  margin: -6px -0.1em -6px 0;
}
body.base .mapLink1 {
  color: #106AB5;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.1em;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  padding-left: 22px;
  background: url(../svg/icons/icon_map.svg) left center/17px 20px no-repeat;
  margin: 4px -0.1em -3px 0;
}
body.base .sv_doctor:not(:first-child) {
  margin-top: 60px;
}
body.base .sv_doctor .sv_head {
  display: inline-block;
  background-color: #FF3B6A;
  border-radius: 6px 6px 0px 0px;
  padding: 0 10px;
  color: #FFF;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  /* 171.429% */
  letter-spacing: 0.1em;
}
body.base .sv_doctor .sv_body {
  margin: 0 auto;
  padding: 20px;
  border-radius: 0px 6px 6px 6px;
  border: 1px solid #106AB5;
  background: #F9FDFF;
  display: flex;
  align-items: center;
  gap: 18px;
}
body.base .sv_doctor .sv_body .portrait {
  display: block;
  width: 80px;
  border-radius: 50%;
  overflow: hidden;
}
body.base .sv_doctor .sv_body .portrait img {
  width: 100%;
  height: auto;
}
body.base .sv_doctor .sv_body .balloon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 26px;
  margin-bottom: 16px;
  padding: 0 calc(10px - 0.1em) 0 10px;
  background: rgba(16, 106, 181, 0.19);
  border-radius: 4px;
  color: #404040;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.1em;
  position: relative;
}
body.base .sv_doctor .sv_body .balloon::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: rgba(16, 106, 181, 0.19);
  -webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%);
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
  position: absolute;
  top: calc(50% - 5px);
  left: -10px;
}
body.base .sv_doctor .sv_body .txtGrp {
  padding-left: 14px;
  color: #106AB5;
  position: relative;
}
body.base .sv_doctor .sv_body .txtGrp::before {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% - 8px);
  background: currentColor;
  border-radius: 2px;
  position: absolute;
  top: 6px;
  left: 0;
}
body.base .sv_doctor .sv_body .clinic {
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin: -4px -0.1em 5px 0;
}
body.base .sv_doctor .sv_body .name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
body.base .sv_doctor .sv_body .job {
  margin-right: -0.1em;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-weight: 400;
}
body.base .btnTel {
  width: 250px;
  max-width: 100%;
  min-height: 75px;
  margin: 0 auto;
  padding: 15.5px 20px;
  background: #FFE88E;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}
body.base .btnTel .icon {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #ffffff;
  position: relative;
}
body.base .btnTel .icon::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  -webkit-mask: url(../img/icon_tel.svg) center/12px 12px no-repeat;
          mask: url(../img/icon_tel.svg) center/12px 12px no-repeat;
  background: #106AB5;
  position: absolute;
  inset: 0 0 0 0;
  margin: auto;
}
body.base .btnTel .txt {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  gap: 5px;
  color: #313C45;
  margin: -0.2em 0;
}
body.base .btnTel .num {
  margin: -3px 0;
  font-family: "Josefin Sans";
  font-size: 21px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
body.base .btnTel .note {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
}
body.base .btna {
  display: flex;
  max-width: 100%;
  width: 310px;
  height: 80px;
  padding: 19px 20px;
  justify-content: space-between;
  align-items: center;
  border-radius: 6px;
  border: 1px solid #FFF;
  background: #F6E01E;
  box-shadow: 1px 3px 5.3px 0px rgba(33, 119, 189, 0.42);
  cursor: pointer;
  margin: 0 auto;
}
body.base .btna .txt1 {
  color: #106AB5;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  /* 146.667% */
  letter-spacing: 0.1em;
}
body.base .btna .mark1 {
  display: block;
  width: 24px;
  height: 24px;
}
body.base .btna.small {
  width: 240px;
  height: 60px;
}
body.base .btnb {
  width: 240px;
  min-height: 60px;
  max-width: 100%;
  padding: 19px 20px;
  background: #106AB5;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  position: relative;
}
body.base .btnb .head {
  padding: 6px calc(10px - 0.1em) 6px 10px;
  background-color: #106AB5;
  border-radius: 4px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 9px;
  letter-spacing: 0.1em;
}
body.base .btnb .txtGrp {
  display: flex;
  flex-flow: column;
  gap: 5px;
  color: #313C45;
  margin: -0.2em 0;
}
body.base .btnb .txt1 {
  color: #FFF9F9;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
}
body.base .btnb .note {
  color: #FFF9F9;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
  white-space: nowrap;
}
body.base .btnb .icon1,
body.base .btnb .icon2 {
  display: block;
  width: 30px;
  height: 30px;
  background-color: #106AB5;
  border-radius: 50%;
  position: relative;
}
body.base .btnb .icon1::after,
body.base .btnb .icon2::after {
  content: "";
  display: block;
  width: 11px;
  height: 8px;
  background: #fff;
  -webkit-mask: url(../svg/icons/icon_arrow_r2.svg) center/contain no-repeat;
          mask: url(../svg/icons/icon_arrow_r2.svg) center/contain no-repeat;
  position: absolute;
  inset: 0 0 0 0;
  margin: auto;
}
body.base .btnb .icon1 {
  width: 30px;
  height: 30px;
  background: #FF3B6A;
  position: relative;
}
body.base .btnb .icon1::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #fff;
  -webkit-mask: url(../img/icon_tel.svg) center/contain no-repeat;
          mask: url(../img/icon_tel.svg) center/contain no-repeat;
  position: absolute;
  inset: 0 0 0 0;
  margin: auto;
}
body.base .btnb .icon2 {
  width: 22px;
  height: 22px;
  border: 1px solid #505050;
  background: #FF3B6A;
}
body.base .btnb .icon2::after {
  content: "";
  display: block;
  width: 11px;
  height: 8px;
  background: #fff;
  -webkit-mask: url(../svg/icons/icon_arrow_r2.svg) center/contain no-repeat;
          mask: url(../svg/icons/icon_arrow_r2.svg) center/contain no-repeat;
  position: absolute;
  inset: 0 0 0 0;
  margin: auto;
}
body.base .boxa {
  display: flex;
  padding: 26px 20px 30px 20px;
  flex-direction: column;
  gap: 10px;
  border-radius: 10px;
  border: 1px solid #106AB5;
  background: #FFF;
}
body.base .boxb .head {
  border-radius: 6px 6px 0 0;
  background: #4387C0;
  padding: 20px calc(5.7142857143% + 0px) 20px 5.7142857143%;
}
body.base .boxb .head .txta {
  color: #FFF;
  margin: -8px -0.1em -8px 0;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
  transition: 0.5s;
}
body.base .boxb .body {
  background: #fff;
  border-radius: 0 0 10px 10px;
  padding: 40px 8.5714285714%;
  display: flex;
  flex-flow: column;
}
body.base .boxc {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-radius: 10px;
  background: #FFF;
  padding: 0 20px 23px;
  box-shadow: 0px 3px 6.9px 0px rgba(0, 0, 0, 0.21);
}
body.base .boxc .head1 {
  margin: 0 auto;
  display: flex;
  max-width: 100%;
  height: 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: var(--Linear, linear-gradient(342deg, #71B8E4 -33.35%, #106AB5 80.63%));
  padding: 0 16px;
  color: #FFF;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
body.base .boxc .head2 {
  color: #FF3B6A;
  font-size: 17px;
  font-weight: 700;
  line-height: 26px;
  /* 152.941% */
  letter-spacing: 0.1em;
}
body.base .boxc .head2 .small {
  font-size: 15px;
}
body.base .boxPlus {
  display: block;
  width: 16px;
  height: 16px;
  background: #ff3b6a;
  -webkit-clip-path: polygon(0 7px, 7px 7px, 7px 0, 9px 0, 9px 7px, 16px 7px, 16px 9px, 9px 9px, 9px 16px, 7px 16px, 7px 9px, 0 9px);
          clip-path: polygon(0 7px, 7px 7px, 7px 0, 9px 0, 9px 7px, 16px 7px, 16px 9px, 9px 9px, 9px 16px, 7px 16px, 7px 9px, 0 9px);
  margin: 0 auto;
}
body.base .ctaArrow {
  width: 24px;
  height: 43px;
  margin: 0 auto;
  position: relative;
}
body.base .ctaArrow::before {
  content: "";
  display: block;
  width: 14px;
  height: 31px;
  margin: 0 auto;
  background: linear-gradient(rgba(16, 106, 181, 0), #106AB5);
}
body.base .ctaArrow::after {
  content: "";
  display: block;
  width: 24px;
  height: 12px;
  background: #106AB5;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
body.base .boxc2 {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-radius: 6px;
  background: #FFF;
  box-shadow: 0 1px 1px 0 rgba(166, 157, 133, 0.6);
}
body.base .boxc2 .content {
  padding: 20px 30px 30px;
}
body.base .boxc2 .txta {
  font-size: 14px;
}
body.base .boxClinic1 {
  border-radius: 10px;
  background: #FFF;
  box-shadow: 0px 0px 7.7px 0px rgba(16, 106, 181, 0.55);
  padding: 35px 25px 50px;
  display: flex;
  flex-flow: column;
}
body.base .boxClinic1 .logoGrp {
  width: 211px;
  margin: 0 auto 30px;
}
body.base .boxClinic1 .address1 {
  color: #313C45;
  font-size: 15px;
  font-weight: 400;
  line-height: 22.5px;
  letter-spacing: 0.1em;
}
body.base .boxClinic1 .map1 {
  color: #106AB5;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.1em;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  padding-left: 22px;
  background: url(../svg/icons/icon_map.svg) left center/17px 20px no-repeat;
  margin: 4px -0.1em -3px 0;
}
body.base .boxClinic1 .workingday {
  margin-top: 32px;
}
body.base .boxClinic1 .workingday .mainTable {
  margin-top: 0;
}
body.base .planBox1,
body.base .planBox1_2 {
  width: 100%;
  max-width: 350px;
  min-height: 150px;
  margin: 0 auto;
  padding: 6px;
  background: url(../img/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;
}
body.base .planBox1 + .planBox1,
body.base .planBox1 + .planBox1_2,
body.base .planBox1_2 + .planBox1,
body.base .planBox1_2 + .planBox1_2 {
  margin-top: 6px;
}
body.base .planBox1 .planHead,
body.base .planBox1_2 .planHead {
  width: 100%;
  height: 60px;
  padding: 0 20px 0 30px;
  background: url(../img/planbox1_head_bg.png.webp) center/100% 100% no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.no-webp body.base .planBox1 .planHead,
.no-webp body.base .planBox1_2 .planHead {
  background-image: url(../img/planbox1_head_bg.png);
}
body.base .planBox1 .plan_ttl,
body.base .planBox1_2 .plan_ttl {
  display: flex;
  align-items: center;
  gap: 10px;
}
body.base .planBox1 .plan_ttl .ttl1,
body.base .planBox1_2 .plan_ttl .ttl1 {
  height: 34px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 6px;
  color: #FFEA00;
}
body.base .planBox1 .plan_ttl .ttl1_1,
body.base .planBox1_2 .plan_ttl .ttl1_1 {
  font-family: "Niconne", serif;
  font-size: 28px;
  line-height: 20px;
}
body.base .planBox1 .plan_ttl .ttl1_2,
body.base .planBox1_2 .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;
}
body.base .planBox1 .plan_ttl .ttl1_3,
body.base .planBox1_2 .plan_ttl .ttl1_3 {
  margin: 0 -0.1em 0 0;
  font-family: "Libre Baskerville", serif;
  font-size: 28px;
  line-height: 20px;
}
body.base .planBox1 .plan_ttl .ttl2,
body.base .planBox1_2 .plan_ttl .ttl2 {
  height: 25px;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  color: #fff;
}
body.base .planBox1 .plan_ttl .ttl2_1,
body.base .planBox1_2 .plan_ttl .ttl2_1 {
  margin: -2px 0 -5px;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 24px;
}
body.base .planBox1 .plan_ttl .kara,
body.base .planBox1_2 .plan_ttl .kara {
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 16px;
}
body.base .planBox1 .plan_ttl .ttl2_2,
body.base .planBox1_2 .plan_ttl .ttl2_2 {
  margin: -3px 0 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 18px;
}
@media (width < 390px) {
  body.base .planBox1 .plan_ttl .ttl2_2,
body.base .planBox1_2 .plan_ttl .ttl2_2 {
    font-size: 12px;
  }
}
body.base .planBox1 .btn_setup,
body.base .planBox1_2 .btn_setup {
  padding: 3px 3px 4px 7px;
  border: 1px solid currentColor;
  border-radius: 11px;
  display: flex;
  align-items: center;
  gap: 2px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: none;
}
body.base .planBox1 .btn_setup .icon,
body.base .planBox1_2 .btn_setup .icon {
  display: block;
  width: 14px;
  height: 14px;
  margin-bottom: -1px;
  border: 1px solid currentColor;
  border-radius: 50%;
  position: relative;
}
body.base .planBox1 .btn_setup .icon::before, body.base .planBox1 .btn_setup .icon::after,
body.base .planBox1_2 .btn_setup .icon::before,
body.base .planBox1_2 .btn_setup .icon::after {
  content: "";
  width: 7.5px;
  height: 1.5px;
  background: currentColor;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
}
body.base .planBox1 .btn_setup .icon::before,
body.base .planBox1_2 .btn_setup .icon::before {
  transform: translate(-50%, -50%);
}
body.base .planBox1 .btn_setup .icon::after,
body.base .planBox1_2 .btn_setup .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
body.base .planBox1 .planBody,
body.base .planBox1_2 .planBody {
  height: 45px;
  display: flex;
  align-items: center;
  gap: 16px;
}
body.base .planBox1 .normal_price,
body.base .planBox1_2 .normal_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 10px;
}
body.base .planBox1 .normal_price .txt,
body.base .planBox1_2 .normal_price .txt {
  padding: 3px calc(5px - 0.1em) 4px 5px;
  border: 1px solid rgba(49, 60, 69, 0.4);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
body.base .planBox1 .normal_price .price,
body.base .planBox1_2 .normal_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  white-space: nowrap;
}
body.base .planBox1 .normal_price .num,
body.base .planBox1_2 .normal_price .num {
  margin: -2px 0 -3px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-size: 20px;
  letter-spacing: -0.04em;
}
body.base .planBox1 .normal_price .yen,
body.base .planBox1_2 .normal_price .yen {
  margin: -2px 0 0 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
}
body.base .planBox1 .monitor_price,
body.base .planBox1_2 .monitor_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
}
body.base .planBox1 .monitor_price .txt,
body.base .planBox1_2 .monitor_price .txt {
  margin: -2px -0.1em -2px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
body.base .planBox1 .monitor_price .price,
body.base .planBox1_2 .monitor_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #FF3B6A;
  white-space: nowrap;
}
body.base .planBox1 .monitor_price .num,
body.base .planBox1_2 .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;
}
body.base .planBox1 .monitor_price .yen,
body.base .planBox1_2 .monitor_price .yen {
  margin: -2px 0 0 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
}
body.base .planBox1 .monitor_price .txt2,
body.base .planBox1_2 .monitor_price .txt2 {
  margin: -2px 0 -1px 6px;
  font-size: 20px;
  font-weight: 700;
}
body.base .planBox1 .note,
body.base .planBox1_2 .note {
  text-align: center;
  color: #000;
  font-size: 11px;
  line-height: 15px;
}
body.base .planBox1_2 {
  margin-top: 40px;
}
body.base .planBox1_2 .planHead {
  justify-content: center;
}
body.base .planBox1_2 .planHead .plan_ttl {
  justify-content: space-between;
  gap: 20px;
}
body.base .planBox1_2 .planHead .plan_ttl .ttl1 {
  justify-content: center;
}
body.base .planBox1_2 .planHead .plan_ttl .ttl2 {
  align-items: center;
}
body.base .planBox2 {
  width: 100%;
  max-width: 290px;
  height: 120px;
  margin: 0 auto;
  padding: 6px 0 6px 6px;
  background: url(../img/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 body.base .planBox2 {
  background-image: url(../img/planbox2_bg.png);
}
body.base .planBox2 + .planBox2 {
  margin-top: 6px;
}
body.base .planBox2 .planHead {
  flex: none;
  width: 38.7323943662%;
  max-width: 110px;
  height: 108px;
  padding: 20px 0 11px;
  background: url(../img/planbox2_head_bg.png) center/100% 100% no-repeat;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
body.base .planBox2 .plan_ttl {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 7px;
}
body.base .planBox2 .plan_ttl .ttl1 {
  width: 50px;
}
body.base .planBox2 .plan_ttl .ttl2 {
  color: #FF3B6A;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 15px */
  letter-spacing: 0.1em;
}
body.base .planBox2 .plan_ttl .ttl2 .s {
  font-size: 12px;
}
body.base .planBox2 .btn_setup {
  padding: 3px 3px 4px 7px;
  border: 1px solid rgba(49, 60, 69, 0.2);
  border-radius: 11px;
  display: flex;
  align-items: center;
  gap: 2px;
  color: #89A0B3;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: none;
}
body.base .planBox2 .btn_setup .icon {
  display: block;
  width: 14px;
  height: 14px;
  margin-bottom: -1px;
  border: 1px solid currentColor;
  border-radius: 50%;
  position: relative;
}
body.base .planBox2 .btn_setup .icon::before, body.base .planBox2 .btn_setup .icon::after {
  content: "";
  width: 7.5px;
  height: 1.5px;
  background: currentColor;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
}
body.base .planBox2 .btn_setup .icon::before {
  transform: translate(-50%, -50%);
}
body.base .planBox2 .btn_setup .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
body.base .planBox2 .planBody {
  flex: auto;
  display: flex;
  flex-flow: column;
  align-items: center;
  color: #fff;
}
body.base .planBox2 .normal_price {
  display: flex;
  align-items: center;
  gap: 8px;
}
body.base .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;
}
body.base .planBox2 .normal_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  white-space: nowrap;
}
body.base .planBox2 .normal_price .num {
  margin: -1px 0 -3px;
  padding-right: 0.04em;
  font-family: "Libre Baskerville", serif;
  font-size: 18px;
  letter-spacing: -0.04em;
}
body.base .planBox2 .normal_price .yen {
  margin: -1px 0 -1px 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 12px;
}
body.base .planBox2 .arw {
  width: 8px;
  height: 8px;
  margin: 4px auto 10px;
  transform: rotate(90deg);
  filter: brightness(0) invert(1);
}
body.base .planBox2 .monitor_price {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 12px;
}
body.base .planBox2 .monitor_price .txt {
  margin: -2px -0.1em -2px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
body.base .planBox2 .monitor_price .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #FFEA00;
  white-space: nowrap;
}
body.base .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;
}
body.base .planBox2 .monitor_price .yen {
  margin: -1px 0 -1px 1px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 12px;
}
body.base .planBox2 .monitor_price .txt2 {
  margin: -3px 0 -1px 4px;
  font-size: 16px;
  font-weight: 700;
}
body.base .planBox2 .note {
  margin: 10px 0 -3px;
  text-align: center;
  font-size: 11px;
  line-height: 15px;
}
body.base .boxTgl1 .tglBox_open {
  display: none;
}
body.base .boxTgl1 .tglBox_open:checked ~ .tglHead {
  --grad-s: initial;
  --grad-e: initial;
  border-radius: 6px 6px 0 0;
}
body.base .boxTgl1 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::after {
  content: "CLOSE";
  margin-left: -0.2em;
}
body.base .boxTgl1 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon span::after {
  opacity: 0;
}
body.base .boxTgl1 .tglBox_open:checked ~ .tglBody .tglBodyWrap {
  margin-top: 0;
}
body.base .boxTgl1 .tglHead {
  border-radius: 6px;
  overflow: hidden;
  background: #4387C0;
  transition: --grad-s 0.5s, --grad-e 0.5s, border-radius 0.5s;
}
body.base .boxTgl1 .tglHeadWrap {
  min-height: 80px;
  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;
}
body.base .boxTgl1 .tglHeadWrap .tag {
  margin-bottom: 20px;
  padding: 6px calc(10px - 0.1em) 6px 10px;
  --grad-s: initial;
  --grad-e: initial;
  border-radius: 4px;
  background: #FFE88E;
  color: #106AB5;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  transition: --grad-s 0.5s, --grad-e 0.5s, color 0.5s;
}
body.base .boxTgl1 .tglHeadWrap .tag.pink {
  background: #FF3B6A;
  color: #fff;
}
body.base .boxTgl1 .tglHeadWrap .txt {
  color: #FFF;
  margin: -8px -0.1em -8px 0;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
  transition: 0.5s;
}
body.base .boxTgl1 .tglHeadWrap .icon {
  display: block;
  width: 40px;
  height: 40px;
  padding-top: 21px;
  border: 1px solid #FFF;
  border-radius: 50%;
  text-align: center;
  font-family: "Josefin Sans", serif;
  color: #FFF;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: absolute;
  top: calc(50% - 20px);
  right: 5.7142857143%;
  transition: 0.5s;
}
body.base .boxTgl1 .tglHeadWrap .icon::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  border: 1px solid #FFF;
  border-radius: 50%;
  opacity: 0.4;
  position: absolute;
  inset: -4px;
}
body.base .boxTgl1 .tglHeadWrap .icon::after {
  content: "OPEN";
  display: block;
  padding-left: 0.1em;
  will-change: transform;
  transform: scale(0.5);
}
body.base .boxTgl1 .tglHeadWrap .icon span::before, body.base .boxTgl1 .tglHeadWrap .icon span::after {
  content: "";
  display: block;
  width: 13px;
  height: 1px;
  background: #FFF;
  border-radius: 1px;
  position: absolute;
  top: 13.5px;
  left: calc(50% - 6.5px);
}
body.base .boxTgl1 .tglHeadWrap .icon span::after {
  will-change: transform;
  transform: rotate(90deg);
}
body.base .boxTgl1 .tglBody {
  overflow: hidden;
  background: #fff;
  border-radius: 0 0 10px 10px;
}
body.base .boxTgl1 .tglBodyWrap {
  margin-top: -2200px;
  padding: 40px 8.5714285714%;
  display: flex;
  flex-flow: column;
  transition: 0.5s;
}
body.base .boxTgl1 .tglBodyWrap .btnWrap {
  max-width: 100%;
  margin-left: auto;
  margin-right: 0;
}
body.base .tglArrow {
  display: block;
  width: 24px;
  height: 32px;
  margin: 0 auto;
}
body.base .boxPrice1 {
  min-height: 183px;
  border-radius: 10px;
  border: 2px solid #106AB5;
  background: #FFF;
  padding: 27px 28px 27px;
}
@media (max-width: 359px ) {
  body.base .boxPrice1 {
    padding: 27px 18px 27px;
  }
}
body.base .boxPrice1 .headGrp {
  color: #106AB5;
  text-align: center;
  display: flex;
  flex-flow: column;
  gap: 5px;
}
body.base .boxPrice1 .headGrp .head1 {
  font-size: 19px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.1em;
  margin: -1px -0.1em -2px;
}
body.base .boxPrice1 .headGrp .head2 {
  font-size: 11px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.1em;
  margin: 0 -0.1em -1px;
}
body.base .boxPrice1 .line {
  display: block;
  width: 100%;
  height: 1px;
  background: #0A497D;
  margin: 20px auto 20px;
}
body.base .boxPrice1 .priceGrp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
body.base .boxPrice1 .priceGrp .price1,
body.base .boxPrice1 .priceGrp .price2 {
  display: flex;
  flex-flow: column;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.1em;
  position: relative;
  padding-right: 16px;
}
body.base .boxPrice1 .priceGrp .price1 .txt1,
body.base .boxPrice1 .priceGrp .price2 .txt1 {
  font-size: 11px;
  white-space: nowrap;
}
body.base .boxPrice1 .priceGrp .price1 .txt2,
body.base .boxPrice1 .priceGrp .price2 .txt2 {
  font-size: 18px;
  white-space: nowrap;
}
body.base .boxPrice1 .priceGrp .price1 .txt2 .yen,
body.base .boxPrice1 .priceGrp .price2 .txt2 .yen {
  font-size: 11px;
}
body.base .boxPrice1 .priceGrp .price1 .zei,
body.base .boxPrice1 .priceGrp .price2 .zei {
  width: 12px;
  display: inline-block;
  font-size: 8px;
  line-height: 9px;
  position: absolute;
  inset: auto 0 3px auto;
}
body.base .boxPrice1 .priceGrp .price1 {
  color: #106AB5;
}
body.base .boxPrice1 .priceGrp .arrow {
  display: block;
  width: 9px;
  height: 11px;
  background: url(../svg/icons/arrow_rights3.svg) center center/cover no-repeat;
}
body.base .boxPrice1 .priceGrp .price2 {
  color: #FF3B6A;
}
body.base .boxPrice1 .priceGrp .price2 .txt1 {
  font-size: 14px;
  white-space: nowrap;
}
body.base .boxPrice1 .priceGrp .price2 .txt2 {
  font-size: 24px;
  white-space: nowrap;
}
@media (max-width: 359px ) {
  body.base .boxPrice1 .priceGrp .price2 .txt1 {
    font-size: 11px;
  }
  body.base .boxPrice1 .priceGrp .price2 .txt2 {
    font-size: 20px;
  }
}
body.base .boxPoint1 {
  position: relative;
  margin-bottom: -19px;
}
body.base .boxPoint1 > .wrapper {
  position: relative;
  display: flex;
  border-radius: 20px 20px 0px 0px;
  background: rgba(255, 255, 255, 0.9);
  padding: 30px 20px 0;
}
body.base .boxPoint1.noradius > .wrapper {
  border-radius: 0;
}
body.base .boxPoint1::before {
  content: "";
  display: block;
  width: 109px;
  height: 104px;
  background: url(../img/common/bg1_point.png.webp) center center/cover no-repeat;
  position: absolute;
  z-index: 0;
  inset: -56px auto auto -54px;
}
.no-webp body.base .boxPoint1::before {
  background-image: url(../img/common/bg1_point.png);
}
body.base .boxPoint1::after {
  content: "";
  display: block;
  width: 100%;
  height: 21px;
  background: url(../img/common/bg3_point.svg) center center/cover no-repeat;
  position: absolute;
  z-index: 0;
  inset: auto 0 -21px;
}
body.base .boxPoint1 .txtPoint {
  display: block;
  width: 77px;
  height: 29px;
  position: absolute;
  inset: -17px auto auto 16px;
  z-index: 2;
}
body.base .boxPoint1 .inner::after {
  content: "";
  display: block;
  width: 84px;
  height: 84px;
  background: url(../img/common/bg2_point.png.webp) center center/cover no-repeat;
  position: absolute;
  z-index: 0;
  inset: auto -4px -4px auto;
}
.no-webp body.base .boxPoint1 .inner::after {
  background-image: url(../img/common/bg2_point.png);
}
body.base .boxPoint1 .space {
  float: right;
  height: 100%;
  width: 80px;
  display: flex;
  align-items: flex-end;
  shape-outside: inset(calc(100% - 80px) 0 0);
}
body.base .boxPoint1 .txta {
  margin-bottom: 30px;
}
body.base .tglBox2 {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 1px 1px 0px rgba(166, 157, 133, 0.6);
}
body.base .tglBox2 + .tglBox2 {
  margin-top: 10px;
}
body.base .tglBox2 .tglBox_open {
  display: none;
}
body.base .tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::before {
  opacity: 0.2;
}
body.base .tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon::after {
  opacity: 0.6;
}
body.base .tglBox2 .tglBox_open:checked ~ .tglHead .tglHeadWrap .icon span::after {
  opacity: 0;
}
body.base .tglBox2 .tglBox_open:checked ~ .tglBody .tglBodyWrap {
  margin-top: 0;
}
body.base .tglBox2 .tglHead {
  position: relative;
}
body.base .tglBox2 .tglHeadWrap {
  padding: 30px 7.4285714286%;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  transition: 0.5s;
  cursor: pointer;
}
body.base .tglBox2 .tglHeadWrap .num {
  flex: none;
  width: 22px;
  height: 22px;
  background: #106AB5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", sans-serif;
  color: #fff;
  font-size: 14px;
}
body.base .tglBox2 .tglHeadWrap .txt {
  flex: auto;
  margin: -2px -0.1em -4px 0;
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
body.base .tglBox2 .tglHeadWrap .txt .b1 {
  color: #ff3b6a;
  font-weight: 700;
}
body.base .tglBox2 .tglHeadWrap .icon {
  flex: none;
  width: 22px;
  height: 22px;
  position: relative;
}
body.base .tglBox2 .tglHeadWrap .icon::before, body.base .tglBox2 .tglHeadWrap .icon::after {
  content: "";
  display: block;
  background: rgba(16, 106, 181, 0.6);
  border-radius: 50%;
  position: absolute;
  transition: 0.5s;
}
body.base .tglBox2 .tglHeadWrap .icon::before {
  width: 22px;
  height: 22px;
  opacity: 0.4;
}
body.base .tglBox2 .tglHeadWrap .icon::after {
  width: 18px;
  height: 18px;
  inset: 2px;
}
body.base .tglBox2 .tglHeadWrap .icon span::before, body.base .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;
}
body.base .tglBox2 .tglHeadWrap .icon span::after {
  transform: rotate(90deg);
  transition: 0.5s;
}
body.base .tglBox2 .tglBody {
  margin-top: -10px;
  padding: 0 7.4285714286% 10px;
  overflow: hidden;
}
body.base .tglBox2 .tglBodyWrap {
  margin-top: -500px;
  padding: 26px 0 20px;
  border-top: 1px solid rgba(49, 60, 69, 0.6);
  display: flex;
  flex-flow: column;
  gap: 20px;
  transition: 0.5s;
}
body.base .lista {
  display: flex;
  flex-flow: column;
  gap: 20px;
}
body.base .lista > .item {
  color: #313C45;
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;
  /* 162.5% */
  letter-spacing: 0.1em;
  margin: -7px -0.1em -7px 0;
  text-indent: -1em;
  padding-left: 1em;
  position: relative;
}
body.base .lista > .item::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #313C45;
  margin-right: 10px;
}
body.base .listb {
  display: flex;
  flex-flow: column;
  gap: 20px;
}
body.base .listb > .item {
  color: #313C45;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.1em;
  margin: -7px -0.1em -8px 0;
  text-indent: -1em;
  padding-left: 1em;
  position: relative;
}
body.base .listb > .item::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff3b6a;
  margin-right: 10px;
  vertical-align: 2px;
}
body.base .linkList1 {
  display: flex;
  flex-flow: column;
  gap: 15px;
  margin-left: -2px;
}
body.base .linkList1 > .item {
  height: 22px;
  line-height: 22px;
  position: relative;
}
body.base .linkList1 > .item::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: url(../svg/icons/icon_linkmark1.svg) center center/cover no-repeat;
  position: absolute;
  inset: 0 auto 0 0;
  margin: auto 0;
  pointer-events: none;
}
body.base .linkList1 > .item a {
  height: 22px;
  color: #106AB5;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  padding-left: 30px;
}
body.base .linkList1 .linkList1 {
  padding-left: 28px;
}
body.base .ctaHead {
  max-width: calc(100% - 10px);
  padding: 0 25px;
  position: relative;
  margin: 0 auto 20px;
  color: #313C45;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0.1em;
}
@media (max-width: 359px ) {
  body.base .ctaHead {
    font-size: 13px;
    letter-spacing: 0;
  }
}
body.base .ctaHead::before, body.base .ctaHead::after {
  content: "";
  display: block;
  width: 22px;
  height: 43px;
  background: url(../svg/icons/ctahead_mark1.svg) center center/cover no-repeat;
  position: absolute;
  margin: auto 0;
}
body.base .ctaHead::before {
  inset: auto auto 0 0;
}
body.base .ctaHead::after {
  inset: auto 0 0 auto;
  transform: scale(-1, 1);
}
body.base .ctaAreab {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 20px 30px 20px;
  gap: 30px;
  align-self: stretch;
  border-radius: 6px;
  background: linear-gradient(298deg, #71B8E4 1.15%, #106AB5 97.89%);
}
body.base .ctaAreab .btn_cta {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px 30px 25px 30px;
  gap: 10px;
  border-radius: 6px;
  background: #FFF;
}
body.base .ctaAreab .btn_cta .txt1 {
  display: flex;
  padding: 6px 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  background: #505050;
  color: #FFF;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
}
body.base .ctaAreab .btn_cta .txt2 {
  color: #404040;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  /* 150% */
  letter-spacing: 0.1em;
}
body.base .ctaAreab .line {
  display: block;
  width: 100%;
  height: 1px;
  background: #FFF;
}
body.base .ctaAreab .telArea {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-self: center;
}
body.base .ctaAreab .telArea .txt1 {
  display: flex;
  padding: 8px 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  background: #FFE88E;
  color: #0A497D;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.1em;
}
@media (max-width: 359px ) {
  body.base .ctaAreab .telArea .txt1 {
    font-size: 12px;
    letter-spacing: 0;
  }
}
body.base .ctaAreab .telArea .txt2 {
  color: #FFF;
  text-align: center;
  font-size: 34px;
  font-weight: 300;
  line-height: 100%;
  letter-spacing: 0.05em;
  margin-top: 15px;
}
body.base .ctaAreab .telArea .txt3 {
  color: #FFF;
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.1em;
  margin-top: 7px;
}
body.base .malocclusion_list {
  max-width: 350px;
  width: 89.7435897436%;
  margin: 0 auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: 10px;
}
body.base .malocclusion_list:not(:first-child) {
  margin-top: 30px;
}
body.base .malocclusion_list:not(:last-child) {
  margin-bottom: 30px;
}
body.base .malocclusion_list > * {
  width: calc(50% - 5px);
}
body.base .malocclusion_list .item {
  padding: 12px 12px 16px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 10px 20px 0px rgba(70, 99, 107, 0.12);
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
  white-space: nowrap;
}
body.base .malocclusion_list .item img {
  max-width: 100%;
  height: auto;
}
body.base .malocclusion_list .ttl {
  margin: 1px -0.1em 0 0;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (max-width: 359px ) {
  body.base .malocclusion_list .ttl {
    font-size: 14px;
    letter-spacing: 0.05em;
  }
}
body.base .malocclusion_list .sub {
  margin: 6px -0.1em 0 0;
  font-size: 10px;
  letter-spacing: 0.1em;
}
body.base .malocclusion_list.link {
  width: 100%;
  background-color: #4999CC;
  padding: 10px;
}
body.base .malocclusion_list.link .item {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
body.base .malocclusion_list.link .item::after {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 16px;
  fill: #4999CC;
  background: url(../svg/icons/icon_arrow_d.svg) center center/cover no-repeat;
  inset: auto 7px 7px auto;
}
body.base .malocclusion_list.bgBlue {
  width: 100%;
  background-color: #4999CC;
  padding: 10px;
}
body.base .pica {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 6px;
  overflow: hidden;
  filter: drop-shadow(0px 0px 4.3px rgba(103, 125, 137, 0.2));
}
body.base .pica.noradius {
  border-radius: 0;
}
body.base .pica img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
body.base .pica.video {
  aspect-ratio: 350/180;
}
body.base .pica.video video {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.base .simulationVideo {
  width: 100%;
  background-color: #ffffff;
  aspect-ratio: 350/180;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
body.base .simulationVideo .video {
  max-width: 390px;
}
body.base .simulationVideo .nofilter {
  filter: none;
}
body.base .picb {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
  box-shadow: 0px 1px 1px 0px rgba(70, 90, 107, 0.2);
  border-radius: 6px;
}
body.base .picb img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
body.base .picc {
  display: block;
  text-align: center;
  margin: 0 auto;
}
body.base .picc img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
body.base .picd {
  display: block;
  margin: 0 auto;
  width: 175px;
  height: 175px;
  filter: drop-shadow(0px 0px 4.3px rgba(103, 125, 137, 0.2));
  position: relative;
}
body.base .picd::after {
  content: "";
  display: block;
  width: 185px;
  height: 185px;
  background: url(../svg/icons/picd_bg.svg) center center/cover no-repeat;
  position: absolute;
  inset: -5px auto auto -5px;
}
body.base .picd img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  border-radius: 50%;
  overflow: hidden;
}
body.base .bnr_monitor1 {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0px 0px 12px rgba(16, 106, 181, 0.31));
}
body.base .mapGrp .map {
  width: 100%;
  margin-bottom: 20px;
  vertical-align: top;
  border-radius: 10px;
}
body.base .mapGrp .addr a {
  color: #89A0B3;
}
body.base .scroll2 {
  width: 58px;
  height: 80px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  -webkit-animation: arrowmove 1s ease-in-out infinite;
          animation: arrowmove 1s ease-in-out infinite;
  margin-bottom: -40px;
}
body.base .scroll2 .text {
  display: block;
  white-space: nowrap;
  position: absolute;
  inset: auto auto 0;
  color: #106AB5;
  text-align: center;
  font-family: "Josefin Sans";
  font-size: 13px;
  font-weight: 600;
  line-height: 28px;
  /* 215.385% */
  letter-spacing: 0.08em;
  margin: -7px 0.1em -8px 0;
}
body.base .scroll2 .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;
}
body.base .scroll2 .arrow:first-child {
  -webkit-animation: move 3s ease-out 1s infinite;
          animation: move 3s ease-out 1s infinite;
}
body.base .scroll2 .arrow:nth-child(2) {
  -webkit-animation: move 3s ease-out 2s infinite;
          animation: move 3s ease-out 2s infinite;
}
body.base .scroll2 .arrow:before, body.base .scroll2 .arrow:after {
  content: " ";
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #106AB5;
}
body.base .scroll2 .arrow:before {
  left: 0;
  will-change: transform;
  transform: skew(0deg, 30deg);
}
body.base .scroll2 .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);
  }
}
body.base main {
  background-color: #E3EEF5;
}
body.base .fv {
  padding-bottom: 40px;
}
body.base .sec {
  padding: 40px 0;
  margin: 0;
  background-color: #E3EEF5;
}
body.base .sec > .wrapper {
  padding: 0;
}
body.base header {
  width: 100%;
  max-width: 420px;
  height: 56px;
  margin: 0 auto;
  z-index: 100;
  position: absolute;
  inset: 0 0 auto 0;
  margin: 0 auto;
  transition: all 0.2s 0s ease;
}
@media (420px < width) {
  body.base header {
    margin-left: calc((100% - 420px) * 0.5);
  }
}
body.base header .lineHead {
  width: 100%;
  padding: 5px 3.0769230769% 6px;
}
body.base header .lineHead > .wrapper {
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.2);
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  padding: 0 8px 0 18px;
}
body.base header .lineHead .logoGrp {
  display: flex;
  align-items: center;
  height: 39px;
  margin-right: auto;
}
body.base header .lineHead .logoGrp .siteHead {
  width: 182px;
  height: 39px;
}
body.base header .lineHead .logoGrp .logo1 {
  width: 182px;
  height: 39px;
}
body.base header .lineHead .logoGrp .logo {
  width: 40px;
  margin-right: 8px;
}
body.base header .lineHead .logoGrp .txt {
  display: block;
  margin-bottom: 7px;
  color: #89A0B3;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
body.base header .lineHead .logoGrp .logo_txt1 {
  width: 172px;
  height: 23px;
}
body.base header .lineHead .logoGrp .logoSubHead {
  display: flex;
  height: 28px;
  margin-left: -25px;
  border-left: 1px solid #45489D;
  padding-left: 8px;
}
body.base header .lineHead .logoGrp .logoSubHead .txt1 {
  color: #45489D;
  font-family: Roboto;
  font-size: 10px;
  font-weight: 500;
  line-height: 14px;
  margin: 0 -0.1em 0 0;
}
@media (width < 375px) {
  body.base header .lineHead .logoGrp .logoSubHead {
    display: none;
  }
}
body.base header .lineHead .btn_reserv {
  width: 43px;
  height: 38px;
  background-color: #106AB5;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
}
body.base header .lineHead .btn_reserv > * {
  pointer-events: none;
}
body.base header .lineHead .btn_reserv .icon1 {
  display: block;
  width: 20px;
  height: 20px;
  margin-bottom: 2px;
}
body.base header .lineHead .btn_reserv span {
  margin-right: -0.03em;
  font-size: 10px;
  letter-spacing: 0.03em;
  transform: scale(0.9);
  transform-origin: left top;
}
body.base header .lineHead .btn_menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 19px;
  margin-left: 14px;
  width: 35px;
  height: 38px;
  cursor: pointer;
}
body.base header .lineHead .btn_menu .icon1 {
  display: block;
  width: 25px;
  height: 19px;
}
body.base header {
  position: fixed;
  top: 0;
  background-color: #FFF;
  box-shadow: 0 0 2px rgba(69, 76, 80, 0.2);
}
body.base#top main {
  padding-top: 0;
}
body.base#top .fv .breadcrumbs {
  inset: 61px 0 auto;
}
body.base#top .fv .fvArea1 {
  position: relative;
}
body.base#top .fv .fvArea1 .siteHead1 {
  display: block;
  width: 71.2820512821%;
  height: 19.2307692308%;
  font-family: "Shippori Mincho";
  font-size: 4.0625em;
  font-weight: 600;
  line-height: 1;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
  background: linear-gradient(0deg, #71B8E4 -88.8%, #104AB5 91.45%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: #104ab5e6;
  white-space: nowrap;
  position: absolute;
  inset: auto 36px 5px auto;
}
body.base#top .fv .fvArea2 {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin: 0 65px -10px 0;
}
body.base#top .fv .fvArea2 .pic1 {
  display: block;
  width: 152px;
  height: 136px;
  margin-top: -26px;
  margin-right: -10px;
}
body.base#top .fv .fvArea2 .pic1 img {
  display: block;
  width: 100%;
  height: auto;
}
body.base#top .fv .fvArea2 .headGrp {
  display: flex;
  flex-flow: column;
  gap: 0;
}
body.base#top .fv .fvArea2 .headGrp .siteHead2 {
  color: #1E5ABC;
  leading-trim: both;
  text-edge: cap;
  font-family: "Shippori Mincho";
  font-size: 19px;
  font-style: normal;
  font-weight: 400;
  line-height: 19px;
  /* 315.789% */
  margin-bottom: -6px;
  white-space: nowrap;
}
body.base#top .fv .fvArea2 .headGrp .siteHead2 .small {
  font-size: 17px;
}
body.base#top .fv .fvArea2 .headGrp .siteHead3 {
  color: #FF3B6A;
  font-family: "Shippori Mincho";
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 48px;
  /* 125% */
  letter-spacing: -1.44px;
  white-space: nowrap;
}
body.base#top .fv .fvArea2 .headGrp .siteHead3 .small {
  font-size: 30px;
}
body.base#top .fv .fvArea3 {
  position: relative;
}
body.base#top .fv .fvArea3 .h2dList {
  position: absolute;
  inset: 0 0 auto 0;
  margin: 0 auto;
}
body.base#mouthpiece #sec06 .boxc {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-radius: 10px;
  background: #FFF;
  padding: 0 20px 23px;
  box-shadow: 0px 3px 6.9px 0px rgba(0, 0, 0, 0.21);
}
body.base#mouthpiece #sec06 .boxc .head1 {
  margin: 0 auto;
  display: flex;
  max-width: 100%;
  height: 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: var(--Linear, linear-gradient(342deg, #71B8E4 -33.35%, #106AB5 80.63%));
  padding: 0 16px;
  color: #FFF;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
body.base#mouthpiece #sec06 .boxc .head2 {
  color: #FF3B6A;
  font-size: 17px;
  font-weight: 700;
  line-height: 26px;
  /* 152.941% */
  letter-spacing: 0.1em;
}
body.base#mouthpiece #sec06 .boxc .head2 .small {
  font-size: 15px;
}
body.base#mouthpiece #sec06 .boxc .pricelistWrap {
  margin: 10px auto 0;
  width: 100%;
}
body.base#mouthpiece #sec06 .boxPrice1 {
  min-height: 155px;
  border-radius: 10px;
  border: 2px solid #106AB5;
  background: #FFF;
  padding: 20px 18px 20px;
}
@media (max-width: 359px ) {
  body.base#mouthpiece #sec06 .boxPrice1 {
    min-height: 140px;
    padding: 16px 16px 16px;
  }
}
body.base#mouthpiece #sec06 .boxPrice1 .headGrp {
  color: #106AB5;
  text-align: center;
  display: flex;
  flex-flow: column;
  gap: 5px;
}
body.base#mouthpiece #sec06 .boxPrice1 .headGrp .head1 {
  height: auto;
  background: none;
  color: #106AB5;
  padding: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.1em;
  margin: -1px -0.1em -2px;
}
body.base#mouthpiece #sec06 .boxPrice1 .headGrp .head2 {
  color: #106AB5;
  font-size: 11px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.1em;
  margin: 0 -0.1em -1px;
}
body.base#mouthpiece #sec06 .boxPrice1 .line {
  display: block;
  width: 100%;
  height: 1px;
  background: #0A497D;
  margin: 12px auto 12px;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media (max-width: 359px ) {
  body.base#mouthpiece #sec06 .boxPrice1 .priceGrp {
    gap: 4px;
  }
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 {
  display: flex;
  flex-flow: column;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.1em;
  position: relative;
  padding-right: 16px;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt1,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt1 {
  font-size: 11px;
  white-space: nowrap;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt2,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt2 {
  font-size: 18px;
  white-space: nowrap;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt2 .yen,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt2 .yen {
  font-size: 11px;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .zei,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .zei {
  width: 12px;
  display: inline-block;
  font-size: 8px;
  line-height: 9px;
  position: absolute;
  inset: auto 0 3px auto;
}
@media (max-width: 359px ) {
  body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 {
    padding-right: 12px;
  }
  body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt2,
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt2 {
    margin-top: -4px;
  }
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 {
  color: #106AB5;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt1 {
  font-size: 10px;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price1 .txt2 {
  font-size: 16px;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .arrow {
  display: block;
  width: 9px;
  height: 11px;
  background: url(../svg/icons/arrow_rights3.svg) center center/cover no-repeat;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 {
  color: #FF3B6A;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt1 {
  font-size: 12px;
  white-space: nowrap;
}
body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt2 {
  font-size: 22px;
  white-space: nowrap;
}
@media (max-width: 359px ) {
  body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt1 {
    font-size: 10px;
  }
  body.base#mouthpiece #sec06 .boxPrice1 .priceGrp .price2 .txt2 {
    font-size: 16px;
  }
}

.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;
  width: auto;
}

.inputText1 {
  width: 100%;
  display: flex;
  align-items: center;
}
.inputText1 input, .inputText1 select, .inputText1 textarea {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  border-radius: 4px;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  color: #403B34;
  font-size: 16px;
  letter-spacing: 0.02em;
  background: #EEEEE6;
  border: 1px solid #EEEEE6;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.inputText1 input.valid, .inputText1 select.valid, .inputText1 textarea.valid {
  background: transparent;
  color: #403B34;
  border-color: #AFAFAF;
}
.inputText1 input {
  color: #403B34;
}
.inputText1 input::-ms-clear {
  visibility: hidden;
}
.inputText1 input::-moz-placeholder {
  color: #AFAFAF;
}
.inputText1 input:-ms-input-placeholder {
  color: #AFAFAF;
}
.inputText1 input::placeholder {
  color: #AFAFAF;
}
.inputText1 select {
  color: #403B34;
}
.inputText1 select option {
  color: #403B34;
}
.inputText1 textarea {
  height: auto;
  border-radius: 6px;
  border: 1px solid #E9EFE4;
  padding: 7px 12px;
  font-size: 15px;
  line-height: 25px;
  background-color: #eeeee6;
}
.inputText1 textarea:focus {
  border: 1px solid #363025;
}

.checkBoxGrp {
  margin-top: 13px;
  margin-bottom: -7px;
}

.inputCheck {
  position: relative;
}
.inputCheck input {
  display: none;
}
.inputCheck label {
  display: inline-block;
  vertical-align: top;
  position: relative;
  white-space: nowrap;
}
.inputCheck label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
.inputCheck label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

.inputCheck1 {
  font-size: 12px;
  line-height: 14px;
}
.inputCheck1 label.label_privacy {
  padding-left: 20px;
  letter-spacing: 0.05em;
}
.inputCheck1 label.label_privacy::before {
  width: 14px;
  height: 14px;
  border: 1px solid #AFAFAF;
  border-radius: 2px;
}
.inputCheck1 label.label_privacy::after {
  width: 10px;
  height: 8px;
  background: url(../img/form/check.svg) center center/contain no-repeat;
  left: 2px;
}
.inputCheck1 input:checked + label.label_privacy::before {
  background-color: #D88C32;
  border-color: #D88C32;
}
.inputCheck1 input:checked + label.label_privacy::after {
  background-image: url(../img/form/check2.svg);
}

.inputCheck2, .inputCheck3 {
  line-height: 34px;
}
.inputCheck2 label, .inputCheck3 label {
  padding-left: 26px;
  font-size: 16px;
}
.inputCheck2 label::before, .inputCheck3 label::before {
  width: 20px;
  height: 20px;
  border: 1px solid #AFAFAF;
  border-radius: 2px;
}

.inputCheck2 label::after {
  width: 10px;
  height: 8px;
  background: url(../img/form/check1.svg) center center/contain no-repeat;
  left: 5px;
}
.inputCheck2 input:checked + label::before {
  background-color: #D88C32;
  border-color: #D88C32;
}
.inputCheck2 input:checked + label::after {
  background-image: url(../img/form/check2.svg);
}

.inputCheck3 {
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}
.inputCheck3 label::before {
  border-radius: 50%;
}
.inputCheck3 label::after {
  width: 10px;
  height: 10px;
  background-color: #DDDDDD;
  border-radius: 50%;
  left: 5px;
}
.inputCheck3 input:checked + label::after {
  background-color: #D88C32;
}

.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;
  width: auto;
}

.inputText1 {
  width: 100%;
  display: flex;
  align-items: center;
}
.inputText1 input, .inputText1 select, .inputText1 textarea {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  border-radius: 4px;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  color: #2B343B;
  font-size: 16px;
  letter-spacing: 0.02em;
  background: #EEEEE6;
  border: 1px solid #EEEEE6;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.inputText1 input.valid, .inputText1 select.valid, .inputText1 textarea.valid {
  background: transparent;
  color: #2B343B;
  border-color: #AFAFAF;
}
.inputText1 input {
  color: #2B343B;
}
.inputText1 input::-ms-clear {
  visibility: hidden;
}
.inputText1 input::-moz-placeholder {
  color: #AFAFAF;
}
.inputText1 input:-ms-input-placeholder {
  color: #AFAFAF;
}
.inputText1 input::placeholder {
  color: #AFAFAF;
}
.inputText1 select {
  color: #2B343B;
}
.inputText1 select option {
  color: #2B343B;
}
.inputText1 textarea {
  height: auto;
  border-radius: 6px;
  border: 1px solid #E9EFE4;
  padding: 7px 12px;
  font-size: 15px;
  line-height: 25px;
  background-color: #eeeee6;
}
.inputText1 textarea:focus {
  border: 1px solid #363025;
}

.checkBoxGrp {
  margin-top: 13px;
  margin-bottom: -7px;
}

.inputCheck {
  position: relative;
}
.inputCheck input {
  display: none;
}
.inputCheck label {
  display: inline-block;
  vertical-align: top;
  position: relative;
  white-space: nowrap;
}
.inputCheck label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
.inputCheck label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

.inputCheck1 {
  font-size: 12px;
  line-height: 14px;
}
.inputCheck1 label.label_privacy {
  padding-left: 20px;
  letter-spacing: 0.05em;
}
.inputCheck1 label.label_privacy::before {
  width: 14px;
  height: 14px;
  border: 1px solid #AFAFAF;
  border-radius: 2px;
}
.inputCheck1 label.label_privacy::after {
  width: 10px;
  height: 8px;
  background: url(../img/form/check.svg) center center/contain no-repeat;
  left: 2px;
}
.inputCheck1 input:checked + label.label_privacy::before {
  background-color: #0a497d;
  border-color: #0a497d;
}
.inputCheck1 input:checked + label.label_privacy::after {
  background-image: url(../img/form/check2.svg);
}

.inputCheck2, .inputCheck3 {
  line-height: 34px;
}
.inputCheck2 label, .inputCheck3 label {
  padding-left: 26px;
  font-size: 16px;
}
.inputCheck2 label::before, .inputCheck3 label::before {
  width: 20px;
  height: 20px;
  border: 1px solid #AFAFAF;
  border-radius: 2px;
}

.inputCheck2 label::after {
  width: 10px;
  height: 8px;
  background: url(../img/form/check1.svg) center center/contain no-repeat;
  left: 5px;
}
.inputCheck2 input:checked + label::before {
  background-color: #0a497d;
  border-color: #0a497d;
}
.inputCheck2 input:checked + label::after {
  background-image: url(../img/form/check2.svg);
}

.inputCheck3 {
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}
.inputCheck3 label::before {
  border-radius: 50%;
}
.inputCheck3 label::after {
  width: 10px;
  height: 10px;
  background-color: #DDDDDD;
  border-radius: 50%;
  left: 5px;
}
.inputCheck3 input:checked + label::after {
  background-color: #0a497d;
}

.popup_open {
  display: none;
  z-index: -1;
}
.popup_open:checked + .popup {
  display: block;
  opacity: 1;
  z-index: 200;
  pointer-events: auto;
}

.popup {
  font-family: "Noto Sans JP";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
  z-index: -1;
}
.popup .bg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(43, 52, 59, 0.8);
  position: absolute;
  top: 0;
  left: 0;
}

#reserv_popup .popup_body,
#privacy_popup .popup_body {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  position: relative;
  background-color: #fff;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 94.8717948718%;
  height: calc(100% - 40px);
  max-width: 450px;
  padding: 50px 0 16px;
}
#reserv_popup .popup_body > .wrapper,
#privacy_popup .popup_body > .wrapper {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  padding: 12px 20px 40px;
  background-color: #fff;
  border-radius: 6px;
  position: relative;
}
#reserv_popup .popup_close1,
#privacy_popup .popup_close1 {
  height: 30px;
  display: flex;
  align-items: center;
  font-family: "Josefin Sans", serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
}
#reserv_popup .popup_close1 .pic,
#privacy_popup .popup_close1 .pic {
  width: 10px;
  height: 10px;
  fill: currentColor;
  margin-top: -3px;
  margin-right: 6px;
}
#reserv_popup .popup_close2,
#privacy_popup .popup_close2 {
  height: 22px;
  padding: 0 10px;
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 10px 20px rgba(43, 52, 59, 0.3);
  display: flex;
  align-items: center;
  color: #0a497d;
  font-family: "Josefin Sans", serif;
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  position: absolute;
  right: max(6px, 50% - 219px);
  bottom: 8px;
  z-index: 2;
}
#reserv_popup .popup_close2 .pic,
#privacy_popup .popup_close2 .pic {
  width: 10px;
  height: 10px;
  fill: currentColor;
  margin-top: -3px;
  margin-right: 6px;
}
#reserv_popup .ttl,
#privacy_popup .ttl {
  text-align: center;
  color: #0a497d;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 28px;
}
#reserv_popup .ttl2,
#privacy_popup .ttl2 {
  display: inline-block;
  color: #0a497d;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 36px 0 0;
  position: relative;
}
#reserv_popup .ttl2::after,
#privacy_popup .ttl2::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #0a497d;
  position: absolute;
  inset: auto auto -3px 0;
}
#reserv_popup .ttl2 + .txt1,
#privacy_popup .ttl2 + .txt1 {
  margin-top: 11px;
}
#reserv_popup .form_tel_grp,
#privacy_popup .form_tel_grp {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
#reserv_popup .form_tel,
#privacy_popup .form_tel {
  display: block;
  width: 100%;
  max-width: 240px;
  margin: 10px 0 20px;
}
#reserv_popup .form_tel .form_tel_link,
#privacy_popup .form_tel .form_tel_link {
  display: flex;
  border: 1px solid #465a6b;
  background-color: #f5f2ef;
  border-radius: 4px;
  padding: 18px 0;
  color: #465a6b;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 60px;
  box-shadow: 0 2px 4px 0 rgba(70, 90, 107, 0.3);
}
#reserv_popup .form_tel .form_tel_link.form_tel_link2,
#privacy_popup .form_tel .form_tel_link.form_tel_link2 {
  flex-flow: column;
}
#reserv_popup .form_tel .form_tel_link .icon,
#privacy_popup .form_tel .form_tel_link .icon {
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
}
#reserv_popup .form_tel .form_tel_link .txt,
#privacy_popup .form_tel .form_tel_link .txt {
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
}
#reserv_popup .form_tel .form_tel_link .txtLabel,
#privacy_popup .form_tel .form_tel_link .txtLabel {
  display: inline-block;
  background-color: rgba(70, 90, 107, 0.9);
  border-radius: 10px;
  color: #ffffff;
  font-size: 11px;
  height: 20px;
  letter-spacing: 0.05em;
  line-height: 20px;
  padding: 0 8px;
}
#reserv_popup .form_tel + .txt1,
#privacy_popup .form_tel + .txt1 {
  margin-top: 11px;
}
#reserv_popup .txt1,
#privacy_popup .txt1 {
  margin: 0 -0.1em 0 0;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.05em;
}
#reserv_popup .txt1 + .txt1,
#privacy_popup .txt1 + .txt1 {
  margin-top: 20px;
}
#reserv_popup .txt1 .link1,
#privacy_popup .txt1 .link1 {
  text-decoration: underline;
}
#reserv_popup .txt1.small,
#privacy_popup .txt1.small {
  font-size: 12px;
  line-height: 150%;
  margin-top: -10px;
  text-indent: -1em;
  margin-left: 1em;
}
#reserv_popup .txt1.small + .small,
#privacy_popup .txt1.small + .small {
  margin-top: 10px;
}

#reserv_popup .ttl {
  margin: 0 -0.1em 0 0;
}
#reserv_popup .formBox {
  margin: 30px 0 40px;
}
#reserv_popup .formBox .formUnit:not(:first-child) {
  margin-top: 36px;
}
#reserv_popup .formBox .formUnit .formUnitGroupHead {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
  line-height: 1.3;
}
#reserv_popup .formBox .formUnit .formUnitHead {
  display: flex;
  align-items: center;
}
#reserv_popup .formBox .formUnit .formUnitHead .item {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 20px;
  margin: -2px 0;
}
#reserv_popup .formBox .formUnit .formUnitHead .required, #reserv_popup .formBox .formUnit .formUnitHead .optional {
  margin-left: 10px;
  font-size: 11px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
#reserv_popup .formBox .formUnit .formUnitHead .required {
  color: #0a497d;
  font-weight: 700;
}
#reserv_popup .formBox .formUnit .formUnitHead .optional {
  color: #888;
}
#reserv_popup .formBox .formUnit .formUnitBody {
  margin-top: 12px;
}
#reserv_popup .formBox .calendar img {
  left: 15px;
  pointer-events: none;
}
#reserv_popup .formBox .calendar input {
  padding-left: 50px;
}
#reserv_popup .formBox .calendar input::-moz-placeholder {
  color: #2B343B;
}
#reserv_popup .formBox .calendar input:-ms-input-placeholder {
  color: #2B343B;
}
#reserv_popup .formBox .calendar input::placeholder {
  color: #2B343B;
}
#reserv_popup .formBox .time {
  margin-top: 8px;
}
#reserv_popup .formBox .time img {
  left: 15px;
  pointer-events: none;
}
#reserv_popup .formBox .time select {
  padding-left: 50px;
}
#reserv_popup .note {
  margin: -3px 0 17px;
  font-size: 12px;
  line-height: 18px;
}
#reserv_popup .checkBoxGrp + .note {
  margin-top: 15px;
}
#reserv_popup .checkBoxGrp.flexwrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}
#reserv_popup .privacyBox {
  text-align: center;
  color: #2B343B;
}
#reserv_popup .privacyBox a, #reserv_popup .privacyBox .link {
  text-decoration: underline;
  display: inline;
}
#reserv_popup #btnReserv {
  width: 260px;
  height: 70px;
  margin: 10px auto 0;
  background-color: #fff;
  border: 1px solid currentColor;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a497d;
  font-size: 18px;
  letter-spacing: 0.06em;
  cursor: pointer;
}
#reserv_popup #btnReserv .icon {
  display: block;
  width: 30px;
  height: 30px;
  margin-right: 12px;
  position: relative;
}
#reserv_popup #btnReserv .icon::before, #reserv_popup #btnReserv .icon::after {
  content: "";
  display: block;
  border: 1px solid currentColor;
  border-radius: 50%;
  position: absolute;
}
#reserv_popup #btnReserv .icon::before {
  width: 24px;
  height: 24px;
  top: 0;
  left: 0;
}
#reserv_popup #btnReserv .icon::after {
  width: 17px;
  height: 17px;
  right: 0;
  bottom: 0;
}
#reserv_popup label.error {
  display: block;
  vertical-align: top;
  color: #f00;
  font-size: 12px;
  letter-spacing: 0.05em;
  margin-top: 8px;
}
#reserv_popup .thanksWrap {
  display: none;
  height: 100%;
}
#reserv_popup .thanksWrap .txtBox {
  margin: auto;
}
#reserv_popup .thanksWrap .mainText {
  margin: 35px 0 -6px;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.05em;
}
#reserv_popup .thanksWrap .mainText .b {
  font-weight: 700;
}
#reserv_popup .thanksWrap .mainText .b2 {
  color: #0a497d;
  text-decoration: underline;
}
#reserv_popup .thanksWrap .mainText + .mainText {
  margin-top: 20px;
}
#reserv_popup .thanksWrap .btn_line + .mainText {
  margin-top: 20px;
}
#reserv_popup .thanksWrap .btn_line {
  width: 300px;
  height: 70px;
  margin: 20px auto 0;
  padding-left: 0.1em;
  border: 1px solid currentColor;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a497d;
  font-size: 17px;
  line-height: 28px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#reserv_popup .thanksWrap .btn_line .pic {
  width: 32px;
  height: 32px;
  fill: currentColor;
  margin-right: 20px;
}
#reserv_popup.thanks .formWrap {
  display: none;
}
#reserv_popup.thanks .thanksWrap {
  display: flex;
}

#privacy_popup .ttl {
  margin: 0 -0.1em 35px 0;
}
#privacy_popup .privacyWrap {
  height: 100%;
}
#privacy_popup .privacyWrap .txtBox {
  margin: auto;
}
#privacy_popup .privacyWrap .mainHead {
  margin: 34px -0.1em 0 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
}
#privacy_popup .privacyWrap .mainText {
  margin: 25px 0 -6px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
}
#privacy_popup .privacyWrap .mainText .b {
  font-weight: 700;
}
#privacy_popup .privacyWrap .mainText .b2 {
  color: #ff0000;
}
#privacy_popup .privacyWrap .mainText + .mainText {
  margin-top: 20px;
}

#menu_popup .popup_body {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  position: relative;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: calc(100% - 0px);
  max-width: 450px;
  background: linear-gradient(323deg, #71B8E4 -75.52%, #106AB5 126.41%);
}
#menu_popup .popup_body > .bodyHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 56px;
  padding: 0 10px;
  background-color: #fff;
}
#menu_popup .popup_body > .bodyHead .menuToTop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 61px;
  height: 30px;
  border-radius: 3px;
  background: #FFE88E;
}
#menu_popup .popup_body > .bodyHead .menuToTop .txt1 {
  color: #0D4D82;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: 0.033em;
}
#menu_popup .popup_body > .bodyHead .menuToTop .icon1 {
  display: block;
  width: 8px;
  height: 10px;
  fill: #0D4D82;
}
#menu_popup .popup_body > .bodyHead .menuHead {
  color: #0A497D;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.05em;
}
#menu_popup .popup_body > .bodyHead .menuClose {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 75px;
  height: 30px;
  border-radius: 3px;
  background: linear-gradient(342deg, rgba(16, 106, 181, 0.33) -33.35%, #106AB5 80.63%), linear-gradient(90deg, #0A497D 0%, #0A497D 100%);
}
#menu_popup .popup_body > .bodyHead .menuClose .txt1 {
  color: #FFF;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.033em;
}
#menu_popup .popup_body > .bodyHead .menuClose .icon1 {
  display: block;
  width: 10px;
  height: 10px;
  fill: #FFF;
}
#menu_popup .popup_body > .bodyContent {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  padding: 38px 20px 70px 20px;
  position: relative;
}