body{
font-family:
"Noto Sans JP",
"Yu Gothic",
"Yu Gothic UI",
"Hiragino Kaku Gothic ProN",
Meiryo,
sans-serif;
}
.serif{
font-family:
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif;
font-weight:400;
}
.title,
.section__title{
font-family:"Noto Serif JP", serif;
}
.header__logo img{
	height:80px;
}
.header__inner{
	height:100px;
}
.right-box img{
	max-height:40px;
}
.right-box address{
	font-style:normal;
	text-align:right;
	min-width:21em;
	font-size:14px;
	font-weight:bold;
	line-height:1.3;
}
.right-box address a{
	text-align:right;
	display:block;
}
.right-box address a img{
	display:block;
	float:right;
}
.header__nav li a{
	font-size:14px;
	font-weight:bold;
}
header {
	padding-bottom:15px;
}
.main {
    margin-top: 0px;
}
.pc{display:block;}
.features__num.sp,
.sp{display:none;}
.right_button{
  position: fixed;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
}
.right_button img{
	display:block;
	max-height:117px;
	float:right;
}
.right_button p,
.right_button h1{
	color:transparent;
}
.p1-sec-1 .section__lead{
	margin-bottom:40px;
}
.p1-sec-1 .split {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.p1-sec-1{
	background:url(../img/background-1.png);
	background-size: cover;
}
.p1-sec-1 img{
	max-height:63px;
}
.p1-sec-2{
	background:url(../img/background-2.png) top right no-repeat;
	background-size: 400px;
	padding-top:110px;
	margin-top:-20px;
	position:relative;
	margin-bottom:80px;
}
.p1-sec-2:before {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/background-3.png) top right no-repeat;
    min-width: 300px;
    min-height: 300px;
    top: 0;
    left: 0;
    z-index: -1;
    background-size: contain;
}
.p1-sec-2.step{
	display:block;
}
.p1-sec-2 h2{
	text-align:center;
	color:#6B6B6A;
	margin-bottom:20px;
}


.p1-sec-2 .step__content{
	position:relative;
}

.p1-sec-2 .step__item{
	background:transparent;
	position:relative;
	box-shadow:none;
	border:none;
}
.p1-sec-2 .step__content{
	background:white;
	max-width:452px;
	padding:30px;
	margin-bottom:20px;
	clear:both;
	box-shadow:
	0 0 12px rgba(0,0,0,0.4);
}
.p1-sec-2 .step__content h3 {
    background: url(../img/line-1.png) bottom center no-repeat;
    line-height: 1.2;
    background-size: contain;
    padding-bottom: 0.85em;

    font-size: 16px;
    font-weight: 600;
    color:#035591;
    text-align:center;
}
.p1-sec-2 .step__text{
	color:#6B6B6A;
	font-size: 13px;
	font-weight:500;
}
.p1-sec-2 .right .step__num{
    display: inline-block;
    color: transparent;
    height: 3em;
    width: 2.5em;
    position: relative;
    top: 46px;
    left: 17px;
    z-index: 1;
}
.p1-sec-2 .left .step__num{
    display: inline-block;
    color: transparent;
    height: 3em;
    width: 2.5em;
    position: relative;
    top: 46px;
    left: 333px;
    z-index: 1;
}
.p1-sec-2 .step__num.n01{
    background: url(../img/number-1.png) center center no-repeat;
    background-size: contain;
}
.p1-sec-2 .step__num.n02{
    background: url(../img/number-2.png) center center no-repeat;
    background-size: contain;
}
.p1-sec-2 .step__num.n03{
    background: url(../img/number-3.png) center center no-repeat;
    background-size: contain;
}
.p1-sec-2 .step__num.n04{
    background: url(../img/number-4.png) center center no-repeat;
    background-size: contain;
}
.p1-sec-2 .step__item.right .step__content > img{
	display:block;
    position: absolute;
    max-width: 300px;
    height:auto;
    left:-280px;
    z-index:-1;
    top: -20px;
}
.p1-sec-2 .step__item.left .step__content > img{
	display:block;
    position: absolute;
    max-width: 300px;
    height:auto;
    right:-280px;
    z-index:-1;
    top: -20px;
}
.p1-sec-2 .step__item.right{
    padding: 0;
    padding-left: 280px;
    display: block;
    width: auto;
    margin: auto;
    align-content: center;
    justify-content: center;
    align-items: center;
    max-width:730px;
}
.p1-sec-2 .step__item.left{
    padding: 0;
    padding-right: 280px;
    display: block;
    width: auto;
    margin: auto;
    align-content: center;
    justify-content: center;
    align-items: center;
    max-width:680px;

}
.p1-sec-2 .banner{
	margin-top:60px;
}
.p1-sec-2 .banner img{
	display:block;
	max-height:12vw;
	margin:auto;
}
.mission-statement{
    background: url(../img/background-8.png) center center no-repeat;
    background-size: cover;
    padding:40px 0;
}
.mission-statement .inner{
	max-width:650px;
	margin:40px auto;
	box-shadow:
	0 0 12px rgba(0,0,0,0.4);
	background:white;
    padding-bottom:40px;
    border-radius: 20px 0 20px 0;
}
.mission-statement .inner h3{
	background:#245F8A;
	color:white;
	text-align:center;
	line-height:1;
	padding:15px 0;
	font-weight:300;
	font-size:22px;
	letter-spacing:0.135em;
	margin-bottom:20px;
	border-radius: 20px 0 0px 0;

}
.mission-statement .inner h4.black{
	color:#000;
	text-align:center;
	font-size:18px;
	line-height:1.3;
}
.mission-statement .inner h4{
	color:#245F8A;
	text-align:center;
	font-weight:500;
	font-size:24px;
}
.mission-statement dl{
	max-width:90%;
	margin:auto;
}
.mission-statement dt {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    gap:5px;
    color:#6CA9C1;
    font-size:20px;
    margin-top:15px;
}
.mission-statement dt:before{
	content:'';
	background: url(../img/Jewelry.png) left center no-repeat;
    background-size: contain;
	width:20px;
	height:20px;
	display:block;
}
.mission-statement dd{
	font-size:16px;
	margin-left:1.5em;
}

