@charset "utf-8";
body{
  margin:0;
  padding:116px 0 0 0;
  font-family: 'Times New Roman', Times, serif;
  letter-spacing: 0.1em;
  position: relative;
}
img{
  max-width: 100%;
  height: auto;
}
header{
  background: #153a76;
  width: 100%;
  height:116px;
  padding: 23px 0 0 20px;
  position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
header img.logo{
  height: 70px;
}
header .right-area{
  position: absolute;
  right:20px;
  top:20px;
  height: 80px;
  display: flex;
  gap:20px;
}
a.btn-menu{
  display: block;
  width: 70px;
  padding: 10px;
  position: relative;
  z-index: 2;
}
.ndr-btns{
  display: flex;
  gap:20px;
}
.ndr-btns li a{
  border-radius: 20px;
  height: 72px;
  display: block;
  box-shadow: 0px 8px black;
  color: white;
  text-align: center;
  font-family: 'Times New Roman', Times, serif;
  padding:10px 25px;
}
.ndr-btns li a span{
  display: block;
}
.ndr-btns li.btn-tel a{
  background: #349f1b;
  box-shadow: 0px 8px #177a00;
}
.ndr-btns li.btn-tel a:hover{
  background: #177a00;
  box-shadow: 0px 8px #177a00;
}
.ndr-btns li.btn-tel a span.tel{
  font-size: 30px;
}
.ndr-btns li.btn-tel a span.tel::before{
  content: "";
  display: inline-block;
  height: 18px;
  width: 18px;
  background: url(img/icon-tel.png);
  background-size: cover;
  margin-right: 6px;
}
.ndr-btns li.btn-web a span.web::before{
  content: "";
  display: inline-block;
  height: 18px;
  width: 26px;
  background: url(img/icon-web.png);
  background-size: cover;
  margin-right: 6px;
}
.ndr-btns li.btn-tel a span.btn-text,
.ndr-btns li.btn-web a span.btn-text{
  font-size: 14px;
}
.ndr-btns li.btn-web a span.web {
  font-size: 26px;
  padding-top: 4px;
  margin-bottom: 2px;
}
.ndr-btns li.btn-web a span.web i {
  font-size: 22px;
  font-style: normal;
}
.ndr-btns li.btn-web a{
  background: #de7120;
  box-shadow: 0px 8px #b14b00;
  letter-spacing: 0.1em;
}
.ndr-btns li.btn-web a:hover{
  background: #b14b00;
}
section#mv{
  /*
  background: url(img/bg-mv.jpg);
  background-size: cover;
  */
}
#mv{
  position: relative;
}
#mv img{
  width: 100%;
}
#mv .mv-content{
  width: 48.61111vw;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  padding-top: 5vw;
  font-family: 'Times New Roman', Times, serif;
  letter-spacing: 0.06em;
}
#mv .mv-content p,
.mv-content ul li{
 text-shadow: 0px 0px 5px white;
}
p.catch1{
  font-size: 2.96111vw;
  margin-bottom: 3.652777vw;
  font-weight: bold;
}
p.catch1 span{
  display: inline-block;
  position: relative;
}
p.catch1 span::before{
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  border-radius: 6px;
  background: #f9bc36;
  position: absolute;
  bottom: -7px;
    left: 1px;
}
ruby > rt {
  margin-bottom: 0.2777vw;
  font-size: 1.11111vw;
  padding-left: 0.13888vw;
}
p.catch2{
  font-size: 2.5388888vw;
  margin-bottom: 1.736111vw;
  font-weight: bold;
}
p.catch2 span{
  font-size: 2.002vw;
}
h1.catch3{
  font-size: 3.8868055vw;
  margin-bottom: 2.430555vw;
  font-weight: bold;
}
h1.catch3 span{
  font-size: 4.9368vw;
}
.mv-content ul{
  display: flex;
  gap: 3vw;
  justify-content: center;
  margin-bottom: 2.0833vw;
}
.mv-content ul li{
  width: 13.3333333vw;
  height: 13.3333333vw;
  border-radius: 13.3333333vw;
  background: #153a76;
  color: #fff;
  text-align: center;
  position: relative;
}
.mv-content ul li p{
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mv-content ul li p{
  font-size: 3.6111vw;
}
.mv-content ul li span{
  display: block;
  font-size: 1.38888vw;
  margin-bottom: 5px;
}
.mv-content ul li.circle1 span{
  line-height: 1.4em;
}
.mv-content ul li.circle3 span{
  font-size: 1.08888vw;
}
.mv-content p.conclusion{
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-size: 1.631944vw;
  line-height: 1.6em;
}
section#about{
  background: #edf4ff;
  padding: 6.25vw 9.027777vw 13.25vw;
  position: relative;
  overflow: hidden;
}
section h2{
  text-align: center;
  font-size: 3.249305vw;
  font-weight: bold;
  color: #153a76;
  margin-bottom: 3.555vw;
  line-height: 1.6em;
  text-shadow: 0px 0px 5px white;
}
section h2 span{
font-size: 1.66666vw;
display: block;
font-weight: normal;
color: #edb332;
padding-top: 0px;
}
section#about h3{
  font-size: 3.24930vw;
  color: #153a76;
  text-align: center;
  line-height: 1.6em;
  margin-bottom: 5.555vw;
  position: relative;
  z-index: 1;
  text-shadow: 0px 0px 5px white;
}
section#about .about-content{
  display: flex;
}
section#about .about-content p{
width:38.19444vw;
line-height: 1.6em;
font-size: 1.52777vw;
font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
section#about img{
width:56.1111vw;
position: absolute;
right: -8.3611vw;
bottom: 7.75vw;
z-index: 0;
}
section#recommend{
  padding: 6.25vw 0 0;
}
section#recommend .block01{
  display: flex;
  gap: 1.388888vw;
  align-items: center;
  padding: 0 6.9444vw;
}
section#recommend .block01 img{
  width: 27.777vw;
}
section#recommend .block01 .right-wrap,
section#recommend .block01 .left-wrap{
  width: 56.5972vw;
}
section#recommend .block01 h3{
  font-size: 2.222222vw;
  margin-bottom: 1.3888vw;
  color: #153a76;
}
section#recommend .block01 p{
  font-size: 1.388888vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
