@media (max-width:768px){
	.sp{display:block;}
	.pc{display:none;}
	.schedule__content{
	  grid-template-columns:1fr;
	}
	
	.schedule__inner{
	  padding:30px 20px;
	}

  .profile {
    padding: 60px 20px;
  }

  .profile__inner {
    min-height: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .profile__bg {
    display: none;
  }

  .profile__name,
  .profile__photo,
  .profile__box {
    position: static;
  }

  .profile__name p {
    color: #1f628f;
    font-size: 2rem;
  }

  .profile__photo {
    width: 260px;
    margin: 0 auto;
  }

  .profile__box {
    width: 100%;
    padding: 24px 20px;
    background: #fff;
    border-radius: 12px;
  }

  .profile__box--message {
    background: #d7eaf0;
  }

  .profile__box--history {
    background: #f4f4f4;
  }

  .profile__box h3 {
    font-size: 1.7rem;
  }

  .profile__box p {
    font-size: 1.5rem;
    line-height: 1.8;
  }
  
    .facility {

  }

  .facility__title {
    font-size: 3.2rem;
    letter-spacing: 0.08em;
  }

  .facility__subtitle {
    font-size: 1.2rem;
    letter-spacing: 0.25em;
  }

  .facility__nav {
    margin-top: 24px;
  }

  .facility__nav-list {
    justify-content: flex-start;
    gap: 8px 0;
  }

  .facility__nav-item {
    padding: 0 12px;
  }

  .facility__nav-item a {
    font-size: 1.4rem;
  }

  .facility__lead {
    font-size: 1.5rem;
    line-height: 1.7;
  }

  .facility__image {
    margin-top: 32px;
    border-radius: 10px;
  }
    .facility_about {
    padding: 56px 16px;
  }

  .facility_about__title {
    margin-bottom: 24px;
    font-size: 2.8rem;
    line-height: 1.5;
  }

  .facility_about__text p {
    font-size: 1.6rem;
    line-height: 1.9;
    font-weight: 600;
  }

  .facility_about__text p + p {
    margin-top: 8px;
  }
  

/* =========================
   スマホ
========================= */
.header__logo img{
	height:60px;
}
  .header {
    height: 70px;
    padding-bottom:0;
  }

  .header__inner {
    position: relative;
    min-height: 70px;
    padding: 0 0 0 16px;
    gap: 12px;
    max-height:70px;
        align-items: center;
    
  }

  .header__logo {
    max-width: 210px;
    width: calc(100% - 90px);
  }

  .right-box {
    display: none;
  }

  /* スマホ時のナビ全体 */
  .header__nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #fff;
    border-top: 1px solid #ddd;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);

    /* 初期状態 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition:
      opacity 0.35s ease,
      transform 0.35s ease,
      visibility 0.35s ease;
    z-index: 99;
    margin-left: 0;
    display:block;
  }

  .nav {
    display: block;
    padding: 8px 16px 16px;
        transform: translateX(0%);
    position: static;
  }

  .nav li + li {
    border-top: 1px solid #eee;
  }

  .nav a {
    display: block;
    padding: 16px 0;
    font-size: 15px;
  }

  /* 開いた時 */
  .header.is-open .header__nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .menuBtn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    margin-left: auto;
    border: none;
    background: #3f7092;
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
  }

  .menuBtn__lines {
    position: relative;
    width: 40px;
    height: 40px;
    margin-bottom: 0px;
  }

  .menuBtn__lines span {
    position: absolute;
    left: 0;
    width: 40px;
    height: 3px;
    background: #fff;
    border-radius: 999px;
    transition:
      transform 0.35s ease,
      opacity 0.25s ease,
      top 0.35s ease;
  }

  .menuBtn__lines span:nth-child(1) {
    top: 9px;
  }

  .menuBtn__lines span:nth-child(2) {
    top: 19px;
  }

  .menuBtn__lines span:nth-child(3) {
    top: 29px;
  }

  .menuBtn__text {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.08em;
        margin-bottom: 2px;
        text-align:center;
  }

  /* ボタンが開いた時のアニメーション */
  .header.is-open .menuBtn__lines span:nth-child(1) {
    top: 19px;
    transform: rotate(45deg);
  }

  .header.is-open .menuBtn__lines span:nth-child(2) {
    opacity: 0;
  }

  .header.is-open .menuBtn__lines span:nth-child(3) {
    top: 19px;
    transform: rotate(-45deg);
  }
  .serif,
  .home .title, .section__title{
  	font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }
  section{
  	max-width:100%;
  }
  .home .section__lead{
  	text-align:left;
  	padding:10px 20px;;
  	margin:20px auto;
  }
  .right_button img{
  	display:none;
  }
  .right_button .sp img{
  	display:inline-block;
  	max-height:20px;
  	position:absolute;
  	right:30%;
  	margin-top:3px;
  }
  .right_button {
        position: fixed;
        max-width: 100%;
        width: 100%;
        right: auto;
        top: calc(100vh - 80px);
        bottom: auto;
        transform: translateY(0);
        /* left: 50%; */
        /* transform: translateX(-50%); */
        z-index: 1000;
        height: 65px;
        background: url(../img/sp-button-back.png) center center no-repeat;
        background-size: 65%;
        display: grid;
        align-content: center;
        justify-content: center;
        align-items: center;
        justify-items: center;
    }

	.right_button p{
		box-sizing:border-box;
		display:block;
		text-align:center;
		color:white;
		max-width:100%;
	}
	.p1-sec-1 .split{
		max-width:100%;
		flex-wrap: wrap;
	}
	.access .access__row{
		display:block;
		max-width:100%;
	}
	.p1-sec-2 .right .step__num{
		left:85%;
	}
	.p1-sec-2 .step__item.left .step__content > .clinic-env__image-bg,
	.p1-sec-2 .step__item.right .step__content > .clinic-env__image-bg{
		display:none;
	}
	.p1-sec-2 .step__num.n01 {
	    background: url(../img/sp-number-01.png) center center no-repeat;
	    background-size: contain;
	}
	.p1-sec-2 .step__num.n02 {
	    background: url(../img/sp-number-02.png) center center no-repeat;
	    background-size: contain;
	}
	.p1-sec-2 .step__num.n03 {
	    background: url(../img/sp-number-03.png) center center no-repeat;
	    background-size: contain;
	}
	.p1-sec-2 .step__num.n04 {
	    background: url(../img/sp-number-04.png) center center no-repeat;
	    background-size: contain;
	}
	.p1-sec-2 .step__item.right{
		padding-left:0;
		max-width:70%;
		margin-right:34px;
		padding-top:160px;
	}
	.p1-sec-2 .step__item.left{
		padding-left:0;
		max-width:70%;
		margin-right:20px;
		padding-top:160px;
	}	
	.p1-sec-2 .step__item.right .step__content > img {
	    display: block;
	    position: absolute;
	    max-width: 300px;
	    height: auto;
	    left: -60px;
	    z-index: -1;
	    top: -160px;
	}
	.p1-sec-2 .step__item.left{
		padding-right:0;
		max-width:70%;
		margin-left:30px;
		padding-top:160px;
	}	
	.p1-sec-2 .step__item.left .step__content > img {
	    display: block;
	    position: absolute;
	    max-width: 300px;
	    height: auto;
	    left: -60px;
	    z-index: -1;
	    top: -160px;
	}
	.p1-sec-2 .step__content {
	    background: white;
	    width: 452px;
	    width: 100%;
	    padding: 30px;
	    margin-bottom: 20px;
	    clear: both;
	    box-shadow: 0 0 12px rgba(0, 0, 0, 0.4);
	}
	.p1-sec-2 .step__item.left{
	    padding-right: 10px;
	}
	.p1-sec-2 .step__content {
        background: white;
        width: 452px;
        width: 100%;
        padding: 20px;
        margin-bottom: 20px;
        clear: both;
        box-shadow: 0 0 12px rgba(0, 0, 0, 0.4);
    }
    .p1-sec-2 .left .step__num{
    	left:auto;
    }
    .p1-sec-2 .step__item.left .step__content > img {
        display: block;
        position: absolute;
        max-width: 300px;
        height: auto;
        right: -75px;
        z-index: -1;
        top: -160px;
        left:auto;
    }
    .p1-sec-2 .banner{
    	margin-top:20px;
    }
    .p1-sec-2 .banner img{
    	max-height:100%;
    	max-width:90%;
    }
    .mission-statement .inner{
    	max-width:90%;
    }
    .mission-statement {
	    background: url(../img/background-8.png) center center repeat;
	    background-size: 100%;
	    padding: 20px 0;
	}
	.greetings__inner .circle img{
		margin-bottom:20px;
		position:relative;
		z-index:1;
	}
	.greetings__inner .circle{
		position:relative;
		background:transparent;
		max-width:70%;
		margin:auto;
	}
    .greetings__inner .circle:before {
        content: '';
        position: absolute;
        bottom: -5px;
        right: -10px;
        width: 100%;
        height: 100%;
        display: block;
        background: #B6D7E0;
        border-radius: 100%;
        z-index: 0;
    }
    .greetings__inner {
		padding: 40px 20px;
	}
	.greetings__content{
		display:block;
	}
	body .access{
		padding-top:0;
	}
	.greetings {
    padding: 80px 20px;
    margin-bottom:-20px;
    background: url(../img/background-9.jpg) center / cover;
	}
	.access__map{
		min-height:300px;
		margin-top:20px;
	}
	.access__button{
		border-radius: 30px;
	}
	.access__news{
		margin-top:40px;
	}
	.schedule__inner{
		max-width:90%;
	}
	.schedule__message{
		font-size: 14px;
		text-align:left;
	}
	.schedule__contact{
		margin-top:20px;
	}
	.schedule__line2 img.pc{
		display:none;
	}
	.schedule__line2 img.sp {
        max-width: 80%;
        width:80%;
        display:block;
        height:auto;
        max-height:100%;
	}
	.right_button{
		max-width:100%;
		margin:auto;
	}
	.sp.split {
        display: flex;
        gap: 2%;
        max-width: 100%;
        flex-wrap: wrap;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
        margin-bottom:10px;
    }
    .sp.split img{
    	width:45%;
    }
    .schedule {
    	padding: 50px 0;
	}
	.hero__image hgroup {
	    position: absolute;
	    background: url(../img/fv-title-back.svg) center center no-repeat;
	    background-size: contain;
	    top: 25.4vw;
	    right: -1.8vw;
	    z-index: 1;
	    height: 100%;
	    width: 70vw;
	    left: auto;
	}
	.hero__image hgroup.left {
	    position: absolute;
	    background: url(../img/fv-title-back.svg) center center no-repeat;
	    background-size: contain;
	    top: 25.4vw;
	    left: -1.8vw;
	    z-index: 1;
	    height: 100%;
	    width: 70vw;
	    right: auto;
	}
	.hero__image hgroup h1 {
	    color: white;
	    position: absolute;
	    top: 44%;
	    font-size: 7.2vw;
	    text-align: center;
	    width: 100%;
	    letter-spacing: 0;
	}
	.hero__image hgroup h2 {
        color: white;
        position: absolute;
        top: 49%;
        font-size: 3.9vw;
        text-align: center;
        width: 37vw;
        left: 17vw;
        display: block;
    }
	.clinic     .greetings{
		padding:50px 20px;
	}
	.clinic     .greetings__inner {

        padding-top: 10px;
        padding-bottom: 10px;
        margin-bottom:40px;
    }
    .clinic .greetings-sp.sp .greetings__title{
        margin:30px auto;
        font-weight:400;
    }
    .clinic .greetings-sp.sp .greetings__title:after{
    	display:none;
    }
    .profile{
    	background:#ECF0F3;
    }
    .profile .gray-box{
    	display:none;
    }
    .profile__photo_after {
	    display: block;
	    content: '';
	    position: absolute;
	    width: 260px;
	    height: 260px;
	    background: #B6D7E0;
	    z-index: 2;
	    border-radius: 50%;
	    top: 3px;
	    right: auto;
	    left:17%;
	}
	figure+.profile__name.sp p{
		text-align:center;
		color:#000;
		font-size:14px;
		font-weight:600;
	}
	.profile__box{
		background:white;
		border-radius:30px 0 30px 0;
		box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
		padding:30px;
	}
	.profile__box h3{
		margin-bottom:0;
	}
	.profile__box h3,
	.profile__box p{
		font-size:16px;
		font-weight:500;
	}
	.features {
    	padding: 30px 20px;
	}
	.features__grid{
		display:block;
	}
	.features__grid article{
		margin-bottom:30px;
	}
	.features__card{
		min-height:0;
	}
	.image .split{
		display:block;
	}
	.image{
		padding:50px 20px;
		background:transparent;
	}
	.image .split img:last-child{
		margin-bottom:0;
	}
	.image .split img{
		margin-bottom:30px;
	}
	.image .split img{
		width:100%;
	}
	body .facility{
		padding-top:30px;
	}
	.facility .facility__nav-list {
        justify-content: center;
    }
    .facility__image{
    	width:100%;
    }
    .facility_about{
    	padding-top:0;
    }
    .facility_about__title{
    	font-size:18px;
    	margin-bottom:10px;
    }
    .facility_about__text p{
    	font-size:16px;
    }
    .treatment__bg.treatment__bg--dark{
    	display:none;
    }
    .treatment__bg--light {
    	width: 120%;
	}
	.treatment__item{
		display:block;
	}
	.treatment__image {
	    position: relative;
	    width: 80%;
	    margin-left: -8%;
	    flex-shrink: 0;
	}
	.treatment__card {
        position: relative;
        background: #fff;
        padding: 20px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
        flex: 1;
        left: auto;
        z-index: 10;
        top: -27vw;
        max-width: 100%;
    }
    .treatment__label {
	    position: absolute;
	    top: -15vw;
	    left: 59vw;
	    background: #2f5f84;
	    color: #fff;
	    font-size: 16px;
	    font-weight: 400;
	    padding: 6px 18px;
	}
	.treatment__label{
		font-size:14px;
		padding:5px;
		text-align:center;
	}
	.treatment__btn {
    	border-radius: 30px;
	}
	.right .treatment__image {
        position: relative;
        width: 80%;
        margin-left: -8%;
        margin-left:auto;
        margin-right:-7%;
        flex-shrink: 0;
    }
    .treatment__item.right .treatment__card{
        position: relative;
        background: #fff;
        padding: 20px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
        flex: 1;
        right: auto;
        z-index: 10;
        top: -27vw;
        max-width: 100%;
    }
    .treatment__item.right .treatment__label {
    left: auto;
    right: 59vw;

	}
    .treatment__item.right .treatment__card {
	    left: -0vw;;
	    right: auto;
	}
	.treatment {
	    padding: 120px 20px 00px;
	    overflow:hidden;
	}
	.treatment__item {
	    margin-bottom: 40px;
	    padding-bottom: 20px;
	}
	.flow {
	    padding: 30px 20px;
	    background: #f5f5f5;
	}
	.treatment__item:last-child{
		margin-bottom:-22vw;
	}
   	.facility__title {
		font-size: 30px;
	    font-weight: 500;
	    letter-spacing: 0.155em;
    }
    .flow__item {
	    display: block;
	    align-items: stretch;
	    gap: 30px;
	    background: #fff;
	    padding: 32px;
	    margin-bottom: 30px;
	    flex-direction: row;
	    flex-wrap: wrap;
	    align-content: stretch;
	    justify-content: flex-start;
	    min-height: 160px;
	}
    .sp_flex {
        display: flex;
        min-height: 80px;
        flex-direction: row;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap:30px;
    }
	.flow__step {
        background: url(../img/step-cat.svg) no-repeat;
        background-size: contain;
        background-position: center;
        display: grid;
        align-content: center;
        justify-content: center;
        align-items: center;
        justify-items: center;
        height: 80px;
    }
	.step_text .label{
		font-size:10px;
	}
	h3.sp{
		line-height:1.2;
	}
	h4.sp{
		font-size:12px;
		font-weight:normal;
	}
	.flow__image.sp{
		width:70%;
		display:block;
		margin:20px auto;
	}
	#treatment.flow{
		background:#ECF0F3;
	}
	#method, #recruit, #recruit2, #qa, #treatment, #contact, #babycar, #address, #babycar, #reserve, #facility_wheelchair2, .info #pediatric, .info #preventive, .info #orthodontic, .info #treatment, .info #reservation, .info #consultation, .info #qa, #facility_schedule, #facility_wheelchair, #facility_message, #facility_reception, #facility_first_visit, #facility_medical, #facility_env, #facility_parking, #facility_exterior, #facility_about {
    scroll-margin-top: 70px;
	}
	.medical {
	    padding: 30px 20px;
	    background: transparent;
	}
	.medical__list {
    	display:block;
	}
	.medical__note{
		margin-top:0;
		text-align:left;
	}
	.medical__schedule .schedule__time{
		width:100%;
	}
	.schedule__note .line a img.pc{
		display:none;
	}
	.schedule__note .line a img.sp {
	    display: block;
	    width:80%;
	    max-width:100%;
	    margin:20px auto;
	}
	.medical__schedule .schedule__note .line a{
		display:block;
		width:100%;
	}
	.faq {
	    padding: 30px 20px;
	    background: #ECF0F3;
	}
	.hero {
	    margin-bottom: 0px;
	    overflow: hidden;
	}
	.facility .facility {
	    padding: 30px 00px 30px;
	
	}
	.facility__nav{
	
		width:100%;
	}
	.location{
		margin:0 -0px -30px;
		width:100%;
		max-width:130%;
		padding-bottom:0px;
		padding-left:10px;
		padding-right:10px;
		box-sizing:border-box;
	}
	.facility__image img {
    	display: block;
	    width: 90%;
	    height: auto;
	    margin: 0 auto 30px;
	}
	.location__inner {
		width:calc(100% - 20px);
	    position: relative;
	    z-index: 2;
	    text-align: center;
	    top: -84px;
	    left:calc( 50% - 0px);
	    transform:translateX(-50%);
	}
	.location__bg--blue {
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 170px;
	    background: #2f5f84;
	    z-index: 2;
	}
	.location__box{
		padding:20px;
	
	}
	.location__bg--gray {
	    bottom: 160px;
	    right: auto;
	    width: 60%;
	    height: 520px;
	    background: #ECF0F3;
	    z-index: 1;
	    left: 0;
	}
	.location__box {
	    box-shadow: 0 0 14px rgba(0, 0, 0, 0.4);
	}
    .clinic-env {
        margin: 30px -10px 0px;
        width: calc(100% + 10px);
        max-width: calc(100% + 40px);
        padding: 30px 20px 170px;
        position: static;
    }
	.clinic-env__item {
	    display: block;
	    align-items: center;
	    position: relative;
	    margin-bottom:30px;
	}
	.clinic-env__image-bg{
		display:none;
	}
	.clinic-env__image-wrap--left{
		margin-left:-15px;
	}
	.clinic-env__title{
		margin-bottom:20px;
	}
    .clinic-env__card--bottom, 
    .clinic-env__card--top {
        position: relative;
        top: -27px;
        width: 95%;
        height: auto;
        left: calc(50% + 25px);
        transform: translateX(-50%);
    }
    .clinic-env__card--bottom{
    	top:150px;
    	left: calc(50% + 5px);
    }
    .clinic-env__item--bottom .clinic-env__image-wrap.clinic-env__image-wrap--right {
        top: 0px;
        left: auto;
        right: 0;
        position: absolute;
        margin-right: -20px;
    }
    #babycar .medical__title::after,
	.facility #facility_wheelchair .first-visit__title:after{
		max-width:100%;
		
	}
	.facility .medical__note{
		margin-top:30px;
	}
	.first-visit__box{
		padding:20px;
		border-radius: 20px 0px 20px 0px;
	}
	.medical__schedule .schedule__note .line a img{
		margin:0;
	}
    .medical__schedule .schedule__note .line a {
        margin: 0px auto 0px 0;
        position: absolute;
        right: 0;
        left: auto;
        width: auto;
        bottom: 0;
    }
	.medical__schedule .schedule__note .line,
	body .medical__schedule p.line{
		position:relative;
		display:block;
	}
	.medical__schedule .schedule__text{
		width:100%;
		margin:30px auto 0;
	}
	.location__list{
	width:100%;
	padding:10px 0px;
	}
	.access .greetings{
		padding:30px 20px 50px;
		margin-bottom: -23px;
	}
	.access .greetings__inner{
		padding:20px;
		border-radius:20px 0 20px 0;
	}
	.access .greetings__title{
		margin-bottom:0px;
	}
	.first-visit{
		padding:30px 20px;
	}
	.access .location__list{
		padding:20px;
	}
	.access .location__list ul{
		display:block;
	}
	.location__list li{
		margin:0;
	}
	.medical__title,
	.first-visit__title{
		font-size:23px;
		font-weight:400;
		margin-bottom:0;
		letter-spacing:0;
	}
	.medical__schedule__title{
		margin-top:30px;
	}
	.access .medical__schedule .schedule__text{
		text-align:left;
	}
	.access     .medical__schedule .schedule__note .line{
        position:static;
        display:block;
        width:100%
    }
    .medical__schedule .schedule__note .line a{
    	position:static;
    }
    .access .medical__schedule .schedule__note .line a img.sp{
        margin: 0px auto 0px 0;
        
        position: static;
        right: 0;
        left: auto;
        width: auto;
        bottom: 0;
        margin: 20px auto 0;
        display: block;
        width:70%;
    }
    .location__list li{
    text-indent:-0.75em;
    margin-left:1.5em;
    	line-height:1.5;
    }
    .recruitment .facility .facility__title, .contact .facility .facility__title {
    	margin-top: 30px;
	}
	.contact #contact, .contact #treatment, .contact #qa {
	    padding-top: 30px;
	    padding-bottom: 30px;
	}
	.contact div.center p{
		text-align:left;
	}
	.contact .features__card{
		width:98%;
	}
	.flow__title{
		margin-bottom:20px;
	}
	.flow_wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
    }
    .flow__image{
    	margin:20px auto;
    }
    .flow__image{
    	width:70%;
    }
	.contact .flow__item {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        align-content: stretch;
        gap:0;
    }
    .contact .flow__item .flow_wrap{
    	order:1;
    }
    .contact .flow__item .flow__content{
    	order:3;
    	
    }
    .contact .flow__item .flow__image{
    	order:2;
    }
    .medical__schedule .schedule__note .line br.sp{
    	height:0;
    }
    .medical__schedule .schedule__note .line .sp{
    	line-height:1.5;
    	margin-top:0;
    }
    .contact .medical__schedule .schedule__note .line a{
    	display:block;
    	width:100%;
    }
    .contact .medical__schedule .schedule__note .line img.sp{
    	display:block;
    	width:80%;
    	margin:20px auto 0;
    }
    .contact ul.location__list{
    	padding:10px;
    }
    .recruitment .greetings__title{
    	font-size:20px;
    	color:#27527C;
    }
    .recruitment .greetings__inner{
    	border-radius:20px 0 20px 0;
    }
    .recruitment p.strong{
    	font-size:18px;
    }
    .recruitment .relative{
    	position:relative;
    	    	
    }
    .recruitment .first-visit table .relative td,
     .recruitment .relative td{
     	padding-bottom:8em;
     }
    .recruitment .left{
    	position:absolute;
    	left:0;
    	font-size:0.9em;
    }

    .recruitment .first-visit table th{
    	min-width:8em;
    	font-weight:500;
    }
    .intro__item.left .img:after,
    .intro__item .img:after{
    	display:none;
    }
    .intro__item{
    	max-width:100%;
    }
    .intro__item.left{
    	position:relative;
    }
    .intro__item.left .intro__content .content,
    .intro__content .content{
    	max-width:100%;
    	width:90%;
    	top:auto;
    	top:46vw;
    	right:auto;
    	left:50%;
    	transform:translateX(-50%);
    	
    }
    .intro__item.left .img{
    	padding-right:0;
    }
    .nurse .intro__item.left .img,
    .hygienist .intro__item.left .img{
    	padding-right:10px;
    }
    .hygienist{
    margin-bottom:30px;
    }
    .intro__content img {
	    margin-left:10px;
	}
    .intro__item{
    	margin-bottom: 150px;
    	position:relative;
        padding-bottom: 150px;
        padding-bottom:calc(25vw + 15%);
    }
    .intro__item.left {
    	margin-bottom:100px;
    	margin-top:-2vw;
    }
    .recruitment .p1-sec-2 h2{
    	font-size:24px;
    }
    .recruitment .p1-sec-2 h2{
    	padding-bottom:5px;
    }
    .recruit__content{
    	displaY:flex;
    	    flex-wrap: wrap;
    	
    }
    .recruit__image {
	    width: 100%;;
	    order:2;
	}
	.recruit__text {
	    flex: 1;
	    text-align: center;
	    order:1;
	}
	.recruit__image img {
	    width: 90%;
	    display: block;
	    margin:auto;
	}
	.flow-steps__list {
	    display: block;
	}
	.flow-steps__item{
		margin-bottom:20px;
		display: grid;
	    align-content: center;
	    align-items: center;
	    justify-items: center;
	    justify-content: start;
	}
	.flow-steps__item:after,
	.flow-steps__item:nth-child(4):after{
	    width: 100%;
	    content: '';
	    display: block;
	    position: absolute;
	    background: url(../img/arrow-down.svg) center center no-repeat;
	    height: 20px;
	    left: 0;
	    bottom: -20px;
	    z-index: 1;
	}
	.facility_about{
		margin-top:30px;
	}
	.facility_about__text{
		width:100%;
	}
	.facility_about__text.center p,
	.facility_about__text p{
		font-size:14px;
		line-height:1.5;
		text-align:left;
		font-weight:normal;
	}
	.entry {
	    padding: 10px 20px 0px;
	    text-align: center;
	}
	.entry__btn{
		width:100%;
		padding:20px;
		border-radius:100px;
	}
	.contact .features__card:nth-of-type(1) {
		height:auto;
	}
	#facility_wheelchair2.first-visit__title::after{
		max-width:100%;
	}
	.entry__btn-text{
		font-size:18px;
	}
	.facility__nav-item a {
        font-size: 16px;
    }
	.info .medical__schedule .schedule__note .line .sp {
        line-height: 1.5;
        margin-top: 0;
        margin: 20px auto;
    }
    .flow__image{
    	width:90%;
    }
    .facility .location__list{
    	padding-left:10px;
    }
    .kids .medical__title{
    	color:black;
    	font-size:18px;
    }
    .kids .facility_about{
    	padding-top:0;
    	margin-top:0;
    }
    .kids  .facility_about__text p{
    	font-weight:normal;
    	font-size:14px;
    }
    .kids     .flow__step {
        background: url(../img/step-cat.svg) no-repeat;
        background-size: contain;
        background-position: center;
        display: grid;
        align-content: center;
        justify-content: center;
        align-items: center;
        justify-items: center;
        height: 54px;
    }
	.kids .flow__content {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .kids .for-parents h2{
    	margin-top:0;
    }
    .preventive .intro{
    	margin-top:0;
    	padding-top:30px;
    	padding-bottom:calc(30vw + 30%);
    	margin-bottom:30px;
    }
    .preventive .facility_about{
    	margin-top:0;

    	margin-bottom:30px;
    	
    }
    .preventive .for-parents .facility__image{
    	margin-top:20px;
    	
    }
    .preventive .intro__item.left {
	    height: auto;
       margin-bottom: calc(30vw + 20%);

	}
	.preventive .for-parents h2:after{
		display:none;
	}
	.preventive .for-parent .facility__image{
		margin-top:0;
	}
	.preventive .facility__image img{
		margin-bottom:0;
	}
	.preventive .intro__text{
		font-size:13px;
	}
	.intro__title {
	    margin-bottom: 10px;
	}
	.orthodontics .facility_about{
		margin-top:0;
		padding-top:0;
	}
	.orthodontics .facility_about__title{
		margin-bottom:20px;
	}
	.orthodontics .location__list{
		padding-left:10px;
	}
	.orthodontics ul.location__list{
		display:block;
	}
	.orthodontics ul.location__list li{
		width:100%;
	}
	.orthodontics .medical__box{
		padding:20px;
	}
	.orthodontics .program .facility_about__title{
		padding-top:20px;
		margin-bottom:0;
	}
	.orthodontics .medical__inner{
		margin-top:0;
	}
	#treatment.flow,
	.orthodontics  .flow{
		background:white;
	}
	.orthodontics  .flow .flow__title{
		font-size:18px;
	}
	.orthodontics  .flow .flow__item{
		box-shadow:0 0 10px rgba(0,0,0,0.4);
		width:100%;
		margin:auto;
		margin-bottom:30px;
	}
	.orthodontics .access__button {
	    width: 100%;
	    padding: 12px 0;
	    margin: auto;
	    border-radius: 50px;
	    max-width: 100%;
	}
	.orthodontics .schedule__line2 img.sp{
		margin-bottom:10px;
		width:100%;
	}
	.orthodontics .access__button{
		width:80%;
	}
	.mt-20{
		margin-top:20px;
	}
	.mt-30{
		margin-top:30px;
	}
	.orthodontics .medical__title{
		margin-top:30px;
	}
	.orthodontics .medical__box h3{
		font-size:18px;
	}
	.in_px {
	    width: 100%;
	    border-radius: 20px;
	    overflow: hidden;
	    height: 300px;
	    position: relative;
	}
}

@supports (-webkit-touch-callout: none) {
  .recruitment .left {
    left: 3em;
  }
}