.greetings{
  padding:80px 20px;
  background:url("../img/background-9.jpg") center/cover;
}

.greetings__inner{
  max-width:760px;
  margin:auto;
  background:#fff;
  border-radius: 20px 0 20px 0;
  padding:40px 50px;
}

.greetings__title{
  text-align:center;
  font-size:24px;
  margin-bottom:40px;
  color:#2c6c8f;
  color:#135B86;
  position: relative;
}
.greetings__title:after {
    content: '';
    background: url(../img/line-2.png) no-repeat;
    display: block;
    width: 7em;
    position: absolute;
    bottom: -9px;
    height: 12px;
    left: 50%;
    background-size: contain;
    transform: translateX(-50%);
}

.greetings__content {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
    align-content: center;
    justify-content: space-between;
    align-items: start;
}

.greetings__text{
  line-height:1.9;
  font-size:15px;
  color:#6E6E6E;
  letter-spacing:0;
}

.greetings__text p{
  margin-bottom:0px;
  line-height: 1.5;
}

.greetings__profile{
  text-align:center;
}

.greetings__profile img{
  width:220px;
  height:220px;
  border-radius:50%;
  object-fit:cover;
}

.greetings__name{
  margin-top:16px;
  font-size:14px;
  font-weight:bold;
}

body .access{
  padding:80px 20px 20px;
}

.access__inner{
  max-width:760px;
  margin:auto;
}

.access__row{
  display:grid;
  grid-template-columns: 40% 60%;
  gap:30px;
  margin-bottom:60px;
}
.access__row.down{
  display:grid;
  grid-template-columns: 60% 40%;
  gap:30px;
  margin-bottom:60px;
}
.access__title{
  font-size:24px;
  margin-bottom:16px;
  color:#1B4872;
  text-align:center;
  font-weight:500;
}
.access__news p,
.access__address{
  margin-bottom:20px;
  line-height:1.7;
  font-size:14px;
  font-weight:600;
  margin-bottom:0;
}

.access__parking{
  height:160px;
  background:#9aa0a5;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  margin-top:20px;
}

.access__map{
  background:#9aa0a5;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.access__image img{
  width:100%;
  border-radius:20px;
}

.schedule .access__button {
    display: inline-block;
    margin-top: 16px;
    padding: 12px 26px;
    background: #265E89;
    color: white;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap:5px;
    max-width:80%;
    margin:16px auto 0;
}
.access__button img{
	display:inline-block;
	height:1.35em;
	
}
.access__title{
	position:relative;
}
.access__news .access__title:after {
	    width: 10.5em;
    left: 50%;
    background-size: contain;
    transform: translateX(-50%);
    background-position:center;
    background-repeat:repeat;
}
.access__title:after {
    content: '';
    background: url(../img/line-2.png) no-repeat;
    display: block;
    width: 7em;
    position: absolute;
    bottom: -9px;
    height: 12px;
    left: 50%;
    background-size: contain;
    transform: translateX(-50%);
}

.schedule{
  padding:80px 20px;
  background:linear-gradient(
    180deg,
    #a9c7d8,
    #7ea6c0
  );
   background: url(../img/background-10.jpg) top center no-repeat;
   background-size:cover;
   padding:80px 0;
}

.schedule__inner{
  max-width:760px;
  margin:auto;
  background:white;
  border-radius:20px;
  padding:40px 50px;

}

.schedule__message{
  text-align:center;
  margin-bottom:30px;
  line-height:1.8;
  font-size:18px;
  font-weight:600;
}

.schedule__content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0px;
}

/* table */

.schedule__table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:16px;
}
.schedule__table tr{
	border:3px #fff;
}
.schedule__table th,
.schedule__table td{
  border:none;
  padding:4px;
  text-align:center;
  font-size:14px;
  background:#F2F2F2;
  border-top: 4px solid #fff;
}

.schedule__note{
  font-size:12px;
  line-height:1.6;
  font-weight:500;
}

/* contact */

.schedule__contact{
  text-align:center;
}

.schedule__line{
  display:inline-block;
  background:#06c755;
  color:white;
  padding:12px 24px;
  border-radius:6px;
  margin-top:10px;
}

.schedule__web{
  display:block;
  background:#2d587a;
  color:white;
  padding:14px 26px;
  border-radius:30px;
  margin-top:20px;
}
.schedule__line2 img{
	max-height:40px;
	display:block;
	margin:auto;
}
.schedule__contact p{
	margin:10px auto;
	font-size:14px;
	font-weight:bold;
}
.schedule .access__button{
	margin-top:5px;
}
.schedule__note .line{
	position:relative;
}
.schedule__note .line a {
    position: absolute;
    bottom: 0;
    right:40px;
}
.schedule__note .line a img{
	max-width:95px;
	display:block;
}
footer.footer{
	margin-top:0;
	background-color:#E6E6E8;
	padding:20px 0;
}
footer.footer .copy{
	text-align:center;
	font-size:12px;
	font-weight:bold;
}
.link-image img{
  transition: filter .3s ease;
}

a{
	transition: transform .3s ease;
}
a:hover{
  filter: brightness(1.1);

}
.header__nav a{
  position: relative;
  text-decoration: none;
}

.header__nav a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;

  width: 0;
  height: 2px;

  background: #2f5f84;

  transition: width .3s ease;
}

.header__nav a:hover::after{
  width: 100%;
}

.page_top{
  position: fixed;
  right: 20px;
  bottom: 20px;

  width: 50px;
  height: 50px;

  background: #2f5f84;
  color: white;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  opacity: 0;
  visibility: hidden;

  transition: opacity .6s;
}
html{
  scroll-behavior: smooth;
}
/* 表示状態 */
.page_top.show{
  opacity: 1;
  visibility: visible;
}

