/*

  下層ページ共通：SV

================================================================
*/
#sv {
  overflow: hidden;
  width: 100%;
  height: 540px;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 2000px auto;}
#sv figure {
  display: none;}
#sv.botox {
  background-image: url(../img/under/botox/svpc.png);}
#sv.suikou {
  background-image: url(../img/under/suikou/svpc.png);}
#sv.shoinshin {
  background-image: url(../img/under/shoinshin/svpc.png);}
#sv.hadaiku {
  background-image: url(../img/under/hadaiku/svpc.png);}
#sv.hiaru {
  background-image: url(../img/under/hiaru/svpc.png);}
#sv.thread {
  background-image: url(../img/under/thread/svpc.webp);}
#sv.hokuro {
  background-image: url(../img/under/hokuro/svpc.png);}
#sv.jalupro {
  background-image: url(../img/under/hadaiku/jalupro/svpc.webp);}
#sv.plureal {
  background-image: url(../img/under/hadaiku/plureal/svpc.webp);}
#sv.juvellook {
  background-image: url(../img/under/hadaiku/juvellook/svpc.webp);}
#sv.rejuran {
  background-image: url(../img/under/hadaiku/rejuran/svpc.webp);}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#sv {
  height: auto;
  margin-top: 16vw;
  background: none;}
#sv figure {
  display: block;}}

/*

  下層ページ共通：UV

================================================================
*/
#uv {
  width: 100%;
  height: 300px;
  background-color: #e5eef4;}
#uv .flex {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;}
#uv .flex .en {
  font-family: sms;
  font-size: 62px;
  letter-spacing: .05em;
  color: #00457E;}
#uv .flex .title {
  margin-top: 15px;
  font-size: 16px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#uv {
  margin-top: 16vw;
  height: 50vw;}
#uv .flex .en {
  font-size: 12vw;}
#uv .flex .title {
  margin-top: 2.5vw;
  font-size: 3.6vw;}}

/*

  下層ページ共通：cta

================================================================
*/
.pcta {
  width: 100%;
  padding: 30px 0;
  background: url(../img/under/common/pcta.jpg) no-repeat top right / 2000px auto;}
.pcta .read {
  margin-bottom: 10px;
  text-align: center;
  line-height: 1.7;
  font-size: 16px;
  color: #00457E;}
.pcta .read span {
  display: inline-block;
  margin-right: 10px;
  border-bottom: 1px solid #fff;}
.pcta .title {
  text-align: center;
  font-feature-settings: normal;
  font-family: sms;
  font-size: 24px;
  color: #00457E;
  letter-spacing: .1em;}
.pcta ul {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 30px auto 0;}
.pcta ul li {
  overflow: hidden;
  width: 32%;
  height: 60px;
  border-radius: 3px;}
.pcta ul li + li {
  margin-left: 20px;}
.pcta ul li.tel {
  background-color: #fff;}
.pcta ul li.line {
  background-color: #198059;}
.pcta ul li.web {
  display: none;
  background-color: #00457E;}
.pcta ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 18px;
  letter-spacing: .1em;
  color: #fff;}
.pcta ul li a span {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;}
.pcta ul li.tel a {
  pointer-events: none;
  flex-direction: column;
  justify-content: flex-end;
  color: #00457E;}
.pcta ul li.tel a span {
  padding-left: 28px;
  padding-bottom: 1px;
  background-image: url(../img/under/common/itel.svg);
  background-position: left bottom;
  background-size: auto 80%;
  font-feature-settings: normal;
  font-family: sms;
  font-size: 22px;
  letter-spacing: .05em;}
.pcta ul li.tel a em {
  display: inline-block;
  width: 100%;
  text-align: center;
  background-color: #00457E;
  margin-top: 7px;
  padding: 4px 0 6px;
  font-size: 12px;
  color: #fff;
  letter-spacing: .1em;}
.pcta ul li.line a span {
  padding-left: 35px;
  padding-top: 2px;
  padding-bottom: 4px;
  background-image: url(../img/under/common/iline.svg);}
.pcta ul li.web a span {
  padding-left: 35px;
  padding-bottom: 2px;
  background-image: url(../img/under/common/iweb.svg);}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pcta {
  padding: 10vw 3vw;
  background-size: cover;}
.pcta .read {
  margin-bottom: 2vw;
  font-size: 3.5vw;}
.pcta .read span {
  display: block;
  margin-bottom: 2vw;
  margin-right: 0;
  padding-bottom: 1vw;
  font-size: 110%;
  border-bottom: 1px solid #fff;}
.pcta .title {
  font-size: 4.5vw;
  letter-spacing: .05em;}
.pcta ul {
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin-top: 5vw;}
.pcta ul li {
  overflow: hidden;
  width: 49%;
  height: 14vw;
  border-radius: 2vw;}
.pcta ul li + li {
  margin-left: 0;}
.pcta ul li.tel {
  margin-bottom: 2vw;}
.pcta ul li a {
  font-size: 3.6vw;}
.pcta ul li.tel a {
  pointer-events: auto;}
.pcta ul li.tel a span {
  padding-left: 1.2em;
  font-size: 4.6vw;
  letter-spacing: .05em;}
.pcta ul li.tel a em {
  margin-top: 2vw;
  padding: 1.2vw 0 1.5vw;
  font-size: 2.8vw;}
.pcta ul li.line a span {
  padding-left: 2em;
  padding-top: .5vw;
  padding-bottom: 1vw;}
.pcta ul li.web a span {
  padding-left: 1.7em;}}

/*

  下層ページ共通：pnav

================================================================
*/
#pnav {
  padding: 50px 0;}
#pnav ul {
  display: flex;
  flex-wrap: wrap;}
#pnav ul li {
  width: 24.1%;
  height: 60px;
  border-bottom: 1px solid #eee;}
#pnav ul li + li {
  margin-left: 1.2%;}
#pnav ul li:nth-child(4n+1) {
  margin-left: 0;}
#pnav ul li a {
  display: flex;
  align-items: center;
  height: 100%;
  padding-right: 30px;
  background: url(../img/common/iab.png) no-repeat right 10px center / 10px auto;
  font-family: zkr;
  line-height: 1.5;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#pnav {
  padding: 6vw 5vw;}
#pnav ul {
  justify-content: space-between;}
#pnav ul li {
  width: 48.5%;
  height: 11vw;}
#pnav ul li + li {
  margin-left: 0;}
#pnav ul li a {
  padding-right: 2vw;
  background-size: 2vw auto;
  background-position: right 1vw center;
  letter-spacing: .03em;
  font-size: 3.3vw;}}

/*

  下層ページ共通：preco

================================================================
*/
.preco {
  padding: 60px 0;
  background-color: #fff;
  border-bottom: 1px solid #EBF0F5;}
.preco .h2b {
  margin-bottom: 30px;}
.preco .box {
  padding: 40px 60px;
  border: 1px solid #eee;
  border-radius: 6px;}
.preco .box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;}
.preco .box ul li {
  display: flex;
  align-items: center;
  width: 48.5%;
  height: 50px;
  padding-left: 22px;
  border-bottom: 1px solid #eee;
  background: url(../img/under/common/ichk.svg) no-repeat left center / auto 12px;
  color: #676767;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.preco {
  padding: 12vw 5vw;}
.preco .h2b {
  margin-bottom: 5vw;}
.preco .box {
  padding: 7vw 6vw;
  border-radius: 2vw;}
.preco .box ul {
  display: block;}
.preco .box ul li {
  width: 100%;
  height: 11vw;
  line-height: 1.2;
  padding-left: 1.2em;
  background-size: 2.4vw auto;
  font-size: 3.4vw;}}

/*

  下層ページ共通：チェックリスト（ベースはpreco）

================================================================
*/
.preco.chk {
  border-bottom: none;}
.preco.chk .box {
  border-radius: 0;
  border: solid #00457E;
  border-width: 1px 0;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.preco.chk .box {
  padding-left: 0;
  padding-right: 0;}}

/*

  下層ページ共通：症例

================================================================
*/
.list-case {
  display: flex;
  flex-wrap: wrap;}
.list-case li {
  width: 24.1%;
  margin-top: 30px;}
.list-case li + li {
  margin-left: 1.2%;}
.list-case li:nth-child(4n+1) {
  margin-left: 0;}
.list-case li:nth-child(-n+4) {
  margin-top: 0;}
.list-case li figure {
  overflow: hidden;
  position: relative;
  border-radius: 6px;
  margin-bottom: 10px;}
.list-case li figure img {}
.list-case li table,
.list-case li table tr,
.list-case li table tbody,
.list-case li table th,
.list-case li table td {
  display: block;}
.list-case li table {
  width: 100%;
  line-height: 1.6;
  font-family: zkr;
  font-size: 14px;}
.list-case li table tr + tr {
  border-top: 1px solid #eee;}
.list-case li table th {
  width: 100%;
  margin-bottom: 4px;
  text-align: left;
  font-weight: normal;
  font-family: zkm;
  color: #00457E;}
.list-case li table tr + tr th {
  padding-top: 5px;}
.list-case li table td {
  width: 100%;
  padding-left: 1em;
  text-align: left;}
.list-case li table tr:not(:last-child) td {
  padding-bottom: 10px;}
.mozaiku:before {
  content: '画像をタップしてご覧ください';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, .5);
  backdrop-filter: blur(10px);
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, .1);
  font-size: 13px;
  transition: .2s;
  cursor: pointer;}
.mozaiku.active:before {
  opacity: 0;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-case {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-left: 5vw;
  padding-bottom: 3vw;}
.list-case li {
  flex-shrink: 0;
  width: 70vw;
  margin-top: 0;}
.list-case li:nth-child(4n+1) {
  margin-left: 2vw;}
.list-case li:first-child {
  margin-left: 0;}
.list-case li + li {
  margin-left: 2vw;}
.list-case li figure {
  border-radius: 2vw;
  margin-bottom: 3vw;}
.list-case li table {
  font-size: 3.4vw;}
.list-case li table th {
  margin-bottom: 1.2vw;}
.list-case li table tr + tr th {
  padding-top: 2vw;}
.list-case li table tr:not(:last-child) td {
  padding-bottom: 2vw;}
.mozaiku:before {
  backdrop-filter: blur(2vw);
  text-shadow: 0 0 2vw rgba(0, 0, 0, .1);
  font-size: 3.8vw;}}

/*

  下層ページ共通：方法

================================================================
*/
.list-part table {
  width: 100%;
  font-family: zkr;
  line-height: 1.6;}
.list-part table tr {
  border: 1px solid #F7F7F7;
  display: flex;}
.list-part table tr + tr {
  margin-top: 3px;}
.list-part table th {
  white-space: nowrap;
  padding: 10px 10px 10px 40px;
  text-align: left;
  vertical-align: top;
  background-color: #F7F7F7;
  font-weight: 500;
  font-family: zkm;
  color: #00457E;
  width: 25%;}
.list-part table td {
  padding: 10px;
  flex: 1;
  color: #676767;
  font-family: zkr;
  background-color: #fff;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-part {
  padding: 0 5vw;}
.list-part table {
  font-size: 3.4vw;}
.list-part table tr + tr {
  margin-top: 1vw;}
.list-part table th {
  padding: 2.5vw;
  width: 35%;}
.list-part table td {
  padding: 2.5vw;
  line-height: 1.8;
  font-size: 3.4vw;}
}
/*

  下層ページ共通：流れ

================================================================
*/
.list-flow {
  position: relative;}
