/* responsive */
.box_sp {
    display: none;
}

.box_pc {
    display: block;
}

.box_sp375 {
    display: none;
}

/*responsive */
@media screen and (max-width: 1365px) {
.f-right {
        display: none;
    }
.f-bottom {
        position: fixed;
        z-index: 999;
        bottom: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
    }

    .f-link1 {
        margin: 0;
        display: flex;
        align-items: center;
        background: #047176;
        color: #fff;
        line-height: 1.4em;
        transition: none;
        right: 0;
        position: relative;
        border-radius: 0;
        height: 80px;
        flex-wrap: wrap;
        width: 70%;
    }

    .f-link1 .title {
        font-size: 14px;
        font-weight: bold;
        position: relative;
        padding: 0 10px;
        border-right: 1px solid #40978f;
        margin: 0;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .b_link_f {
        display: flex;
        justify-content: center;
        flex-wrap: none;
        width: 100%;
    }

    .b_link_f li {
        width: calc(100% / 2);
        height: auto;
    }

    .b_link_f li a {
        background-color: #5fb0b3;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px 0;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        font-size: 16px;
        border-left: #6fc6c0;
        border: none;
        z-index: 999;
    }

    .b_link_f li:first-child a {
        border-right: 1px solid #6fc6c0;
        border-bottom: none;
    }

    .b_tel {
        width: 30%;
        background: #047176;
        color: #FFFFFF;
        font-size: 16px;
        margin: 0 0 0 0;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 9999;
        border-right: 1px solid #6fc6c0;
    }

    .b_tel a {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        cursor: pointer;
        align-items: center;
        z-index: 999999;
        font-weight: bold;
        width: 100%;
        height: 100%;
    }

    .b_tel img {
        margin: 0 10px;
		width: 32px;
    }
    footer {
    margin: 0 auto 80px;
}
    #toTop {
    bottom: 80px;
    }
}
@media screen and (max-width: 640px) {
	.group {
		display: block;
        margin-bottom: 10px;
	}
	img {
    vertical-align: bottom;
    height: auto;
		max-width: 100%;
}
    .but_staff {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.but_staff li {
    width: 80%;
    display: inline-block;
    margin-right: 2%;
    border: 1px solid #5FB0B3;
    background: #5FB0B3;
    text-align: center;
    
}
    #wrapper {
        min-width: 100%;
    }

    .box_sp {
        display: block;
    }

    .box_pc {
        display: none;
    }

    .banner img {
        width: 100%;
        max-width: 100%;
    }

    .photo_staff img {
        width: 100%;
        max-width: 100%;
    }

    .header_wrap {
        margin-bottom: 0 !important;
    }

    h1 {
        text-align: left;
        font-size: 9px;
        line-height: 14px;
    }

    #main {
        width: 100%;
    }

    header {
        width: 100%;
        padding: 0 3%;
        box-sizing: border-box;
    }
    /* .top-bnr a img {
        width: 100%;
        float: none;
        margin: auto;
    } */

    /* #index .top-bnr {
        justify-content: center;
        width: fit-content;
        margin: 10px auto;
        gap: 10px;
    }
	#index .top-bnr a img {
        width: 100%;
		float: none;
		margin: auto;
	} */

    .group .top-bnr {
        flex-wrap: wrap;
        gap: 10px;
    }

    .group .top-bnr .btn_head {
        width: 100%;
    }

    .group .top-bnr .img img {
        width: 100%;
    }

    .inner {
        width: 100%;
        padding: 0 3%;
        box-sizing: border-box;
    }

    #gnav {
        display: none;
    }


    video {
        position: inherit;
        top: 0;
        left: 0;
        min-width: 100%;
        min-height: 100%;
        height: auto;
        width: 100vw;
        z-index: 0;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: none;
    }

    h2.txt {
        font-size: 20px;
    }

    .footer_in {
        width: 100%;
        box-sizing: border-box;
        padding: 0 3%;
    }

    .fnav{
        float:none;
        width:100%;
    }

    .fnav .f_box_news,
    .fnav .fnavl,
    .fnav dl:not(.menu-diagnosis){
        display: none;
    }

    .menu-diagnosis{
        max-width: 462px;
        margin:15px auto 0;
    }
    
    .menu-diagnosis .menu_content{
        padding:10px;
    }
    
    /* .menu-diagnosis .menu_bnrList{
        display:block;
    } */
    
    .menu-diagnosis .menu_bnrList .menu_listItem{
        height:auto;
    }
    
    .menu-diagnosis .menu_bnrList .menu_listItem + .menu_listItem{
        margin:10px auto 0;
    }
    
    .menu-diagnosis .menu_bnr{
        height:auto;
    }
    
    .menu-diagnosis .menu_bnr img{
        width:100%;
        height:auto;
    }

    .fbanner figure {
        width: 100%;
    }


    .fbanner dl dt {
        line-height: 100%;
    }

    .shopinfo {
        width: 100%;
        margin-bottom: 20px;
    }

    .shopinfo ul:first-of-type {
        float: none;
        text-align: center;
        margin-bottom: 20px;
    }

    .shopinfo ul:last-of-type {
        float: none;
        text-align: center;
        margin: 0 auto;
    }

    .fbanner dd a:first-child {
        margin: 0 0 10px;
        display: block;
    }

    .fbanner dd a:last-of-type {
        margin: 0;
    }

    .fmap {
        clear: both;
        float: none;
        width: 100%;
    }

    .fbanner {
        width: 100%;
    }

    .imgsp {
        width: 100%;
    }

    #toTop {
        width: 32px;
        height: 32px;
    }

    .under .key h2 {
        width: 100%;
        box-sizing: border-box;
        padding: 0 3%;
    }

    #main {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    #content {
        width: 100%;
        padding: 5% 3% 0;
    }

    ul.path {
        /*display: none;*/
        padding: 10px 15px;
    }

    ul.path li {
        display: inline-block;
        line-height: 1.7em;
    }

    .under .key h2 span {
        font-size: 220%;
        height: 180px;
    }

    .under h3 {
        font-size: 200%;
    }

    .under h4 {
        font-size: 180%;
    }

    .under h5 {
        font-size: 160%;
    }

    .under h6 {
        font-size: 140%;
    }

    aside {
        float: none;
        width: 100%;
        clear: both;
        border-top: solid 2px #037177;
        padding: 5% 0 0 0;
    }

    aside dl {
        background: url(../images/sp_nav2_bg.jpg) no-repeat top center;
        background-size: cover;
        padding: 0 3% 3%;
    }

    aside img {
        width: 100%;
    }

    .navi1 {
        padding: 0 3%;
    }

    /*---------------------------index----------------------------------*/
    #index .key h2 img {
        width: 100%;
    }

    .index1 li {
        width: 40%;
        margin: 0;
        float: none;
        display: inline-block;
        padding: 1%;
    }

    .index1 li img {
        width: 100%;
    }

    .index_blog {
        padding: 0;
    }

    .index_blog dl {
        padding: 12px 0;
    }

    .index3 {
        background: #e8e8e5;
        padding: 30px 0;
        min-height: inherit;
    }

    .index3_box {
        width: 100%;
    }

    .index3 h3 img {
        width: 100%;
    }

    .inder_bnr li {
        float: left;
        display: block;
        width: 49%;
        margin: 0 0 20px;
    }

    .inder_bnr li:nth-child(2n+2) {
        float: right;
    }

    .inder_bnr li:nth-child(4),
    .inder_bnr li:last-child {
        margin: 0 0 20px 0;
    }

    .inder_bnr img {
        width: 100%;
    }

    .youtube {
        float: none;
        margin-bottom: 20px;
    }

    .youtube iframe {
        width: 100%;
    }

    .index_content {
        width: 100%;
        float: none;
    }

    /* blog */
    #blog #content .img1 img {
        width: 100%;
    }

    #blog #content .listImg li a {
        height: 140px;
    }

    #blog #content .listImg li a img {
        max-height: 100%;
        max-width: 100%;
        position: relative;
        top: 50%;
        transform: translate(0, -50%);
    }

    #blog #content .listImg li a {
        height: 110px;
    }

    /*#blog #content .listImg li a img {
  max-height: 110px;
  transform: translateY(-50%);
}*/
    .image_l,
    .image_r {
        float: none;
        display: block;
        text-align: center;
        margin: 0 auto 10px;
    }

    .t-note {
        color: #037177;
        font-size: 12px;
    }

    .scrollbox {
        overflow-x: auto;
        display: block;
    }

    #main .w600 {
        width: 600px;
    }
    #main .w700{
        width: 700px;
    }
    /*  fix 161229*/
    .list_staff li {
        width: 46%;
        margin-bottom: 2%;
    }
 .list_staff li.w100 {
        width: 93%;
        margin-bottom: 2%;
      margin-right: 0;
    }
    .list_staff li:nth-child(2),
    .list_staff li:nth-child(4) {
        margin-right: 0;
    }

    table.table_staff th {
        text-align: left;
        font-weight: normal;
        font-size: 140% !important;
    }

    table.table_staff td {
        font-size: 140% !important;
    }

    table.table_staff th.th_bg {
        background: #b3dfe0;
    }

    .box_concept {
        flex-wrap: wrap;
        justify-content: center;
    }

    .box_concept dl {
        width: 100%;
    }

    /* -------- key ------------- */

    #implant .key {
        background: url("../images/implant_key_sp.png") no-repeat center right;
    }

    #clinic .key {
        background: url("../images/clinic_key_sp.png") no-repeat center left;
    }

    #concept .key {
        background: url("../images/concept_key_sp.png") no-repeat center left;
    }

    #endo .key {
        background: url("../images/endo_key_sp.png") no-repeat center right;
    }

    #esthe .key {
        background: url("../images/esthe_key_sp.png") no-repeat center right;
    }

    #microscope .key {
        background: url("../images/microscope_key_sp.png") no-repeat center right;
    }

    #ortho .key {
        background: url("../images/ortho_key_sp.png") no-repeat center right;
    }

    #perio .key {
        background: url("../images/perio_key_sp.png") no-repeat center right;
    }

    #prevent .key {
        background: url("../images/prevent_key_sp.png") no-repeat center right;
    }

    #staff .key {
        background: #eaebe6;
    }
	
    #flow .key {
        background: url("../images/flow_key_sp.png") no-repeat top right;
    }
	
    #child .key {
        background: url("../images/child_key_sp.png") no-repeat top right;
    }
	
    #blog .key {
        background: url("../images/blog_key_sp.png") no-repeat top right;
    }

    #keyvisual {
        height: auto;
    }

    #keyvisual .mainimg01 {
        background: url("../images/idx_mainimg01_sp.png") no-repeat center top;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    #index .sec01 {
        text-align: center;
        padding: 20px 0;
        background: #BEE2E2;
    }

    #keyvisual h2.txt {
        font-size: 20px;
        padding: 10px 15px;
        left: 10px;
        margin: 0 0 0 10px;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        white-space: nowrap;
        top: inherit;
    }

    .idx_h301 {
        margin: 10px auto 15px;
    }

    .box_h2 {
        width: 950px;
        margin: 0 auto;
        height: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
    }

    #index .sec02 .chartbox {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    .chart {
        width: inherit;
        margin: 0 auto 30px !important;
    }

    .chart img {
        width: inherit;
        max-width: 100%;
        height: auto;
    }

    .vision_c {
        width: 100%;
    }

    #index .sec02 .chartbox img {
        width: inherit;
        max-width: 100% !important;
        height: auto !important;
    }

    #index .sec02 dt,
    #index .h301,
    #index .h401 {
        font-size: 21px;
    }

    #index .sec02 dt span,
    #index .h301 span,
    #index .h401 span {
        font-size: 70%;
    }

    #index .sec02 .sec02_listItem{
        width:49%;
        margin:0;
        border:0;
    }

    #index .sec02 .sec02_listItem + .sec02_listItem:nth-child(even){
        margin-left:2%;
    }

    #index .sec02 .sec02_listItem + .sec02_listItem:not(:nth-child(-n + 2)){
        margin-top:2%;
    }

    #index .sec02 .sec02_listItem a{
        padding:16px 10px;
    }

    #index .sec02 .sec02_listItem .item_title{
        font-size:16px;
    }
    
    #index .sec02 .sec02_listItem .item_txt{
        font-size:18px;
    }

    #index .sec03 .box_staff {
        flex-wrap: wrap;
        margin-top: 20px;
    }

    #index .sec03 .box_staff .staff_photo,
    #index .sec03 .box_staff .staff_details {
        width: 100%;
    }

    #index .sec03 .box_staff .box_txt {
        width: 100%;
    }

    .index_b a {
        display: block;
        width: 260px;
        background-color: #000;
        color: #FFF;
        line-height: 54px;
        margin: 0 auto;
        text-decoration: none;
        position: relative;
    }

    #index .sec03 .box_staff .staff_details {
        margin: 10px 0;
    }

    #index .staff_photo ul {
        right: 10px;
        bottom: 5%;
    }

    #index .staff_photo .name {
        right: 0;
        margin: 0 0 10px 0vw;
    }

    #index .box_staff02 .staff_photo .name {
        left: 0;
    }

    #index .sec04 .sec04_box {
        flex-wrap: wrap;
        padding: 20px;
        box-sizing: border-box;
    }

    #index .sec04 .sec04_txt,
    #index .sec04 .sec04_photo {
        width: 100%;
    }

    #index .sec04 .sec04_photo {
        margin-bottom: 15px;
    }

    .or1 {
        order: 1;
    }

    .or2 {
        order: 2;
    }

    #index .sec05 {
        background: inherit;
    }

    #index .sec05 .index_content {
        width: 100%;
        padding: 20px;
    }

    #index .img100 img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    #index .box_flex ul {
        flex: 0 0 auto;
        width: calc((100% / 4) - 10px);
    }

    .staff_photo img {
        max-width: 100%;
        height: auto;
    }

    .box_txt {
        width: 100%;
        background-color: rgba(255, 255, 255, 0.6);
        padding: 100px 20px 50px 20px;
        box-sizing: border-box;
        margin-top: -70px;
    }

    .wrap_section_01,
    .wrap_section_02 {
        padding: 50px 0;
    }

    .f-right {
        display: none;
    }

    .f-bottom {
        position: fixed;
        z-index: 999;
        bottom: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
    }

    .f-link1 {
        margin: 0;
        display: flex;
        align-items: center;
        background: #047176;
        color: #fff;
        line-height: 1.4em;
        transition: none;
        right: 0;
        position: relative;
        border-radius: 0;
        height: 80px;
        flex-wrap: wrap;
        width: 70%;
    }

    .f-link1 .title {
        font-size: 14px;
        font-weight: bold;
        position: relative;
        padding: 0 10px;
        border-right: 1px solid #40978f;
        margin: 0;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .b_link_f {
        display: flex;
        justify-content: center;
        flex-wrap: none;
        width: 100%;
    }

    .b_link_f li {
        width: calc(100% / 2);
        height: auto;
    }

    .b_link_f li a {
        background-color: #5fb0b3;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px 0;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        font-size: 16px;
        border-left: #6fc6c0;
        border: none;
        z-index: 999;
    }

    .b_link_f li:first-child a {
        border-right: 1px solid #6fc6c0;
        border-bottom: none;
    }

    .b_tel {
        width: 30%;
        background: #047176;
        color: #FFFFFF;
        font-size: 16px;
        margin: 0 0 0 0;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 9999;
        border-right: 1px solid #6fc6c0;
    }

    .b_tel a {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        cursor: pointer;
        align-items: center;
        z-index: 999999;
        font-weight: bold;
        width: 100%;
        height: 100%;
    }

    .b_tel img {
        margin: 0 10px;
		width: 32px;
    }

    .w35 {
        width: inherit;
    }

    table.sptable {
        width: 100% !important;
        box-sizing: border-box;
        border-bottom: 1px solid #d5d5d5;
    }

    table.sptable span {
        display: block;
    }

    table.sptable th,
    table.sptable td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border-bottom: none;
    }

    #icon_face {
        float: left;
        margin: 19px 0px 0 10px;
    }
    #icon_face02 {
        float: left;
        margin: 19px 0px 0 10px;
    }

    #b_english {
        display: block;
        float: left;
        margin: 19px 0px 0 10px;
    }

    #logo {
        float: left;
        width:55%;
    }

    #logo img {
        width: 100%;
    }

    #index .staff_photo .name1 {
        margin: 0 0 10px 17vw;
    }

    #index .staff_photo .name {
        margin: 0 0 10px 5vw;
    }

    /*  #b_english {
display: block;
    position: fixed;
    top: 40px;
    right: 110px;
    float: none;
    margin: 6px 0 0 22px;
  }
  #icon_face {
    position: fixed;
    top: 42px;
    right: 60px;
    float: none;
    margin: 4px 0px 0 15px;
  }
*/
    #index .staff_photo .name span,
    #index .staff_photo .name1 span {
        font-size: 26px;
    }

    .mainimg01 .box_news {
        display: flex;
        display: -webkit-flex;
        align-items: center;
        padding: 0 35px 0 40px;
        width: 40%;
        height: 60px;
        /*background: #fff;*/
        position: absolute;
        z-index: 1;
        -webkit-box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
        -moz-box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
        box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
        bottom: 20px;
        right: 5px;
    }

    #staff .table_staff.w600 {
        width: 100%;
    }

    #staff table.table_staff td.pd_left {
        padding: 0 2%;
        text-align: center;
    }

    p.bnr {
        width: 100%;
        margin: 0 auto;
    }

    .supervisor-information {
        padding: 15px;
    }

    .supervisor-information .body-info {
        display: block;
    }

    .supervisor-information .body-info dt {
        text-align: center;
        margin-bottom: 20px;
        margin-right: 0;
    }

    .supervisor-information .body-info dt img {
        max-width: 100%;
    }

    p.bnr a {
        font-size: 160%;
    }
    .box_img {
        width: calc((100% / 2) - 1em);
      }
      .box_img:nth-child(2n){
        margin-right: 0;
      }
      .d-flex{
        flex-wrap: wrap;
        justify-content: center;
      }
}