.page_top{
  box-shadow:0 6px 15px rgba(0,0,0,.2);
}
.page_top{
  background:#2f5f84;
  font-size:18px;
}

.page_top:hover{
  transform: translateY(-3px);
}

.page_top{
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  background:#2f5f84;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:.3s;
  z-index:100000;
}

.page_top::before{
  content:"";
  width:8px;
  height:8px;
  border-top:2px solid white;
  border-left:2px solid white;
  transform:rotate(45deg);
}
.clinic .greetings h2{
	color:black;
	font-weight:400;
	margin-bottom:10px;
}
.clinic .greetings h2:after{
	display:none;
}
.clinic .greetings p{
	font-weight:500;
	margin-top:1.5em;
	color:black;
}
.clinic .greetings__content{
	display:block;
}
p.right{
	text-align:right;
}

.profile {
    padding: 80px 20px 160px;
}
.profile__inner {
  position: relative;
  max-width: 760px;
  min-height: 680px;
  margin: 0 auto;
}

/* 背景ブロック */
.profile__bg {
  position: absolute;
}

.profile__bg--dark {
  top: 20px;
  left: 90px;
  width: 500px;
  height: 300px;
  background: #1f628f;
  z-index: 1;
}

.profile__bg--light {
  top: 120px;
  left: 50px;
  width: 410px;
  height: 570px;
  background: #d7eaf0;
  z-index: 2;
}

.profile__bg--white {
    top: 310px;
    left: 384px;
    width: 470px;
    height: 28em;
    background: #fff;
    z-index: 2;
}
/* 名前 */
.profile__name {
  position: absolute;
  top: 95px;
  left: 125px;
  z-index: 3;
}
.clinic .profile .profile__inner .profile__name{
	top:62px;
	
}
.profile__name p {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

/* 写真 */
.profile__photo {
    position: absolute;
    top: 51px;
    right: -51px;
    width: 291px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    background: #d9e8ef;
    z-index: 4;
    margin: 0;
}

.profile__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* テキストボックス共通 */
.profile__box {
  position: absolute;
  z-index: 3;
}

.profile__box h3 {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: #111;
}

.profile__box p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  color: #111;
}

/* 左ボックス */
.profile__box--message {
    top: 162px;
    left: 90px;
    width: 267px;
}

/* 右下ボックス */
.profile__box--history {
    top: 371px;
    left: 448px;
    width: 338px;
}

.profile .gray-box {
    width: 353px;
    height: 609px;
    background: #EFEFEF;
    position: absolute;
    top: -36px;
    right: -146px;
}


.features {
  padding: 100px 20px;

}

.features__inner {
  max-width: 760px;
  margin: 0 auto;
}

.features__title {
  margin: 0 0 50px;
  text-align: center;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.4;
  color: #1C3A57
}

.features__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 34px 34px;
}

.features__card {
  background: #fff;
  padding: 28px 30px 30px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  min-height: 320px;
  position:relative;
}
.features__card:after{
	content:'';
	display:block;
	position:absolute;
	background:#BCD9E1;
	width:100%;
	height:100%;
	top:5px;
	left:5px;
	z-index:-1;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
}

.features__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px dashed #b7c0c8;
}

.features__num {
  width: 32px;
  flex-shrink: 0;
  display: block;
}

.features__head-text h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  color: #244d73;
}

.features__sub {
  margin: 2px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #244d73;
}

.features__body p {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #6B6B6A
}
.image{
	padding:50px;
	background:#EFEFEF;
}
.image .split{
	grid-template-columns: 1fr 1fr 1fr;
    display: grid;
    gap: 24px;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    
}
.profile__photo{
	z-index:10;
}
.profile__photo_after {
    display: block;
    content: '';
    position: absolute;
    width: 281px;
    height: 281px;
    background: #B6D7E0;
    z-index: 2;
    border-radius: 50%;
    top: 63px;
    right: -64px;
}
.image .split img{
	display:block;
	border-radius:10px;
	width:308px;
	height:237px;
	object-fit:cover;
	box-sizing:border-box;
}

.clinic .hero__image img {
    width: 100%;
    object-fit: cover;
    object-position: 0 0vw;
}
/*
.access .hero__image img,
.facility .hero__image img,
.info .hero__image img{
	margin-top:-2vw;
}
*/
.facility .facility {
  padding: 00px 20px 80px;
  background-color: #fff;
}

.facility__inner {
  max-width: 760px;
  margin: 0 auto;
}

.facility__heading {
  text-align: center;
}

.facility__title {
  margin: 0;
  color: #16385c;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.12em;
    letter-spacing: 0.155em;
}

.facility__subtitle {
  margin: 12px 0 0;
  color: #16385c;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.125em;
}

.facility__nav {
    margin: 34px auto 0;
    width: 80%;
}

.facility__nav-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.facility__nav-item {
  position: relative;
  padding: 0 18px;
  line-height: 1.8;
}

.facility__nav-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 16px;
  background-color: #bfc7cf;
  transform: translateY(-50%);
}

.facility__nav-item:last-child::after {
  display: none;
}

.facility__nav-item a {
  color: #7d7d7d;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.facility__nav-item a:hover {
  opacity: 0.7;
}