section#recommend .block01.r01{
  background: url(img/bg-lp02.png);
  background-size: cover;
  background-position: right;
}
section#recommend .block01.r02{
  background: url(img/bg-lp03.png);
  background-size: cover;
  background-position: left;
}
section#recommend .block01.r03{
  background: url(img/bg-lp04.png);
  background-size: cover;
  background-position: right;
}
section#btns{
  background: #bcd6ff;
  padding: 4.8611vw 0;
}
section#btns ul{
width:54.37499vw;
display: flex;
gap:2.0833vw;
justify-content: center;
margin: 0 auto;
}
section#btns ul li a{
  width: 25.875vw;
  display: block;
  box-shadow: 0px 8px black;
  color: white;
  text-align: center;
  font-family: 'Times New Roman', Times, serif;
  padding: 25px;
background: #349f1b;
box-shadow: 0px 8px #177a00;
border-radius: 20px;
height: 8.3333vw;
}
section#btns ul li a:hover{
  background: #177a00;
  box-shadow: 0px 8px #177a00;
}
section#btns ul li a span{
  display: block;
}
section#btns ul li.web a{
  background: #de7120;
  box-shadow: 0px 8px #b14b00;
  letter-spacing: 0.1em;
}
section#btns ul li.web a:hover{
  background: #b14b00;
}
section#btns ul li a span.top-tel,
section#btns ul li a span.top-web{
  font-size: 2.97291vw;
}
section#btns ul li a span.bottom-tel,
section#btns ul li a span.bottom-web{
  font-size: 1.45833vw;
}
section#btns ul li a span.top-tel::before{
  content: "";
    display: inline-block;
    height: 1.9444vw;
    width: 1.9444vw;
    background: url(img/icon-tel.png);
    background-size: cover;
    margin-right: 10px;
}
section#btns ul li a span.top-web::before{
  content: "";
  display: inline-block;
  height: 1.9444vw;
  width: 2.7777vw;
  background: url(img/icon-web.png);
  background-size: cover;
  margin-right: 0.6944vw;
}
section#btns ul li a span.top-web i {
  font-size: 2.430555vw;
  font-style: normal;
}
section#merit{
  background: #edf4ff;
  padding: 6.25vw 9.027777vw 8.25vw;
}
section#merit .merit-content{
  display: flex;
  flex-wrap: wrap;
  gap:5.34722vw;
}
section#merit .merit-content .merit{
  width: 38.299vw;
  background: #fff;
  box-shadow: 0 0 10px #d9e5fa;
}
section#merit .merit-content .merit .merit-block{
  padding: 3.61944vw;
  position: relative;
}
section#merit .merit-content .merit .merit-block .icon-merit{
  position: absolute;
  width: 11.80vw;
  height: 9.0277vw;
  top:2.91666vw;
  left:-1.52777vw;
}
.merit-block h3{
  font-size:2.43055vw;
  padding-left: 8.5vw;
  color: #153a76;
  line-height: 1.4em;
  margin-bottom: 3.472222vw;
}
.merit-block p{
  font-size:1.5277777vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
section#merit .merit-content .merit:last-child h3{
  padding-top: 1.4vw;
  margin-bottom: 5.7vw;
}
section#reason{
  padding: 6.25vw 0 8.25vw;
}
section#reason .reason-block{
  width: 58.333333vw;
  padding: 5.20833vw 0;
  margin: 0 auto;
}
section#reason .reason-block h3{
  text-align: center;
  font-size: 2.22222vw;
  margin-bottom: 30px;
  color: #153a76;
}
section#reason .reason-block p{
  font-size: 1.5277vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