.list-flow > li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 50px;}
.list-flow > li:before {
  pointer-events: none;
  content: '01';
  position: absolute;
  top: 5px;
  left: 0;
  font-family: smm;
  font-size: 24px;
  color: #00457E;}
.list-flow > li:nth-child(2):before {
  content: '02';}
.list-flow > li:nth-child(3):before {
  content: '03';}
.list-flow > li:nth-child(4):before {
  content: '04';}
.list-flow > li:nth-child(5):before {
  content: '05';}
.list-flow > li:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  width: 1px;
  height: 75%;
  background-color: #C6C3C4;}
.list-flow > li figure {
  width: 260px;}
.list-flow > li figure img {
  border-radius: 6px;}
.list-flow > li > div {
  flex: 1;
  margin-left: 30px;}
.list-flow > li > div .title {
  margin-bottom: 10px;
  padding-bottom: 15px;
  font-weight: normal;
  font-size: 19px;
  font-family: smm;
  font-feature-settings: normal;
  letter-spacing: .1em;
  border-bottom: 1px solid #D5CDC6;}
.list-flow > li > div .txt {
  line-height: 1.9;
  font-family: zkr;}
.list-flow > li + li {
  margin-top: 20px;}
.list-flow .pcta {
  padding: 0;
  background: none;}
.list-flow .pcta ul {
  width: 100%;
  margin-top: 20px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-flow {
  padding: 0 5vw;}
.list-flow > li {
  display: block;
  padding-left: 10vw;}
.list-flow > li:before {
  top: 0;
  padding-bottom: 5vw;
  font-size: 5vw;
  background-color: #fff;
  z-index: 2;}
.list-flow > li:after {
  bottom: auto;
  top: 0;
  left: 2.5vw;
  height: 100%;}
.list-flow > li figure {
  width: 100%;}
.list-flow > li figure img {
  object-fit: cover;
  width: 100%;
  height: 40vw;
  border-radius: 2vw;}
.list-flow > li > div {
  width: 100%;
  margin-top: 3vw;
  margin-left: 0;}
.list-flow > li > div .title {
  margin-bottom: 2.5vw;
  padding-bottom: 3.5vw;
  text-align: center;
  font-size: 4.2vw;}
.list-flow > li > div .txt {
  font-size: 3.5vw;}
.list-flow > li + li {
  margin-top: 7vw;}
.list-flow .pcta ul {
  margin-top: 5vw;}
.list-flow .pcta ul li.tel a {
  background-color: #f7f7f7;}}

/*

  下層ページ共通：施術詳細

================================================================
*/
.dlg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 50px 50px;
  grid-template-areas:
      "div1 div3"
      "div1 div4";}
.dlg .div1 {
    grid-area: div1;}
.dlg .div3{
    grid-area: div3;}
.dlg .div4 {
    grid-area: div4;}
.dlg .h2b {
  margin-bottom: 30px;}
.dlg table {
  width: 100%;
  font-family: zkr;
  line-height: 1.6;}
.dlg table th {
  white-space: nowrap;
  padding: 10px;
  text-align: left;
  vertical-align: top;
  background-color: #EBF0F5;
  font-weight: 500;
  font-family: zkm;
  color: #00457E;}
.dlg table td {
  padding: 10px;
  background-color: #fff;}
.dlg table td a{
  border-bottom: solid 1px #17191A;}
.dlg table tr + tr th {
  border-top: 1px solid #fff;}
.dlg table tr + tr td {
  border-top: 1px solid #E9E9E9;}
.dlg .txt {
  padding: 20px;
  background-color: #fff;
  line-height: 1.9;
  font-family: zkr;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.dlg {
  display: block;
  padding: 0 5vw;}
.dlg > div + div {
  margin-top: 10vw;}
.dlg .h2b {
  margin-bottom: 7vw;}
.dlg table {
  font-size: 3.4vw;}
.dlg table th {
  padding: 2.5vw;}
.dlg table td {
  padding: 2.5vw;}
.dlg .txt {
  padding: 5vw;
  line-height: 1.8;
  font-size: 3.4vw;}}

/*

  下層ページ共通：料金表

================================================================
*/
.ptable {
  width: 800px;
  margin: 0 auto;
  font-family: zkr;
  line-height: 1.6;}
.ptable th {
  white-space: nowrap;
  width: 1px;
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  background-color: #EBF0F5;
  font-family: zkm;
  font-weight: 500;
  color: #00457E;}
.ptable td {
  padding: 12px;
  text-align: right;
  background-color: #fff;}
.ptable td span {
  font-size: 105%;}
.ptable tr + tr th {
  border-top: 1px solid #fff;}
.ptable tr + tr td {
  border-top: 1px solid #E9E9E9;}
.ptable caption {
  caption-side: bottom;
  margin-top: 10px;
  text-align: right;
  font-size: 14px;}
.ptable td span .caution{
  font-size: 14px;
  opacity: 0.7;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.ptable {
  width: 90vw;
  font-size: 3.5vw;
  line-height: 1.6;}
.ptable,
.ptable tr,
.ptable tbody,
.ptable th,
.ptable td,
.ptable caption {
  display: block;}
.ptable th {
  width: 100%;
  padding: 2.5vw 3vw;}
.ptable td {
  padding: 2.5vw;}
.ptable tr + tr th {
  border-top: none;}
.ptable tr + tr td {
  border-top: none;}
.ptable caption {
  margin-top: 2vw;
  font-size: 3vw;}
.ptable td span .caution{
  font-size: 3vw;}}
/*

  下層ページ共通：よくある質問

================================================================
*/
.list-faq {
  position: relative;}
.list-faq li {
  padding: 30px 40px;
  border-radius: 6px;
  background-color: #fff;
  border: 1px solid #E9E9E9;
  box-shadow: 3px 3px 20px rgba(0, 0, 0, .05);}
.list-faq li + li {
  margin-top: 20px;}
.list-faq li dl {
  line-height: 1.8;}
.list-faq li dl dt {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 10px;
  padding-left: 2em;
  border-bottom: 1px solid #E9E9E9;}
.list-faq li dl dt h3 {
  font-weight: 500;
  font-size: 15px;}
.list-faq li dl dt:before {
  pointer-events: none;
  content: 'Q.';
  position: absolute;
  top: -.2em;
  left: 0;
  font-family: smm;
  font-size: 130%;
  color: #00457E;}
.list-faq li dl dd {
  font-family: zkr;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-faq {
  padding: 0 5vw;}
.list-faq li {
  padding: 4vw 5vw;
  border-radius: 2vw;
  box-shadow: 1vw 0 1vw rgba(0, 0, 0, .05);}
.list-faq li + li {
  margin-top: 3vw;}
.list-faq li dl {
  line-height: 1.7;}
.list-faq li dl dt {
  margin-bottom: 2vw;
  padding-bottom: 2vw;}
.list-faq li dl dt h3 {
  font-size: 3.5vw;}
.list-faq li dl dd {
  font-size: 3.4vw;}}

/*

  下層ページ共通：期待できる効果

================================================================
*/
.list-effect {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;}
.list-effect li {
  overflow: hidden;
  width: 32%;
  margin-top: 20px;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 3px 3px 20px rgba(0, 0, 0, .05);}
.list-effect li + li {
  margin-left: 2%;}
.list-effect li:nth-child(3n+1) {
  margin-left: 0;}
.list-effect li:nth-child(-n+3) {
  margin-top: 0;}
.list-effect li .title {
  padding: 12px 0;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  color: #00457E;}
.list-effect li .txt {
  border-top: 1px solid #eee;
  padding: 10px 20px;
  font-family: zkr;
  line-height: 1.6;}
.list-effect.spcolumn li .txt {
  line-height: 1.8;}
.list-effect.ver02 {
  display: block;}
.list-effect h4 {
  line-height: 1.9;
  font-family: zkr;}
.list-effect h4 + .txt {
  line-height: 1.9;
  font-family: zkr;}
.list-effect .txt + h4 {
  padding-top: 20px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-effect {
  display: flex;
  justify-content: space-between;
  padding: 0 5vw;}
.list-effect li {
  width: 48%;
  margin-top: 3vw;
  border-radius: 1vw;
  box-shadow: 1vw 0 1vw rgba(0, 0, 0, .05);}
.list-effect li + li {
  margin-left: 0;}
.list-effect li:nth-child(-n+3) {
  margin-top: 3vw;}
.list-effect li:nth-child(-n+2) {
  margin-top: 0;}
.list-effect li .title {
  padding: 2.5vw 0;
  font-size: 3.4vw;}
.list-effect li .txt {
  padding: 2vw 3.5vw;
  font-size: 3.2vw;}
.list-effect.spcolumn {
  flex-direction: column;}
.list-effect.spcolumn li {
  width: 100%;}
.list-effect.spcolumn li + li {
  margin-top: 5vw;}
.list-effect.spcolumn li .title {
  font-size: 3.8vw;}
.list-effect.spcolumn li .txt {
  padding: 3vw 5vw 5vw;
  font-size: 3.6vw;
  line-height: 1.8;}
.list-effect h4 + .txt {
  font-size: 3.5vw;}
.list-effect .txt + h4 {
  padding-top: 3vw;}
}

/*

  下層ページ共通：youtube

================================================================
*/
.youtube {
  width: 800px;
  margin: 0 auto;}
.youtube iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.youtube {
  width: 100%;
  padding: 0 3vw;}
.youtube iframe {
  border-radius: 2vw;}}

/*

  下層ページ共通：メリット/デメリット

================================================================
*/
.pac {
  display: flex;
  justify-content: space-between;}
.pac > div {
  overflow: hidden;
  width: 48.5%;
  border-radius: 10px;
  background-color: #fff;}
.pac > div h3 {
  padding: 12px 0;
  text-align: center;
  font-weight: normal;
  font-size: 18px;
  color: #fff;}
.pac > div > div {
  padding: 15px 20px 20px;}
.pac > div > div .txt {
  line-height: 1.8;
  font-family: zkr;}
.pac .left h3 {
  background-color: #E98A97;}
.pac .right h3 {
  background-color: #B5B5B5;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pac {
  padding: 0 5vw;
  flex-direction: column;}
.pac > div {
  width: 100%;
  border-radius: 2vw;}
.pac > div + div {
  margin-top: 5vw;}
.pac > div h3 {
  padding: 3.5vw 0;
  font-size: 3.8vw;}
.pac > div > div {
  padding: 4vw 5vw 5vw;}
.pac > div > div .txt {
  font-size: 3.5vw;}}
/*

  下層ページ共通：痛みを最小限に抑える医療への取り組み

================================================================
*/
.pain-management{
  padding: 60px 0;
  background-image: url(../img/under/parts/pain-management/bg.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;}
.pain-management .intro,
.pain-management .ending,
.else_heading{
  text-align: center;
  font-family: "zkr";
  line-height: 1.9;}
.pain-management .ending span{
  color: #00457E;
  font-family: "zkm";}
.pain-management .anesthesia{
  margin: 40px 0;}
.pain-management .anesthesia .bbl{
  background-color: #00457E;
  width: fit-content;
  position: relative;
  border-radius: 5px;
  margin: 0 auto;
  margin-bottom: 20px;}
.pain-management .anesthesia .bbl .tit{
  color: #fff;
  font-size: 18px;
  padding: 15px 50px 18px 50px;}
.pain-management .anesthesia .bbl .arrow{
  position: absolute;
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 11px solid #00457E;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);}
.pain-management .anesthesia .list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;}
.pain-management .anesthesia .list .list_item{
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 6px;
  background-color: #fff;
  border: solid 1px #E9E9E9;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;}
.pain-management .anesthesia .list .list_item .pht{
  width: 20%;}
.pain-management .anesthesia .list .list_item .pht img{
  width: 100%;
  height: 100%;
  object-fit: contain;}
.pain-management .anesthesia .list .list_item .textarea{
  width: 80%;}
.pain-management .anesthesia .list .list_item .textarea h3{
  color: #00457E;
  font-size: 18px;
  margin-bottom: 10px;}
.pain-management .anesthesia .list .list_item .textarea p{
  font-family: "zkr";
  line-height: 1.9;}
.pain-management .else .list{
  margin: 20px 0;
  background-color: #fff;
  padding: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  color: #676767;
  gap: 10px 20px;}
.pain-management .else .list li{
  display: flex;
  align-items: center;
  height: 50px;
  padding-left: 22px;
  background: url(../img/under/common/ichk.svg) no-repeat left center / auto 12px;
  line-height: 1.3;}
.pain-management .else .list li:nth-of-type(1),
.pain-management .else .list li:nth-of-type(2) {
  border-bottom: solid 1px #C6C3C4;}
.ending{
  margin-top: 40px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pain-management{
  padding: 12vw 5vw;}
.pain-management .intro,
.pain-management .ending,
.else_heading{
  font-size: 3.5vw;}
.pain-management .anesthesia{
  margin: 6vw 0;}
.pain-management .anesthesia .bbl{
  margin-bottom: 4vw;}
.pain-management .anesthesia .bbl .tit{
  font-size: 3.6vw;
  padding: 3vw 6vw 3.4vw 6vw;}
.pain-management .anesthesia .bbl .arrow{
  border-left: 3.8vw solid transparent;
  border-right: 3.8vw solid transparent;
  border-top: 2vw solid #00457E;
  bottom: -1.9vw;}
.pain-management .anesthesia .list{
  grid-template-columns: repeat(1, 1fr);
  gap: 2vw;}
.pain-management .anesthesia .list .list_item{
  gap: 2vw;
  padding: 4vw;}
.pain-management .anesthesia .list .list_item .textarea h3{
  font-size: 3.8vw;
  margin-bottom: 2vw;}
.pain-management .anesthesia .list .list_item .textarea p{
font-size: 3.5vw;}
.pain-management .anesthesia .list .list_item .pht{
  width: 30%;}
.pain-management .anesthesia .list .list_item .textarea{
  width: 70%;}
.pain-management .else .list{
  margin: 1.8vw 0;
  padding: 5vw 6vw;
  grid-template-columns: repeat(1, 1fr);
  gap: 0;
  font-size: 3.2vw;}
.pain-management .else .list li{
  border-bottom: solid 1px #C6C3C4;
  height: auto;
  padding: 4vw 0 4vw 1.2em;
  line-height: 1.6;}
.pain-management .else .list li:nth-of-type(4){
  border-bottom: none;}
.ending{
  margin-top: 7vw;}}
/*

  下層ページ：テンプレートパーツ：レイアウト

================================================================
*/
.pl00 {
  padding: 0 0 60px 0;
  background-color: #FFFFFF;
}
.pl01 {
  padding: 60px 0;
  background-color: #F7F7F7;}
.pl01_ptn{
  padding: 0 0 60px 0;
  background-color: #F7F7F7;}
.pl02 {
  padding: 60px 0;
  background-color: #fff;}
.pl02_ptn{
  padding: 0 0 60px 0;}
.pl02.bt {
  border-top: 1px solid #EBF0F5;}
.pl03 {
  padding: 60px 0;
  background-color: #EBF0F5;}
.pl04 {
  padding: 60px 0;
  background: linear-gradient(180deg, #F7F7F7 0%, #F7F7F7 200px, #fff 200px, #fff 100%);
  background-color: #F7F7F7;}
.lbox01 + .lbox01 {
  margin-top: 50px;}
.pt0 {
  padding-top: 0!important;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pl00 {
  padding: 0 0 12vw 0;}
.pl01 {
  padding: 12vw 0;}
.pl01_ptn{
  padding: 12vw 0;}
.pl02 {
  padding: 12vw 0;}
.pl02_ptn{
  padding: 0 0 12vw 0;}
.pl03 {
  padding: 12vw 0;}
.pl04 {
  padding: 12vw 0;
  background: linear-gradient(180deg, #F7F7F7 0%, #F7F7F7 45vw, #fff 45vw, #fff 100%);}
.lbox01 + .lbox01 {
  margin-top: 7vw;}}

/*

  下層ページ：テンプレートパーツ：大パーツ

================================================================
*/

/* flex01
--------------------------------------------------------------*/
.lflex-01 {
  display: flex;
  justify-content: space-between;
  align-items: center;}
.lflex-01 figure {
  width: 500px;}
.lflex-01 figure img {
  width: 100%;
  height: auto;
  border-radius: 6px;}
.lflex-01 > div {
  flex: 1;
  margin-left: 60px;}
.lflex-01 .textarea{
  display: flex;
  flex-direction: column;
  gap: 25px;}
.lflex-01 .pht_none{
  margin-left: initial;}
.lflex-01 > .pht_none{
  margin-left: initial;}
.lflex-01 > .pht_none div:first-child{
  margin-bottom: 20px;}
.lflex-01 > div  .bg_wh{
  background-color: #fff;
  padding: 10px 20px;
  margin-bottom: 20px;
  font-weight: normal;}
.lflex-01 > div .txt {
  line-height: 1.9;
  font-family: zkr;}
.lflex-01 > div .txt_cl {
  color: #676767;}
.lflex-01 > div .txt_mb{
  margin-bottom: 30px;
  color: #676767;}
.lflex-01 > div .tit_mb{
  margin-bottom: 10px;}
.lflex-01.rev figure {
  order: 2;}
.lflex-01.rev > div {
  margin-left: 0;
  margin-right: 60px;}
.lflex-01 > div .ilink {
  margin-top: 30px;}
.lflex-01.iw350 figure {
  width: 350px;}
.lflex-01 > div .stitle {
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 10px 15px 12px;
  background-color: #F7F7F7;
  font-family: zkm;}
.lflex-01 > div ul {
  line-height: 1.9;
  font-family: zkr;}
.lflex-01 > div ul li {
  position: relative;
  padding-left: 1.2em;}
.lflex-01 > div ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: .4em;
  background-color:  #17191A;
  border-radius: 50%;
  transform: translateY(-50%);
  width: .2em;
  height: .2em;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.lflex-01 {
  display: block;}
.lflex-01 figure {
  width: 100%;}
.lflex-01 figure img {
  border-radius: 0;}
.lflex-01 > div {
  width: 100%;
  margin-top: 7vw;
  margin-left: 0;
  padding: 0 5vw;}
.lflex-01 .textarea{
  gap: 5vw;}
.lflex-01 > .pht_none{
  padding: 0 5vw;}
.lflex-01 > div .bg_wh{
  padding: 3vw 4vw;
  margin-bottom: 4vw;
  font-size: 3.5vw;
  line-height: 1.6;}
.lflex-01 > div .tit_mb{
  font-size: 3.5vw;}
.lflex-01 > div p{
  font-size: 3.5vw;}
.lflex-01 > div .txt {
  font-size: 3.5vw;}
.lflex-01.rev > div {
  margin-right: 0;}
.lflex-01 > div .ilink {
  margin-top: 5vw;}
.lflex-01.iw350 figure {
  width: 100%;}
.lflex-01 > div .stitle {
  margin-top: 5vw;
  margin-bottom: 2.5vw;
  padding: 3vw;
  font-size: 3.5vw;}
.lflex-01 > div ul {
  font-size: 3.5vw;}
.lflex-01 > div ul li::before {
  top: 3vw;
  transform: none;}
}

/* outline01
--------------------------------------------------------------*/
.ol01 {
  position: relative;
  width: 100%;
  padding: 40px 60px;
  border-radius: 6px;
  background-color: #F7F7F7;}
.ol01 .h2b {
  margin-bottom: 30px;}
.ol01 .txt {
  line-height: 1.9;
  font-family: zkr;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.ol01 {
  padding: 12vw 5vw;
  border-radius: 0;}
.ol01 .h2b {
  margin-bottom: 7vw;}
.ol01 .txt {
  font-size: 3.5vw;}}

/*

  下層ページ：テンプレートパーツ：小パーツ

================================================================
*/
strong.ut {
  display: inline;
  background: linear-gradient(transparent 60%, #faf2bc 60%);
  font-weight: 500;}
.read-txt {
  text-align: center;
  font-family: zkr;
  line-height: 1.8;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.read-txt {
  padding: 0 5vw;
  text-align: left;
  font-size: 3.6vw;}}
.read-txt-center{
  text-align: center;
}
/*

  下層ページ：テンプレートパーツ：ヘッドライン

================================================================
*/

/* 基本h2
--------------------------------------------------------------*/
.h2b {
  margin-bottom: 50px;
  text-align: center;}
.h2b h2 {
  font-weight: normal;
  font-size: 24px;
  font-family: smm;
  font-feature-settings: normal;
  letter-spacing: .15em;
  line-height: 1.6;}
.h2b h2 span {
  font-feature-settings: "palt";
  letter-spacing: .3em;}
.h2b .en {
  margin-top: 10px;
  color: #00457E;
  font-family: smm;
  font-feature-settings: normal;
  font-size: 15px;
  letter-spacing: .1em;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.h2b {
  margin-bottom: 7vw;}
.h2b h2 {
  font-size: 5vw;
  letter-spacing: .1em;}
.h2b h2 span {
  letter-spacing: .25em;}
.h2b .en {
  margin-top: 2vw;
  font-size: 3.5vw;}}

/* h3 ver01
--------------------------------------------------------------*/
h3.ver01 {
  margin-bottom: 20px;
  font-weight: normal;
  font-size: 22px;
  font-family: smm;
  font-feature-settings: normal;
  letter-spacing: .15em;
  line-height: 1.6;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
h3.ver01 {
  margin-bottom: 3.5vw;
  text-align: center;
  font-size: 4.8vw;
  line-height: 1.7;
  letter-spacing: .1em;}}

/* h3 ver02
--------------------------------------------------------------*/
h3.ver02 {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #D5CDC6;
  font-weight: normal;
  font-size: 22px;
  font-family: smm;
  font-feature-settings: normal;
  letter-spacing: .15em;
  line-height: 1.6;}
h3.ver02:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 20%;
  height: 1px;
  background-color: #00457E;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
h3.ver02 {
  margin-bottom: 3.5vw;
  padding-bottom: 3vw;
  text-align: center;
  font-size: 4.8vw;
  line-height: 1.7;
  letter-spacing: .1em;}
h3.ver02:before {
  left: 50%;
  width: 20%;
  margin-left: -10%;}}

/*

  注力ページ：ボトックス

================================================================
*/
/* 施術箇所
--------------------------------------------------------------*/
.botox-parts {
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../img/under/botox/c01.jpg) no-repeat center / cover;}
.botox-parts ul {
  position: absolute;}
.botox-parts ul li {
  display: flex;
  align-items: center;
  width: 220px;
  height: 38px;
  padding: 0 10px;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, .7);
  font-size: 14px;}
.botox-parts ul li.wide {
  width: 300px;}
.botox-parts ul li span {
  margin-right: 5px;
  color: #00457E;}
.botox-parts ul li span i {
  font-size: 90%;
  letter-spacing: 0;}
.botox-parts ul li + li {
  margin-top: 15px;}
.botox-parts .left {
  top: 45px;
  left: 112px;}
.botox-parts .right {
  top: 50px;
  right: 62px;}
.botox-parts .other {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;}
.botox-parts .other span {
  display: inline-block;
  margin-right: 5px;
  color: #00457E;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.botox-parts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: auto;
  padding: 0 4vw;
  padding-top: 60vw;
  background-position: top center;
  background-size: 100% auto;
  background-image: url(../img/under/botox/c01sp.jpg);}
.botox-parts ul {
  position: static;
  width: 49%;}
.botox-parts ul li {
  width: 100%;
  height: 10vw;
  padding: 0 0 0 3vw;
  border-radius: 2vw;
  backdrop-filter: blur(1vw);
  font-size: 3vw;}
.botox-parts ul li.wide {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 22vw;}
.botox-parts ul li.wide span {
  margin-bottom: 2vw;}
.botox-parts ul li span {
  margin-right: 0;}
.botox-parts ul li + li {
  margin-top: 2vw;}
.botox-parts .other {
  position: static;
  display: block;
  width: 100%;
  margin-top: 3.5vw;
  text-align: right;
  font-size: 3vw;}
.botox-parts .other span {
  margin-right: 0;}}

/* ボトックスに期待できる効果
--------------------------------------------------------------*/
.ly_cont {
  position: relative;}
#js_selectToggle {
  display: block;
  width: 600px;
  height: 50px;
  margin: 0 auto;
  border: 2px solid #00457E;
  border-radius: 6px;
  background: url(../img/common/iab.png) no-repeat right 20px center / 10px auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, .05);
  background-color: #fff;
  text-align: center;
  color: #00457E;
  font-size: 16px;}
#js_selectToggle option {
  font-size: 15px;
  color: #17191A;}
.bl_selectCont {
  display: none;
  margin-top: 50px;
  font-family: zkr;}
.bl_selectCont.is_active {
  display: revert;}
.bl_selectCont h3 {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 15px;
  font-weight: normal;
  font-size: 20px;
  font-family: smm;
  font-feature-settings: normal;
  letter-spacing: .1em;
  border-bottom: 1px solid #D5CDC6;}
.bl_selectCont h3:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 20%;
  height: 1px;
  background-color: #00457E;}
.bl_selectCont .read {
  margin-bottom: 30px;
  line-height: 1.9;}
.bl_selectCont table {
  width: 100%;
  line-height: 1.8;
  font-family: zkr;
  font-size: 14px;}
.bl_selectCont table tr + tr {
  border-top: 1px solid #eee;}
.bl_selectCont table th {
  white-space: nowrap;
  width: 1%;
  padding: 10px;
  vertical-align: top;
  text-align: left;
  font-weight: normal;
  font-family: zkm;
  color: #00457E;}
.bl_selectCont table td {
  padding: 10px;
  padding-left: 20px;
  text-align: left;}

.bl_selectCont ul {
  margin: 15px 0 0;
  line-height: 1.6;}
.bl_selectCont ul li {
  position: relative;
  padding-left: 1em;}
.bl_selectCont ul li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;}
.bl_selectCont ul li + li {
  margin-top: 5px;}
.bl_selectCont a {
  margin-top: 20px;
  font-family: zkm;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.ly_cont {
  padding: 0 5vw;}
#js_selectToggle {
  width: 100%;
  height: 12vw;
  border-radius: 2vw;
  background-size: 2vw auto;
  background-position: right 4vw center;
  text-align-last: center;
  font-size: 3.5vw;}
#js_selectToggle option {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 3.5vw;}
.bl_selectCont {
  margin-top: 10vw;}
.bl_selectCont h3 {
  margin-bottom: 3.5vw;
  padding-bottom: 3.5vw;
  text-align: center;
  letter-spacing: .05em;
  font-size: 4.5vw;}
.bl_selectCont h3:after {
  left: 50%;
  margin-left: -10%;}
.bl_selectCont .read {
  margin-bottom: 5vw;
  font-size: 3.5vw;}
.bl_selectCont .lflex-01 div {
  margin-top: 2vw;
  padding: 0;}
.bl_selectCont table {
  font-size: 3.4vw;}
.bl_selectCont table th {
  padding: 2vw;}
.bl_selectCont table td {
  padding: 2vw;
  padding-left: 5vw;}}

/*

  注力ページ：水光注射

================================================================
*/

/* 施術箇所
--------------------------------------------------------------*/
.suikou-parts {
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../img/under/suikou/d01.jpg) no-repeat center / cover;}
.suikou-parts .zen {
  position: absolute;
  top: 150px;
  left: 200px;
  width: 140px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  background: linear-gradient(-20deg, #83B4DE 0%, #7DD4D0 100%);
  font-size: 18px;
  color: #fff;}
.suikou-parts .other {
  position: absolute;
  bottom: 20px;
  right: 20px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.suikou-parts {
  height: 70vw;
  background: url(../img/under/suikou/d01.jpg) no-repeat center / cover;}
.suikou-parts .zen {
  top: 30vw;
  left: 10vw;
  width: 20vw;
  font-size: 3.8vw;}
.suikou-parts .other {
  bottom: 3.5vw;
  right: 3vw;
  font-size: 3vw;}}

/* 水光注射に期待できる効果（基本はボトックスverの引用）
--------------------------------------------------------------*/
.bl_selectCont .stitle {
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 10px 15px 12px;
  background-color: #F7F7F7;
  font-family: zkm;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.bl_selectCont .stitle {
  margin-top: 5vw;
  margin-bottom: 2.5vw;
  padding: 3vw;
  font-size: 3.5vw;}}

/* 水光注射直後
--------------------------------------------------------------*/
.chokugo {
  display: flex;
  align-items: center;
  padding: 30px 70px;
  border-radius: 10px;
  background-color: #fff;}
.chokugo figure {
  position: relative;
  width: 470px;
  z-index: 2;}
.chokugo figure img {
  width: 100%;
  height: auto;
  border-radius: 10px;}
.chokugo > div {
  flex: 1;
  margin-right: 30px;}
.chokugo > div .title {
  position: relative;
  margin-bottom: 20px;}
.chokugo > div .title span {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background: linear-gradient(-20deg, #83B4DE 0%, #7DD4D0 100%);
  font-size: 18px;
  color: #fff;
  z-index: 2;}
.chokugo > div .title:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 500px;
  height: 1px;
  background-color: #00457E;}
.chokugo > div .txt {
  font-family: zkr;
  line-height: 1.8;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.chokugo {
  flex-direction: column;
  width: 90vw;
  margin: 0 auto;
  padding: 5vw;
  border-radius: 2vw;}
.chokugo figure {
  width: 100%;
  margin-top: 5vw;}
.chokugo figure img {
  border-radius: 2vw;}
.chokugo > div {
  margin-right: 0;}
.chokugo > div .title {
  margin-bottom: 2vw;}
.chokugo > div .title span {
  display: block;
  padding: 2.5vw 0;
  text-align: center;
  font-size: 3.8vw;}
.chokugo > div .title:after {
  display: none;}
.chokugo > div .txt {
  font-size: 3.5vw;}}

/*

  注力ページ：肌育注射

================================================================
*/

/* 期待できる効果
--------------------------------------------------------------*/
.list-effect-hadaiku {
  display: flex;
  flex-wrap: wrap;}
.list-effect-hadaiku > li {
  width: 50%;
  border-top: 1px solid #F7F7F7;}
.list-effect-hadaiku > li:nth-child(-n+2) {
  border-top: none;}
.list-effect-hadaiku > li table {
  width: 100%;}
.list-effect-hadaiku > li table th {
  width: 35%;
  height: 150px;
  background-color: #EBF0F5;
  font-weight: normal;
  font-family: zkm;
  text-align: center;
  color: #00457E;}
.list-effect-hadaiku > li table th figure {
  margin-bottom: 10px;
  text-align: center;}
.list-effect-hadaiku > li table th figure img {
  width: auto;}
.list-effect-hadaiku > li table td {
  padding: 0 20px;
  background-color: #fff;
  font-family: zkr;}
.list-effect-hadaiku > li ul {
  line-height: 1.6;}
.list-effect-hadaiku > li ul li {
  position: relative;
  padding-left: 1em;}
.list-effect-hadaiku > li ul li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;}
.list-effect-hadaiku > li ul li + li {
  margin-top: 3px;}
.list-effect-hadaiku > li:nth-child(1) table th figure img {
  height: 70px;}
.list-effect-hadaiku > li:nth-child(2) table th figure img {
  height: 65px;}
.list-effect-hadaiku > li:nth-child(3) table th figure img {
  height: 78px;}
.list-effect-hadaiku > li:nth-child(4) table th figure img {
  height: 70px;}
.list-effect-hadaiku > li:nth-child(5) table th figure img {
  height: 40px;}
.list-effect-hadaiku > li:nth-child(6) table th figure img {
  height: 70px;}
 .list-effect-hadaiku > li:nth-child(7) table th figure img {
  height: 50px;}
   .list-effect-hadaiku > li:nth-child(8) table th figure img {
  height: 55px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.list-effect-hadaiku {
  flex-direction: column;}
.list-effect-hadaiku > li {
  width: 100%;
  border-top: 1px solid #F7F7F7!important;}
.list-effect-hadaiku > li table th {
  width: 35%;
  height: auto;
  padding: 5vw 0;
  font-size: 3.5vw;}
.list-effect-hadaiku > li table th figure {
  margin-bottom: 1.5vw;}
.list-effect-hadaiku > li table td {
  padding: 5vw;
  font-size: 3.4vw;}
.list-effect-hadaiku > li ul li + li {
  margin-top: .5vw;}
.list-effect-hadaiku > li:nth-child(1) table th figure img {
  height: 20vw;}
.list-effect-hadaiku > li:nth-child(2) table th figure img {
  height: 16vw;}
.list-effect-hadaiku > li:nth-child(3) table th figure img {
  height: 20vw;}
.list-effect-hadaiku > li:nth-child(4) table th figure img {
  height: 20vw;}
.list-effect-hadaiku > li:nth-child(5) table th figure img {
  height: 10vw;}
.list-effect-hadaiku > li:nth-child(6) table th figure img {
  height: 18vw;}
.list-effect-hadaiku > li:nth-child(7) table th figure img {
  height: 12vw;}
.list-effect-hadaiku > li:nth-child(8) table th figure img {
  height: 13vw;}}

/* SNSでも解説しています
--------------------------------------------------------------*/
.hadaiku_sns{
  display: flex;
  justify-content: space-between;}
.insta{
  width: 40%;}
.insta iframe {
  width: 100% !important;}
.hadaiku_sns .textarea{
  width: 55%;}
.hadaiku_sns .textarea .table{
  width: 100%;}
.hadaiku_sns .textarea .table th,.hadaiku_sns .table td{
  display: block;}
.hadaiku_sns .textarea .table th{
  padding: 12px 15px;
  background-color: #EBF0F5;
  font-family: "zkm";
  font-weight: 500;
  color: #00457E;
  text-align: left;}
.hadaiku_sns .textarea .table td{
  padding: 15px;
  font-family: "zkr";
  font-size: 105%;
  text-align: right;
  line-height: 1.6;
  background-color: #fff;}
/* .hadaiku_sns .textarea .table td li{
  display: flex;
  justify-content: end;
  margin-bottom: 10px;}
.hadaiku_sns .textarea .table td li:last-child{
  margin-bottom: initial;} */
/* .hadaiku_sns .textarea .table td li .quantity{
  width: 60%;} */
/* .hadaiku_sns .textarea .table td li .price{
  width: 40%;
  display: flex;
  justify-content: end;
  padding-left: 10px;} */
/* .hadaiku_sns .textarea .table td li span:first-child{
  width: 40%;} */
/* .hadaiku_sns .textarea .table td li span:last-child{
  display: block;
  font-family: "zkm";
  font-weight: 500;
  font-size: 110%;
  position: relative;
  width: 60%;
} */
/* .hadaiku_sns .textarea .table td li span:last-child::before{
  content: "▶︎";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  font-size: 70%;} */
.hadaiku_sns .textarea .table caption{
  caption-side: bottom;
  margin-top: 10px;
  text-align: right;
  font-size: 14px;
  font-family: "zkr";
  line-height: 1.6;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hadaiku_sns{
  flex-direction: column;
  gap: 3vw;}
.insta{
  margin: 0 auto;
  width: 90%;
  max-width: 400px;}
.hadaiku_sns .textarea{
  width: 90vw;
  margin: 0 auto;}
.hadaiku_sns .textarea .table th{
  padding: 2.5vw 3vw;
  font-size: 3.5vw;
  line-height: 1.6;}
.hadaiku_sns .textarea .table td{
  padding: 2.5vw;
  font-size: 3.5vw;}
.hadaiku_sns .textarea .table td li{
  margin-bottom: 2vw;}
/* .hadaiku_sns .textarea .table td li .quantity{
  width: 40%;}
.hadaiku_sns .textarea .table td li .price{
  width: 60%;} */
/* .hadaiku_sns .textarea .table td li span:last-child{
  font-size: 3.8vw;}
.hadaiku_sns .textarea .table td li span:last-child::before{
  font-size: 2.6vw;} */
.hadaiku_sns .textarea .table caption{
  margin-top: 2vw;
  font-size: 3vw;}
.hadaiku_ilink{
  margin: 5vw 0 0 5vw;}}
/*

  注力ページ：ボトックス

================================================================
*/

/* 施術箇所
--------------------------------------------------------------*/
.hiaru-parts {
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../img/under/hiaru/d01.jpg) no-repeat center / cover;}
.hiaru-parts ul {
  position: absolute;}
.hiaru-parts ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 38px;
  padding: 0 10px;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, .7);
  box-shadow: 0 0 10px rgba(0, 0, 0, .02);
  text-align: center;
  font-size: 14px;}
.hiaru-parts ul li span {
  color: #00457E;}
.hiaru-parts ul li + li {
  margin-top: 15px;}
.hiaru-parts .left {
  top: 100px;
  left: 188px;}
.hiaru-parts .right {
  top: 100px;
  right: 190px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hiaru-parts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: auto;
  padding: 0 4vw;
  padding-top: 60vw;
  background-position: top center;
  background-size: 192% auto;
  background-image: url(../img/under/hiaru/d01sp.jpg);}
.hiaru-parts ul {
  position: static;
  width: 49%;}
.hiaru-parts ul li {
  width: 100%;
  height: 10vw;
  padding: 0 0 0 3vw;
  border-radius: 2vw;
  backdrop-filter: blur(1vw);
  font-size: 3.5vw;}
.hiaru-parts ul li span {
  margin-right: 0;}
.hiaru-parts ul li + li {
  margin-top: 2vw;}}

/* 施術箇所 table
--------------------------------------------------------------*/
.hiaru-table {
  width: 100%;}
.hiaru-table th {
  white-space: nowrap;
  width: 200px;
  padding: 10px 0;
  background-color: #F7F7F7;
  font-weight: normal;
  color: #00457E;}
.hiaru-table tr + tr th {
  border-top: 1px solid #fff;}
.hiaru-table td {
  padding: 10px 0;
  padding-left: 20px;
  background-color: #fff;}
.hiaru-table tr + tr td {
  border-top: 1px solid #E9E9E9;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hiaru-table {
  width: 90vw;
  margin: 0 auto;
  margin-top: 7vw;
  font-size: 3.5vw;
  line-height: 1.5;}
.hiaru-table th {
  width: auto;
  padding: 2.5vw 3vw;}
.hiaru-table td {
  padding: 2.5vw 3vw;
  padding-left: auto;}}

/* 同じヒアルだと思ってる？
--------------------------------------------------------------*/
.hiaru-same {
  overflow: hidden;
  border-radius: 10px;
  padding: 60px 110px;
  background: url(../img/under/hiaru/g01.jpg) no-repeat center / cover;}
.hiaru-same .title {
  text-align: center;
  font-family: smm;
  letter-spacing: .05em;
  line-height: 1.8;
  font-size: 20px;
  color: #fff;}
.hiaru-same div {
  margin-top: 20px;
  padding: 10px 0;
  text-align: center;
  border-radius: 6px;
  background-color: #fff;
  font-family: smm;
  letter-spacing: .05em;
  line-height: 1.8;
  font-size: 22px;}
.hiaru-same div span {
  color: #E98A97;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hiaru-same {
  border-radius: 0;
  padding: 7vw;}
.hiaru-same .title {
  text-align: center;
  font-size: 4.3vw;}
.hiaru-same div {
  margin-top: 7vw;
  padding: 3vw;
  line-height: 1.6;
  border-radius: 2vw;
  font-size: 4.5vw;}}
/*

  肌育製剤ページ

================================================================
*/
/* 肌育製剤の比較 */
.hadaiku_comparison{
  background-color: #f7f7f7;
  padding: 1px 1px 1px 0;}
.hadaiku_comparison a{
  transition: all ease 0.4s;}
.hadaiku_comparison a:hover{
  opacity: 0.6;}
.hadaiku_comparison tr th figure{
  aspect-ratio: 3/2;
  height: 80px;
  margin: 0 auto;}
.hadaiku_comparison tr th figure{
  aspect-ratio: 3/2;
  height: 80px;
  margin: 0 auto;}
.hadaiku_comparison > li table th figure img{
  height: 100% !important;}
.hadaiku_comparison p{
  margin-top: 10px;
  padding-right: 1.5em;
  background: url(../img/common/ilink.png) no-repeat right center / auto 90%;
  transition: all 0.4s;
  text-align: right;
  transform: translateX(-20px);}
@media (max-width: 768px) {
  .hadaiku_comparison p{
    margin-top: 3vw;
    font-size: 3.2vw;}}

/* リジュラン */
.comparison_rejuran{
  width:100%;}
.comparison_rejuran tr{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  height:130px;}
.comparison_rejuran tr th,
.comparison_rejuran tr td{
  display:flex;
  justify-content:center;
  flex-direction:column;}
.comparison_rejuran tr th{
  background-color:#EBF0F5;
  color:#00457E;}
.comparison_rejuran tr th figure{
  aspect-ratio:3/2;
  height:80px;
  margin:0 auto;}
.comparison_rejuran tr th figure img{
  object-fit:contain;}
.comparison_rejuran tr:first-child td{
  border-top:solid 1px #E9E9E9;}
.comparison_rejuran tr td{
  border-bottom:solid 1px #E9E9E9;}
.comparison_rejuran tr td:first-of-type{
  border-left:solid 1px #E9E9E9;
  border-right:solid 1px #E9E9E9;}
.comparison_rejuran tr td:last-of-type{
  border-right:solid 1px #E9E9E9;
  align-items:center;}
.comparison_text{
  font-family:"zkr";
  margin-top:20px;
  text-align:right;
  font-size:14px;
  opacity:.7;
  line-height:1.6;}
.comparison_rejuran thead tr th:first-of-type{
  background-color:#fff;
  z-index:2;}
.comparison_rejuran thead tr th:nth-of-type(2n){
  border-right:1px solid #fff;}
.comparison_rejuran thead tr{
  grid-template-columns:repeat(3,1fr);}
.comparison_rejuran tbody tr{
  height:60px;
  text-align:center;
  grid-template-columns:repeat(3,1fr);}
.comparison_rejuran tbody tr td:first-of-type{
  color:#00457E;}
.comparison_rejuran tbody tr td:nth-of-type(2n){
  border-right:1px solid #E9E9E9;}
.comparison_rejuran thead,
.comparison_rejuran tbody{
  display:block;
  min-width:540px;}

/* ------------------------------------------------------- sp */
@media (max-width:768px){
.comparison_rejuran{
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;}
.comparison_rejuran thead tr{
  grid-template-columns:minmax(100px,1fr) minmax(250px,1fr) minmax(250px,1fr);
  min-width:600px;}
.comparison_rejuran thead tr th:first-of-type{
  position:sticky;
  top:0;
  left:0;}
.comparison_rejuran tbody{
  display:block;}
.comparison_rejuran tbody tr{
  display:grid;
  grid-template-columns:minmax(100px,1fr) minmax(250px,1fr) minmax(250px,1fr);
  min-width:600px;}
.comparison_rejuran th{
  font-size:clamp(1px,3vw,18px);
  position:relative;}
.comparison_rejuran th figure{
  height:14vw;}
.comparison_rejuran td{
  background:#fff;
  font-size:clamp(1px,3.4vw,18px);}
.comparison_text{
  font-size:3.2vw;}
.comparison_rejuran tbody td:first-of-type{
  position:sticky;
  z-index:2;
  left:0;}}

@media (max-width:460px){
.comparison_rejuran thead tr{
  grid-template-columns:minmax(100px,1fr) minmax(210px,1fr) minmax(210px,1fr);
  min-width:500px;}
.comparison_rejuran tbody tr{
  grid-template-columns:minmax(100px,1fr) minmax(210px,1fr) minmax(210px,1fr);
  min-width:500px;}}

/*

  施術ページ：スレッドリフト

================================================================
*/
.thread_lbox01 h4{
  background-color: #fff;
  font-family: "zkm";
  padding: 10px 15px 12px;
  line-height: 1;
  margin-bottom: 10px;
  font-weight: 500;}
.thread_lbox01 h4:nth-of-type(2n){
  padding: 10px 15px 12px;}
.thread_lbox01 .txt:first-of-type{
  margin-bottom: 20px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.thread_kinds_textarea{
  padding: initial !important;}
.thread_kinds_textarea ul{
  font-size: 3.5vw;}
.thread_lbox01 h4{
  font-size: 3.5vw;
  padding: 3vw;
  margin-bottom: 2.5vw;}
.thread_lbox01 h4:nth-of-type(2n){
padding: 3vw;}
.thread_lbox01 .txt:first-of-type{
  margin-bottom: 6vw;}}
/*

  施術ページ：ほくろ・いぼ

================================================================
*/
.hokuro_banner{
  max-width: 700px;}
.hokuro_banner_pt{
  padding-top: 60px;}
.hokuro_banner_pb{
  padding-bottom: 60px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hokuro_banner{
  padding-left: 5vw;
  padding-right: 5vw;}
.hokuro_banner_pt{
  padding-top: 12vw;}
.hokuro_banner_pb{
  padding-bottom: 12vw;}}  
  
/* ほくろとは
--------------------------------------------------------------*/
.hokuro_kinds_fl{
  display: flex;
  gap: 30px;
  padding: 20px 0;}
.hokuro_kinds_fl:last-child{
  padding: initial;}
.hokuro_kinds_fl > img{
  width: 30%;
  margin-right: 30px;
  object-fit: contain;}
.about_item{
  padding-top: 50px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hokuro_kinds_fl{
  flex-direction: column-reverse;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 20px 0;
  gap: 4vw;}
.hokuro_kinds_fl > img{
  width: 60%;}
.about_item{
padding-top: 8vw;}
.about_item .stitle{
line-height: 1.5;}}
/* メカニズム
--------------------------------------------------------------*/
.hokuro_mec_tit{
  background-color: #f7f7f7;
  padding: 10px 15px 12px;
  font-size: 15px;}
@media (max-width: 767px) {
.hokuro_mec_tit{
  padding: 3vw;
  font-size: 3.5vw;}}
/* 期待できる効果
--------------------------------------------------------------*/
.hokuro_effect{
  padding: 60px 0;
  background-color: #f7f7f7;}
.hokuro_effect_list{
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 30px;}
.hokuro_effect_list li{
  background-color: #fff;
  border-radius: 6px;
  line-height: 1.9;
  font-family: "zkr";
  box-shadow: 3px 3px 20px 0px rgba(0, 0, 0, 0.2);}
.hokuro_effect_list li > p{
  padding: 10px 20px;}
.hokuro_effect_list li img{
  width: 100%;
  object-fit: cover;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hokuro_effect{
  padding: 12vw 5vw;}
.hokuro_effect_list{
grid-template-columns: repeat(1, 1fr); 
font-size: 3.5vw;}
.hokuro_effect_list li > p{
  padding: 2vw 5vw;}}

/* ほくろ・いぼ治療の方法
--------------------------------------------------------------*/
.hokuro_method{
  padding: 60px 0;}
.hokuro_method_list > li{
  color: #00457E;
  padding: 20px;
  background-color: #F7F7F7;
  margin-bottom: 5px;
display: flex;}
.hokuro_method_list > li span{
  display: block;
  margin-right: 10px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.hokuro_method{
  padding: 12vw 5vw;}
.hokuro_method_list > li{
  font-size: 3.5vw;
  line-height: 1.7;}}

/* 小陰唇縮小術
--------------------------------------------------------------*/
.pl00.shouinshin .bnr{
	display: block;
    width: 70%;
	height: auto;
	margin: 0 auto;}
h2.shouinshin-bnr img{
    width: 70%;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pl00.shouinshin-bnr .bnr{
    width: 80%;}
h2.shouinshin-bnr img{
    width: 80%;}
}

/* ---------------------------------------------- 固定ページ ---*/

/*

  固定ページ：ドクター紹介

================================================================
*/
.p-doctor01 {
  padding: 80px 0;}
.p-doctor01 .box {
  display: flex;
  align-items: flex-start;}
.p-doctor01 .box + .box {
  margin-top: 80px;}
.p-doctor01 .box > figure {
  overflow: hidden;
  width: 380px;
  border-bottom: 1px solid #eee;}
.p-doctor01 .box > figure.noimg {
  border: none;}
.p-doctor01 .box > figure.noimg img {
  border-radius: 10px;
  border: 1px solid #E9E9E9;}
.p-doctor01 .box .right {
  flex: 1;
  margin-left: 50px;
  padding-top: 10px;}
.p-doctor01 .box .right .namebox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;}
.p-doctor01 .box .right .namebox .name {
  font-family: smm;
  letter-spacing: .05em;
  color: #17191A;}
.p-doctor01 .box .right .namebox .name h2 {
  margin-bottom: 15px;
  font-weight: normal;
  font-size: 24px;}
.p-doctor01 .box .right .namebox .name h2 span {
  display: inline-block;
  margin-left: 30px;
  font-size: 70%;}
.p-doctor01 .box .right .namebox .name .kata {
  font-size: 15px;}
.p-doctor01 .box .right .namebox ul {
  display: flex;}
.p-doctor01 .box .right .namebox ul li {
  width: 42px;}
.p-doctor01 .box .right .namebox ul li + li {
  margin-left: 10px;}
.p-doctor01 .box .right .mtl + .mtl {
  margin-top: 30px;}
.p-doctor01 .box .right .mtl .title {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  font-family: zkr;
  font-size: 16px;}
.p-doctor01 .box .right .mtl table {
  font-family: zkr;
  line-height: 1.6;}
.p-doctor01 .box .right .mtl table th {
  padding: 2px 0;
  vertical-align: top;
  white-space: nowrap;
  font-weight: normal;}
.p-doctor01 .box .right .mtl table td {
  padding: 2px 0;
  padding-left: 20px;}
.p-doctor01 .box .right .mtl ul {
  font-family: zkr;
  line-height: 1.6;}
.p-doctor01 .box .right .mtl ul li {
  position: relative;
  padding-left: 1em;}
.p-doctor01 .box .right .mtl ul li + li {
  margin-top: 2px;}
.p-doctor01 .box .right .mtl ul li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;}
.p-doctor01.column {
  padding-bottom: 0;}
.p-doctor01.column .box > figure {
  width: 220px;}
.p-doctor01.column .kansyu {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ccc;
  font-size: 18px;
  color: #c1ab84;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.p-doctor01 {
  padding: 10vw 0;}
.p-doctor01 .box {
  flex-direction: column;}
.p-doctor01 .box + .box {
  margin-top: 10vw;}
.p-doctor01 .box > figure {
  width: 100%;
  text-align: center;}
.p-doctor01 .box > figure img {
  width: 75%;}
.p-doctor01 .box > figure.noimg img {
  border-radius: 2vw;}
.p-doctor01 .box .right {
  width: 100%;
  margin-top: 7vw;
  margin-left: 0;
  padding: 0 7vw;}
.p-doctor01 .box .right .namebox {
  margin-bottom: 7vw;}
.p-doctor01 .box .right .namebox .name h2 {
  margin-bottom: 3vw;
  font-size: 5vw;}
.p-doctor01 .box .right .namebox .name h2 span {
  margin-left: 5vw;}
.p-doctor01 .box .right .namebox .name .kata {
  font-size: 3.4vw;}
.p-doctor01 .box .right .namebox ul li {
  width: 10vw;}
.p-doctor01 .box .right .namebox ul li + li {
  margin-left: 2vw;}
.p-doctor01 .box .right .mtl + .mtl {
  margin-top: 7vw;}
.p-doctor01 .box .right .mtl .title {
  margin-bottom: 2.5vw;
  padding-bottom: 3vw;
  font-size: 3.6vw;}
.p-doctor01 .box .right .mtl table {
  font-size: 3.4vw;}
.p-doctor01 .box .right .mtl table th {
  padding: .5vw 0;}
.p-doctor01 .box .right .mtl table td {
  padding: .5vw 0;
  padding-left: 3.5vw;}
.p-doctor01 .box .right .mtl ul {
  font-size: 3.4vw;}
.p-doctor01 .box .right .mtl ul li + li {
  margin-top: .5vw;}
.p-doctor01.column {
  width: 100vw;
  margin-top: 5vw;
  margin-left: -5vw;}
.p-doctor01.column .box > figure {
  width: 100%;}
.p-doctor01.column .kansyu {
  margin-bottom: 3.5vw;
  padding-bottom: 3.5vw;
  text-align: center;
  font-size: 4vw;}}

/*

  固定ページ：施術一覧

================================================================
*/
.p-menu01 {
  padding: 80px 0;}
.p-menu01 .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;}
.p-menu01 .flex .menubox {
  width: 49%;
  margin-top: 40px;}
.p-menu01 .flex .menubox:nth-child(-n+2) {
  margin-top: 0;}
.p-menu01 .flex .menubox h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 160px;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  font-weight: normal;
  font-family: smm;
  font-size: 24px;
  letter-spacing: .05em;
  color: #fff;}
.p-menu01 .flex .menubox > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 10px;}
.p-menu01 .flex .menubox > ul > li {
  width: 49%;
  border-bottom: 1px solid #eee;}
.p-menu01 .flex .menubox > ul > li a {
  display: flex;
  align-items: center;
  padding-right: 30px;
  height: 46px;
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 4px auto;
  background-image: url(../img/common/inext.png);
  line-height: 1.3;
  font-size: 14px;}
.p-menu01 .flex .menubox > ul > li span {
  display: flex;
  align-items: center;
  padding-right: 30px;
  height: 46px;
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px auto;
  background-image: url(../img/common/iab.png);
  line-height: 1.3;
  font-size: 14px;
  cursor: pointer;}
.p-menu01 .flex .menubox > ul > li > ul {
  display: none;
  background-color: #f9f9f9;}
.p-menu01 .flex .menubox > ul > li > ul li + li {
  border-top: 1px solid #fff;}
.p-menu01 .flex .menubox > ul > li > ul li a {
  padding: 0 15px;
  background: none;}
.p-menu01 .flex .menubox h2.m01 {
  background-image: url(../img/menu/m01.png);}
.p-menu01 .flex .menubox h2.m02 {
  background-image: url(../img/menu/m02.png);}
.p-menu01 .flex .menubox h2.m03 {
  background-image: url(../img/menu/m03.png);}
.p-menu01 .flex .menubox h2.m04 {
  background-image: url(../img/menu/m04.png);}
.p-menu01 .flex .menubox h2.m05 {
  background-image: url(../img/menu/m05.png);}
.p-menu01 .flex .menubox h2.m06 {
  background-image: url(../img/menu/m06.png);}
.p-menu01 .flex .menubox h2.m07 {
  background-image: url(../img/menu/m07.png);}
.p-menu01 .flex .menubox h2.m08 {
  background-image: url(../img/menu/m08.png);}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.p-menu01 {
  padding: 10vw 0;}
.p-menu01 .flex {
  flex-direction: column;}
.p-menu01 .flex .menubox {
  width: 100%;}
.p-menu01 .flex .menubox + .menubox {
  margin-top: 7vw!important;}
.p-menu01 .flex .menubox h2 {
  height: 30vw;
  border-radius: 0;
  font-size: 4.8vw;}
.p-menu01 .flex .menubox > ul {
  margin-top: 3vw;
  padding: 0 5vw;}
.p-menu01 .flex .menubox > ul > li {
  width: 100%;}
.p-menu01 .flex .menubox > ul > li a {
  height: 12vw;
  background-position: right 2vw center;
  background-size: 1vw auto;
  font-size: 3.5vw;}
.p-menu01 .flex .menubox > ul > li span {
  padding-right: 0;
  height: 12vw;
  background-position: right 1.5vw center;
  background-size: 2.5vw auto;
  font-size: 3.5vw;}
.p-menu01 .flex .menubox > ul > li > ul li a {
  padding: 0 5vw;
  background: none;}}

/*

  固定ページ：料金一覧

================================================================
*/
.p-price01 {
  padding: 80px 0;
  background-color: #F7F7F7;}
.p-price01 + .p-price01:nth-child(odd) {
  background-color: #fff;}
.bt1 {
  border-top: 1px solid #e5eef4;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.p-price01 {
  padding: 10vw 0;
  background-color: #F7F7F7;}}
/*

  固定ページ：モニター募集

================================================================
*/
.pnav_lead{
  font-family: "zkm";
  color: #00457E;
  margin-bottom: 35px;
  margin-top: 10px;}
.pnav_lead p:first-of-type{
  padding: 15px 0 15px 40px;
  background-color: #EBF0F5;
  font-size: 20px;
  margin-bottom: 15px;
  letter-spacing: .15em;
  position: relative;}
.pnav_lead p:first-of-type:before{
  position: absolute;
  content: "";
  width: 3.5px;
  height: 35%;
  background-color: #00457E;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;}  
.pnav_lead p:nth-of-type(2n){
  padding-left: 20px;}
.heading{
  margin-top: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 180px;
  background-color: #00457E;
  color: #fff;}
.heading h1{
  font-size: 32px;
  font-weight: 500;}
.pnav_monitor li{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid #00457E !important;
  border-radius: 6px;
  margin-bottom: 10px;}
.pnav_monitor li img{
  width: 30px;
  object-fit: contain;}
.pnav_monitor ul li a{
  width: 100%;
  font-family: "zkm" !important;}
.mo_outer{
  padding: 60px 0 0 0;
  background-color: #f7f7f7;}
.mo_outer h2,.mo_outer h3{
  font-family: "zkm";}
.mo_outer h3{
  color: #00457E;
  display: flex;}
.mo_inner{
  padding-bottom: 60px;
  scroll-margin-top: 120px;}
.mo_item{
  padding-bottom: 90px;}
.mo_item_outer{
  margin-top: 40px;}
.mo_item .mo_item_outer:first-of-type{
  margin-top: initial;}
.mo_item_tit{
  text-align: center;
  line-height: 1.4;
  font-family: "zkr";
  background-color: #fff;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;}
.mo_item_heading{
  width: 100%;}
.mo_item_heading_link{
  width: fit-content;
  display: block;
  color: #00457E;
  position: relative;}
.mo_item_heading_link::after{
  content: "";
  position: absolute;
  top: 58%;
  transform: translateY(-50%);
  right: -23px;
  width: 13px;
  height: 13px;
  background-image: url("../img/common/link_blue.svg");
  background-size: contain;
  background-repeat: no-repeat;}
.mo_item_tit_link,.mo_item_heading_link{
  transition: all ease 0.4s;}
.mo_item_tit_link:hover,.mo_item_heading_link:hover{
  opacity: 0.6;}
.mo_item_tit_link h4{
  position: relative;
  border-bottom: 1px solid #17191A;}
.mo_item_tit_link h4::after{
  content: "";
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  right: -23px;
  width: 12px;
  height: 12px;
  background-image: url("../img/common/link.svg");
  background-size: contain;
  background-repeat: no-repeat;}
.mo_outer .ver02_diff{
  display: block;}
.mo_outer .ver02_diff span{
  display: flex;}
.mo_item_heading_link_diff{
  position: relative;}
.mo_item_price{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  line-height: 1.2;}
.mo_item_price > div{
  width: 100%;
  text-align: center;}
.mo_item_price > div p{
  border-bottom: 1px solid #e5e4e4;
  padding: 10px 0;}
.mo_item_price > div:first-child{
  display: flex;
  flex-direction: column;}
.mo_item_price > div:last-child{
  color: #ff0000;}
.mo_item_price > div p:last-child{
  font-size: 20px;
  flex: 1;}
.mo_item_price div .center{
  display: flex;
  justify-content: center;
  align-items: center;}
.mo_item_price > div p span{
  margin-left: 10px;}
.mo_item_price_outer .caution{
  font-family: "zkr";
  font-size: 12px;
  padding-top: 5px;
  text-align: right;}
.mo_item_price .unit{
  font-size: 15px;
  margin-left: 5px;}
.mo_item_detail_outer{
  overflow: scroll;
  cursor: pointer;}
.mo_item_detail_scroll{
  display: flex;
  gap: 80px;
  width: fit-content;}
.mo_item_detail{
  width: 700px;
  font-size: 13px;
  display: flex;
  gap: 30px;
  margin-top: 30px;
  margin-bottom: 30px;}
.mo_item_detail_pht{
  width: 40%;
  display: block;}
.mo_item_detail .dr{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;}
.mo_item_detail .dr figure{
  width: 20%;}
.mo_item_detail figure img{
  width: 100%;
  height: auto;
  border-radius: 5px;}
.mo_item_detail .textarea{
  width: 60%;
  line-height: 1.5;}
.mo_item_detail .textarea tr{
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #e5e4e4;}
.mo_item_detail th{
  font-weight: 500;
  color: #00457E;
  width: 30%;
  padding: 15px 0;}
.mo_item_detail td{
  padding: 15px 0;}
.mo_item_detail .td_fir{
  padding: 0 0 15px 0;}
.mo_item_detail .th_fir{
  padding: 0 0 15px 0;}
.mo_banner{
  display: flex;
  justify-content: center;
  margin-bottom: 60px;}
.mo_shoinshin_banner a{
    display: block;
    width: 70%;
    height: auto;
    margin: 20px auto 0 auto;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.pnav_lead{
  margin-bottom: 6vw;
  margin-top: 3vw;}
.pnav_lead p:first-of-type{
  padding: 3vw 0 3vw 6vw;
  margin-bottom: 3vw;
  font-size: 4.6vw;}
.pnav_lead p:first-of-type:before{
  width: 0.7vw;
  height: 35%;
  left: 3vw;}  
.pnav_lead p:nth-of-type(2n){
  padding-left: 3vw;
  line-height: 1.5;}
.pnav_monitor li{
  padding: 0 3vw;}
.pnav_monitor li img{
  width: 5vw;}
.heading{
  margin-top: 16vw;
  height: 30vw;}
.heading h1{
  font-size: 5.5vw;}
.mo_outer{
  padding: 12vw 0 0 0;}
.mo_outer h3{
  justify-content: center;
  font-size: 4.6vw;}
.mo_inner{
  padding-bottom: 12vw;
  scroll-margin-top: 0;}
.mo_item{
  padding-bottom: 10vw;
  margin-top: 10vw;}
.mo_item_tit{
  font-size: 3.8vw;}
.mo_item_heading_link::after{
  width: 2.6vw;
  height: 2.6vw;}
.mo_item_tit_link h4::after{
  width: 2.5vw;
  height: 2.5vw;}
.mo_outer .ver02_diff span{
  justify-content: center;}
.mo_item_price{
  margin-top: 10px;
  font-size: 3.5vw;}
.mo_item_price > div p:last-child{
  font-size: 3.8vw;}
.mo_item_price_outer .caution{
  font-size: min(2.8vw, 15px);}
.mo_item_price .unit{
  font-size: 3vw;}
.mo_item_detail_scroll{
  gap: 2vw;}
.mo_item_detail{
  position: relative;
  width: 70vw;
  font-size: 3vw;
  flex-direction: column;
  margin-top: 6vw;
  gap: 2vw;}
.mo_item_detail figure{
  width: 100%;}
.mo_item_detail_pht{
  width: 100%;}
.mo_item_detail .dr{
  position: absolute;
  bottom: 0;
  left: 0;}
.mo_item_detail .textarea{
  padding-bottom: 16vw;
  width: 100%;}
.mo_item_detail .textarea tr{
  display: flex;
  flex-direction: column;
  padding: 2vw;}
.mo_item_detail th{
  padding: initial;
  width: 100%;}
.mo_item_detail td{
  padding: 1vw 0 0 0;
  font-family: "zkr";}
.mo_item_detail .td_fir{
  padding: 1vw 0 0 0;}
.mo_item_detail .th_fir{
  padding: initial;}
.mo_shoinshin_banner a{
  width: 90%;}}
/*

  固定ページ：特別価格

================================================================
*/
.plan_tcp_lead{
  position: relative;
  margin: 0 auto;
  width: fit-content;
  font-size: 20px;
  color: #00457E;
  padding: 10px 0 20px 0;}
.plan_tcp_lead::after{
  content: "";
  position: absolute;
  right: -30px;
  top: 43%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url(../img/common/iab.png) no-repeat center / contain;
  pointer-events: none;}
.plan_tcp img{
  width: 600px;}
.plan_tcp_ml{
  margin-left: 50px;}
.plan_nav{
  background-color: #f7f7f7;
  padding: 50px 0;}
.plan_nav_list{
  display: flex;
  gap: 30px;
  align-items: flex-start;
  font-family: "zkr";
  line-height: 1.5;}
.plan_nav_item{
  width: 50%;}
.plan_nav_item p{
  text-align: center;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 10px 0;
  position: relative;
  font-family: "zkm";}
.plan_nav_item p::after{
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url(../img/common/iab.png) no-repeat center / contain;
  pointer-events: none;}
.plan_nav_item ul li{
  border-bottom: 1px solid #eee;
  position: relative;}
.plan_nav_item ul li::after{
    content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url(../img/common/iab.png) no-repeat center / contain;
  pointer-events: none;}
.plan_nav_item ul li a{
  padding: 15px 0;
  display: block;}
.plan_nav_item span{
  background-color: #c32f5b;
  border-radius: 30px;
  color: #fff;
  padding: 3px 10px 3px 13px;
  font-size: 13px;
  font-family: "zkm";
  margin-right: 5px;}
.plan_tit{
  text-align: center;
  margin-bottom: 40px;}
.plan_tit h2{
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 15px;}
.plan_tit p{
  color: #00457E;}
.plan{
  background-color: #f7f7f7;
  padding: 60px 0;}
.plan #a01{
  margin-bottom: 100px;}
.plan_list{
  display: flex;
  flex-direction: column;
  gap: 40px;}
.plan_list li{
  width: 70%;
  margin: 0 auto;}
.plan_list li a{
  transition: all ease 0.4s;
  width: 100%;
  height: 100%;
  display: block;}
.plan_list li a:hover{
  opacity: 0.6;
  transform: scale(1.01);}
.monitor_banner{
  width: 40%;
  margin: 0 auto;
  padding: 60px 0;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.plan_tcp_lead{
  font-size: 4.4vw;
  padding: 3vw 0 6vw 0;}
.plan_tcp_lead::after{
  right: -6vw;
  width: 3vw;
  height: 3vw;}
.plan_tcp img{
  width: 90vw;}
.plan_tcp_ml{
  margin-left: 2vw;}
.plan_nav{
  padding: 10vw 5vw 0;
  font-size: 3.3vw;}
.plan_nav_list{
  flex-direction: column;
  gap: 5vw;}
.plan_nav_item{
  width: 100%;}
.plan_nav_item p{
  margin-bottom: 2vw;
  padding: 2vw 0;}
.plan_nav_item p::after{
  right: 5vw;
  width: 2.2vw;
  height: 2.2vw;}
.plan_nav_item ul li::after{
  right: 5vw;
  width: 2.2vw;
  height: 2.2vw;}
.plan_nav_item ul li a{
  padding: 3vw 0;}
.plan_nav_item span{
  padding: 0.4vw 3vw 0.7vw 3.2vw;
  font-size: 3vw;}
.plan_tit{
  margin-bottom: 8vw;}
.plan_tit h2{
  font-size: 4.8vw;
  margin-bottom: 10px;}
.plan_tit p{
  font-size: 3.3vw;}
.plan{
  padding: 12vw 5vw;}
.plan #a01{
  margin-bottom: 16vw;}
.plan_list{
  gap: 6vw;}
.plan_list li{
  width: 100%;}
.monitor_banner{
  width: 100%;
  padding: 10vw 5vw;}}
/*

  記事ページ：カテゴリ

================================================================
*/
.p-category01 {
  padding: 80px 0;}
.p-category01 .flex {
  display: flex;
  justify-content: space-between;}
.p-category01 .flex .left {
  width: 240px;
  border-right: 1px solid #E9E9E9;}
.p-category01 .flex .left .stick {
  position: sticky;
  top: 120px;
  left: 0;}
.p-category01 .flex .left .title {
  display: flex;
  align-items: center;
  height: 50px;
  padding-left: 20px;
  background-color: #EBF0F5;
  color: #00457E;}
.p-category01 .flex .left .title span {
  display: inline-block;
  padding: 4px 0;
  padding-left: 30px;
  background: url(../img/common/ionayami.png) no-repeat left center / auto 100%;}
.p-category01 .flex .left .sidecate {
  display: flex;
  flex-direction: column;}
.p-category01 .flex .left .sidecate li {
  width: 100%;
  height: 60px;
  border-bottom: 1px solid #E9E9E9;
  font-family: zkr;}
.p-category01 .flex .left .sidecate li a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  padding-right: 30px;
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 4px auto;
  background-image: url(../img/common/inext.png);
  line-height: 1.4;}
.p-category01 .flex .right {
  width: 700px;}
.list-category {
  display: flex;
  flex-direction: column;}
.list-category li {
  position: relative;
  border-top: 1px solid #E9E9E9;}
.list-category li a {
  display: block;
  padding: 20px 0;}
.list-category li a .date {
  display: flex;
  align-items: center;
  margin-bottom: 10px;}
.list-category li a .date span {
  font-family: smm;
  font-size: 16px;
  letter-spacing: .05em;
  color: #00457E;}
.list-category li a .date i {
  display: inline-block;
  margin-left: 15px;
  padding: 5px 8px;
  background-color: #00457E;
  border-radius: 3px;
  font-size: 13px;
  color: #fff;}
.list-category li a .title {
  font-weight: normal;
  font-size: 16px;
  font-family: zkr;
  line-height: 1.8;}
.wp-pagenavi {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  line-height: 0;
  font-size: 16px;}
.wp-pagenavi > * + * {
  margin-left: 10px;}
.wp-pagenavi .pages {
  display: none;}
.wp-pagenavi a,
.wp-pagenavi span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-family: zkr;
  padding-bottom: 3px;
  border: 1px solid #00457E;}
.wp-pagenavi span.current {
  background-color: #00457E;
  color: #fff;}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  border: none;
  color: #00457E;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.p-category01 {
  padding: 10vw 5vw;}
.p-category01 .flex {
  flex-direction: column-reverse;}
.p-category01 .flex .left {
  width: 100%;
  margin-top: 10vw;
  border: none;}
.p-category01 .flex .left .stick {
  position: static;}
.p-category01 .flex .left .title {
  height: 12vw;
  border-radius: 2vw 2vw 0 0;
  padding-left: 5vw;}
.p-category01 .flex .left .title span {
  padding: .7vw 0;
  padding-left: 7vw;
  font-size: 3.6vw;}
.p-category01 .flex .left .sidecate {
  border: solid #E9E9E9;
  border-radius: 0 0 2vw 2vw;
  border-width: 0 1px 1px;}
.p-category01 .flex .left .sidecate li {
  height: 12vw;
  border-bottom: none;}
.p-category01 .flex .left .sidecate li + li {
  border-top: 1px solid #E9E9E9;}
.p-category01 .flex .left .sidecate li a {
  padding: 0 5vw;
  background-position: right 3.5vw center;
  background-size: 1vw auto;
  font-size: 3.5vw;}
.p-category01 .flex .right {
  width: 100%;}
.list-category li a {
  padding: 7vw 0;}
.list-category li a .date {
  margin-bottom: 2.5vw;}
.list-category li a .date span {
  font-size: 3.5vw;}
.list-category li a .date i {
  margin-left: 3vw;
  padding: 1vw 2vw;
  border-radius: 1vw;
  font-size: 3.2vw;}
.list-category li a .title {
  font-size: 3.6vw;}
.wp-pagenavi {
  margin-top: 10vw;
  font-size: 3.6vw;}
.wp-pagenavi > * + * {
  margin-left: 2vw;}
.wp-pagenavi a,
.wp-pagenavi span {
  width: 8vw;
  height: 8vw;
  padding-bottom: 0;}}

/*

  記事ページ：詳細

================================================================
*/
.column-header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 20px;}
.column-header h1 {
  margin-bottom: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E9E9E9;
  font-weight: normal;
  font-family: smr;
  font-size: 24px;
  font-feature-settings: normal;
  letter-spacing: .05em;
  line-height: 1.6;}
.column-header .date {
  display: flex;
  align-items: center;
  margin-bottom: 10px;}
.column-header .date span {
  font-family: smm;
  font-size: 16px;
  letter-spacing: .05em;
  color: #00457E;}
.column-header .date i {
  display: inline-block;
  margin-left: 15px;
  padding: 5px 8px;
  background-color: #00457E;
  border-radius: 3px;
  font-size: 13px;
  color: #fff;}
.column-contents {
  font-family: zkr;
  line-height: 1.9;}
.column-contents * + * {
  margin-top: 50px;}
.column-contents br + br,
.column-contents br + strong,
.column-contents strong + br {
  margin-top: 0;}
.column-contents h2 {
  font-feature-settings: normal;
  padding: 5px 0 8px;
  padding-left: 15px;
  border-left: 3px solid #00457E;
  font-family: smr;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: .05em;
  line-height: 1.6;}
.column-contents h3 {
  font-feature-settings: normal;
  padding: 5px 0 8px;
  padding-left: 20px;
  background-color: #EBF0F5;
  border-left: 1px solid #00457E;
  font-family: smr;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: .05em;
  line-height: 1.6;}
.column-contents h2 + *,
.column-contents img + *,
.column-contents ul + img,
.column-contents ul + p {
  margin-top: 30px;}
.column-contents h3 + * {
  margin-top: 20px;}
.column-contents img {
  width: 100%;
  height: auto;}
.column-contents strong {
  font-weight: normal;
  /*display: inline-block;*/
  background: linear-gradient(transparent 60%, #faf2bc 60%);
  font-weight: 500;}
.column-contents ol {
  position: relative;
  margin-top: 30px;}
.column-contents ol li {
  position: relative;
  padding: 5px 15px 5px 0;
  line-height: 1.6;
  list-style: decimal;
  margin-left: 15px;}
.column-contents ol li + li {
  margin-top: 0;}
.column-contents ul {
  position: relative;
  margin-top: 30px;}
.column-contents ul li {
  position: relative;
  padding: 5px 15px;
  line-height: 1.6;}
.column-contents ul li + li {
  margin-top: 0;
  border-top: 1px solid #eee;}
.column-contents ul li:before {
  pointer-events: none;
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  aspect-ratio: 1/1;
  background-color: #00457E;
  border-radius: 100%;}
.column-contents p a {
  color: #00457E;
  border-bottom: 1px solid #00457E;}
/* tableデザイン */
.column-contents table {
  border-collapse: collapse;
  width: 90%;
  margin: 30px auto;
}
.column-contents th, .column-contents td {
  border: 1px solid #aaa;
  padding: 8px 12px;
  text-align: left;
}
.column-contents th {
  background-color: #f5f5f5;
}
.column-contents tr:nth-child(even) {
  background-color: #fafafa;
}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.column-header {
  margin-bottom: 5vw;}
.column-header h1 {
  margin-bottom: 3.5vw;
  padding-bottom: 3.5vw;
  font-size: 5vw;}
.column-header .date {
  margin-bottom: 2.5vw;}
.column-header .date span {
  font-size: 3.5vw;}
.column-header .date i {
  margin-left: 3vw;
  padding: 1vw 2vw;
  border-radius: 1vw;
  font-size: 3.2vw;}
.column-contents {
  font-size: 3.6vw;}
.column-contents * + * {
  margin-top: 10vw;}
.column-contents h2 {
  padding: 1.5vw 0;
  padding-left: calc(4vw - 3px);
  font-size: 4.5vw;}
.column-contents h3 {
  padding: 1.5vw 0;
  padding-left: calc(5vw - 1px);
  font-size: 4.3vw;}
.column-contents h2 + *,
.column-contents img + *,
.column-contents ul + img,
.column-contents ul + p {
  margin-top: 5vw;}
.column-contents h3 + * {
  margin-top: 3.5vw;}
.column-contents ul {
  margin-top: 5vw;}
.column-contents ul li {
  padding: 1.3vw 4vw;}
.column-contents ul li:before {
  top: 3.8vw;
  width: 1.4vw;}}

/*  コラム内CTA
-----------------------------------------------------*/
.column-cta * + * {
  margin-top: 0;}
.column-cta .title {
  position: relative;
  margin-bottom: 20px;
  text-align: center;
  font-feature-settings: normal;
  font-family: sms;
  font-size: 18px;
  color: #00457E;
  line-height: 1.6;
  letter-spacing: .03em;}
.column-cta .title:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #00457E;}
.column-cta .title span {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  background-color: #fff;
  z-index: 2;}
.column-cta ul {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;}
.column-cta ul li {
  padding: 0;
  overflow: hidden;
  width: 40%;
  height: 60px;
  line-height: 1.0;
  border-radius: 3px;}
.column-cta ul li + li {
  margin-left: 20px;}
.column-cta ul li:before {
  display: none;}
.column-cta ul li + li {
  border-top: 0;}
.column-cta ul li.tel {
  background-color: #fff;}
.column-cta ul li.line {
  background-color: #198059;}
.column-cta ul li.web {
  background-color: #00457E;}
.column-cta ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 18px;
  font-family: zkm;
  letter-spacing: .1em;
  color: #fff;}
.column-cta ul li a span {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;}
.column-cta ul li.tel a {
  pointer-events: none;
  flex-direction: column;
  justify-content: flex-end;
  background-color: #f7f7f7;
  color: #00457E;}
.column-cta ul li.tel a span {
  padding-left: 28px;
  padding-bottom: 1px;
  background-image: url(../img/under/common/itel.svg);
  background-position: left bottom;
  background-size: auto 80%;
  font-feature-settings: normal;
  font-family: sms;
  font-size: 22px;
  letter-spacing: .05em;}
.column-cta ul li.tel a em {
  display: inline-block;
  width: 100%;
  text-align: center;
  background-color: #00457E;
  margin-top: 8px;
  padding: 4px 0 6px;
  font-size: 12px;
  color: #fff;
  letter-spacing: .1em;}
.column-cta ul li.line a span {
  padding-left: 35px;
  padding-top: 2px;
  padding-bottom: 4px;
  background-image: url(../img/under/common/iline.svg);}
.column-cta ul li.web a span {
  padding-left: 35px;
  padding-bottom: 2px;
  background-image: url(../img/under/common/iweb.svg);}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.column-cta .title {
  margin-bottom: 5vw;
  font-size: 3.9vw;}
.column-cta .title span {
  padding: 0 3vw;}
.column-cta ul {
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 5vw;}
.column-cta ul li {
  overflow: hidden;
  width: 49%;
  height: 14vw;
  border-radius: 2vw;}
.column-cta ul li + li {
  margin-left: 0;}
.column-cta ul li.tel {
  margin-bottom: 2vw;}
.column-cta ul li a {
  font-size: 3.6vw;}
.column-cta ul li.tel a {
  pointer-events: auto;}
.column-cta ul li.tel a span {
  padding-left: 1.2em;
  font-size: 4.6vw;
  letter-spacing: .03em;}
.column-cta ul li.tel a em {
  margin-top: 2vw;
  padding: 1.2vw 0 1.5vw;
  font-size: 2.8vw;}
.column-cta ul li.line a span {
  padding-left: 2em;
  padding-top: .5vw;
  padding-bottom: 1vw;}
.column-cta ul li.web a span {
  padding-left: 1.7em;}}

/*
  TOC+
*/
#toc_container{
  &.contracted{
    .toc_title{
      border-radius:3px; 
    }
  }
  .toc_title{
    display: inline-flex;
    align-items: center;
    gap:0 10px;
    padding:5px 15px;
    background:#00457E;
    color:#fff;
    border-radius:3px 3px 0 0;
    font-size:20px;
    .toc_toggle{
      font-size:12px;
      color:#fff;
      > a{
        color:#fff;
      }
    }
    @media (max-width: 767px) {
      font-size: 4vw;
    }
  }
  .toc_list{
    counter-reset: number 0;
    margin:0 0 0 0;
    padding:40px;
    border:1px solid #E9E9E9;
    > li{
      padding:0 0 0 0;
      border-bottom:none;
      border-top:none;
      &:not(:last-child){
        margin:0 0 0.5em 0;
      }
      > a{
        font-weight:normal;
        display:block;
        text-indent: -1.3em;
        padding-left:1.3em;
        &::before{
          counter-increment: number 1;
          content: counter(number)".";
          width:auto;
          background:none;
          padding-right:0.5em;
        }
      }
      &::before{
        display:none;
      }
      ul{
        margin:0.5em 0 0 0;
        padding:0 0 0 1em;
        li{
          padding:0 0 0 0;
          border-top:none;
          &:not(:last-child){
            margin:0 0 0.5em 0;
          }
          &::before{
            display:none;
          }
          > a{
            display:block;
            text-indent: -1.3em;
            padding-left:1.3em;
            &::before{
              content:"・";
              padding-left:0.2em;
            }
          }
        }
      }
    }
     @media (max-width: 767px) {
      padding:20px;
    }
  }
}