.facility__lead {
  margin: 8px 0 0;
  text-align: center;
  color: #7d7d7d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}

.facility__image {
  margin-top: 48px;
  border-radius: 14px;
  overflow: hidden;
  width:90%;
  margin:48px auto 0;
}

.facility__image img {
  display: block;
  width: 100%;
  height: auto;
}

.facility_about {
  padding: 30px 20px;
  background-color: #fff;
}

.facility_about__inner {
  max-width: 760px;
  margin: 0 auto;
}

.facility_about__title {
  margin: 0 0 30px;
  color: #111;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

.facility_about__text p {
  margin: 0;
  color: #111;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.03em;
}
.facility_about__text{
	width:90%;
	margin:auto;
}
.facility_about__text p + p {
  margin-top: 10px;
}

.location {
  position: relative;
  padding: 120px 20px;
  background: #fff;
  overflow: hidden;
}

/* 背景装飾 */
.location__bg {
  position: absolute;
  z-index: 0;
}

.location__bg--blue {
  top: 0;
  left: 0;
  width: 88%;
  height: 270px;
  background: #2f5f84;
  z-index:2;
}

.location__bg--gray {
    bottom: 160px;
    right: 0;
    width: 60%;
    height: 520px;
    background: #d9dee3;
    z-index:1;
}
/* 中央コンテンツ */
.location__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  top: -84px;
}

.location__title {
  color: #fff;
  font-size: 26px;
  font-weight: 400;
  margin-bottom: 20px;
  position:relative;
  z-index:3;
}

/* 白いボックス */
.location__box {
  width: 760px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  padding: 40px 50px;
  text-align: left;
  line-height: 1.9;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
      font-size: 16px;
    font-weight: 600;
    line-height: 1.9;
    letter-spacing: 0.03em;
  
}
.location__list{
  margin: 45px 0;
  padding:30px;
  background:#ECF0F3;
  width:90%;
  margin:25px auto;
}

.location__list li{
  margin-bottom: 0px;
  line-height:2;
  margin-left:1em;
}
.location__list li:before{
	content:'●';
	display:inline-block;
	margin-right:0.5em;
}

.clinic-env {
  background: #eef1f3;
  padding: 100px 20px 120px;
}

.clinic-env__inner {
  max-width: 760px;
  margin: 0 auto;
}

.clinic-env__title {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #2d5f87;
  margin-bottom: 70px;
  font-size: 26px;
  font-weight: 500;
  letter-spacing:0.15em;
}

.clinic-env__title::after {
  content: "";
  display: block;
  width:5.5em;
  height:12px;
  margin:auto;
  background: url(../img/line-2.svg) center center repeat;
  background-size:auto 8px;
}

.clinic-env__item {
  display: flex;
  align-items: center;
  position: relative;
}

.clinic-env__item--top {
  margin-bottom: 100px;
}

.clinic-env__item--bottom {
  justify-content: space-between;
}

.clinic-env__image-wrap {
  position: relative;
  width: 255px;
  flex-shrink: 0;
}

.clinic-env__image-wrap--left {
  margin-left: 18px;
}

.clinic-env__image-wrap--right {
  margin-right: 18px;
}

.clinic-env__image-bg {
  position: absolute;
  width: 130px;
  height: 90px;
  background: #2d5f87;
  z-index: 0;
}

.clinic-env__image-wrap--left .clinic-env__image-bg {
  left: -18px;
  bottom: -14px;
}

.clinic-env__image-wrap--right .clinic-env__image-bg {
  right: -18px;
  bottom: -14px;
}

.clinic-env__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

.clinic-env__card {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 28px 26px 24px;
  position: relative;
  z-index: 2;
  font-size:14px;
}

.clinic-env__card--top {
  width: 435px;
  margin-left: -20px;
}

.clinic-env__card--bottom {
  width: 435px;
  margin-right: -20px;
}

.clinic-env__card-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #2d5f87;
  line-height: 1.4;
  margin-bottom: 6px;
	font-size: 22px;
    font-weight: 500;
    letter-spacing: 0em;

}
.clinic-env__card-title:after{
  content: "";
  display: block;
  width:100%;
  height:14px;
  margin:auto;
  background: url(../img/line-1.svg) center center repeat-x;
  background-size:auto 11px;
}


.clinic-env__card p {
  font-size: 1.6rem;
  line-height: 2;
  color: #333;
}

.medical {
  padding: 100px 20px;
  background: transparent;
}

.medical__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

/* タイトル */

.medical__title {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #2d5f87;
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 500;
  letter-spacing:0.15em;
}


.medical__title::after{
  content: "";
  display: block;
  width:5.5em;
  height:12px;
  margin:auto;
  background: url(../img/line-1.svg) center center repeat;
  background-size:auto 8px;
}
#facility_reception .medical__title::after{
  width:8.5em;
    background: url(../img/line-1.svg) center center repeat;
  background-size:auto 8px;
}

/* リード */

.medical__lead{
  margin-top:18px;
  font-size:16px;
}

/* 白カード */


.medical__box{
    background: #fff;
    padding: 28px 30px 30px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
	margin-top:30px;
    position: relative;
}
/* 右下のアクセント */

.medical__box::after{
	content: '';
    display: block;
    position: absolute;
    background: #BCD9E1;
    width: 100%;
    height: 100%;
    top: 5px;
    left: 5px;
    z-index: -1;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
}

/* リスト */

.medical__list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 40px;
  text-align:left;
}

.medical__item{
  list-style:none;
}

.medical__item::before{
  content:"●";
  margin-right:6px;
}

.medical__name{
  font-weight:bold;
  margin-right:10px;
}

.medical__desc{
  display:block;
  margin-left:20px;
  font-size:15px;
}

/* 下テキスト */

.medical__note{
  margin-top:25px;
  font-size:16px;
  line-height:1.8;
}
.medical__schedule .schedule__note{
	text-align:left;
	font-size:14px;
}
schedule__line2{
	display:block;
}
.medical__schedule .schedule__note .line{
	position:static;
}
.medical__schedule .schedule__note .line a{
		position:static;
}
.medical__schedule  .schedule__note .line a img{
	margin:20px auto 20px 0;
}
.medical__schedule__title {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.15em;
    margin-top:60px;
}
.medical__schedule .schedule__time{
	width:60%;
	margin:auto;
}
.medical__schedule .schedule__text{
	text-align:left;
		width:80%;
	margin:auto;
}
.first-visit {
  padding: 50px 20px 50px;
  background: #eef1f3;
}