.reason-content ul{
  width:86.1111vw;
  margin: 0 auto;
}
.reason-content ul{
  display: flex;
  gap: 5.5555vw;
}
.reason-content ul li{
  width: 40.27777vw;
}
.reason-content ul li img{
  margin-bottom: 1.799999vw;
}
.reason-content ul li h3{
  font-size: 2.22222vw;
  margin-bottom: 1.799999vw;
  line-height: 1.4em;
  color: #153a76;
  text-align: center;
}
.reason-content ul li p{
  font-size: 1.5277vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
section#flow,
section#casestudy,
section#faq{
  background: #edf4ff;
  padding: 6.25vw 9.027777vw 8.25vw;
}
.flow-content{
  width:86.1111vw;
  margin: 0 auto;
}
.flow-content ul li{
  display: flex;
  gap:2.384722vw;
  padding-bottom: 4.16666vw;
  position: relative;
}
.flow-content ul li::before{
  content: "";
  position: absolute;
  left: 2.977777vw; /* 左端から10pxの位置に */
  top: 0;
  width: 10px;
  height: 100%;
  border-left: 0.48611vw dotted #edb332;
}
.flow-content ul li:last-child:before{
  display: none;
}
.flow-content .left{
  width: 42.84722vw;
  padding-left: 9.72222vw;
  position: relative;
}
.flow-content .right{
  width: 39.277vw;
}
.flow-content .right img{
  box-shadow: 0 0 10px #d9e5fa;
}
.flow-content .left .num{
  width: 6.25vw;
  height: 6.25vw;
  border-radius: 6.25vw;
  line-height: 6.25vw;
  color: #fff;
  background: #153a76;
  text-align: center;
  position: absolute;
  font-size: 4.0277vw;
  left: 0;
  top: -1.5277vw;
}
.flow-content .left h3{
font-size:2.430555vw;
color: #153a76;
margin-bottom: 1.5833333vw;
}
.flow-content .left p{
  font-size:1.52777vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
  }
