@media(max-width: 1024px) {
  .mainV, header, .wrap {
    max-width: 100%;
  }
}
@media(max-width: 768px) {
  body {
    margin-bottom: 20.5333vw;
  }
  body.active {
    overflow: hidden;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  header .header-gray {
    display: none;
  }
  header .row {
    display: block;
  }
  a.logo {
    display: table;
    margin: 2.666vw 0 0 2.666vw;
  }
  a.logo img {
    width: 69vw;
  }
  .wrap {
    padding-left: 5.333vw;
    padding-right: 5.333vw;
  }
    .wrap + .wrap{ margin-top: 60px;}
  p {
    font-size: 4vw;
  }
  .menu-btn {
    display: table;
    position: fixed;
    top: 7.333vw;
    right: 5.333vw;
    z-index: 1000;
  }
  .menu-btn::after {
    content: 'MENU';
    font-size: 10px;
    position: absolute;
    margin: 0 auto;
    display: block;
    text-align: center;
    bottom: -60%;
    letter-spacing: 0.5px;
    white-space: nowrap;
  }
  .totop {
    right: 4vw;
    bottom: 22vw;
    width: 14.6666vw;
    height: 14.6666vw;
  }
  .side-btn {
    display: none;
  }
  .side-btn-goiken {
    display: none;
  }
  /*** ハンバーガー ***/
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    width: 8vw;
    height: 5vw;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(2.2666vw) rotate(-27deg);
    transform: translateY(2.2666vw) rotate(-27deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-2.2666vw) rotate(27deg);
    transform: translateY(-2.2666vw) rotate(27deg);
  }
  .Gnav {
    display: block;
    visibility: hidden;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 0;
    transition: .3s;
    background: rgba(255, 255, 255, 0.95);
    padding: 100px 0px 0;
  }
  .Gnav.active {
    visibility: visible;
    opacity: 1;
  }
  .Gnav li {
    font-size: 4vw;
    text-align: center;
    padding: 20px 0;
  }
  .Gnav li:after {
    content: none;
  }
  /***/
  .mainV {
    margin-top: 20vw;
    padding-left: 5.333vw;
    padding-right: 5.333vw;
  }
  .copy-area {
    width: 41vw;
    height: 41vw;
    border-radius: 20vw;
    top: -19vw;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(0);
  }
  .copy-area p {
    font-size: 2.8vw;
  }
  .index-info {
    margin-top: 8vw;
    margin-bottom: 13.3333vw;
  }
  .index-info .wrap {
    flex-wrap: wrap;
  }
  .index-info .wrap {
    padding: 0;
  }
  .index-info .wrap .col {
    width: 100%;
  }
  .index-info dl dt {
    font-size: 3.7333vw;
  }
  .index-info .wrap .col dl, .index-info .wrap .col dl:nth-of-type(2n) {
    margin: 0;
    padding: 0px 5.333vw;
  }
  .index-info .wrap .col dl:nth-of-type(1) {
    padding: 0px 5.333vw 5.333vw;
    border-bottom: solid 1px #F2F2F2;
  }
  .index-info .wrap .col dl.info {
    margin-top: 8vw;
  }
  .index-info dl.schedule dd table td, .index-info dl.schedule dd table th {
    font-size: 3.4666vw;
  }
  .index-info dl.schedule dd table td:first-of-type {
    padding-right: 1em;
  }
  dl.access {
    /*display: none;*/
    margin-top: 8vw !important;
  }
  .schedule .align-right {
    font-size: 2.9333vw;
  }
  span.sp-block {
    display: block;
  }
  .index-info dl.info table td, .index-info dl.info table th {
    font-size: 3.4666vw;
  }
  .index-info dl.info table th {
    white-space: nowrap;
  }
  /*.foot-info .wrap .col01{
        width: calc(100% - 510px);
    }
    .foot-info .wrap .col02{
        padding: 0 15px;
        width: 350px;
    }
    .foot-info .wrap .col03{
        padding-left: 15px;
        width: 160px;
    }*/
  .index-concept {
    padding: 12vw 0 45vw;
    -webkit-border-top-right-radius: 22.666vw;
    -moz-border-radius-topright: 22.666vw;
    border-top-right-radius: 22.666vw;
    background-size: 66.666vw;
  }
  .index-concept .wrap, .index-dr .wrap {
    display: block;
  }
  #top h2, .index-concept h3 {
    font-size: 4.8vw;
  }
  #top h2 {
    margin-bottom: 13vw;
  }
  #top h2 span {
    font-size: 3.2vw;
  }
  #top h2:after {
    height: 22.5vw;
  }
  .index-concept h3 {
    margin-bottom: 9.333vw;
  }
  .inner-right {
    width: 100%;
  }
  .btn-box {
    display: block;
  }
  .yellow-btn {
    width: 100%;
    font-size: 4vw;
  }
  .neww-btn {
    width: 100%;
    font-size: 4vw;
  }
  .yellow-btn:nth-of-type(1) {
    margin-bottom: 8vw;
  }
  .new-btn:nth-of-type(1) {
    margin-bottom: 8vw;
  }
  .index-dr {
    background: url("../images/index/bg_04_sp.jpg") no-repeat;
    background-position: 0% 35vw;
    background-size: 62vw;
    padding: 16vw 0;
  }
  .index-dr h3 {
    font-size: 6.4vw;
    margin-top: 15vw;
    margin-bottom: 15vw;
    text-align: right;
  }
  .index-dr h3 span {
    font-size: 3.7333vw;
    text-align: right;
  }
  .index-dr dl dt {
    width: 32vw;
    font-size: 3.466vw;
    padding: 1.6vw 0;
    margin: 10.666vw 0 4vw;
  }
  .index-dr dl dd table th, .index-dr dl dd table td, .index-dr dl dd {
    font-size: 3.2vw;
  }
  .index-dr dl dd table th {
    padding-right: 2em;
  }
  .index-point {
    padding: 13.333vw 0 6.666vw;
    -webkit-border-top-right-radius: 22.666vw;
    -moz-border-radius-topright: 22.666vw;
    border-top-right-radius: 22.666vw;
  }
  .index-point ul li p {
    font-size: 3.2vw;
  }
  .index-point ul li p span {
    font-size: 5.333vw;
  }
  .index-point ul li .bg-thumb {
    width: 41.333vw;
    height: 41.333vw;
    border-radius: 22vw;
  }
  .index-point ul li .bg-thumb {
    margin: 5.333vw auto;
  }
  .point-list {
    flex-wrap: wrap;
  }
  .index-point ul li {
    width: calc(50% - 20px);
    margin-bottom: 9.3333vw;
  }
  .index-point ul li dl dt {
    font-size: 4.2666vw;
  }
  .index-point ul li dl dd {
    font-size: 3.4666vw;
    margin-top: 1em;
  }
  .index-trearment {
    padding: 13.333vw 0;
  }
  .trear-intro {
    letter-spacing: 0.1em;
    margin: 0 0 8vw;
  }
  ul.trearment-list li {
    width: 50%;
    padding: 4vw 0 5.333vw;
  }
  ul.trearment-list li:nth-of-type(3n+2):before, ul.trearment-list li:nth-of-type(3n+2):after {
    content: none;
  }
  ul.trearment-list li:nth-of-type(even):before {
    content: '';
    width: 1px;
    height: calc(100% - 20px);
    background: #F2F2F2;
    position: absolute;
    top: 10px;
    left: 0;
  }
  ul.trearment-list li .icon-box {
    height: 19.466vw;
    margin-bottom: 3.2vw;
  }
  ul.trearment-list li:nth-of-type(3) .icon-box:before {
    content: '';
    width: calc(100% - 20px);
    height: 1px;
    background: #F2F2F2;
    position: absolute;
    top: 0;
    left: 10px;
  }
  ul.trearment-list li .yellow-btn {
    font-size: 3vw;
    width: 40.666vw;
    padding: 2vw 0;
  }
  .annotation {
    display: none;
  }
  .index-equipment {
    -webkit-border-top-right-radius: 22.666vw;
    -moz-border-radius-topright: 22.666vw;
    border-top-right-radius: 22.666vw;
    padding: 13.333vw 0;
  }
  .equipments-list {
    gap: 0;
	justify-content: space-between;
  }
  .equipments-list li {
    width: 41.333vw;
  }
  .equipments-list li:nth-of-type(1), .equipments-list li:nth-of-type(2) {
    margin-top: 0;
  }
  .equipments-list li p {
    display: none;
  }
  .equipments-list li h3 {
    font-size: 4.2666vw;
    padding: 6.6666vw 0 0;
    margin: 0;
  }
  .equipments-list li h3:after {
    width: 12vw;
    bottom: auto;
    top: 3vw;
  }
  .equipments-list li .thumb {
    margin-bottom: 2.6666vw;
    height: 26.666vw;
  }
  .foot-info {
    padding: 14.666vw 0 9.333vw;
  }
  .foot-info .wrap {
    display: block;
  }
  .foot-info .wrap .col01 {
    padding: 0;
    width: auto;
  }
  .foot-info .wrap .col01 img {
    display: block;
    width: 53.333vw;
    margin: 0 auto 10.6666vw;
  }
  .foot-info .wrap .col02 {
    width: auto;
    border: none;
  }
  .foot-info dl dt, .foot-info dl dd {
    font-size: 3.2vw;
  }
  .foot-info .wrap .col03 {
    display: none;
  }
  .G-map iframe {
    height: 66.666vw;
  }
  footer .copy {
    font-size: 2.666vw;
    padding: 4vw 0;
  }
  .float-btn {
    width: 100%;
    background: #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: flex;
  }
  .float-btn li {
    position: relative;
    font-size: 3.466vw;
    padding: 4vw 6.666vw 3vw;
    white-space: nowrap;
  }
  .float-btn li .icon-box {
    width: 7.7333vw;
    height: 6.5333vw;
    margin: 0 auto 1vw;
  }
  .float-btn li:nth-of-type(2) {
    border-left: solid 1px #231815;
    border-right: solid 1px #231815;
  }
  .float-btn li:nth-of-type(1) .icon-box {
    background: url(../images/common/icon01.png) no-repeat;
    background-size: contain;
    background-position: center;
  }
  .float-btn li:nth-of-type(2) .icon-box {
    background: url(../images/common/icon02.png) no-repeat;
    background-size: contain;
    background-position: center;
  }
  .float-btn li:nth-of-type(3) .icon-box {
    background: url(../images/common/icon03.png) no-repeat;
    background-size: contain;
    background-position: center;
  }
  /*** page ***/
  .page-main {
    margin-left: 5.333vw;
    margin-right: 5.333vw;
    margin-bottom: 18.666vw;
    height: auto;
    padding: 7.534vw 0;
  }
  .page h1 {
    font-size: 4.8vw;
  }
  .page h1 span {
    font-size: 3.2vw;
  }
  .breadcrumb {
    display: none;
  }
  #top.page h2 {
    font-size: 4.2666vw;
    margin-bottom: 10.6666vw;
  }
  #top.page .preotho {
    font-size: 3.8666vw;
  }
  .page h3 {
    font-size: 4vw;
    margin-bottom: 10.6666vw;
    padding: 5.3333vw 4vw;
    border-radius: 100px;
	margin-top: 0;
  }
  .page .container p {
    font-size: 4vw;
    margin-bottom: 8vw;
  }
  .page h4 {
    font-size: 3.733vw;
    padding-left: 6.4vw;
    margin-bottom: 9.333vw;
  }
  .page h4:before {
    width: 5vw;
    height: 5vw;
    border-radius: 2.5vw;
    top: 1vw;
  }
  .right-image, .left-image {
    flex-wrap: wrap;
  }
  .right-image .content, .left-image .content, .right-image .image, .left-image .image {
    width: 100%;
  }
  .right-image .image, .left-image .image {
    margin-bottom: 10.666vw;
  }
  .left-image .image {
    order: 2;
  }
  .left-image .content {
    order: 1;
  }
  .page .container table {
    width: 100%;
  }
  .page .container table th, .page .container table td {
    display: block;
    font-size: 3.733vw;
    padding: 2.666vw 5.333vw;
    border-top: none;
    width: 100%;
  }
  .page .container table.siharai th, .page .container table.siharai td {
    display: table-cell;
  }
  .page .container table tr:first-of-type th {
    border-top: solid 1px #231815;
  }
  .page .container table tr:nth-of-type(even) th {
    background: none;
  }
  .page .container table td {
    background: #F2F2F2;
  }
  /*** staff紹介 ***/
  .dr-pr {
    flex-wrap: wrap;
    margin-bottom: 14.333vw;
  }
  .dr-pr .image {
    width: 100%;
  }
  .dr-pr dl {
    width: 100%;
  }
  .dr-pr dl dt {
    font-size: 3.733vw;
    margin-bottom: 6vw;
    margin-top: 6vw;
  }
  .page .container p.sub-ttl {
    font-size: 3.733vw;
    padding: 1vw 5vw;
    border-radius: 100px;
    margin-bottom: 4vw;
  }
  .dr-pr dl dd li {
    font-size: 3.733vw;
  }
  .dr-pr001 {
    flex-wrap: wrap;
    margin-bottom: 14.333vw;
  }
  .dr-pr001 .image {
    width: 100%;
  }
  .dr-pr001 dl {
    width: 100%;
  }
  .dr-pr001 dl dt {
    font-size: 3.733vw;
    margin-bottom: 6vw;
    margin-top: 6vw;
  }
  .dr-pr001 dl dd li {
    font-size: 3.733vw;
  }
  .point_box dl {
    width: calc(100%/2);
    float: left;
  }
  table.t_label tr:first-child {
    display: none;
  }
  table.t_label tr:nth-child(2) th {
    border-top: solid 1px #231815;
  }
  table.t_label td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
  }
  .flow:nth-child(1), .flow:nth-child(2), .flow:nth-child(3), .flow:nth-child(4), .flow:nth-child(5), .flow:nth-child(6), .flow:nth-child(7), .flow:nth-child(8), .flow:nth-child(9), .flow:nth-child(10), .flow:nth-child(11), .flow:nth-child(12) {
    float: none;
    width: 100%;
    height: 50px;
    margin-bottom: 30px !important;
  }
  .flow:nth-child(1)::after, .flow:nth-child(2)::after, .flow:nth-child(3)::after, .flow:nth-child(4)::after, .flow:nth-child(5)::after, .flow:nth-child(6)::after, .flow:nth-child(7)::after, .flow:nth-child(8)::after, .flow:nth-child(9)::after, .flow:nth-child(10)::after, .flow:nth-child(11)::after {
    content: '▼';
    position: absolute;
    right: 0;
    left: 0;
    bottom: -40%;
    text-align: center;
  }
  .flow:last-child::after {
    content: '';
  }
  h5.count {
    padding-left: 10px;
  }
  .count_under {
    margin-left: 0;
  }
  .half_box {
    width: 100%;
    margin-right: 0;
    float: none;
  }
  .risk_box {
    padding: 0;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
  }
  .risk_box label {
    padding: 8px 10px;
  }
  .risk_box input:checked ~ .risk_show {
    padding: 10px 0 18px;
  }
  .risk_show p {
    font-size: 13px !important;
    margin-top: 10px;
  }
  .risk_show p span {
    display: block;
  }
  .risk_show p.tre_title {
    background: #000;
    color: #fff;
    display: inline-block;
    padding: 3px 8px;
    margin-left: 8px;
  }
  .risk_show p.anno {
    font-size: 0.7em !important;
  }
  .flex.ortho {
    display: block;
  }
  .flex.ortho .ortho_btn {
    flex-basis: 100%;
    margin-bottom: 20px;
  }
  .flex.ortho .ortho_btn:hover {
    background: inherit;
  }
  .container ul.flow-oubo li {
    padding-bottom: 9.333vw;
  }
  .container ul.flow-oubo li .num {
    width: 16vw;
  }
  .container ul.flow-oubo li .num:after {
    width: 6vw;
    height: 6.5333vw;
    bottom: auto;
    top: calc(50% + 9.333vw);
    transform: translate(-50%, -50%);
  }
  .container ul.flow-oubo li .num p {
    width: 16vw;
    height: 16vw;
    border-radius: 8vw;
    font-size: 6.4vw;
    padding-top: 3vw;
  }
  .container ul.flow-oubo li .num p span {
    font-size: 2.8vw;
  }
  .container ul.flow-oubo li .content {
    flex-wrap: wrap;
    width: calc(100% - 21.3333vw);
  }
  .container ul.flow-oubo li .content dl {
    width: 100%;
  }
  .container ul.flow-oubo li .content dl dt {
    font-size: 4.2vw;
    margin-bottom: .8em;
    margin-top: 5vw;
  }
  .container ul.flow-oubo li .content dl dd {
    font-size: 3.2vw;
    margin-bottom: 4vw;
  }
  .container ul.flow-oubo li .content .img {
    width: 100%;
  }
  .container ul.flow-oubo li .content .img img {
    width: 100%;
  }
  ul.number-list {
    margin: 8vw 0;
  }
  ul.number-list li {
    font-size: 4.8vw;
    padding: 3vw 0px 3vw 3em;
  }
  ul.number-list li:before {
    width: 9.33333vw;
    height: 9.33333vw;
    border-radius: calc(9.33333vw / 2);
    font-size: 5.8666vw;
    top: 50%;
    transform: translateY(-50%);
  }
  .shorei {
    display: block;
    justify-content: center;
    position: relative;
  }
  .shorei > div {
    width: 100%;
  }
  .shorei img {
    width: 100%;
    margin-bottom: 3vw;
  }
  .index-equal h4 {
    font-size: 4.3vw;
    width: 250px;
    padding: 5px 0;
    border-bottom: solid 1px;
    margin-top: 6px;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  ul.flex2 {
    display: block;
    background-color: #F2F2F2;
    padding: 10px;
  }
  ul.flex2 li {
    width: 100%;
    border-radius: 10px;
    padding: 10px 20px;
    background: #ffef0040;
    margin: 10px 0px;
  }
  ul.flex2 {
    display: block;
    background-color: #F2F2F2;
    padding: 10px;
  }
  ul.flex2 li {
    width: 100%;
    border-radius: 10px;
    padding: 10px 20px;
    background: #ffef0040;
    margin: 10px 0px;
  }
  /*
      ul.flex3 {
    display: block;
    background-color: #F2F2F2;
    padding: 10px;
}
*/
  /*
    ul.flex3 li {
    width: 100%;
    border-radius: 10px;
    padding: 10px 20px;
    background: #ffef0040;
    margin: 10px 0px;
}
*/
  ul.flex3 {
    display: block;
    background-color: #F2F2F2;
    /*    padding: 10px;*/
    margin: 30px 0px 50px;
  }
  ul.flex3 li {
    width: 100%;
    border-radius: 10px;
    padding: 10px 20px;
    background: #ffef0040;
    margin: 20px 0px;
  }
  .ortho-menu-cont ul li.item {
    width: 100%;
  }
  .ortho-menu-cont .flex3 li .yellow-btn {
    width: 200px
  }
  .Progress-cont {
    width: 50%;
    margin-top: 50px;
  }
  .Progress .Progress-cont .Progress-bf {
    margin-bottom: 20px;
  }
  .Progress .Progress-cont .Progress-img {
    margin-bottom: 20px;
  }
  .bottom_blue {
    margin: 0 auto;
  }
  .w-staff {
    width: 100%;
  }
  .w-staff ul li {
    width: 100%;
  }
  h1 {
    font-size: 2.8vw;
  }
  .corona-top {
    width: 100%;
    padding-left: 5.333vw;
    padding-right: 5.333vw;
  }
  .corona-top img {
    width: 100%;
  }
	
  
	.corona-top-2 {
    width: 100%;
  }
  .corona-top-2 img {
    width: 100%;
  }
	
	.corona-top-2 img {
    border-radius: 30px;
		margin-top: -48px;
}
	
	
  .treat {
    width: 100%;
    padding-left: 5.333vw;
    padding-RIGHT: 5.333vw;
  }
  .page .container div.scroll {
    display: flex;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 5rem;
  }
  .treat_banner:first-child:before {
    width: 100%;
  }
  .treat_banner:before {
    width: 100%;
  }
  .treat_banner {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  table.contact {
    width: 100%;
  }
  table.contact th {
    padding: 20px 0 5px;
    width: 100%;
    display: block;
    font-size: 1rem;
  }
  table.contact th p {
    display: inline;
	  margin-right: 1rem;
  }
  table.contact th.must::after {
    position: relative;
    top: -2px;
    right: auto;
    line-height: 1.0em;
    padding: 5px 8px;
  }
  table.contact td {
    padding: 0;
    width: 100%;
    display: block;
	  margin-bottom: 2rem;
  }
  textarea {
    width: 100%;
  }
  input[name=name], input[name=tel], input[name=mail] {
    width: 100%;
    height: 70px;
  }
  input[type="submit"] {
    margin: 40px auto 0;
    width: 100%;
    height: 80px;
  }
  table.contact th.must::after {
    position: relative;
    top: -2px;
    right: auto;
    line-height: 1.0em;
    padding: 5px 8px;
  }
	
	
	  input[type="submit"] {
    margin: 40px auto 0;
    width: 90%;
    height: 80px;
  }
	
	table.contact{width:97%;margin:auto;}
	
	table.contact textarea{width:70vw;}
	
	table.contact input[type="submit"]{width:70vw}
	
	table.contact .txt1 input{width:70vw;}
	
  /* 20240313 */
  /* .cover-img {
    margin: 0px 0px 0px 0px;
  } */
  .cover-color {
    background-color: #FFFFFF;
  }
	
}

@media screen and (max-width: 768px){
	.author {
	    width: 100%;
    	padding-right: 20px;
   		text-align: right;
	}
}

@media screen and (max-width: 768px){
	.kyukan {
		width: 100%;
	}
	.kyukan p {
		font-size: 15px;
	}
	.kyukan p span {
		font-size: 20px;
	}
	.contact-list3 li {
		margin: 10px auto;
		padding-left: 25px;
	}
	.contact-list3 {
    	display: block;
		margin: 20px 0 0;
	}
}

@media screen and (max-width: 768px){
	.group_clinic {
		padding: 0 0 2rem;
	}
	.group_clinic_list {
		display: block;
	}
	.group_clinic_list li {
		width: 100%;
	}
}