.first-visit__inner {
  max-width: 760px;
  margin: 0 auto;
}

.first-visit__title {
	text-align: center;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.4;
    color: #2d5f87;
    margin-bottom: 30px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.15em;
}

.first-visit__title::after {
content: "";
    display: block;
    width: 20em;
    height: 12px;
    margin: auto;
    background: url(../img/line-1.svg) center center repeat-x;
    background-size: auto 8px;

}

.first-visit__box {
  background: #fff;
  border-radius: 20px 10px 20px 10px;
  padding: 40px 46px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.first-visit__box p {
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
  color: #222;
}

.first-visit__box p + p {
  margin-top: 8px;
}
.first-visit .location__list{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    padding-left:0px;
    width:100%;
}
#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: 120px;
}

.treatment{
  padding:120px 20px 30px;
}

.treatment__inner{
  max-width:700px;
  margin:0 auto;
}

.treatment__item{
  display:flex;
  align-items:flex-start;
  gap:0px;
  margin-bottom:120px;
  padding-bottom:20px;
}


/* image */

.treatment__image{
  position:relative;
  width:260px;
  flex-shrink:0;
}

.treatment__image img {
    width: 100%;
    display: block;
    position: relative;
    z-index: 2;
    top: -90px;
    left: 10px;
    /* position: absolute; */
}

/* decorative blocks */

.treatment__bg{
  position:absolute;
}

.treatment__bg--light {
    width: 440px;
    height: 110px;
    background: #EEF9FF;
    top: -120px;
    left: -20px;
    z-index: 0;
}
.treatment__bg--dark {
    width: 140px;
    height: 130px;
    background: #2f5f84;
    bottom: 73px;
    left: -6px;
    z-index: 1;
}
.treatment__card {
    position: relative;
    background: #fff;
    padding: 35px 35px 40px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    flex: 1;
    left: 1px;
    z-index: 10;
    top: -60px;
    max-width: 60%;
}
/* card */

/* label */

.treatment__label {
    position: absolute;
    top: -16px;
    left: -6px;
    background: #2f5f84;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    padding: 6px 18px;
}

/* text */

.treatment__card p{
  line-height:1.9;
  font-size:16px;
  color:#333;
}

/* button */
.treatment__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin-top: 25px;
    padding: 10px 32px;
    border: 1px solid #2f5f84;
    border-radius: 15px;
    color: #2f5f84;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    margin: 25px auto 0;
    padding: 8px 30px 8px 50px ;
    align-content: center;
    flex-wrap: wrap;
    width: 250px;
    font-weight:600;
    line-height: 1.5;
     transition:all .3s ease;
}
.treatment__btn:hover{
	color:white;
	background:#2f5f84;
	font-weight:300;
}
.treatment__btn span{
  font-size:16px;
}
.treatment__item.right{
	flex-direction:row-reverse
}
.treatment__item.right .treatment__bg--light{
	left:auto;
	right:-40px;
}
.treatment__item.right .treatment__bg--dark{
	left:auto;
	right:-26px;
}
.treatment__item.right .treatment__card{
	left:auto;
	right: -25px;
}

.treatment__item.right .treatment__label{
		left:auto;
	right: -10px;
}
.gray{
	background:#ECF0F3;
	padding:10px 20px;
	margin:20px auto;
}
.gray h4{
	text-align:center;
	font-size:16px;
	margin-bottom:0.5em;
}
.gray p{
	margin-bottom:0.5em;
}
.gray h5{
	font-size:16px;

}

.flow{
  padding:100px 20px;
  background:#f5f5f5;
}

.flow__inner{
  max-width:760px;
  margin:0 auto;
}

/* title */

.flow__title{
  margin:0 0 36px;
  color:#111;
  font-size:28px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0.04em;
  text-align:center;
}

/* step block */

.flow__item {
    display: flex;
    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;
}

/* step icon */

.flow__step{
  width:90px;
  flex-shrink:0;
}

.flow__step img{
  width:100%;
  display:block;
}

/* text */

.flow__content{
  flex:1;
}

.flow__content h3{
  font-size:18px;
  margin-bottom:8px;
}

.flow__content p{
  font-size:14px;
  line-height:1.18;
}

/* image */

.flow__image{
  width:140px;
  flex-shrink:0;
}

.flow__image img{
  width:100%;
  display:block;
  border-radius:6px;
}
.treatment__item:last-child{
	margin-bottom:0;
}
.flow__step {
    background: url(../img/step-cat.svg) no-repeat;
    background-size: cover;
    background-position: -5px -6px;
    display: grid;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    height:100%;
}

.step_text {
    display: grid;
    color: white;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    line-height: 1.21;
}

.faq {
  padding: 100px 20px;
  background: #ECF0F3;
}

.faq__inner {
  max-width: 760px;
  margin: 0 auto;
}

.faq__title {
  margin: 0 0 36px;
  color: #111;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq__item {
  background: #fff;
  padding: 12px 20px 14px;
  border-radius:0;
}

.faq__question,
.faq__answer {
  display: grid;
  grid-template-columns: 28px 1fr;
  column-gap: 16px;
  align-items: start;
}

.faq__question {
  padding-bottom: 10px;
  border-bottom: 1px solid #8fa0af;
}

.faq__answer {
  padding-top: 12px;
}

.faq__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  font-family: "Hiragino Sans",
"Hiragino Kaku Gothic ProN",
"Yu Gothic",
"YuGothic",
Meiryo,
sans-serif;
}
.faq__label--q {
  background: #2f5f84;
  color: #fff;
}

.faq__label--a {
  background: transparent;
  color: #111;
}