section#faq,
section#expert,
section#casestudy,
section#price{
    padding: 6.25vw;
}
.faq-content ul li{
  border-bottom:2px solid #ddd;
  padding-bottom: 3.819444vw;
  margin-bottom: 4.1666666vw;
}
.faq-content p{
  padding-left: 8.68055vw;
  position: relative;
  line-height: 1.6em;
  min-height: 6.25vw;
  display: flex;
  align-items: center;
}
.faq-content p span{
  font-size: 3.958333vw;
  width: 6.25vw;
  height: 6.25vw;
  border-radius: 6.25vw;
  line-height: 6.25vw;
  color: #fff;
  background: #153a76;
  text-align: center;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
p.question{
  font-size: 2.430555vw;
  margin-bottom: 2.430555vw;
  color: #153a76;
}
p.answer{
  font-size: 1.5277vw;
  margin-top: 2.29166vw;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 300;
}
p.answer span{
  background: #edb332;
}

/* メニューのスタイル */
.menu {
  position: fixed;
  top: 0;
  right: -430px;
  width: 430px;
  height: 100vh;
  background: #153a76;
  color: white;
  padding-top: 120px;
  transition: 0.4s;
  z-index: 1;
  padding-left: 40px;
}

.menu ul {
  list-style: none;
  padding: 0;
  text-align: center;
}

.menu ul li {
  padding: 15px 0;
  font-size: 18px;
  text-align: left;
}

.menu ul li a {
  color: white;
  text-decoration: none;
}

/* メニューの開閉 */
.menu.active {
  right: 0;
}
.hamburger .btn-open,
.hamburger.active .btn-close{
  display: block;
}
.hamburger.active .btn-open,
.hamburger .btn-close{
  display: none;
}

/* セクション */
section {
  scroll-margin-top: 116px;
  opacity: 0; /* 初期状態で非表示 */
  transform: translateY(50px); /* 50px下から開始 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* アニメーションを適用 */
section.show {
  opacity: 1;
  transform: translateY(0);
}
section:first-of-type {
  opacity: 1;
  transform: none;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
footer section#btns{
  display: none;
}
p.copyright{
  background: #153a76;
    color: #fff;
    text-align: center;
    padding: 30px;
    font-size: 12px;
}
body.page{
  background: #fafafa;
}
body.page .kv{
  height: 340px;
  width: 100%;
  background: url(test/img/bg-h1.png) no-repeat center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page .kv h1{
  font-size: 34px;
  text-align: center;
}

body.page main{
  /*max-width: 900px;
  margin: 0 auto;
  background: #fff;*/
}
p.btmlink {
    width: 300px;
    display: block;
    margin: 0 auto;
    padding: 20px 0;
}
p.btmlink span{
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1em;
  text-align: center;
  font-size: .9em;
    padding: 20px;
    border: 2px solid #000;
}
p.btmlink span:hover{
  background-color: #153a76;
  color: #fff;
}
main.subpage{
  margin: 100px 0;
}
div.contentarea{
  max-width: 80%;
  margin:50px auto;
  font-size: 1.388888vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 300;
}
div.contentarea p{
  margin-bottom: 50px;
}
div.contentarea p:last-child{
  margin-bottom: 0;
}
div.contentarea h3{
  font-size: 2.222222vw;
    margin-bottom: 1.3888vw;
    color: #153a76;
}
.expert-content,
.casestudy-content,
.price-content{
  display:flex;
  gap: 35px;
  align-items: flex-start;
}
.expert-content img,
.casestudy-content img,
.price-content img{
  width: 50%;
}
.expert-content h3,
.casestudy-content h3,
.price-content h3{
  font-size: 2.430555vw;
  color: #153a76;
  margin-bottom: 1.5833333vw;
}
.expert-content p,
.casestudy-content p,
.price-content p{
  font-size: 1.52777vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 300;
}
.content-right{
  width: 50%;
}
table.casestudy{
  width: 100%;
}
table.casestudy th,
table.casestudy td{
  border: 1px solid #ddd;
  padding: 15px; 
}
table.casestudy th{
  width: 35%;
}
table.price{
  width: 100%;
  margin: 0 auto;
}
table.price th,
table.price td{
  border: 1px solid #ddd;
  padding: 15px; 
}
table.price th{
  width: 35%;
}
table.price td{
}

/* トップページ費用コンテンツ */
section#price p{
  font-size: 1.52777vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 300;
  margin-bottom: 2em;
}
section#price table tr th,
section#price table tr td{
  font-size: 1.52777vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 300;
}
table.price tr th{
  background: #153a76;
  color: #fff;
}

#doctor{
  background: url(img/doctor.jpg) no-repeat;
  background-size: cover;
  width: 100%;
  position: relative;
  padding: 60px;
}
#doctor .doctor-content{
  margin: 0 0 0 45.8333vw;
  width: 38.1944444vw;
  background-color: rgb(255 255 255 / 0.8);
}
#doctor .doctor-content p{
  padding: 2.08333vw;
  line-height: 1.6em;
  font-size: 1.52777vw;
  font-family: "Helvetica Neue",
      Arial,
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
      font-weight: 300;
}
.doctor-content p img{
  width: 22vw;
  margin: 1.3888vw 0 2.08333vw;
  display: block;
}
.doctor-content p span{
  display: block;
  font-size: 2.77777vw;
  font-family: serif;
}
.doctor-content p span span{
  font-size:0.972vw;
  display: inline-block;
  padding-right: 1.3888vw;
}
section#reason img.img-reason {
  width: 86.1111vw;
  display: block;
  margin: 0 auto;
}