@media screen and (max-width: 480px) {
    #icon_face {
        float: left;
        margin: 19px 0px 0 5px;
    }
    #icon_face02 {
        float: left;
        margin: 19px 0px 0 5px;
    }

    #b_english {
        display: block;
        float: left;
        margin: 19px 0px 0 5px;
    }

    #logo {
        width: 55%;
    }
    .box_txt01 {
        top: -23px;
        width: 45px;
      }
}

@media screen and (max-width: 414px) {
    #icon_face {
        float: left;
        margin:20px 0px 0 15px;
    }
    #icon_face02 {
        float: left;
        margin: 20px 0px 0 10px;
    }

    #b_english {
        display: block;
        float: left;
        margin: 20px 0px 0 10px;
    }
    #icon_face img, #icon_face02 img {
     width: 7.2vw;
      }
      #icon_face02 ,#icon_face {
        float: left;
        margin: 20px 0px 0 10px;
      }
}

@media screen and (max-width: 375px) {
    .box_sp375 {
        display: block;
    }
    #logo {
        width: 55%;
    }

    #icon_face {
        float: left;
        margin: 4px 0px 0 30px;
    }

    #logo img {
        width: 100%;
    }

    .image_l,
    .image_r {
        float: none;
        display: block;
        text-align: center;
        margin: 0 auto 10px;
    }

    table.table_staff th {
        font-size: 14px !important;
    }

    table.table_staff td {
        font-size: 14px !important;
    }

    .name1 span {
        display: block;
    }

    .name span {
        display: block;
    }

    #icon_face {
        float: left;
        margin:20px 0px 0 8px;
    }
    #icon_face02 {
        float: left;
        margin: 20px 0px 0 8px;
    }

    #b_english {
        display: block;
        float: left;
        margin: 4px 0px 0 10px;
    }
	#b_english img { width: 40px;}
    .list_staff li a {
        font-size: 90%;
    }
    .box_txt01 {
        left: -28px;
      }
}

@media screen and (max-width: 320px) {
    #icon_face {
        float: left;
        margin: 20px 0px 0 5px;
    }
    #icon_face02 {
        float: left;
        margin: 20px 0px 0 5px;
    }

    #b_english {
        display: block;
        float: left;
        margin: 20px 0px 0 5px;

    }
	#b_english img { width: 40px;}
    #blog #content .listImg li a {
        height: 84px;
    }

    #blog #content .listImg li a img {
        max-height: 84px;
        transform: translateY(-50%);
    }
    header .navBtn {
        width: 35px !important;
        height: 35px !important;
        padding: 10px 5px !important;
    }
      .box_txt01 {
    left: -33px;
  }
}

@media screen and (max-width: 360px) {
    .list_staff li a {
        font-size: 3.7vw;
    }

    .mainimg01 .box_news {
        bottom: 10px;
    }
}