.faq__question p {
  margin: 0;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.faq__answer p {
  margin: 0;
  color: #111;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}
.clinic .hero,
.home .hero{
	margin-bottom:0;
}
.hero{
	margin-bottom:60px;
}
.access .greetings__content{
	display:block;
}
.access .greetings__inner{
	border-radius:0;
	color:black;
}
.access .greetings__inner p{
	margin:1em 0;
	color:black;
	font-size:16px;
}
.access .greetings__title:after{
	display:none;
	
}
.access .greetings__title{
	color:black;
	font-weight:500;
	margin-bottom:30px;
}
.access .first-visit__box{
	border-radius:0;
}
.access .location__list{
	padding:20px 40px;;
}
.access .location__list ul{
	display:flex;
}
.access .first-visit__inner:nth-of-type(2){
	margin-top:60px;
}
.access #facility_reception{
	padding-top:0;
}
.access .medical__schedule .schedule__text,
p.center{
	text-align:center;
}
.mb-20{
	margin-bottom:20px;
}
div.left p{
	text-align:left;
}
div.center img,
div.center p{
	text-align:center;
}
.access .medical__box{
	padding:40px;
}
#babycar .medical__title::after{
	width:20em;
}
#reserve .first-visit__title::after{
	    width: 12em;
}
#facility_wheelchair2.first-visit__title::after{
	width: 15em;
}
.access #facility_wheelchair.first-visit__title::after{
	width: 10em;
}
.hero__image{
	position:relative;
}
.hero__image hgroup.left{
    position: absolute;
    background: url(../img/fv-title-back.svg) center center no-repeat;
    background-size: contain;
    top: -0.6vw;
    left: 3.2vw;
    z-index: 1;
    height: 100%;
    width: 43vw;
    right:auto;
}
.hero__image hgroup {
    position: absolute;
    background: url(../img/fv-title-back.svg) center center no-repeat;
    background-size: contain;
    top: -0.6vw;
    right: 3.2vw;
    z-index: 1;
    height: 100%;
    width: 43vw;
	left:auto;    
}
.hero__image hgroup h1{
	color:white;
    position: absolute;
    top:44%;
    font-size:3.2vw;
    text-align:center;
    width:100%;
    letter-spacing:0;
}
.hero__image hgroup h2{
	color:white;
	position: absolute;
	top:52%;
    font-size:1.9vw;
    text-align:center;
    width:100%;
}
.contact .features__title{
	margin-bottom:20px;
}
.contact .features__inner .center{
	margin-bottom:20px;
}
.contact .location__list{
	margin:10px 0;
	width:100%;
	padding:10px 0;
	font-size:14px;
}
.contact  .features__card:nth-of-type(1){
	height:426px;
}
.contact .features__grid{
	display:block;
	overflow:hidden;
	padding-top:10px;
	padding-left:10px;
}
.contact .features__card {
    background: #fff;
    padding: 28px 30px 30px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    min-height: 320px;
    position: relative;
    width: 45%;
    float: left;
    min-height: 1px;
    margin-right: 30px;
    margin-bottom: 30px;
}
.contact .features__title::after {
    content: "";
    display: block;
    width: 8.5em;
    height: 12px;
    margin: auto;
    background: url(../img/line-1.svg) center center repeat;
    background-size: auto 8px;
}
.facility .first-visit__title:after{
	width:10em;
	text-align:center;
}
.contact .flow__content h3{
	margin-bottom:0;
}
.contact .flow__content p{
	color:black;
	margin-top:0;
	margin-bottom:10px;
	font-size:16px;
}
.recruitment .facility .facility__title,
.contact .facility .facility__title{
	margin-top:60px;
}
.contact #contact,
.contact #treatment,
.contact #qa{
	padding-top:50px;
	padding-bottom:50px;
}
.contact #facility_reception{
	padding-top:0;
	padding-bottom:50px;
}
.recruitment .greetings{
	margin-top:50px;
}
.recruitment .greetings__inner{
	border-radius:0;
}
.recruitment .greetings__title{
	color:black;
	font-weight:500;
}
.recruitment .greetings__content{
	display:block;

}
.recruitment .greetings__text p{
		font-size:18px;
		line-height:1.5em;
}
.recruitment .greetings__title:after{
	content: '';
    background: url(../img/line-1.svg) repeat-x;
    display: block;
    width: 7em;
    position: absolute;
    bottom: -1em;
    height: 12px;
    left: 50%;
    background-size: contain;
    transform: translateX(-50%);
	width:95%;
}
.recruitment .first-visit .first-visit__box{
	border-radius:0;
}
.recruitment .first-visit__title:after{
	display:none;
}
.recruitment .first-visit__title{
	margin-bottom:10px;
}
.recruitment .strong{
	font-size:22px;
	text-align:center;
	line-height:1.5em;
}
.recruitment .first-visit table{
	margin-top:40px;
	border-collapse: collapse;
}
.recruitment .first-visit table th{
	font-weight:normal;
	text-align:left;
	min-width:12em;
	vertical-align:top;
}
.recruitment .first-visit table th,
.recruitment .first-visit table td{
	margin-top:20px;
	padding-top:20px;
	border-top:solid 1px #999;
	margin-bottom:20px;
	padding-bottom:20px;
	font-size:14px;
}
.recruitment .first-visit table tr:nth-of-type(1) th,
.recruitment .first-visit table tr:nth-of-type(1) td{
	border-top:none;
}
.recruitment .first-visit__box:nth-of-type(2){
	margin-top:50px;
}
.recruitment .p1-sec-2:before{
	display:none;
}
.recruitment .p1-sec-2{
	background:none;
}
.recruitment .p1-sec-2 .center img{
	display:block;
	margin:auto;
	width:6em;
	margin-bottom:1em;
}
.recruitment .p1-sec-2 h2{
	color:black;
	font-weight:500;
	font-size:30px;
	padding-bottom:30px;
}
.recruitment .step .step__item{
	margin-top:60px;
}
.recruitment .step .step__item{
	position:relative;
}
.intro__item .img{
	position:relative;
}
.intro__item .img:after{
	content:'';
	display:block;
	position:absolute;
	bottom: -20px;
    left: -20px;
	background:#245F8A;
	width:150px;
	height:150px;
	z-index:-2;
}
.recruitment .p1-sec-2 .step__item.right .step__content > img{
	top:-40px;
}
.recruitment .p1-sec-2 .step__text{
	font-size:14px;
}
.intro__item{
	position:relative;
	width:760px;
	margin:30px auto 110px;
}
.intro__content .content{
    background: white;
    max-width:490px;
    padding: 30px;
    margin-bottom: 20px;
    clear: both;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.4);
    position:absolute;
    right:0;
    top:40px;
}