/* ビフォーアフター */
section#beforeafterarea {
    padding: 6.25vw 0;
}
div.beforeafterblock{
  width: 32%;
}
div.beforeafterbody{
  display: flex;
  gap: 2%;
  width: 80%;
  margin: 0 auto;
}
p.beforeaftertext{
  width: 80%;
  margin:0 auto;
  font-size: 1.388888vw;
  line-height: 1.6em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 300;
  margin-bottom: 50px;
}
p.beforeafterundertext{
  width: 80%;
  margin:0 auto;
  font-size: 0.9vw;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  margin-top: 10px;
}
.table_design07 {
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
  margin-top: 30px;
}
div.case-beforeafterblock .table_design07{
  max-width: 100%;
  margin-top: 0;
}
.table_design07 th, .table_design07 td {
  border: 2px solid #fff;
  background-color: #e6f1f6;
  padding: 1em;
  font-family: sans-serif;
  font-weight: 300;
}
.table_design07 th {
  background-color: #4d9bc1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 30%;
  min-width: 4em;
  position: relative;
}
.table_design07 th::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border: 10px solid transparent;
  border-left: 10px solid #4d9bc1;
  z-index: 2;
}
.table_design07 th::after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 2px);
  transform: translateY(-50%);
  border: 12px solid transparent;
  border-left: 12px solid #fff;
  z-index: 1;
}
.before-after-container {
  --border-color: #ffffff;
  --slide-bg-color: #fff;
  --slide-text-color: #000000;
  --slide-text: "◀︎ ▶︎";
  --border-width: 4px;
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  font-family: sans-serif;
}

.before-image,
.after-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.after-image {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%);
  transition: clip-path 0.2s ease;
}

.slider-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: var(--border-width);
  background: var(--border-color);
  cursor: ew-resize;
  z-index: 10;
}

.slider-handle::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 30px;
  transform: translateX(-50%);
  background: transparent;
  pointer-events: auto;
}

.slider-handle::after {
  content: var(--slide-text);
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--slide-bg-color);
  color: var(--slide-text-color);
  transform: translate(-50%, -50%);
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 14px;
  white-space: nowrap;
  opacity: 0.8;
  font-weight: bold;
  animation: slideText 0.6s ease-in-out infinite;
}

.slider-handle.active::after {
  opacity: 0;
}

.slider-handle.used::after {
  animation: none;
}

.label {
  position: absolute;
  top: 10px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 14px;
  border-radius: 4px;
  z-index: 20;
  pointer-events: none;
}

.before-label {
  left: 10px;
}

.after-label {
  right: 10px;
}

/* 医療費控除 */
.list-9 {
    list-style-type: disc;
    list-style-position: inside;
    padding: 1em;
    /*border: 2px solid #2589d0;*/
    margin-bottom: 50px;
}

.list-9 li {
    padding: .5em;
}

.list-9 li:not(:last-child) {
    border-bottom: 1px dashed #2589d0;
}

.list-9 li::marker {
    color: #2589d0;
    font-size: 1.1em;
}