.intro__title{
	background: url(../img/line-1.png) bottom center no-repeat;
    line-height: 1.2;
    background-size: contain;
    padding-bottom: 0.85em;
    font-size: 16px;
    font-weight: 600;
    color: #035591;
    text-align: center;
}
.intro__text{
	color: #6B6B6A;

    font-weight: 500;
	font-size: 15px;
}
.intro__item .img{
	display:block;
	width:300px;
	height:226px;

} 
.intro__content img{
	display:block;
	width:300px;
	height:226px;
	object-fit: cover;
}
.intro__content{
	position:relative;
}
.intro__item.left .intro__content .content{
   	right:auto;
   	left:0;

}
.intro__item.left .img {
    left: auto;
    right: 0;
    width: 100%;
    display: block;
    padding-right:15px;
    padding-bottom:15px;
}
.intro__item.left .img img {
    margin-right: 0;
    position: relative;
    right: 0;
    left: auto;
    text-align: right;
    /* z-index: 1; */
    position: relative;
    display: inline;
    float: right;
    clear: both;
    overflow: hidden;
}
.intro__item.left .img:after {
    content: '';
    display: block;
    position: absolute;
    left: auto;
    bottom: -16px;
    right: -5px;
    background: #245F8A;
    width: 150px;
    height: 150px;
    z-index: -2;
}
.intro__item.left .intro__content .content{
	right:auto;
	left:0;
}
.intro__item.left{
	margin-bottom:60px;
}
.recruitment h2.location__title{
	color:white;
}
.recruitment .location{
	padding-bottom:0;
}
.recruitment .nurse,
.recruitment .hygienist{
	padding-top:0;
}
.recruitment .nurse .location{
	margin-top:140px;
}

.recruitment .location__bg--gray {
    bottom: 51px;
    background: #ECF0F3;
    height: 81%;
}
.recruit{
  padding:0px 20px 50px;
  background:white;
}

.recruit__inner{
  max-width:760px;
  margin:0 auto;
}

.recruit__content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

/* image */

.recruit__image{
  width:360px;
}

.recruit__image img{
  width:100%;
  display:block;
}

/* text */

.recruit__text{
  flex:1;
  text-align:center;
}

.recruit__title{
  margin:0 0 18px;
  font-size:24px;
  font-weight:400;
  color:#2f5f84;
  position:relative;
}

.recruit__title::after{
  content:"";
  display:block;
  width:120px;
  margin:8px auto 0;
  border-bottom:3px dotted #2f5f84;
}

.recruit__lead{
  font-size:20px;
  line-height:1.8;
  margin-bottom:18px;
  font-weight:500;
}

.recruit__account{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:16px;
}
.recruit__account a{
	display:blcok;
	margin:auto;
	text-align:center;
}
.recruit__account img{
  width:60%;
  display:block;
  margin:auto;
}

.flow-steps {
  padding: 50px 20px;
  background:#ECF0F3;
}

.flow-steps__inner {
  max-width: 760px;
  margin: 0 auto;
}

.flow-steps__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
}

.flow-steps__item {
  position: relative;
  background: #fff;
  padding: 22px 24px 22px 76px;
  min-height: 88px;
  font-size: 15px;
  line-height: 1.5;
  box-sizing: border-box;
  font-weight:600;
}

.flow-steps__num {
    position: absolute;
    top: 0;
    left: 0;
    width: 61px;
    height: 49px;
    background: #5f97bb;
    color: #fff;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 6px 0 0 12px;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    box-sizing: border-box;
    clip-path: polygon(0 0, 100% 0, 3% 100%, 0 100%);
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
}

/* 左列 */
.flow-steps__item:nth-child(1) { grid-column: 1; grid-row: 1; }
.flow-steps__item:nth-child(2) { grid-column: 1; grid-row: 2; }
.flow-steps__item:nth-child(3) { grid-column: 1; grid-row: 3; }
.flow-steps__item:nth-child(4) { grid-column: 1; grid-row: 4; }

/* 右列 */
.flow-steps__item:nth-child(5) { grid-column: 2; grid-row: 1; }
.flow-steps__item:nth-child(6) { grid-column: 2; grid-row: 2; }
.flow-steps__item:nth-child(7) { grid-column: 2; grid-row: 3; }
.flow-steps__item{
	position:relative;
}
.flow-steps__item:after {
    width: 100%;
    content: '';
    display: block;
    position: absolute;
    background: url(../img/arrow-down.svg) center center no-repeat;
    height: 16px;
    left: 0;
    bottom: -15px;
    z-index: 1;
}
.flow-steps__item:nth-child(4):after,
.flow-steps__item:nth-child(7):after{
	display:none;
}
.facility_about__text.center p{
	font-size:20px;
	font-weight:600;
	margin:10px auto;
}
.recruitment .facility_about__text.center .mt-30{
	margin-top:30px;
	text-align:left;
	font-size:18px;
	font-weight:300;
}
.recruitment  .facility__image{
	margin:30px auto;
}

.entry{
  padding:80px 20px 100px;
  text-align:center;
}

.entry__inner{
  max-width:760px;
  margin:0 auto;
}

/* title */

.entry__title{
  margin-bottom:30px;
  font-size:22px;
  font-weight:600;
  letter-spacing:0.08em;
  position:relative;
}

.entry__title span{
  position:relative;
  padding:0 30px;
  color:#334F68;
  font-weight:500;
  font-size:27px;
}

.entry__title span::before, 
.entry__title span::after {
    content: "";
    position: absolute;
    top: 90%;
    width: 37px;
    height: 1px;
    background: #333;
}


.entry__title span::before{
  right:100%;
}

.entry__title span::after{
  left:100%;
}

/* button */

.entry__btn{
  display:block;
  width:70%;
  max-width:100%;
  margin:0 auto;
  padding:28px 40px;
  background:#2f5f84;
  color:#fff;
  border-radius:40px;
  text-decoration:none;
}

.entry__btn-text{
  display:block;
  font-size:22px;
  margin-bottom:12px;
}

.entry__account{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  font-size:20px;
}

.entry__account img{
  width:34px;
  height:auto;
}

/* 左ライン */


.entry__title span::before {
    right: 100%;
    margin-right: 6px;
    transform: rotate(53deg);
    transform-origin: 43px 20px;
}
/* 右ライン */

.entry__title span::after{
  left:100%;
  margin-left:14px;
  transform:rotate(-53deg);
  transform-origin:-9px 20px;
}

.kids .facility_about__title{
	margin-bottom:20px;
}
.kids .medical__inner{
	margin-top:30px;
}
.kids .medical,
.kids .flow{
	padding:50px 20px;
}
.kids .medical__title::after{
	width: 14.5em;
	height:10px;
	background-repeat:repeat-x;
	background-size:contain;
}
.kids .for-parents h2{
	margin-top:40px;
}
.preventive .main{

}
.preventive .facility_about{
	padding-top:30px;
}
.preventive .intro{
	background:none;
}
.preventive .intro.p1-sec-2:before{
	background:none;
}
.preventive .intro{
	background:#ECF0F3;
}
.preventive .intro {
    background: #ECF0F3;
    z-index: 0;
    padding-bottom: 50px;
    padding-top: 50px;
    margin-bottom: 0;
    padding-bottom:300px;
}
.preventive .intro__item.left{
	height:355px;
}
.preventive .intro__text{
	margin-bottom:1em;
}
.preventive .facility_about__text{
	margin-top:30px;
}
.preventive .for-parents{
		margin-top:30px;

}
.preventive .for-parents h2:after{
	content:'';
	display:block;
	    background: url(../img/line-1.png) bottom center no-repeat;
    line-height: 1.2;
    background-size: contain;
    width:100%;
    height:10px;
}
.orthodontics .medical{
	padding-top:50px;
}
.orthodontics .medical__inner{
	margin-top:50px;
}
.orthodontics .medical__title{
	color:black;
}
.orthodontics .medical__title::after{
	width:12em;
}
.orthodontics .medical__box{
	padding:40px;
}
.orthodontics .medical__box h3{
	margin-top:30px;
	font-size:22px;
	font-weight:500;
	line-height:1.5;
}
.orthodontics ul.location__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: center;
}
.orthodontics ul.location__list li{
	text-align:left;
	width:45%;
}
.orthodontics .program{
	background:#ECF0F3;
}
.orthodontics .program h2.medical__title{
    color: #2d5f87;
}
.orthodontics .program h3+div,
.orthodontics .program h3{
	color:#5C5C5C;
}
.orthodontics .program h3+div{
	text-align:left;
	margin-top:10px;
}
.orthodontics div.location__list ul{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: center;
}
.orthodontics .program > div:nth-child(3) .box{
	width:90%;
	margin:20px auto;
}
.orthodontics .program > div:nth-child(3) .box p{
	text-align:center;
}
.orthodontics .program > div:nth-child(4) .medical__title::after{
	width:6em;
}
.orthodontics  .flow{
	background:white;
}
.facility #facility_wheelchair .first-visit__title:after{
	width:21em;
}
.orthodontics .entry__title span{
	margin:auto;
	font-size:22px;
	font-weight:600;
	color:#275F8A;
}
.orthodontics .entry__title{
	margin:30px auto 0px;

}
.orthodontics .entry__title span::before,
.orthodontics  .entry__title span::after{
    width: 36px;
    top: 97%;
}

.orthodontics .access__button{
	width:100%;
	padding:12px  0;
	margin:auto;
	border-radius:50px;
}
.news .medical{
	padding:30px;
}
.news .medical h2{
	color:#16385c;
}
.header__logo{
	width:294px;
}
.header__nav{
	overflow:hidden;
}
@media (max-width:1230px){
	.nav{
		gap:2vw;
        position: absolute;
        left: 37%;
        transform: translateX(-20%);
        bottom:20px;

	}
}
@media (max-width:970px){
	.nav li a{
		font-weight:normal;
		font-size:75%;
		
	}
}

/* =========================
   ヘッダー基本
========================= */


/* PCでは非表示 */
.menuBtn {
  display: none;
}

.p1-sec-2 .step__item.right .step__content > .clinic-env__image-bg{
	display: block;
    position: absolute;
    width: 140px;
    height: 140px;
    left: -295px;
    z-index: -1;
    bottom: -18px;
}
.p1-sec-2 .step__item.left .step__content > .clinic-env__image-bg{
	display: block;
    position: absolute;
    width: 140px;
    height: 140px;
    right: -295px;
    z-index: -1;
    bottom: 2px;
}
.schedule__line2 img.pc{
	display:block;
	
}
.schedule__line2 img.sp{
	display:none;
}
.schedule__note .line a img.sp{
	display:none;
}
.schedule__contact > h3{
	margin-bottom:10px;
}
.right_button p{
	display:none;
}
.schedule__line2.pc{
	margin-top:10px;
}
.ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ggmap {
    position: relative;
    padding-bottom: 44.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.ggmap {
    padding-bottom: 0;
    padding-top: 0;
    height: 100%;
}
.in_px {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}