section#clinic-info{
  background-color: #F7FAF9;
  padding: 90px 0 60px;
}
.w1400 {
  width: 94%;
  padding: 0 3%;
  max-width: 1400px;
  margin: 0 auto;
  text-align: left;
}
.com_btm_50 {
  margin-bottom: 50px;
}
.f_info1 {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.f_info1 {
  display: flex;
  justify-content: space-between;
}
.f_info1 .box_l {
  width: 45%;
}
.ft_min {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #153a76;
}
.com_cliname {
  font-size: 125%;
  letter-spacing: .15em;
  line-height: 1.5;
}
.com_cliname dt {
  margin-bottom: .7em;
}
.com_cliname dd {
  font-size: min(3.2vw,218%);
  letter-spacing: .08em;
  line-height: 1.5;
}
address {
  font-style: normal;
}
.com_add {
  line-height: 1.5;
  letter-spacing: .15em;
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 1.3277vw;
  font-family: sans-serif;
  font-weight: 300;
}
ul.cl_access{
  list-style: none; /* 標準マーカーを消す */
  padding-left: 0;
  margin-left: 0;
    font-family: sans-serif;
    font-weight: 300;
    margin-bottom: 40px;
}
ul.cl_access li{
  margin-bottom: 10px;
  position: relative;
  padding-left: 1.2em; /* マーカー分の余白 */
}
ul.cl_access li::before {
  content: "•";              /* disc 風のマーカー */
  position: absolute;
  left: 4px;
  top: -0.06em;              /* ← これで上下位置を調整 */
  font-size: 1em;
  color: black;
  line-height: 1;
}
.com_cliname dt{
  font-weight: normal;
}
.f_info1 .box_r {
  width: 50%;
}
.ft_alata {
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
}
.com_link2 {
  margin-top: .4em;
}
.f_info1 .box_r .com_link2 {
  text-align: right;
}
.com_link2 a {
  position: relative;
  display: inline-block;
  font-size: 120%;
  letter-spacing: .15em;
  line-height: 1.4;
  padding-right: 1.2em;
}
.com_timetable {
  box-sizing: border-box;
  background: #fff;
  padding: 10px 20px;
}
table {
  font-size: inherit;
  font: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.com_timetable table {
  width: 100%;
  max-width: 570px;
  font-size: min(2vw,133%);
  line-height: 1.6em;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}
.com_timetable table {
  font-size: min(1.5vw,120%);
}
.com_timetable table th, .com_timetable table td {
  text-align: center;
  vertical-align: middle;
  padding-top: 5px;
}
.com_timetable table thead th, .com_timetable table thead td {
  padding: .5em 0 .8em;
  border-bottom: solid 1px #4C4148;
}
.com_timetable table thead th {
  text-align: right;
  font-weight: 300;
  letter-spacing: .32em;
  padding-right: 4%;
  font-family: sans-serif;
}
.com_timetable table thead td {
  font-weight: 300;
  letter-spacing: normal;
  font-family: sans-serif;
}
.ft_alata {
  font-family: sans-serif;
  font-weight: 300;
  font-style: normal;
}
i {
  font-weight: normal !important;
}
.com_timetable table tbody th .icon-next {
  font-size: 80%;
  line-height: 1;
  vertical-align: 0.1em;
}
.com_timetable table tbody th .icon-next {
  font-size: 80%;
  line-height: 1;
  vertical-align: 0.1em;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em;
  /* font-size: 120%; */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.icon-next:before {
  content: '\e801';
}
.com_timetable .icon-maru {
  color: #41AABC;
}
.com_timetable .hypen {
  color: #E36748;
  font-family: sans-serif;
}
.com_timetable table tbody td {
  width: 9%;
  letter-spacing: normal;
  white-space: nowrap;
  font-weight: 300;
}
.com_time_txt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 113%;
  padding: 0 0.2em;
  margin-top: .5em;
}
.com_time_txt p{
  font-family: sans-serif;
  font-weight: 300;
font-size: 14px;
}
.coral {
  color: #E36748;
  font-family: sans-serif;
  font-weight: 300;
}
.com_time_txt .coral {
  font-weight: 300;
}

section#price p.linktext a{
  width: 25.875vw;
    display: block;
    box-shadow: 0px 8px black;
    color: white;
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
    padding: 25px;
    background: #349f1b;
    box-shadow: 0px 8px #177a00;
    border-radius: 20px;
}

/* 症例ページのCSS */
div.caseimagea div.case-beforeafterblock{
  display: flex;
  gap: 5%;
  align-items: flex-start;
}
div.case-beforeafterblock table.table_design07 tr th,
div.case-beforeafterblock table.table_design07 tr td{
  font-size: 0.7em;
  line-height: 130%;
}
p.case-linkbtn{
  margin-top: 20px;
}

a.btn_07 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #228bc8;
  box-sizing: border-box;
  width: 100%;
  height: 80px;
  padding: 0 25px;
  color: #228bc8;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
}
a.btn_07:hover {
  background: #228bc8;
  border: 1px solid #05639a;
  color: #fff;
}
a.btn_07:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 50px;
  border-color: transparent transparent #228bc8 transparent;
}
a.btn_07 span {
    position: absolute;
    bottom: 12px;
    right: 20px;
    display: inline-block;
}
a.btn_07 span:before {
    content: '';
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -8px;
}
a.btn_07 span:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #228bc8;
    border-right: 2px solid #228bc8;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 4px;
    margin-top: -3px;
}
/* 症例ページのCSSここまで */


@media screen and (max-width: 600px) {
  .thumbnail-slider img {
    width: 60px;
    height: 45px;
  }
  section#price p.linktext a{
    width: 100%;
  }
  .slider-handle::after {
    font-size: 12px;
    padding: 4px 8px;
  }

  .label {
    font-size: 12px;
    padding: 3px 8px;
  }
  main.subpage p,main.subpage ul li,main.subpage ol li{
    font-size: 16px;
    line-height: 1.6em;
  }
}
