@charset "utf-8";

/* =============================
   Merged from style.css (base)
   ============================= */
/* CSS Document */

/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box{
opacity: 0;
}

/* =====================================================
   Rehabilitation
   ===================================================== */

.yam-rehabilitation-page .yam-lower-card + .yam-lower-card {
  margin-top: 3.2rem;
}

.yam-medical-page.yam-rehabilitation-page .rehab-anchor-nav {
  width: min(100%, 72rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 72rem;
  margin: 0 auto;
  justify-content: center;
}

.yam-medical-page.yam-rehabilitation-page .rehab-anchor-nav a {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}

.rehab-intro-catch {
  margin: 0 0 2.4rem;
  color: #173047;
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1.8;
}

.rehab-intro-text p,
.rehab-method-intro p {
  margin: 0 0 1.6rem;
  color: #303842;
  font-size: 1.55rem;
  line-height: 2;
}

.rehab-intro-text p:last-child,
.rehab-method-intro p:last-child {
  margin-bottom: 0;
}

.rehab-method-intro {
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  background: transparent;
}

.rehab-content-block {
  margin-top: 4rem;
}

.rehab-pt-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}

.rehab-pt-copy {
  min-width: 0;
}

.rehab-pt-visual {
  min-width: 0;
  margin: 0;
}

.rehab-pt-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: 8px;
  object-fit: cover;
}

.yam-rehabilitation-page .rehab-point-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.yam-rehabilitation-page .rehab-point-card {
  padding: 3.2rem 3rem 3.4rem;
  border: 0;
  border-radius: 18px;
  box-sizing: border-box;
  background: #ffffff;
  box-shadow: 0 1rem 2.8rem rgba(65, 77, 89, .13);
}

.rehab-point-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15.5rem;
  min-height: 4rem;
  padding: .5rem 2.6rem;
  border-radius: 999px;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.4;
  background: #ea72a7;
}

.rehab-point-title {
  margin: 1.6rem 0 1.5rem;
  color: #20252b;
  font-size: 2.35rem;
  font-weight: 800;
  line-height: 1.65;
}

.rehab-point-emphasis {
  display: inline-block;
  color: #2369b8;
  white-space: nowrap;
}

.rehab-point-card p {
  margin: 0;
  color: #303842;
  font-size: 1.55rem;
  line-height: 2;
}

@media screen and (min-width: 751px) {
  .rehab-pt-layout {
    grid-template-columns: minmax(0, 1fr) 32rem;
    column-gap: 3.4rem;
  }

  .yam-rehabilitation-page .rehab-symptom-list {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 750px) {
  .yam-rehabilitation-page .rehab-point-list {
    gap: 1.8rem;
  }

  .yam-rehabilitation-page .rehab-point-card {
    padding: 2.4rem 2rem 2.6rem;
    border-radius: 14px;
  }

  .rehab-point-label {
    min-width: 12rem;
    min-height: 3.4rem;
    padding: .4rem 2rem;
    font-size: 1.4rem;
  }

  .rehab-point-title {
    margin: 1.4rem 0 1.2rem;
    font-size: 1.9rem;
  }

  .rehab-point-card p {
    font-size: 1.42rem;
    line-height: 1.9;
  }
}

.yam-rehabilitation-page .rehab-symptom-list li {
  align-items: start;
}

.yam-rehabilitation-page .rehab-symptom-list li::before {
  margin-top: .4rem;
}

.rehab-symptom-list strong {
  display: block;
  margin-bottom: .3rem;
  color: #173047;
  font-weight: 800;
}

.yam-rehabilitation-page .rehab-device-heading {
  margin-top: 4rem;
}

.rehab-device-grid section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28rem;
  column-gap: 3.4rem;
  align-items: center;
  min-width: 0;
}

.rehab-device-content {
  grid-column: 1;
  min-width: 0;
}

.rehab-device-grid .rehab-device-title {
  margin: 0 0 1.8rem;
  color: #303842;
}

.rehab-device-content > p {
  margin: 0;
}

.rehab-device-description {
  display: block;
  color: #303842;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.7;
}

.rehab-device-product {
  display: block;
  margin-top: .5rem;
  color: #2369b8;
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.5;
}

.rehab-device-visual {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}

.rehab-device-visual img {
  display: block;
  width: 100%;
  height: 24rem;
  border-radius: 8px;
  object-fit: contain;
  background: transparent;
}

@media screen and (max-width: 750px) {
  body#rehabilitation .yam-lower-visual .mv-txt-6 {
    width: calc(100% - 2rem);
  }

  body#rehabilitation .yam-lower-visual .mv-txt-6 h2 {
    font-size: 2rem;
    line-height: 1.45;
    white-space: nowrap;
  }

  .yam-medical-page.yam-rehabilitation-page .rehab-anchor-nav {
    grid-template-columns: 1fr;
  }

  .rehab-intro-catch {
    margin-bottom: 2rem;
    font-size: 1.75rem;
    line-height: 1.8;
  }

  .rehab-intro-text p,
  .rehab-method-intro p {
    font-size: 1.42rem;
    line-height: 1.95;
    overflow-wrap: anywhere;
    word-break: break-all;
  }

  .rehab-method-intro {
    padding: 0;
  }

  .yam-rehabilitation-page .rehab-device-heading {
    margin-top: 3rem;
  }

  .rehab-device-grid section {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
  }

  .rehab-device-content,
  .rehab-device-visual {
    grid-column: 1;
    grid-row: auto;
  }

  .rehab-device-description {
    font-size: 1.5rem;
  }

  .rehab-device-product {
    font-size: 2rem;
  }

  .rehab-device-visual {
    width: min(100%, 32rem);
    margin: .6rem auto 0;
  }

  .rehab-device-visual img {
    height: 24rem;
  }
}

/* 2026-07-27 content additions */
.about-history-list div {
  grid-template-columns: minmax(0, 1fr);
}

.medical-pediatric-online {
  margin: 0 0 4.2rem;
  padding: 2.4rem;
  border-radius: 8px;
  background: #f3f8fc;
}

.medical-pediatric-online > p {
  margin: 0 0 1.6rem;
  color: #173047;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.7;
}

.medical-pediatric-online__button {
  width: min(100%, 62rem) !important;
  margin: 0 !important;
  background-image: radial-gradient(#d9eaf8 1.2px, transparent 1.2px) !important;
  background-position: 0 0 !important;
  background-size: 12px 12px !important;
}

.medical-pediatric-online__button .topsubject-banner__title {
  justify-content: center !important;
  font-size: clamp(2rem, 2vw, 2.7rem) !important;
}

.medical-pediatric-online__button .topsubject-banner__title-small {
  line-height: 1.35;
  text-align: center;
}

.medical-online-notice {
  margin: 0 0 4.2rem;
  padding: 2.8rem 3rem;
  border: 2px solid #f0d595;
  border-radius: 8px;
  background: #fffaf0;
}

.medical-online-notice .medical-block-title {
  margin-bottom: 1.4rem;
}

.medical-online-notice ul {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.medical-online-notice li {
  position: relative;
  padding-left: 1.8rem;
  color: #303842;
  font-size: 1.6rem;
  line-height: 1.85;
}

.medical-online-notice li::before {
  content: "";
  position: absolute;
  top: .8em;
  left: 0;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: #e79735;
}

.medical-detail-section {
  min-width: 0;
}

.medical-detail-section .medical-section-lead {
  margin-bottom: 3.4rem;
}

.medical-detail-section > p,
.medical-treatment-group p,
.medical-addition-flow p {
  margin: 0 0 1.5rem;
  color: #303842;
  font-size: 1.45rem;
  line-height: 1.95;
}

.medical-detail-section > .medical-block-title {
  margin-top: 3.4rem;
}

.medical-detail-section h4 {
  margin: 2.6rem 0 1.2rem;
  padding: .9rem 1.2rem;
  border-radius: 5px;
  color: #173047;
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.55;
  background: #edf5fb;
}

.medical-detail-section h5 {
  margin: 0 0 .8rem;
  color: #2369b8;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.65;
}

.medical-detail-section > ul,
.medical-treatment-group ul,
.medical-food-list,
.medical-risk-list {
  display: grid;
  gap: .7rem;
  margin: 0 0 1.8rem;
  padding-left: 2rem;
  color: #303842;
  font-size: 1.42rem;
  line-height: 1.8;
}

.medical-treatment-group {
  margin-top: 1.4rem;
  padding: 1.6rem;
  border: 1px solid #e0e9f1;
  border-radius: 6px;
  background: #fafcfe;
}

.medical-treatment-group p:last-of-type,
.medical-treatment-group ul:last-child,
.medical-food-list:last-child,
.medical-detail-section > p:last-child {
  margin-bottom: 0;
}

.medical-addition-flow {
  display: grid;
  gap: 1.2rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
  counter-reset: addition-flow;
}

.medical-addition-flow li {
  position: relative;
  padding: 1.8rem 1.8rem 1.8rem 5.6rem;
  border: 1px solid #dce8f3;
  border-radius: 6px;
  background: #f7fbff;
  counter-increment: addition-flow;
}

.medical-addition-flow li::before {
  content: counter(addition-flow, decimal-leading-zero);
  position: absolute;
  top: 1.8rem;
  left: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 800;
  background: #2369b8;
}

.medical-addition-flow strong {
  display: block;
  margin-bottom: .7rem;
  color: #173047;
  font-size: 1.55rem;
  line-height: 1.55;
}

.medical-addition-flow p:last-child {
  margin-bottom: 0;
}

.top-instagram-link-wrap {
  width: 100%;
  padding: 0 26px 0;
  box-sizing: border-box;
}

.top-instagram-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  min-height: 5.8rem;
  margin: 0;
  padding: 1rem 1.6rem;
  border: 1px solid #d83980;
  border-radius: 0;
  box-sizing: border-box;
  color: #c72c75;
  font-size: 1.65rem;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.4;
  text-decoration: none;
  background: #ffffff;
  transition: opacity .6s ease;
}

.top-instagram-link:hover {
  opacity: .7;
}

.top-instagram-link img {
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  flex: 0 0 auto;
}

@media screen and (min-width: 751px) {
  .pcfixednav__item--instagram a {
    min-height: 10.56rem;
    padding: 1.2rem .72rem 1.08rem;
    color: #c72c75;
    background: #ffffff;
  }

  .pcfixednav__item--instagram .pcfixednav__icon {
    width: 4.08rem;
    height: 4.08rem;
  }

  .pcfixednav__item--instagram .pcfixednav__icon img {
    width: 3.6rem;
    height: 3.6rem;
  }

  .pcfixednav__item--instagram .pcfixednav__label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    white-space: nowrap;
  }
}

@media screen and (max-width: 750px) {
  .spfooternav__w {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .spfooternav__item a {
    gap: .4rem;
  }

  .spfooternav__item--instagram {
    background: #ffffff;
  }

  .spfooternav__item--instagram .spfooternav__icon {
    width: 4.2rem;
    height: 4.2rem;
  }

  .spfooternav__item--instagram .spfooternav__icon img {
    width: 4.2rem;
    height: 4.2rem;
  }

  .spfooternav__item--instagram .spfooternav__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .spfooternav__label {
    font-size: clamp(1.25rem, 3.7vw, 1.75rem);
  }

  .spfooternav__item--reserve .spfooternav__label {
    font-size: clamp(1.15rem, 3.35vw, 1.55rem);
  }

  .medical-pediatric-online {
    margin-bottom: 3rem;
    padding: 1.8rem;
  }

  .medical-pediatric-online > p {
    font-size: 1.55rem;
  }

  .medical-pediatric-online__button .topsubject-banner__title {
    font-size: clamp(1.35rem, 4vw, 1.8rem) !important;
  }

  .medical-online-notice {
    margin-bottom: 3rem;
    padding: 2rem 1.8rem;
  }

  .medical-online-notice li {
    font-size: 1.42rem;
    overflow-wrap: anywhere;
  }

  .medical-detail-section > p,
  .medical-detail-section > ul,
  .medical-treatment-group p,
  .medical-treatment-group ul,
  .medical-addition-flow p,
  .medical-risk-list {
    font-size: 1.4rem;
    overflow-wrap: anywhere;
  }

  .medical-detail-section > .medical-block-title {
    font-size: 1.7rem;
  }

  .medical-detail-section h4 {
    font-size: 1.6rem;
  }

  .medical-detail-section h5,
  .medical-addition-flow strong {
    font-size: 1.5rem;
  }

  .medical-addition-flow li {
    padding: 1.6rem 1.5rem 1.6rem 5.2rem;
  }

  .medical-addition-flow li::before {
    top: 1.6rem;
    left: 1.3rem;
  }

  .top-instagram-link-wrap {
    padding: 18px 16px 16px;
  }

  .top-instagram-link {
    margin: 0;
    font-size: 1.55rem;
  }
}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}

to {
opacity: 1;
transform: translateY(0);
}

}


/* PC */
@media screen and (min-width:751px) {

.mv{
width: 100%;
background: url("../images/mainimage1.jpg") no-repeat;
background-size: cover;
height: calc(100vh - 0px);
position: relative;
}

.mv-txt{
position: absolute;
bottom: 300px;
left: 300px;
}


.mv-6{
width: 100%;
background: url("../images/bg-subpage.jpg") no-repeat;
background-size: cover;
height: calc(300px);
position: relative;
}

.mv-txt-6{
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -60%); /* 縦横中央 */
  text-align: center;
}

.mv-txt-6 h2{
font-size: 4rem;
font-weight: 600;
letter-spacing: .5rem;
}

.HeightMin .mv-txt-6{
display: none
}



/* header */

header{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
z-index: 1;
position: relative;
height: 12rem;
background: #fff;

}
.header1{
width: 980px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.header2{
width: 300px;
}
.header2 h1 a:hover{
opacity: 1;
}


.header3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 600px;
}

.header4{
}

.header4 a{
  display: inline-block;
  font-size: 2.8rem;
  font-weight: 500;
  font-family: "Murecho";
  background: #fff;
  line-height: 1.2;
  padding: 1rem 2rem;
  border-radius: 5px;
}

.header4 a span::before{
content: "";
background: url("../images/ic_tel.svg");
width: 2rem;
height: 2rem;
display: inline-block;
margin-right: .3rem;
vertical-align: middle;
}

.header5{
width: 300px;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
display: flex;
align-items: baseline;
}

.header5 span{
display: inline-block;
font-size: 3rem;
font-weight: 700;
color: #f62e36;
  font-family: "Murecho";
}

.header6{
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
}

.header7{
margin-right: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: baseline;
}

.header7 a{
width: 100%;
display: block;
font-size: 2.5rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.1rem;
}

.header8{
font-size: 1.8rem;
display: inline-block;
margin-right: .7rem;
}

.header8 span{
width: 100%;
display: block;
background: #f8f7f1;
text-align: center;
padding: .2rem 0;
color: #6b5e4d;
font-size: 1.5rem;
}

.header9{
width: 170px;
}

.header9 a{
display: block;
width: 100%;
background: #d87d97;
text-align: center;
padding: .6rem 0;
color: #fff;
font-size: 1.4rem;
letter-spacing: .1rem;
position: relative;
border-radius: 4px;
}

.header9 div{
display: block;
width: 100%;
background: #d87d97;
text-align: center;
padding: .6rem 0;
color: #fff;
font-size: 1.4rem;
letter-spacing: .1rem;
position: relative;
border-radius: 4px;
}

.header9 a:after{
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1rem;
height: 1rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.header11{
font-size: 1.3rem;
line-height: 1.4;
}

.header12{
width: 100%;
font-size: 1.5rem;
letter-spacing: .2rem;
font-weight: 500;

color: #005a49;
padding-left: 5.2rem;
}

.header14{
text-align: right;
width: 100%;
font-size: 1.4rem;
color: #404040;
}


/* header */

/* nav */


/*========= ドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav{
text-align: center;
}

/*ナビゲーションを横並びに*/
.navul, .navul2{
/*2階層目の基点にするためrelativeを指定*/
position: relative;
list-style: none;
display: flex;
justify-content: space-between;
width: 900px;
margin: 0 auto;
align-items: center;
}

.has-child{
margin: 0 0 0 0;
}

/*2階層目以降は横並びにしない*/
.navul2{
display: block;
}

/*ナビゲーションのリンク設定*/
.navulli1 a,
.navulli2 a,
.has-child a
{
/*矢印の基点にするためrelativeを指定*/
position: relative;
display: block;
text-decoration: none;
padding: 2rem 0 2rem 1.3rem;
transition: all .3s;
font-size: 1.7rem;
letter-spacing: .05rem;
font-weight: 500;
color: #fff;
text-shadow: 0px 0px 10px #767a71;
}

.navulli1 a span,
.has-child > a span
{
display: inline-block;

}
.navulli1 a span::before,
.has-child > a span::before{
  position: absolute;
  top: -.2rem;
  bottom: 0;
  left: -1.4rem;
  display: inline-block;
  font-size: 1rem;
  margin: auto;
  transition: all .3s;
  transform: rotate(90deg);
  color: #3175bb;
}


.navulli1 a span:hover::before,
.has-child > a span:hover::before{
  left: -1.1rem;
}




.navulli2 a{
padding: .5rem;
}

.navulli1 a:hover,
.navulli2 a:hover,
.has-child a:hover{
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/

.has-child > a::before{
position: absolute;
left:0;
top:60px;
width:6px;
height:6px;
border-top: 2px solid #fff;
border-right:2px solid #fff;
transform: rotate(135deg);
}

/*==2階層目以降の画像設定*/

.has-child img{
width: 140px;
height: 93px;
height: auto;
transition: all .5s;
vertical-align: bottom;
}


/*== 2層目の設定 */

.navul2{
position: absolute;
top: 5.2rem;
z-index: 4;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
visibility: hidden;
opacity: 0;
transition: all .4s;
background: #fefff6;
width: 99.2vw;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

/*hoverしたら表示*/
.has-child:hover > .has-childhover{
visibility: visible;
opacity: 1;
z-index: 100;
}

/*各ナビゲーション横幅*/
.navulli2{
width: 22rem;
display: flex;
align-items: center;
}

.navulli2b{
width: 25rem;
display: flex;
align-items: center;
}

.has-child-img{
width: 20rem;
display: flex !important;
justify-content: center;
align-items: center;
}

.has-child-2{
margin: 0 auto;
width: 100rem;
padding: 2rem 0;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.has-child-3{
width: 80rem;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
}

/*ナビゲーションaタグの形状*/
.navulli2 a,
.navulli2b a{
font-size: 1.6rem;
text-align: left;
padding: .75rem 1rem;
position: relative;
}

.navulli2 a span::before,
.navulli2b a span::before{
display: block;
position: absolute;
top: 1.6rem;
left: -0.5rem;
width: 0.8rem;
height: 0.8rem;
background-color: #8fc31f;
content: '';
}

.navulli2 a:hover,
.navulli2 a:active{

}

.navbnr{
display: flex;
align-items: center;
}

.navbnr a{
display: inline-block;
background: #02b2bf;
padding: 15px 18px;
color: #fff;
border-radius: 12px 5px 12px 5px;
}

.navbnr a:hover{
background: #25C5D0;
color: #fff;
}

.menu-new{
font-size: 1rem;
vertical-align: top;
padding-left: .3rem;
color: #B60000;
font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
font-weight: 500;
}	


.navulli-a a{
display: inline-block;
padding: .4rem 3rem;
background: #0d6fb8;
text-align: center;
color: #fff;
border-radius: 100px;
}

.mv-scroll{
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}





/*==============================
   ▼ スクロール後 (#fixnav.HeightMin) 用の上書き
==============================*/

#fixnav.HeightMin {
  background: rgba(255,255,255,.97); /* 背景白 */  transition: background 0.3s ease;
	width: 100%;
}

#fixnav.HeightMin .navulli1 a,
#fixnav.HeightMin .navulli2 a,
#fixnav.HeightMin .has-child a {
  color: #000 !important; /* リンク黒 */
  text-shadow: none;       /* 白文字用の影を解除 */
}

#fixnav.HeightMin .has-child > a::before {
  border-top: 2px solid #000; /* 矢印も黒 */
  border-right: 2px solid #000;
}


#fixnav.HeightMin .mv-scroll {

  transition: background 0.3s ease;
	width: 1400px;
	margin: 0 auto;
}











































/* nav */



/* pagetop */


#page-top {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
}
#page-top a {
width: 60px;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 60px;
height: 60px;
display: block;
}


/* pagetop */


/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
max-width: 1200px;
margin: 3rem auto .5rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
}
.topreservation1 > div:first-child {
border-right: 1px solid #333;
}
.topreservation2 {
width: 50%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-top: 10px;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 3.5rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.15rem;
align-items: baseline;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 260px;
}
.topreservation6 a{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation8 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation9 {
width: 100%;
font-size: 1.5rem;
color: #404040;
margin-top: 1rem;
text-align: left;
padding-left: 5rem;
}

/* reservation */


/* footer */
footer{
width: 100%;
background: url("../images/bgfooter.jpg");
background-size: cover;
padding: 5rem 0;
}

.footer__w{
width: 1060px;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
padding: 5rem;
background: #fff;
border-radius: 10px;

}

.footer1{
width: 400px;
}

.footer2{
width: 100%;
margin-top: .5rem;
margin-bottom: 2.5rem;

}

.footer2 img{
width: 300px;
}

.footer3{
width: 100%;
font-size: 1.6rem;
margin: 1.5rem 0;
font-weight: 400;
}
.footer3 a{
  display: inline-block;
  padding: .4rem 3rem;
  background: #0d6fb8;
  text-align: center;
  color: #fff;
  border-radius: 100px;
}
.footer4{
width: 100%;
font-size: 1.6rem;
font-weight: 400;
}

.footer5{
width: 100%;
margin: 1rem 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 2rem;
}

.footer5 a{
display: inline-block;
font-size: 2.4rem;
font-weight: 500;
font-family: "Murecho";
}


.footer5 a::before {
content: "tel.";
display: inline-block;
margin-right: .3rem;
vertical-align: middle;
font-size: 1.7rem;
font-weight: 400;
}
.footer5 a:hover {
opacity: 1;
background: #807557;
border-radius: 4px;
}
.footer5 a:hover::after {
right: 1rem;
}

.footer6 {
display: flex;
flex-wrap: wrap;
line-height: 1.8;
}

.footer7{
width: 100%;
display: flex;
flex-wrap: wrap;
padding-left: 1rem;
}

.footer7 a{
font-size: 1.6rem;
margin-bottom: 1.2rem;
font-weight: 500;
}

.footer7 a span{
display:inline-block;
position: relative;
padding-left: 1rem;
}
.footer7 a span::before{
  content: "▲";
  position: absolute;
  top: -.2rem;
  bottom: 0;
  left: -1.4rem;
  display: inline-block;
  font-size: 1rem;
  margin: auto;
  transition: all .3s;
  transform: rotate(90deg);
  color: #3175bb;
}



.footer7b{
width: 100%;
margin-top: 1.5rem;
}

.footer7b a{
display: inline-block;
text-align: center;
padding: .2rem 1rem;
border-left: 1px solid #3175bb;
font-size: 1.3rem;
font-weight: 500;
line-height: 1.6;
}






.footer8{
width: 100%;
margin: 0 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 3rem;
}

.footer9{
  width: 100%;
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: .5rem;
}

.footer10{
width: 100%;
font-size: 1.5rem;
margin-bottom: 2rem;
}


.footer10:last-child{
margin-bottom: 0;
}

.footer11{
width: 528px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 5.5rem;
}

.footer12{
width: 100%;
margin-bottom: 1rem;
}

.footer12 img{
width: 100%;
}

.footer13{
width: 100%;
color: #F14D4D;
font-weight: 500;
text-align: right;
padding-right: 3rem;
margin-bottom: 10rem;
}



.footer14{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer15{
width: 420px;
margin: 0 auto;
}

.footer15 img{
border-radius: 10px;
}

.footer16{
width: 100%;
text-align: center;
}

.footer16 img{
width: 80px;
}

.footer17{
width: 100%;
margin-bottom: 6rem;
padding-left: 2rem;
}


.googlemaps__w{
width: calc(100% - 550px);
padding: 0 0 0 20px;
background: #f8f6ef;
}

.googlemaps__w iframe{
width: 90%;
height: 936px;
}

/* footer */


/* copyright */

.copyright {
width: 100%;
padding: 5rem 0;
background: #fff;
text-align: center;
font-size: 1.3rem;
}

/* copyright */

/*common*/
.topaccess13 a:hover,
.header9 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topaccess13 a:hover::after,
.header9 a:hover::after {
right: 1.6rem;
}

/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

/* access */


/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#fixnav.HeightMin{
position: fixed;
z-index: 999;/*最前面へ*/
animation: DownAnime 0.5s forwards;
top: 0;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
 left: 0;
  right: 0;
}

#fixnav{
width: 1400px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding-top: 2rem;
}


/*nav*/

.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;

}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 3rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 650px;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: .9rem 1.2rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.5rem;
color: #fff;
position: relative;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1rem;
font-size: 1.5rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 7rem;
}

.biyoprice1 {
width: 750px;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2.2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
font-size: 2rem;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}

.biyoprice_text {
font-size: 1.35rem;
}

.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}

.biyoprice4 table {
width: 70%;
margin: 0 auto;
}

.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 2rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.35rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;
}

.biyoprice4 table td:last-child{
font-weight: 500;
text-align: right;
}

.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 43%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.3rem;
}

.biyoprice4 table{
}




.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: right;
line-height: 1.7;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 10rem;
}


.checkupmenu1 .pinkbtn01{
width: 50rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu2{
text-align: center;
}



.checkupmenu3{
width: 100%;

}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.6rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 10rem;
}

.checkupmenu3 table th:nth-child(2){
width: 32rem;
}

.checkupmenu3 table th:nth-child(3){
width: calc(100% - 42rem);
}


.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.5rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.8rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 8rem;
}

.pageback{
margin: 0 0 0 auto;
width: 16%;
font-size: 1.5rem;
margin-top: 20px;
font-weight: 500;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 24%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	

.bnr_topics{
width: 1200px;
margin: 50px auto 0;
text-align: right;
}
.bnr_topics a{
display: inline-block;
width: 60%;
box-shadow: 3px 2px 3px #cbc2af;
}
.bnr_topics img{
width: 720px;
height: 200px;
}

.bnr_kenpo{
width: 900px;
margin: 50px auto 50px;
text-align: center;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 3px 2px 10px #e7e7e6;
}
.bnr_kenpo a img{
width: 900px;
height: 100px;
}

.recruit_img{
width: 800px;
margin: 0 auto;
}
.recruit_img img{
width: 800px;
height: 400px;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}



.topkijun__w {
  width: 100%;
  background: #e5e2dd;
  padding: 5rem 0;
}

.topkijun1 {
width: 800px;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2.2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.8rem;
font-weight: 500;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}






.topbnr__w{
width: 100%;
padding: 8rem 0 0;
}
.topbnr1{
width: 1000px;
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 320px;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}








	
/* subpage */
.subpagetitle__w {
width: 100%;
padding: 60px 0;
position: relative;
height: 250px;
}
.subpagetitle__w::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background: url(../images/subpagetitle.jpg) left 100% no-repeat;
background-size: cover;
}
.subpagetitle__w2 {
background: #ebd5c8 url(../images/subpagetitle2.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: #ebd5c8 url(../images/subpagetitle3.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: #ebd5c8 url(../images/subpagetitle4.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: #ebd5c8 url(../images/subpagetitle5.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 10;
}
.subpagetitle1 h2 {
font-size: 4rem;
letter-spacing: .8rem;
color: #633600;
line-height: 1.2;
display: inline-block;
border-radius: 5px;
width: 100%;
position: relative;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
}
.subpagetitle1 h2::before {
content: "";
background: url(../images/ic_h2.svg) no-repeat;
width: 32px;
height: 32px;
margin: 0 auto;
display: inline-block;
}
.subpagetitle1 h2 span {
display: block;
}
.subpagetitle1 h2 span::after {
display: block;
position: relative;
text-align: center;
font-size: 1.6rem;
letter-spacing: .2rem;
color: #baaa9b;
font-weight: 400;
line-height: 1;
font-family: "Wendy One", sans-serif;
margin: .5rem 0 0 0;
}
.subpagetitle1a h2 span::after {
content: "MEDICAL";
}
.subpagetitle1b h2 span::after {
content: "DOCTOR";
}
.subpagetitle1c h2 span::after {
content: "DERMATOLOGY";
}
.subpagetitle1d h2 span::after {
content: "COSMETIC DERMATOLOGY";
}
.subpagetitle1e h2 span::after {
content: "INTERNAL MEDICINE";
}
.subpagetitle1f h2 span::after {
content: "INFORMATION";
}
.subpagetitle1g h2 span::after {
content: "APPOINTMENT";
}
.subpagetitle1h h2 span::after {
content: "ACCESS";
}
.subpagetitle1i h2 span::after {
content: "COSMETICs";
}
.subpagetitle1j h2 span::after {
content: "PRICE";
}
.subpagetitle1k h2 span::after {
content: "FAQ";
}
.subpagetitle1l h2 span::after {
content: "FACILITY-STANDARDS";
}
.subpagetitle2 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpagetitle3 {
width: 100%;
background: #fff;
padding: 20px 20px 20px;
border-radius: 30px 10px 30px 10px;
}
.subpagetitle4 {
width: 100%;
}
.subpagetitle4 img {
border-radius: 30px 10px 30px 10px;
}
.subpage__w {
width: 100%;
background: #fafafa;
padding: 80px 0 110px;
}
.subpage1 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 5rem;
box-shadow: 15px 15px 5px #ededed;
border-radius: 10px;
}
.subpage2, .subpage2b {
width: 100%;
margin: 0 0 2rem 0;
}
	
.subpage2 h2 {
font-size: 3rem;
letter-spacing: .3rem;
line-height: 1;
text-align: center;
color: #2a70ba;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 30px 0;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
}
.subpage2b h2 {
  font-size: 2.5rem;
  letter-spacing: .2rem;
  line-height: 1;
  text-align: center;
  /* color: #2a70ba; */
  border-bottom: 1px solid #d9e0e4;
  padding: 0 0 30px 0;
  /* font-family: YakuHanMP, "Kosugi Maru", sans-serif; */
  font-weight: 500;
}
.subpage3 {
width: 100%;
line-height: 1.8;
}
.subpage3 h4 {
font-size: 2rem;
letter-spacing: .04rem;
line-height: 1.2;

padding: 0 0 10px;
font-weight: 500;
}
.subpage4 {
width: 100%;
}
.subpage4 a {
display: block;
width: 400px;
margin: 0 auto;
background: #ffee9c;
padding: 20px 0;
text-align: center;
letter-spacing: -.005rem;
color: #643e2f;
box-shadow: 6px 6px 15px #fff2b3;
font-weight: 500;
font-size: 2rem;
line-height: 1;
position: relative;
}
.subpage4 a span {
display: block;
width: 100%;
}
.subpage4 a span::after {
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
position: absolute;
top: 20px;
right: -10px;
}
.subpage4 a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage5 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage5 ul {
width: 100%;
display: flex;
list-style: none;
flex-wrap: wrap;
margin-top: 20px;
}
.subpage5 ul li {
width: 50%;
line-height: 1.6;
margin: 0 0 15px 0;
padding-left: 3rem;
text-indent: -3rem;
}
.subpage5 ul li:last-child {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage6 {
width: 100%;
padding: 30px 30px;
position: relative;
background: #f5f5f5;
border-radius: 10px;
}
.subpage6 ul {
width: 100%;
}
.subpage6 ul li {
width: 100%;
line-height: 2;
margin: 0 0 15px 0;
padding-left: 3rem;
text-indent: -3rem;
}
.subpage6 ul li:last-child {
margin: 0 0 0 0;
}
.subpage6 ul li span {
width: 100%;
}
.subpage6 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check2.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage7 {
width: 100%;
}
.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.subpage7 ul li {
width: 45%;
margin: 0 3% 28px 0;
}
.subpage7 ul li:nth-last-child(1) {
margin: 0 3% 0 0;
}
.subpage7 ul li:nth-last-child(2) {
margin: 0 3% 0 0;
}
.subpage7 ul li a {
display: block;
width: 100%;
margin: 0 auto;
background: #7cc739;
padding: 25px 0;
text-align: center;
letter-spacing: -.005rem;
color: #ffffff;
box-shadow: 6px 6px 15px #ebebeb;
font-weight: 500;
font-size: 2rem;
line-height: 1;
position: relative;
border-radius: 5px;
}
.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage7 ul li a span {
width: 100%;
}
.subpage7 ul li span::after {
content: "";
background: url("../images/ic_arrow4.svg");
display: inline-block;
width: 1.5rem;
height: 1.5rem;
position: absolute;
top: 30px;
right: 10px;
transform: rotate(90deg);
opacity: .9;
}
.subpage8{
width: 100%;
}

.subpage8 h3{
font-size: 2.4rem;
/*font-family: "Zen Maru Gothic", sans-serif;*/
letter-spacing: .08rem;
line-height: 1;
padding: .3rem 0 .3rem 1.8rem;
margin: 2rem 0 3rem;	
position: relative;
font-weight: 500;
}

.subpage8 h3::before{
border-left: 6px solid #633600;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
border-radius: 10px;	
}
.subpage9 {
width: 400px;
margin: 0 auto;
}
.subpage9 img {
width: 100%;
border-radius: 10px;
}
.subpage10 {
width: 100%;
background: #F5F5F5;
position: relative;
padding: 30px 30px 30px;
border-radius: 0;
margin: 0 auto;
}
.subpage10 ul {
width: 100%;
}
.subpage10 ul li {
width: 100%;
line-height: 2.2;
}
.subpage10 ul li span {
width: 100%;
}
.subpage10 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check3.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage11 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #927ab9;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage12 {
padding: 12px 0 0 0;
font-size: 1.6rem;
line-height: 2;
}
.subpage13 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #2a70ba;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage14 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #7dadd4;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 2rem;
line-height: 1.4;
}
.subpage15 {
width: 100%;
line-height: 1.8;
}
.subpage16 {
width: 100%;
}
.subpage16 span {
line-height: 1.8;
font-size: 2.2rem;

font-weight: 700;
display: block;
padding: 3px 20px;
letter-spacing: 0.1rem;
background: #fff;
color: #213546;
border-left: 10px solid #7dadd4;
/*font-family: 'Zen Old Mincho', serif;*/
}
.subpage17 {
width: 100%;
}
.subpage17 span {
line-height: 1.8;
font-size: 1.8rem;
font-weight: 700;
display: inline-block;
padding: 6px 30px;
letter-spacing: .1rem;
background: #ffffff;
border-bottom: 1px solid #47c8af;
}
.subpage18 {
width: 100%;
}
.subpage19 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage19 ul {
width: 100%;
}
.subpage19 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage19 ul li:last-child {
margin: 0 0 0 0;
}
.subpage19 ul li span {
width: 100%;
}
.subpage19 ul li span::before {}
.subpage20 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #fbfdd5;
color: #25cf40;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
border: 2px solid #25cf40;
font-weight: 700;
}
.subpage21::before {
content: "";
display: inline-block;
background: url("../images/ic_check4.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage22 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #0ba524;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage23::before {
content: "";
display: inline-block;
background: url("../images/ic_check5.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage24 {
width: 320px;
margin: 0 auto 30px;
}
.subpage24 a {
width: 100%;
display: block;
background: linear-gradient(90deg, #1ea189, #0cbd7c);
text-align: center;
font-size: 2rem;
font-weight: 500;
color: #fff;
border-radius: 200px;
line-height: 1;
padding: 20px 0;
box-shadow: 7px 7px 20px #9ff4c2;
letter-spacing: .05rem;
}
.subpage24 a span::before {
content: "";
background: url("../images/ic_arrow1.svg") no-repeat;
display: inline-block;
width: 1.5rem;
height: 1.5rem;
margin: 0 8px 0 0;
vertical-align: middle;
}
.subpage25 {
width: 100%;
font-size: 3rem;
/*font-family: 'Zen Old Mincho', serif;*/
padding: 30px 40px;
background: #f1fff6;
}
.subpage26 {
display: inline-block;
padding: 0 0 0 50px;
}
.subpage26::first-letter {
color: #009f88;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage27 {
display: inline-block;
padding: 0 0 0 150px;
}
.subpage27::first-letter {
color: #00a341;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage28 {
display: inline-block;
padding: 0 0 0 250px;
}
.subpage28::first-letter {
color: #36a34b;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage29 {
width: 100%;
}
.subpage29 span {
line-height: 1.8;
font-size: 1.6rem;
font-weight: 500;
display: inline-block;
padding: 4px 25px;
letter-spacing: .1rem;
background: #ffffff;
border: 1px solid #7cb1db;
color: #499de1;
border-radius: 200px;
}
.subpage30 {
width: 100%;
padding: 23px 26px;
display: flex;
flex-wrap: wrap;
background: #fffee7;
border-radius: 5px;
}
.subpage31 {
width: 100%;
color: #e95446;
margin: 0 0 15px 0;
font-size: 2.4rem;
text-align: center;
}
.subpage32 {
width: 100%;
font-size: 1.5rem;
color: #4a2811;
}
.subpage33 {
width: 100%;
text-align: center;
}
.subpage34 {
width: 100%;
}
.subpage34 span {
display: block;
padding: 12px 40px;
color: #ffffff;
font-size: 2.3rem;
font-weight: 500;
margin: 0 0 40px 0;
background: linear-gradient(90deg, #009f88, #3f9fcb);
border-radius: 3px 13px 3px 13px;
}
.subpage35 {
width: 600px;
}
.subpage35 img {
width: 100%;
border-radius: 3px;
}
.subpage36 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage36 ul {
width: 100%;
}
.subpage36 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage36 ul li:last-child {
margin: 0 0 0 0;
}
.subpage36 ul li span {
width: 100%;
}
.subpage36 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_cross.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage37 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #ef506b;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage38 {
width: 100%;
margin: 0 0 30px 0;
padding: 10px 30px;
font-size: 2.2rem;
font-weight: 700;
color: #009f88;
border-bottom: 1px solid #e5e5e5;
}
.subpage39 {
width: 100%;
margin: 0 0 15px 0;
padding: 0 0 0 20px;
}
.subpage39 span {
display: inline-block;
text-align: center;
padding: 5px 40px;
border-radius: 200px;
font-size: 1.8rem;
color: #009f88;
font-weight: 700;
border: 1px solid #009f88;
}
.subpage40 {
width: 100%;
font-size: 2.8rem;
/*font-family: 'Zen Old Mincho', serif;*/
padding: 0 0 0 60px;
font-weight: 700;
}
.subpage41 {
font-size: 1.8rem;
font-weight: 400;
display: inline-block;
margin: 0 0 0 5px;
}
.subpage42 {
font-size: 1.6rem;
font-weight: 500;
padding: 0 0 0 60px;
width: 100%;
}
.subpage43 {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.subpage44 {
width: 100%;
margin: 0 0 15px 0;
}
.subpage44 span {
display: inline-block;
background: #009f88;
color: #fff;
padding: 2px 8px;
border-radius: 3px;
margin: 0 15px 0 0;
}
.subpage45 {
width: 100%;
margin: 0 0 35px 0;
}
.subpage45:last-child {
margin: 0 0 0 0;
}
.subpage45 span {
display: inline-block;
background: #fff;
color: #009f88;
padding: 2px 8px;
border-radius: 3px;
margin: 0 15px 0 0;
border: solid 1px #009f88;
}
.subpage46 {
width: 800px;
margin: 0 auto;
}
.subpage46 img {
width: 100%;
}
.subpage47 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage48 {
text-align: center;
font-size: 3.7rem;
width: 100%;
color: #009f88;
/*font-family: 'Zen Old Mincho', serif;*/
letter-spacing: .5rem;
font-weight: 500;
margin: 0 0 40px 0;
}
.subpage49 {
font-size: 3.5rem;
font-weight: 900;
color: #009f88;
letter-spacing: .005rem;
/*font-family: YakuHanJP, 'Zen Kaku Gothic New', sans-serif;*/
line-height: 1.2;
}
.subpage50 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage51 {
width: 100%;
padding: 20px 20px;
background: #f4f0e1;
margin: 0 0 25px 0;
font-size: 1.8rem;
font-weight: 700;
border-radius: 3px;
color: #3c2f19;
text-align: center;
}
.subpage52 {
text-align: center;
width: 100%;
}
.subpage53 span {
font-size: 1.7rem;
background: #fff;
padding: 3px 20px;
color: #eb7777;
border-radius: 5px;
display: inline-block;
font-weight: 700;
border: solid 1px #eb7777;
}
.subpage54 {
width: 100%;
color: #eb7777;
font-size: 1.7rem;
margin: 0 0 5px 0;
}
.subpage55 {
width: 100%;
color: #383618;
font-size: 1.5rem;
}
.subpage56 {
width: 100%;
}
table.subpage57 {
width: 100%;
}
table.subpage57 th {
border: 1px solid #e9e9e9;
}
table.subpage57 td {
border: 1px solid #e9e9e9;
height: 7rem;
}
.subpage58 {
width: 25%;
vertical-align: middle;
padding: 10px 20px;
background: #f6f6f6;
}
.subpage59 {
width: 55%;
padding: 10px 20px;
vertical-align: middle;
font-size: 1.7rem;
}
.subpage60 {
width: 20%;
padding: 10px 20px;
text-align: right;
vertical-align: middle;
}
.subpage61 {
font-size: 1.5rem;
font-weight: 500;
display: inline-block;
background: #fff;
padding: 1px 12px;
text-align: center;
color: #4a6396;
margin: 6px 0 0 0;
border: 1px solid #c5cddd;
}
.subpage62 {
width: 100%;
margin: 0 0 10px 0;
}
.subpage62 a {
display: block;
width: 100%;
background: #fff;
padding: 20px 20px 25px;
font-size: 1.8rem;
}
.subpage62 a span {
display: inline-block;
border-bottom: 1px dotted #5779bc;
color: #5779bc !important;
}
.subpage62 a span::before {
content: "";
display: inline-block;
margin: 0 10px 0 0;
background: url("../images/ic_link.svg");
width: 1.5rem;
height: 1.5rem;
}
.subpage63 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #47c8af;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
width: 93%;
}
.subpage64 {
width: 800px;
}
.subpage64 img {
width: 100%;
border-radius: 3px;
}
.subpage65 {
width: 800px;
text-align: center;
}
.subpage65 img {
width: 50%;
border-radius: 3px;
}
.subpage66 {
width: 25%;
vertical-align: middle;
padding: 10px 20px;
background: #f6f6f6;
}
.subpage67 {
width: 38%;
padding: 10px 20px;
vertical-align: middle;
font-size: 1.7rem;
}
.subpage68 {
width: 37%;
padding: 10px 20px;
vertical-align: middle;
}
.subpage69 {
width: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
align-items: center;
margin: 0 0 12px 0;
}
.subpage69:last-child {
margin: 0 0 0 0;
}
.subpage70 {
width: 42%;
display: inline-block;
padding: 1px 0;
text-align: center;
border: 1px solid #059f88;
margin: 0 15px 0 0;
background: #059f88;
color: #fff;
border-radius: 2px;
font-size: 1.5rem;
font-weight: 700;
}
.subpage71 {
width: 30%;
margin: 0 0 0 0;
text-align: right;
}
.subpage72 {
width: 100%;
text-align: center;
}
.subpage72 a {
width: 100%;
text-align: center;
display: block;
}
.subpage72 a img {
width: 728px;
box-shadow: 5px 5px 10px #c7f5d1;
}
/* subpage */
	
	
	
	
	
	
	
	
	
	
	
/* dooctor */
.doctor1 {
width: 900px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor2 {
width: 400px;
}
.doctor2 img {
width: 100%;
border-radius: 5px;
}
.doctor3 {
width: calc(100% - 450px);
display: flex;
flex-wrap: wrap;
padding: 5rem 0;
background: #fff;
justify-content: center;
align-items: center;
border-radius: 5px;
}
.doctor4 {
font-size: 2.2rem;
line-height: 1.4;
width: 100%;
letter-spacing: .5rem;
text-align: center;

}
.doctor5 {
font-size: 4rem;
width: 100%;
text-align: center;
font-weight: 600;
}
.doctor6 {
font-size: 1.4rem;
text-align: center;
width: 100%;
letter-spacing: .3rem;
}
.doctor6 {
width: 100%;
margin: 0 0 0 0;
}
.doctor7 {
margin-bottom: 1.5rem;
}
.doctor7 h3 {
font-size: 2.2rem;
text-align: center;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
letter-spacing: .2rem;
}
.doctor8 {
background: #fff;
border-radius: 10px;
padding: 50px 70px;
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor9 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.b_line {
border-bottom: 1px dotted #51483e;
padding: 0 0 4rem 0;
}
.doctor10 {
width: 100%;
}
.doctor11 {
margin-bottom: 1.5rem;
}
.doctor11 h3 {
font-size: 2.2rem;
text-align: center;
letter-spacing: .2rem;
}
.doctor12 {
background: #fff;
border-radius: 10px;
padding: 30px 70px;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor13 {
width: 100%;
color: #323232;
font-weight: 400;
}
.doctor14 {
width: 100%;
margin: 0 0 18px 0;
line-height: 1.3;
}
.doctor15 {
width: 48%;
}
.doctor16 {
background: #fff;
border-radius: 10px;
padding: 30px 60px;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
}
.doctor16 ul	{
list-style: none
}
.doctor16 ul li {
padding-left: 1em;
text-indent: -1em;
}
.doctor17 {
width: 100%;
font-size: 2.7rem;
text-align: center;
margin: 0 0 30px 0;
color: #36a34c;
font-weight: 500;
}
.doctor17b {
width: 100%;
font-size: 2.7rem;
text-align: center;
margin: 0 0 30px 0;
color: #2a70ba;
font-weight: 500;
}
	
.doctor18 {
width: 100%;
font-size: 1.6rem;
line-height: 1.8;
}
.doctor19 {
width: 100%;
font-size: 1.4rem;
}
ul.drhistory {
display: flex;
flex-flow: row wrap;
padding: 0 0 10px 0;
list-style: none
}
ul.drhistory li:first-child {
display: block;
color: #323232;
font-weight: 400;
margin: 0 20px 0 0;
width: 100px;
}
ul.drhistory li:nth-child(2) {
color: #333;
}
	
/* dooctor */
	
	
	
	
	
	
	
	
	
	
	
	
	
/*dermatology*/	
	
.tbl_w table {
border-collapse: collapse;
width: 100%;
max-width: 800px;
margin: auto;
background-color: #fff;
}

.tbl_w th, td {
border-bottom: 1px solid #d1edd0;
padding: 1.5rem;
text-align: center;
vertical-align: middle;
}

.tbl_w th {
background-color: #2da845;
font-weight: bold;
text-align: center;
color: #ffffff;
}

.tbl_w tr:nth-child(even) {
background-color: #eef7f0;
}	
	
.about1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.about2 {
width: 420px;
background: #F7F7F7;
border-radius: 10px;
margin: 0 0 40px 0;
}
.about3 {
width: 100%;
}
.about3 img {
width: 100%;
border-radius: 10px 10px 0 0;
}
.about4 {
width: 100%;
font-size: 1.8rem;
text-align: center;
line-height: 1.4;
padding: 2rem 0
}
.about5 {
width: 100%;
padding: 0 20px;
margin: 0 0 20px 0;
font-size: 1.5rem;
letter-spacing: 0;
}
.about6 {
width: 90%;
margin: 0 auto 50px;
background: #fffbd8;
border-radius: 5px;
padding: 20px 40px;
}
.about6 ul li {
width: 100%;
margin: 15px auto 15px;
padding-left: 1em;
text-indent: -1em;
}
/*dermatology*/		
	
	
	

	
	
	
	
/* appointment */	
	
	.day1{
		display: block;
		width: 250px;
		background: #1ca983;
		color: #ffffff;
		text-align: left;
		padding: .5rem 2rem;
		border-radius: 5px;
	}

	.day2{
		display: block;
		width: 250px;
		background: #3f90b5;
		color: #ffffff;
		text-align: left;
		padding: .5rem 2rem;
		border-radius: 5px;
	}
	
.medical_w{
background: #fef3e5;
padding: 30px 0;
border-radius: 10px;
margin: 0 0 20px;
outline: dashed 2px #fec581;
outline-offset: -10px;
/*outline: dashed 4px #c2e4e0;  */
}
.medical_h {
font-size: 2.6rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
text-align: center;
}
.medical_hs {
font-size: 2rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
font-weight: 500;
text-align: center;
}    
.ap_bnr{
width: 880px;
margin: 1rem auto;
display: flex;
	border:1px solid #ccc;
}

	
	
	
	
	
	
	
	
	
	
	
	
	
	
/* access */
.access__w {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 570px;
border-radius: 5px;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access4 {
width: 100%;
font-weight: 700;
font-size: 1.4rem;
letter-spacing: 0.05;
}
.access5 {
width: 100%;
}
.access5 a {
width: 100%;
display: block;
font-size: 4rem;
color: #4b4948;
font-weight: 900;
line-height: 1;
}
.access5 a span {}
.access5 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 3.2rem;
height: 3.2rem;
margin: 0 10px 0 0;
vertical-align: bottom;
}
.access6 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 4rem;
}
.access7 {
width: 100%;
border-radius: 10px;
margin: 0 auto;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1px 0;

}
.access8:first-child {}
.access8:last-child {}
.access9 {
  width: 25%;
  font-size: 1.7rem;
  line-height: 1.2;
  background: #2a70ba;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.access10 {
width: 75%;
line-height: 1.5;
font-size: 1.6rem;
padding: 2.5rem 2.5rem;
background: #fafafa;
}
.access11 {
width: 80%;
margin: 0 auto;
}
.access12 {

}
.access13 {
width: 100%;
margin-bottom: 30px;
}
.access14 {
width: 100%;
}
.access14 iframe {
width: 100%;
border-radius: 20px;
}
.access15 {
width: 100%;
padding: 20px;
background: #f7f7f7;
border-radius: 20px;
}
.access16 {
width: 100%;
text-align: center;
}
.access16 img {
width: 100%;
}
.access17 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 50px;
}
.access18 {
width: 32%;
}
.access18 img {
width: 100%;
border-radius: 3px;
margin: 0 0 15px;
}
.access18 span {
padding-left: 1em;
text-indent: -1em;
display: inline-block;
}
.access_route {
width: 100%;
margin: 0 0 20px 0;
}
.access_route span {
display: inline-block;
padding: 0 15px;
border: 1px solid #28634c;
background: #fff;
color: #28634c;
border-radius: 3px;
font-size: 2rem;
}
/* access */
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
max-width: 1200px;
margin: 3rem auto .5rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
}
.topreservation1 > div:first-child {
border-right: 1px solid #333;
}
.topreservation2 {
width: 50%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-top: 10px;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 3.5rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.15rem;
align-items: baseline;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 260px;
}
.topreservation6 a{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation8 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation9 {
width: 100%;
font-size: 1.5rem;
color: #404040;
margin-top: 1rem;
text-align: left;
padding-left: 5rem;
}

/* reservation */


/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

/* access */



/*nav*/

.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;

}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 3rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 650px;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: .9rem 1.2rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.5rem;
color: #fff;
position: relative;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1rem;
font-size: 1.5rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 7rem;
}

.biyoprice1 {
width: 750px;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2.2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
font-size: 2rem;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}

.biyoprice_text {
font-size: 1.35rem;
}

.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}

.biyoprice4 table {
width: 70%;
margin: 0 auto;
}

.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 2rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.35rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;
}

.biyoprice4 table td:last-child{
font-weight: 500;
text-align: right;
}

.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 43%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.3rem;
}

.biyoprice4 table{
}




.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: right;
line-height: 1.7;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 10rem;
}


.checkupmenu1 .pinkbtn01{
width: 50rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu2{
text-align: center;
}



.checkupmenu3{
width: 100%;

}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.6rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 10rem;
}

.checkupmenu3 table th:nth-child(2){
width: 32rem;
}

.checkupmenu3 table th:nth-child(3){
width: calc(100% - 42rem);
}


.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.5rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.8rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 8rem;
}

.pageback{
margin: 0 0 0 auto;
width: 16%;
font-size: 1.5rem;
margin-top: 20px;
font-weight: 500;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 24%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	

.bnr_topics{
width: 1200px;
margin: 50px auto 0;
text-align: right;
}
.bnr_topics a{
display: inline-block;
width: 60%;
box-shadow: 3px 2px 3px #cbc2af;
}
.bnr_topics img{
width: 720px;
height: 200px;
}

.bnr_kenpo{
width: 900px;
margin: 50px auto 50px;
text-align: center;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 3px 2px 10px #e7e7e6;
}
.bnr_kenpo a img{
width: 900px;
height: 100px;
}

.recruit_img{
width: 800px;
margin: 0 auto;
}
.recruit_img img{
width: 800px;
height: 400px;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}



.topkijun__w {
  width: 100%;
  background: #e5e2dd;
  padding: 5rem 0;
}

.topkijun1 {
width: 800px;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2.2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.8rem;
font-weight: 500;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}






.topbnr__w{
width: 100%;
padding: 8rem 0 0;
}
.topbnr1{
width: 1000px;
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 320px;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}


/* cosmetics */
	
.yoyakubnr {
width: 100%;
}
.yoyakubnr a {
  display: inline-block;;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
  border-radius: 400px;
  background: #f08300;
  text-align: center;
  box-shadow: 0 5px 0 #E9610A;
  font-size: 1.8rem;
	padding: 1.2rem 3rem;
}

.yoyakubnr a span::before {
  content: "";
  background: url("../images/ic_arrow4.svg") no-repeat;
  display: inline-block;
  width: .8rem;
  height: .8rem;
  margin: 0 .5rem 0 0;
  vertical-align: middle;
}


.yoyakubnr .btn_icon {
width: 40px;
height: 40px;
margin: 0 2vw 0 0;
}




















}
/* PC */



@keyframes DownAnime{
from {
opacity: 0;
transform: translateY(-170px);
}
to {
opacity: 1;
transform: translateY(0);
}
}


/* sp */
@media screen and (max-width:750px) {

.mv{
  width: 100%;
  background: url("../images/mainimage1.jpg") no-repeat center center;
  background-size: cover;
  height: 80vh;
  position: relative;
}

.mv-txt{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 縦横中央 */
  width: min(90%, 1000px);
  text-align: center;
}
.mv-6{
width: 100%;
background: url("../images/bg-subpage.jpg") no-repeat;
background-size: cover;
height: calc(200px);
position: relative;
}

.mv-txt-6{
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -60%); /* 縦横中央 */
  text-align: center;
}

.mv-txt-6 h2{
font-size: 3rem;
font-weight: 600;
letter-spacing: .5rem;
}

.HeightMin .mv-txt-6{
display: none
}



.wrapper{
padding: 0 0 7rem 0;
}

/* header */

header{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
height: 7rem;
position: fixed;
top: 0;
z-index: 100;
background: #fff;
}

.header1{
width: calc(100%);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.header2{
width: 100%;
margin: 0 auto;
}

.header2 h1{
  text-align: center;
  padding-top: .5rem;
}

.header2 h1 a{
display: inline-block;
}

.header2 h1 a img{
height: 4.5rem;
width: auto;

}

.header3{
display: none;
width:100%;
margin: 0 auto;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
text-align: center;
}

.header4{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;

}

.header5{
width: 100%;
text-align: center;
}

.header5 span{
text-align: center;
font-size: 1.4rem;
}

.header6 a{
display: block;
font-size: 2.5rem;
line-height: 1;
width: 20rem;
}

.header6 a span::before{
background: url("../images/ic_tel.svg");
display: inline-block;
width: 1.8rem;
height: 1.8rem;
margin: 0 .2rem 0 0;
vertical-align: middle;
}

.header7{
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.header8{
width: 100%;
text-align: center;
}

.header8 span{
text-align: center;
font-size: 1.4rem;
width: 9rem;
}

.header9 a{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;
}

.header9 div{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;
}

.header9 a span::before{
background: url("../images/ic_tel.svg");
display: inline-block;
width: 1.8rem;
height: 1.8rem;
margin: 0 .2rem 0 0;
vertical-align: middle;
}

.header10{
width: 100%;
text-align: center;
}

.header10 a{
display: inline-block;
background: linear-gradient(270deg, #2fb383, #18a86b);
text-align: center;
color: #fff;
box-shadow: 6px 6px 10px #c1ffe8;
}

.header10 a span{
display: block;
position: relative;
width: 100%;
padding: 1.2rem 3rem;
}

.header10 a span::after{
position: absolute;
top: 2.7rem;
right: .8rem;
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: 0 0 0 .6rem;
vertical-align: baseline;
}

.footer__w .header10 a span::after{
position: absolute;
top: 1.9rem;
right: .8rem;
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: 0 0 0 .6rem;
vertical-align: baseline;
}

.header11{
font-size: 1.2rem;
}

.header12{
width: calc(100% - 60px);
font-size: 1.2rem;
margin: 0.5rem auto 1.2rem;
text-align: center;
letter-spacing: 0;
}

.header13{
width: 100%;
}

.header13 a {
display: inline-block;
background: #d87d97;
text-align: center;
padding: 1.5rem 5rem;
color: #fff;
font-size: 1.6rem;
letter-spacing: .2rem;
position: relative;
border-radius: 4px;
width: 20rem;
}

.header13 div {
display: inline-block;
background: #d87d97;
text-align: center;
padding: 1.5rem 1.5rem;
color: #fff;
font-size: 1.6rem;
letter-spacing: .2rem;
position: relative;
border-radius: 4px;
width: 20rem;
}

.header13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1rem;
height: 1rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.header14{
text-align: center;
width: 100%;
font-size: 1.4rem;
color: #404040;
}


/* header */


/* nav */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
position: fixed;
z-index: -1;
display: none;
top: 0;
width: 100%;
height: 100vh;
background: #2a70ba;
transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
display: block;
z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;/*表示する高さ*/
overflow: auto;
-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav .navul,
#g-nav .navul2 {
display: none;
/*ナビゲーション天地中央揃え*/
z-index: 999;
}

#g-nav.panelactive .navul {
width: 90%;
display: flex !important;
flex-wrap: wrap;
justify-content: space-between;
margin: 6rem auto 0;
}

/*リストのレイアウト設定*/
.navulli1,
.navulli2,
.has-child{
list-style: none;
text-align: center;
width: 48%;
}

.navulli1,
.navulli2{
margin: 0 0 1.5rem 0;
}

.navulli1 a,
.navulli2 a,
.has-child a{
text-decoration: none;
padding: 1.5rem 0;
display: block;
text-transform: uppercase;
letter-spacing: 0rem;
font-weight: 500;
font-size: 3.3vw;
background: #fff;
border-radius: 5px;
width: 100%;
margin: 0 auto;
}

.navulli1 a span,
.has-child > a span
{
display: block;
padding-left: 1.4rem;
position: relative;
}
.navulli1 a span::before,
.has-child > a span::before{
  content: "▲";
  position: absolute;
  top: 50%;
  left: 1rem;
  display: inline-block;
  font-size: 1rem;
  margin: auto;
  transition: all .3s;
  transform: translateY(-50%) rotate(90deg);
  color: #3175bb;
}


#g-nav.panelactive .has-child-3{
width: 100%;
display: none !important;
flex-wrap: wrap;
justify-content: flex-start;
margin: .5rem auto 0;
}

#g-nav.panelactive .navulli2{
width: 100%;
margin: 0 0 .5rem 0;
align-items: center;
display: flex;
}

#g-nav.panelactive .navulli2:nth-child(2n){
}

#g-nav.panelactive .navulli2 a{
font-size: 1.3rem;
line-height: 1.2;
padding: .5rem 1rem;
display: block;
width: 100%;
letter-spacing: -0.05rem;
background: #fff;
}

#g-nav.panelactive .navulli2 img{
width: 100%;
border-radius: 10px 3px 10px 3px;
}

.has-child-2{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.has-child-3{
width: 100%;
display: flex;
flex-wrap: wrap;
}


/*========= ボタンのためのCSS ===============*/
.openbtn{
position: fixed;
z-index: 9999;
top: 1rem;
right: 2rem;
cursor: pointer;
width: 4rem;
height: 5rem;
}

/*×に変化*/	
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 0;
height: 3px;
border-radius: 2px;
background-color: #2a70ba;
width: 100%;
}

.active span{
display: inline-block;
transition: all .4s;
position: absolute;
height: 3px;
border-radius: 2px;
background-color: #fff !important;
width: 100%;
}

.openbtn span:nth-of-type(1) {
top:1rem;	
}

.openbtn span:nth-of-type(2) {
top:2.2rem;
}

.openbtn span:nth-of-type(3) {
top:3.4rem;
}

.openbtn.active span:nth-of-type(1) {
top: 1rem;
left: 0;
transform: translateY(6px) rotate(-45deg);
width: 100%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
top: 2.2rem;
left: 0;
transform: translateY(-6px) rotate(45deg);
width: 100%;
}


.spnavinfo__w{
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: center;
}

.menu-new{
font-size: 1rem;
vertical-align: top;
padding-left: .3rem;
color: #B60000;
font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
font-weight: 500;
}

.has-child:nth-last-child(1) a{/*赤いNEWの文字の分を調整（NEWの文字を削除したらこれのcssも削除）*/
padding-left: 2em;
}

/* nav */


/* pagetop */


#page-top {
position: fixed;
bottom: 8rem;
right: 0.8rem;
}
#page-top a {
width: 4rem;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 100%;
display: block;
opacity: .8;
}


/* pagetop */



/* footer */
footer{
width: 100%;
background: url("../images/bgfooter.jpg");
background-size: cover;
padding: 2rem 0;
}

.footer__w{
width: calc(100% - 4rem);
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
padding: 3rem 2rem;
background: #fff;
border-radius: 10px;
}

.footer1{
width: 100%;

}

.footer2{
width: 100%;
margin-top: .5rem;
margin-bottom: 2.5rem;
text-align: center;
}

.footer2 img{
width: 60%;
}

.footer3{
width: 100%;
font-size: 1.5rem;
margin-bottom: 1.5rem;
font-weight: 400;
}

.footer3 a{
  display: inline-block;
  padding: .4rem 3rem;
  background: #0d6fb8;
  text-align: center;
  color: #fff;
  border-radius: 100px;
}

.footer4{
width: 100%;
font-size: 1.5rem;
margin-bottom: 1rem;
font-weight: 400;
}

.footer5{
width: 100%;
margin: 1rem 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 2rem;
}

.footer5 a{
display: inline-block;
font-size: 2.6rem;
font-weight: 500;
font-family: "Murecho";
}


.footer5 a::before {
content: "";
background: url("../images/ic_tel.svg");
width: 1.8rem;
height: 1.8rem;
display: inline-block;
margin-right: .3rem;
vertical-align: middle;
}


.footer6 {
display: flex;
flex-wrap: wrap;
line-height: 1.8;
}

.footer7{
width: 100%;
display: flex;
flex-wrap: wrap;
padding-left: 1rem;
}

.footer7 a{
font-size: 1.5rem;
margin-bottom: 1.2rem;
font-weight: 500;
}

.footer7 a span{
display:inline-block;
position: relative;
padding-left: 1rem;
}
.footer7 a span::before{
  content: "▲";
  position: absolute;
  top: -.2rem;
  bottom: 0;
  left: -1.4rem;
  display: inline-block;
  font-size: 1rem;
  margin: auto;
  transition: all .3s;
  transform: rotate(90deg);
  color: #3175bb;
}



.footer7b{
width: 100%;
margin-top: 1.5rem;
}

.footer7b a{
display: inline-block;
text-align: center;
padding: .2rem 1rem;
border-left: 1px solid #3175bb;
font-size: 1.3rem;
font-weight: 500;
line-height: 1.6;
}






.footer8{
width: 100%;
margin: 0 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 3rem;
}

.footer9{
width: 100%;
font-weight: 700;
font-size: 1.5rem;
margin-bottom: .5rem;
}

.footer10{
width: 100%;
font-size: 1.5rem;
margin-bottom: 2rem;
}


.footer10:last-child{
margin-bottom: 0;
}

.footer11{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 4rem;
}

.footer12{
width: 100%;
margin-bottom: 1rem;
}

.footer12 img{
width: 100%;
border-radius: 5px;
}

.footer13{
width: 100%;
color: #F14D4D;
font-weight: 500;
padding-right: 1.5rem;
margin-bottom: 3rem;
text-align: right;
}



.footer14{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer15{
width: 75%;
margin: 0 auto 3rem;
}

.footer15 img{
}

.footer16{
width: 100%;
text-align: center;
}

.footer16 img{
width: 7rem;
}

.footer17{
width: 100%;
margin-bottom: 4rem;
padding-left: 1.5rem;
}



.googlemaps__w{
width: calc(100% - 550px);
padding: 0 0 0 20px;
background: #f8f6ef;
}

.googlemaps__w iframe{
width: 90%;
height: 936px;
}

/* footer */


/* copyright */

.copyright {
width: 100%;
padding: 5rem 0;
text-align: center;
background: #fff;
font-size: 1.3rem;
}

/*common*/
.topaccess13 a:hover,
.header9 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topaccess13 a:hover::after,
.header9 a:hover::after {
right: 1.6rem;
}


/* sp footer */

.spfooternav__w{
width: 100%;
display: flex !important;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 10;
height: 7rem;

}

.spfooternav1{
width: calc(100% - 8rem);
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
background: #fff;
font-weight: 500;
}

.spfooternav1 a{
font-size: 2.6rem;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0;
}

.spfooternav1 a span{

}

.spfooternav1 a span::before{
content: "";
background: url("../images/ic_tel.svg") no-repeat;
display: inline-block;
width: 2rem;
height: 2rem;
vertical-align: middle;
margin-right: .4rem;
}

.spfooternav2{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(to right, #fc6295, #ec497f);
}

.spfooternav2 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.2rem;
color: #fff;
letter-spacing: 0.1rem;
}

.spfooternav2 a span::before{
content: "";
background: url("../images/ic_access_white.svg") no-repeat;
display: block;
width: 2.4rem;
height: 2.4rem;
margin: 0 auto .5rem;
}




.spfooternav2 a span{

}

.spfooternav3{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
    background: #0d6fb8;
    text-align: center;
    color: #fff;
}

.spfooternav3 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.2rem;
text-align: center;
letter-spacing: 0rem;
color: #fff;
}

.spfooternav3 a span{
line-height: 1.2;
}

.spfooternav3 a span::before{
content: "";
background: url("../images/ic_calendar2.svg") no-repeat;
display: block;
width: 2.4rem;
height: 2.4rem;
margin: 0 auto .7rem;
}

.spfooternav5{
font-size: 1.2rem;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
letter-spacing: 0.1rem;
margin: 0 0 0 0;
line-height: 1;
}


/* sp footer */


/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}


/* access */
.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}

/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}
/* subject */


/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
padding: 4rem 0 1rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
.topreservation1 > div:first-child {
border-bottom: 1px solid #333;
}
.topreservation2 {
width: 100%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-top: 10px;
flex-wrap: wrap;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 2.6rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 100%;
text-align: center;
}
.topreservation6 a{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.7rem;
}

/* reservation */


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
justify-content: center;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 4rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 95%;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: 1rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.3rem;
color: #fff;
line-height: 1;
position: relative;
}

.footertimetable3{
width: 100%;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 td {
vertical-align: middle;
}

.footertimetable4 th:first-child {
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1.5rem;
font-size: 1.4rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 3rem;
}

.biyoprice1 {
width: 95%;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}	

.biyoprice_text {
font-size: 1.4rem;
}


.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}
.biyoprice4 table{
width: 100%;
}


.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 1rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.2rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;

}

.biyoprice4 table td:last-child{
font-weight: 500;
width: 16rem;
text-align: right;
}


.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 35%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.2rem;
}

.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.2;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
vertical-align: middle;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
font-size: 1.3rem;
padding: 1rem .5rem 0;
line-height: 1.4;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 8rem;
}

.checkupmenu1 .pinkbtn01{
width: 95%;
text-align: center;
margin: 0 auto;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: left;
line-height: 1.7;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 5rem;
}

.checkupmenu1 .pinkbtn01{
width: 30rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu3{
width: 100%;
padding: 0 1rem;
}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 8rem;
}

.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 5rem;
}

.pageback{
margin: 0 0 0 auto;
width: 50%;
font-size: 1.3rem;
margin-top: 20px;
font-weight: 500;
text-align: right;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 100%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	
.bnr_topics{
width: 90%;
margin: 20px auto 20px;
}
.bnr_topics a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}
.bnr_kenpo{
width: 90%;
margin: 20px auto 20px;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}

.recruit_img{
width: 100%;
margin: 0 auto;
padding: 0 2rem;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}

.alink{
display: block !important;
margin-top:-9rem !important;
padding-top:9rem !important;
}



.topkijun__w {
  width: 100%;
  background: #e5e2dd;
  padding: 2rem 2rem;
}

.topkijun1 {
width: 100%;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.7rem;
font-weight: 500;
margin-bottom: .5rem;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}



.topbnr__w{
width: 100%;
padding: 4rem 0 0;
}
.topbnr1{
width: 70%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 100%;
margin-bottom: 2rem;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}








}
/* sp */

/* =============================
   Merged from top.css (top page styles)
   ============================= */
/* PC */
@media screen and (min-width:751px) {

/* slider */

.swiper {
  width: 100%;
  background: #fff;
}
.swiper-wrapper {
width: 1400px;
height: 933px;
margin: 0 auto;
}
.swiper-slide {
text-align: center;

/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
position: relative;
}
.swiper-slide1a{
    position: absolute;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    text-align: left;
    left: 50%;
    width: 100%;
    /* max-width: 1000px; */
    text-align: center;
}


.swiper-slide1a span{
    display: inline;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 2.7;
    padding: .5rem .8rem .2rem 1.4rem;
    background: #8fc31f;
    border-radius: 2px;
    color: #fff;
}

.swiper-slide1b{
margin-top: 2rem;
}

.swiper-slide1b span{
display: inline-block;
color: #5d481d;
font-weight: 400;
margin-bottom: 1.3rem;
font-size: 1.8rem;
line-height: 1.8;
}

.swiper-slide1c{
position: absolute;
z-index: 1;
bottom: 1rem;
color: #fff;
font-size: 1.4rem;
text-align: right;
display: block;
width: 100%;
max-width: 1930px;
padding-right: 1rem;
}


.swiper-slide2{
position: relative;
}


.swiper-slide2 img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.swiper-button-next,
.swiper-button-prev {
display: none !important;
}

.swiper_txt {
position: absolute;
right: 2rem;
top: 8rem;
width: 630px;
z-index: 10;
}

.swiper_txt img {
display: block;
width: 100%;
}

/* slider */


.news-timetable-w{
width: 100%;
padding: 5rem 0;
background: #f8f7f4;
}

.news-timetable-w2{
width: 1400px;
margin: 0 auto;
display: flex;
justify-content: space-between;

}

/* news */

.topnews__w{
/*width: 760px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 5rem;*/

/*20260731修正*/
 display:flex;
 flex-direction:column;
 justify-content:flex-start;
}

.topnews1 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 3px;

}

.topnews2 {
width: 100%;
display: flex;
flex-wrap: wrap;

text-align: center;
}

.topnews3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.topnews3 h2 {
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topnews3 h2 span {
color: #0d6fb8;
}

.topnews3 h2 span::after {
display: block;
width: 100%;
text-align: center;
font-size: 1.5rem;
font-weight: 300;
color: #3175bb;
font-family: "Murecho";
letter-spacing: 0.2rem;
}

.topnews4 {
width: calc(100%);
}

.topnews5 {
/*width: 100%;
display: flex;
flex-wrap: wrap;
padding: 1.5rem 0;*/
	
/*20260731修正*/
    height:660px;
    overflow-y:auto;
    padding: 1.5rem 0;
}

.topnews6 {
width: 100%;
font-size: 1.5rem;
margin-bottom: .5rem;
color: #5d481d;
opacity: .6;
}

.topnews7 {
width: 100%;
font-size: 1.8rem;
margin-bottom: .8rem;
font-weight: 500;
}

.topnews8 {
width: 100%;
font-size: 1.6rem;

}

.topnews8 iframe {
width: 100%;
height: 450px;
}

.newskiji1 {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 2rem 0;
margin: 0 0 2rem;
}

.newskiji1:last-child {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 2rem 0;
margin: 0 0 0;
}
.newskiji2 {
width: 100%;
font-size: 1.3rem;
margin: 0 0 0 0;
font-weight: 400;
}  
.newskiji3 {
width: 100%;
}
.newskiji4 {
display: inline-block;
font-size: 1.8rem;
margin: 0 0 .5rem 0;
font-weight: 700;
} 
.newskiji5 {
width: 100%;
font-size: 1.6rem;
}  

.newskiji5 .news-link {
display: inline-flex;
align-items: baseline;
color: #0d6fb8;
text-decoration: none;
}

.newskiji5 .news-link__icon {
color: #0d6fb8;
font-size: .65em;
line-height: 1;
margin-right: .4em;
}

.newskiji5 .news-link__text {
color: #0d6fb8;
border-bottom: 1px dotted #0d6fb8;
}
/* iframe用 */
/*
.topnews5{
    width:100%;
    height:660px;
    padding:0;
    overflow:hidden;
}

.topnews5 iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}
*/
/* news */











.toptimetable__w{
width: 560px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 5rem;
}

.toptimetable1 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 3px;

}

.toptimetable2 {
width: 100%;
display: flex;
flex-wrap: wrap;

text-align: center;
}

.toptimetable3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.toptimetable3 h2 {
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.toptimetable3 h2 span {
color: #0d6fb8;
}

.toptimetable4 {
width: calc(100%);
}

.toptimetable5 {
width: 100%;
display: flex;
flex-wrap: wrap;

}

.toptimetable6 {
width: 100%;
font-size: 1.6rem;
margin-bottom: 2.5rem;
text-align: right;
padding-right: 13rem;
}

.toptimetable7 {
width: 100%;
text-align: center;
}

.toptimetable7 a {

  display: inline-block;
  padding: .4rem 3rem;
  background: #0d6fb8;
  text-align: center;
  color: #fff;
  border-radius: 100px;
}

















/* subject */
.topsubject__w{
width: 100%;
padding:8rem 0;
background: #eef1f3;
}

.topsubject1{
width: 100%;
text-align: center;
}

.topsubject1 h2{
font-size: 3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #0068b6;
}

.topsubject1 h2::first-letter {

}

.topsubject1 h2 span::after {
content: "MEDICAL";
display: block;
width: 100%;
text-align: center;
font-size: 1.4rem;
font-weight: 400;
color: #ea72a7;
font-family: "Open Sans", sans-serif;
letter-spacing: 0.2rem;
margin-top: .6rem;
}

.topsubject2{
width: 1400px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topsubject3{
width: 660px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 5rem;
}

.topsubject4{
width: 100%;
}

.topsubject4 img{
width: 100%;
height: auto;
border-radius: 20px;
}

.topsubject5{
width: 100%;
text-align: center;
font-size: 2.4rem;
padding: 2rem 0;
font-weight: 600;

}

.topsubject5 span::before{
content: "|";
display: block;
font-size: 3rem;
font-weight: 200;
margin-top: -3.3rem;
line-height: 1;
transform: scaleY(1.3);
margin-bottom: 2rem;
color: #3175bb;
}


.topsubject6{
width: 100%;
font-size: 1.5rem;
line-height: 2;
font-weight: 400;
padding: 0 2rem;
}

/* subject */















.topfeature__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #5290bf;
padding: 8rem 0;
}

.topfeature1{
width: 100%;
text-align: center;
margin-bottom: 7rem;
}

.topfeature1 h2{
font-size: 3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #F0F8FF;
}

.topfeature1 h2 span {
}

.topfeature1  h2 span::after {
content: "FEATURE";
display: block;
width: 100%;
text-align: center;
font-size: 1.4rem;
font-weight: 400;
color: #FDA4CC;
font-family: "Open Sans", sans-serif;
letter-spacing: 0.2rem;
margin-top: .6rem;
}
.topfeature2{
width: 1400px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topfeature3{
width: 420px;
display: flex;
justify-content: space-between;
position: relative;
flex-wrap: wrap;

}

.topfeature4{
width: 100%;

position: relative;
}

.topfeature4 img{
width: 100%;
height: auto;
border-radius: 10px;
}

.topfeature4-2{
order: 2;
}

.topfeature5{
width: 100%; 
position: relative;
display: flex;
flex-wrap: wrap;
}

.topfeature6{
font-size: 2.1rem;
font-weight: 600;
letter-spacing: .1rem;
margin: 2.5rem 0 1.8rem;
width: 100%;
text-align: center;

}


.topfeature7{
line-height: 2.2;
font-size: 1.6rem;
font-weight: 400;
width: 100%;
text-align: center;
}

.topfeature8{
width: 100%;
text-align: center;
margin-top: 2.5rem;
}

.topfeature8 a{
display: inline-block;
text-align: center;
width: 60%;
border-radius: 100px;
border: 2px solid #bcd7eb;
font-size: 1.7rem;
font-weight: 700;
padding: 1rem 0;
}

.topfeature8 a span::before{
content: "→";
color: #0d6fb8;
font-size: 2rem;
display: inline-block;
margin-right: 1rem;
}









/* subject */

.topkenshin__w{
width: 100%;
padding: 6rem 0 8rem;
}

.topkenshin1{
width: 100%;
}

.topkenshin1 h2{
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
}

.topkenshin1 h2 span::before {
content: "CHECKUP";
display: block;
width: 100%;
text-align: center;
font-size: 3.8rem;
font-weight: 400;
font-family: 'Playfair Display', serif;
}

.topkenshin2{
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topkenshin3{
width: 370px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topkenshin4{
width: 100%;
}

.topkenshin4 img{
width: 370px;
height: 247px;
}

.topkenshin5{
width: 100%;
text-align: center;
font-size: 2rem;
padding: 1.5rem 0 1.5rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.5rem;
color: #5d481d;
}

.topkenshin6{
width: 100%;
font-size: 1.5rem;
line-height: 2.2;
font-weight: 400;
}

/* subject */


/* medical */

.topmedical__w{
width: 100%;
padding: 8rem 0 9rem;
background: url("../images/topmedicalbg.png") left bottom no-repeat #fafafa;
}

.topmedical1{
width: 1100px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.topmedical2{
width: 340px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
margin-right: 26px;
}

.topmedical2:nth-child(3){
margin-right: 0;
}

.topmedical2:hover{
transform: translateY(-3px);
}

.topmedical3{
width: 100%;
}

.topmedical3 img{
width: 100%;
border-radius: 5px 5px 0 0;
}

.topmedical4{
width: 100%;
text-align: center;
}

.topmedical4 img{
width: 113px;
height: 99px;
margin-top: -50px;
}

.topmedical5{
width: 100%;
font-size: 2.2rem;
text-align: center;
line-height: 1.4;
font-weight: 400;
padding: 2rem 0 0;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
}

.topmedical5 span{
display: block;
position: relative;
width: 100%;
}

.topmedical5 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 2rem;
top: 2.7rem;
}

.topmedical6{
font-size: 1.6rem;
display: block;
}

.topmedical7{
width: 495px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: #fff;
padding: 5rem 2rem;
margin-right: 26px;
border-radius: 5px;
}

.topmedical2:nth-child(3){
margin-right: 0;
}

.topmedical7:hover{
transform: translateY(-3px);
}

.topmedical8{
display: block;
width: 50px;
}

.topmedical8 img{
width: 50px;
height: 50px;
}

.topmedical9{
width: calc(100%);
font-size: 2rem;
text-align: center;
line-height: 1.2;
letter-spacing: .07rem;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
font-weight: 400;
}

.topmedical9 span{
display: block;
position: relative;
}

.topmedical9 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 0;
top: .5rem;
}


.topmedical10{
width: 100%;
font-size: 1.4rem;
padding: 2rem 1rem 2.7rem;
text-align: center;
}

.topsubject11{
width: 100%;
}

.topsubject11 h2{
text-align: center;
font-size: 2.5rem;
font-weight: 500;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
color: #4c2828;
letter-spacing: .3rem;
}

.topsubject11 h2 span::after{
content: "";
display: block;
background: #81391b;
width: 5rem;
height: .1rem;
margin: 1rem auto 0;
}

/* medical */


/* access */
.topaccess__w {
  width: 100%;
  padding: 8rem 0 12rem;
  background: -webkit-linear-gradient(-90deg, #ffffff, #fafafa);
}

.topaccess1{
width: 100%;
text-align: center;
margin-bottom: 7rem;
}

.topaccess1 h2{
font-size: 3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topaccess1 h2 span {
color: #0d6fb8;
}

.topaccess1 h2 span::after {
display: block;
width: 100%;
text-align: center;
font-size: 1.5rem;
font-weight: 300;
color: #479700;
font-family: "Murecho";
letter-spacing: 0.2rem;
}
.topaccess2 {
width: 1400px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}

.topaccess3 {
width: 660px;
position: relative;
}

.topaccess3 img{
width: 100%;
}

.topaccess4 {
width: 750px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
}

.topaccess5 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: 1px solid #5d481d;
}

.topaccess6 {
width: 100%;
font-size: 1.8rem;
line-height: 1.8;
text-align: center;
}

.topaccess7 {
width: 100%;
font-size: 2.5rem;
font-weight: 500;
text-align: center;
letter-spacing: .2rem;
}

.topaccess8 {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess8b {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess9 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topaccess10 {
width: 100%;
font-size: 1.8rem;
text-align: center;
}

.topaccess11 {
display: inline-block;
font-size: 3rem;
font-weight: 500;
text-align: center;
padding: 0 .5rem;
}

.topaccess13 {
width: 300px;
position: absolute;
bottom: -3.5rem;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.topaccess13 a {
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topaccess13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess14 {
width: 100%;
max-width: 1200px;
margin: 9rem auto 0;
height: 0;
overflow: hidden;
padding-bottom: 20.25%;
position: relative;
}
.topaccess14 iframe{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.topaccess15{
width: 100%;
display: flex;
justify-content: center;
justify-content: space-between;
}

.topaccess16{
width: 660px;

}

.topaccess16 iframe{
height: 100%;
width: 100%;


}
.topaccess17{
width: 300px;

margin: 0 auto;
margin-top: 6rem;
}
.topaccess18 a{
  display: inline-block;
  text-align: center;
  width: 280px;
  border-radius: 100px;
  border: 2px solid #bcd7eb;
  font-size: 1.7rem;
  font-weight: 700;
  padding: 1rem 0;
	
}

.topaccess18 a span::before {
  content: "→";
  color: #0d6fb8;
  font-size: 2rem;
  display: inline-block;
  margin-right: 1rem;
}
.topaccess19 {
width: 660px;
position: relative;
}

.topaccess19 img{
    width: 100%;
    height: auto;
    border: solid 1px #E3E9ED;
}
/* access */


}




/* sp */
@media screen and (max-width:750px) {

/* slider */

.swiper {
width: 100%;
margin-top: 7rem;
}
.swiper-wrapper {
}
.swiper-slide {


/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
position: relative;
}
.swiper-slide1a{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
width: 80%;
z-index: 1;
}

.swiper-slide1a span{
display: inline;
color: #8fc31f;
font-weight: 500;
font-size: 2rem;
line-height: 2;

    filter: drop-shadow(1px 1px 3px #fff);
    text-shadow: #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}

.swiper-slide1b{
margin-top: 2rem;
}

.swiper-slide1b span{
display: inline-block;
color: #5d481d;
font-weight: 400;
margin-bottom: 1.3rem;
font-size: 1.8rem;
line-height: 1.8;
}

.swiper-slide1c{
position: absolute;
z-index: 1;
bottom: 1rem;
color: #fff;
font-size: 1.1rem;
text-align: right;
display: block;
width: 100%;
padding-right: 1rem;
}

.swiper-slide2{
position: relative;
}


.swiper-slide2 img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.swiper-button-next,
.swiper-button-prev {
display: none !important;
}

.swiper_txt {
position: absolute;
right: 2rem;
top: 8rem;
width: 630px;
z-index: 10;
}

.swiper_txt img {
display: block;
width: 100%;
}

/* slider */

.news-timetable-w{
width: 100%;
padding: 3rem 2rem;
background: #f8f7f4;
}

.news-timetable-w2{
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

/* news */

.topnews__w{
/*width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 3rem;*/
	
/*20260731修正*/
    display:flex;
    flex-direction:column;
    margin-bottom:3rem;
}

.topnews1 {
width: calc(100%);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 2rem 2rem;
background: #fff;
border-radius: 3px;

}

.topnews2 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
margin-bottom: 2rem;
}

.topnews3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.topnews3 h2 {
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topnews3 h2 span {
color: #0d6fb8;
}

.topnews3 h2 span::after {
display: block;
width: 100%;
text-align: center;
font-size: 1.4rem;
font-weight: 400;
color: #3175bb;
font-family: "Murecho";
}

.topnews4 {
width: 100%;
}

.topnews5 {
/*width: 100%;
display: flex;
flex-wrap: wrap;*/
	
/*20260731修正*/
    width:100%;
    overflow-y:auto;
    max-height:420px;
}

.topnews6 {
width: 100%;
font-size: 1.5rem;
margin-bottom: .5rem;
color: #5d481d;
opacity: .6;
}

.topnews7 {
width: 100%;
font-size: 1.8rem;
margin-bottom: .8rem;
font-weight: 500;
}

.topnews8 {
width: 100%;
font-size: 1.6rem;

}

.topnews8 iframe {
width: 100%;
height: 450px;
}

.newskiji1 {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 2rem 0;
margin: 0 0 2rem;
}
.newskiji2 {
width: 100%;
font-size: 1.2rem;
margin: 0 0 0 0;
font-weight: 400;
}  
.newskiji3 {
width: 100%;
}
.newskiji4 {
display: inline-block;
font-size: 1.7rem;
margin: 0 0 .5rem 0;
font-weight: 700;
} 
.newskiji5 {
width: 100%;
font-size: 1.5rem;
}  

.newskiji5 .news-link{
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    color:#0d6fb8;
    text-decoration:none;
}

.newskiji5 .news-link__icon{
    color:#0d6fb8;
    font-size:.8em;
    line-height:1;
    margin-right:.35em;
    flex-shrink:0;
}

.newskiji5 .news-link__text{
    color:#0d6fb8;
    border-bottom:1px dotted #0d6fb8;
    line-height:1.5;
}
/* iframe用 */
/*
.topnews5{
    width:100%;
    height:420px;
    overflow:hidden;
}

.topnews5 iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}
*/
/* news */





.toptimetable__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 5rem 2%;
}

.toptimetable1 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 3px;

}

.toptimetable2 {
width: 100%;
display: flex;
flex-wrap: wrap;

text-align: center;
}

.toptimetable3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.toptimetable3 h2 {
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.toptimetable3 h2 span {
color: #0d6fb8;
}

.toptimetable4 {
width: calc(100%);
}

.toptimetable5 {
width: 100%;
display: flex;
flex-wrap: wrap;

}

.toptimetable6 {
width: 100%;
font-size: 1.6rem;
margin-bottom: 2.5rem;
text-align: right;
padding-right: 13rem;
}

.toptimetable7 {
width: 100%;
text-align: center;
}

.toptimetable7 a {

  display: inline-block;
  padding: .4rem 3rem;
  background: #0d6fb8;
  text-align: center;
  color: #fff;
  border-radius: 100px;
}




/* news */

.topfeature__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #5290bf;
padding: 5rem 0 0;
}

.topfeature1{
width: 100%;
text-align: center;
margin-bottom: 4rem;
}

.topfeature1 h2{
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topfeature1 h2 span {
color: #0d6fb8;
}

.topfeature1 h2 span::after {
display: block;
width: 100%;
text-align: center;
font-size: 1.5rem;
font-weight: 300;
color: #3175bb;
font-family: "Murecho";
letter-spacing: 0.2rem;
}

.topfeature2{
width: calc(100% - 2rem);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topfeature3{
width: 80%;
margin: 0 auto 6rem;
display: flex;
justify-content: space-between;
position: relative;
flex-wrap: wrap;
}

.topfeature4{
width: 100%;
position: relative;
margin-bottom: 2rem;
}

.topfeature4 img{
width: 100%;
height: auto;
border-radius: 3px;
}


.topfeature5{
width: 100%;
position: relative;
padding-top: 1rem;
}

.topfeature6{
width: 100%;
font-size: 2rem;
font-weight: 600;
letter-spacing: .1rem;
margin-bottom: 1.5rem;
}


.topfeature7{
line-height: 1.8;
font-size: 1.6rem;
font-weight: 400;
}

.topfeature8{
width: 100%;
text-align: center;
margin-top: 2.5rem;
}

.topfeature8 a{
display: inline-block;
text-align: center;
width: 22rem;
border-radius: 100px;
border: 2px solid #bcd7eb;
font-size: 1.5rem;
font-weight: 700;
padding: 1rem 0;
}

.topfeature8 a span::before{
content: "→";
color: #0d6fb8;
font-size: 1.5rem;
display: inline-block;
margin-right: 1rem;
}


/* subject */
.topsubject__w{
width: 100%;
padding:5rem 0 2rem;
background: #fff;
}

.topsubject1{
width: 100%;
text-align: center;
}

.topsubject1 h2{
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topsubject1 h2 span {
color: #0d6fb8;
}

.topsubject1 h2 span::after {

display: block;
width: 100%;
text-align: center;
font-size: 1.4rem;
font-weight: 400;
color: #3175bb;
font-family: "Murecho";
}

.topsubject2{
width: calc(100% - 2rem);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topsubject3{
width: 80%;
margin: 0 auto 5rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topsubject4{
width: 100%;
text-align: center;
}

.topsubject4 img{
width: 100%;
height: auto;
border-radius: 20px;
}

.topsubject5{
width: 100%;
text-align: center;
font-size: 2.2rem;
padding: 2rem 0;
font-weight: 600;
}

.topsubject5 span::before{
content: "|";
display: block;
font-size: 3rem;
font-weight: 200;
margin-top: -3.3rem;
line-height: 1;
transform: scaleY(1.3);
margin-bottom: 2rem;
color: #3175bb;
}


.topsubject6{
width: 100%;
font-size: 1.5rem;
line-height: 2;
font-weight: 400;
}

/* subject */



/* subject */

.topkenshin__w{
width: 100%;
padding: 5rem 0 7rem;
}

.topkenshin1{
width: 100%;
}

.topkenshin1 h2{
text-align: center;
font-size: 1.8rem;
font-weight: 400;
letter-spacing: .2rem;
}

.topkenshin1 h2 span::before {
content: "CHECKUP";
display: block;
width: 100%;
text-align: center;
font-size: 2.5rem;
font-weight: 400;
font-family: 'Playfair Display', serif;
}

.topkenshin2{
width: 100%;
margin: 0 auto;
padding: 0 2rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topkenshin3{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topkenshin4{
width: 100%;
}

.topkenshin4 img{
width: 100%;
}

.topkenshin5{
width: 100%;
text-align: center;
font-size: 2rem;
padding: 1.5rem 0 1.5rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.5rem;
color: #5d481d;
}

.topkenshin6{
width: 100%;
font-size: 1.5rem;
line-height: 2.2;
font-weight: 400;
}

/* subject */



/* medical */

.topmedical__w{
width: 100%;
padding: 5rem 0 5rem;
background: url("../images/topmedicalbg.png") left bottom no-repeat #fafafa;
}

.topmedical1{
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.topmedical2{
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
}

.topmedical3{
width: 100%;
}

.topmedical3 img{
width: 100%;
border-radius: 10px 10px 0 0;
}

.topmedical4{
width: 100%;
text-align: center;
}

.topmedical4 img{
width: 10rem;
margin-top: -50px;
}

.topmedical5{
width: 100%;
font-size: 2rem;
text-align: center;
line-height: 1.4;
font-weight: 400;
padding: 2rem 0 0;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
}

.topmedical5 span{
display: block;
position: relative;
width: 100%;
}

.topmedical5 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 2rem;
top: 2.3rem;
}

.topmedical6{
font-size: 1.6rem;
display: block;
}

.topmedical7{
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: #fff;
padding: 3.5rem 2rem;
}

.topmedical8{
display: block;
width: 50px;
}

.topmedical8 img{
width: 50px;
height: 50px;
}

.topmedical9{
width: calc(100%);
font-size: 1.8rem;
text-align: center;
line-height: 1.2;
letter-spacing: .07rem;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
font-weight: 400;
}

.topmedical9 span{
display: block;
position: relative;
}

.topmedical9 span::after{

background: url("../images/ic_arrow2.svg");
content: "";
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 0;
top: .5rem;
}

.topmedical10{
widows: 100%;
font-size: 1.4rem;
padding: 2.5rem 3rem;
line-height: 1.8;
}

.topsubject11{
width: 100%;
}

.topsubject11 h2{
text-align: center;
font-size: 2rem;
font-weight: 500;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
color: #4c2828;
letter-spacing: .3rem;
}

.topsubject11 h2 span::after{
content: "";
display: block;
background: #81391b;
width: 5rem;
height: .1rem;
margin: 1rem auto 0;
}


/* medical */



/* access */
.topaccess__w {
width: 100%;
padding: 2rem 0 7rem;
  background: -webkit-linear-gradient(-90deg, #ffffff, #fafafa);
}

.topaccess1{
width: 100%;
text-align: center;
margin-bottom: 4rem;
}

.topaccess1 h2{
font-size: 2.3rem;
letter-spacing: .2rem;
font-weight: 700;
line-height: 1.3;
color: #47475b;
}

.topaccess1 h2 span {
color: #0d6fb8;
}
.topaccess1 h2 span::after {
display: block;
width: 100%;
text-align: center;
font-size: 1.4rem;
font-weight: 400;
color: #479700;
font-family: "Murecho";
}
.topaccess2 {
width: calc(100% - 2rem);

margin: 0 auto;
display: flex;
flex-wrap: wrap;
}

.topaccess3 {
width: 450px;
position: relative;
}

.topaccess3 img{
width: 100%;
}

.topaccess4 {
width: 750px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
}

.topaccess5 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: 1px solid #5d481d;
}

.topaccess6 {
width: 100%;
font-size: 1.8rem;
line-height: 1.8;
text-align: center;
}

.topaccess7 {
width: 100%;
font-size: 2.5rem;
font-weight: 500;
text-align: center;
letter-spacing: .2rem;
}

.topaccess8 {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess8b {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess9 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topaccess10 {
width: 100%;
font-size: 1.8rem;
text-align: center;
}

.topaccess11 {
display: inline-block;
font-size: 3rem;
font-weight: 500;
text-align: center;
padding: 0 .5rem;
}

.topaccess13 {
width: 300px;
position: absolute;
bottom: -3.5rem;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.topaccess13 a {
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topaccess13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess14 {
width: 100%;
max-width: 1200px;
margin: 9rem auto 0;
height: 0;
overflow: hidden;
padding-bottom: 20.25%;
position: relative;
}
.topaccess14 iframe{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.topaccess15{
width: 100%;
display: flex;
justify-content: center;
justify-content: space-between;
flex-wrap: wrap;
}

.topaccess16{
width: 100%;
height: 45vh
}

.topaccess16 iframe{
height: 100%;
width: 100%;
}
.topaccess17{
width: 100%;
margin: 0 auto;
margin-top: 4rem;
text-align: center;
}

.topaccess18{
width: 100%;
text-align: center;
margin-top: 2.5rem;
}

.topaccess18 a{
display: inline-block;
text-align: center;
width: 22rem;
border-radius: 100px;
border: 2px solid #bcd7eb;
font-size: 1.5rem;
font-weight: 700;
padding: 1rem 0;
}

.topaccess18 a span::before{
content: "→";
color: #0d6fb8;
font-size: 1.5rem;
display: inline-block;
margin-right: 1rem;
}

.topaccess19 {
width: 100%;
position: relative;
margin-bottom: 3rem;
}

.topaccess19 img{
    width: 100%;
    height: auto;
    border: solid 1px #E3E9ED;
}
/* access */

	
	
	
/* subpage */
.subpagetitle__w {
width: 100%;
padding: 5vw 0;
position: relative;
top: 7rem;	
}
.subpagetitle__w::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background: url(../images/subpagetitle.jpg) left 100% no-repeat;
background-size: cover;
}
.subpagetitle__w2 {
background: #ebd5c8 url(../images/subpagetitle2.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: #ebd5c8 url(../images/subpagetitle3.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: #ebd5c8 url(../images/subpagetitle4.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: #ebd5c8 url(../images/subpagetitle5.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 100;
}
.subpagetitle1 h2 {
font-size: 2.0rem;
letter-spacing: .3rem;
color: #633600;
line-height: 1.2;
display: inline-block;
border-radius: 5px;
width: 100%;
position: relative;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
}
.subpagetitle1 h2::before {
content: "";
background: url(../images/ic_h2.svg) no-repeat;
width: 2.4rem;
height: 2.4rem;
margin: 0 auto;
display: inline-block;
}
.subpagetitle1 h2 span {
display: block;
}
.subpagetitle1 h2 span::after {
display: block;
position: relative;
text-align: center;
font-size: 1.4rem;
letter-spacing: .2rem;
color: #baaa9b;
font-weight: 400;
line-height: 1;
/*font-family: "Wendy One", sans-serif;*/
margin: .5rem 0 0 0;
}
.subpagetitle1a h2 span::after {
content: "MEDICAL";
}
.subpagetitle1b h2 span::after {
content: "DOCTOR";
}
.subpagetitle1c h2 span::after {
content: "DERMATOLOGY";
}
.subpagetitle1d h2 span::after {
content: "COSMETIC DERMATOLOGY";
}
.subpagetitle1e h2 span::after {
content: "INTERNAL MEDICINE";
}
.subpagetitle1f h2 span::after {
content: "INFORMATION";
}
.subpagetitle1g h2 span::after {
content: "APPOINTMENT";
}
.subpagetitle1h h2 span::after {
content: "ACCESS";
}
.subpagetitle1i h2 span::after {
content: "COSMETICs";
}
.subpagetitle1j h2 span::after {
content: "PRICE";
}
.subpagetitle1k h2 span::after {
content: "FAQ";
}
.subpagetitle1l h2 span::after {
content: "FACILITY-STANDARDS";
}
.subpagetitle2 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpagetitle3 {
width: 90%;
background: #fff;
padding: 2vw;
border-radius: 30px 10px 30px 10px;
margin: 0 auto;
}
.subpagetitle4 {
width: 100%;
}
.subpagetitle4 img {
border-radius: 30px 10px 30px 10px;
}
.subpage__w {
width: 100%;
background: #fafafa;
padding: 2rem 0;
}
.subpage1 {
width: 95%;
margin: 0 auto 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 3rem 2rem;
box-shadow: 15px 15px 5px #ededed;
border-radius: 10px;
}
.subpage2, .subpage2b {
width: 100%;
margin: 0 0 2rem 0;
}

.subpage2 h2 {
font-size: 2.0rem;
letter-spacing: .1rem;
line-height: 1;
text-align: center;
color: #2a70ba;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 2rem 0;
}
.subpage2b h2 {
  font-size: 2rem;
  letter-spacing: .2rem;
  line-height: 1;
  text-align: center;
  border-bottom: 1px solid #d9e0e4;
  padding: 0 0 30px 0;
  font-weight: 500;
}
.subpage3 {
width: 100%;
padding: 0 1vw;
line-height: 1.8;
}
.subpage3 h4 {
font-size: 1.5rem;
letter-spacing: .04rem;
line-height: 1.2;
padding: 0 0 2vw;
font-weight: 500;
}
.subpage4 {
width: 100%;
}
.subpage4 a {
display: block;
width: 80%;
margin: 0 auto;
background: #ffee9c;
padding: 4vw 0;
text-align: center;
letter-spacing: -.005rem;
color: #643e2f;
box-shadow: 6px 6px 15px #fff2b3;
font-weight: 500;
font-size: 1.4rem;
line-height: 1;
position: relative;
}
.subpage4 a span {
display: block;
width: 100%;
}
.subpage4 a span::after {
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
position: absolute;
top: 1.2rem;
right: -1.2rem;
}
.subpage4 a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage5 {
width: 100%;
position: relative;
padding: 3rem;
background: #f5f5f5;
border-radius: 10px;
}
.subpage5 ul {
width: 100%;
	list-style: none;
	margin-top: 1rem;
	}
.subpage5 ul li {
width: 100%;
line-height: 1.8;
margin: 0 0 1rem 0;
}
.subpage5 ul li:last-child {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 .7rem 0 0;
vertical-align: sub;
}
.subpage6 {
width: 100%;
padding: 5vw 5vw;
position: relative;
background: #f5f5f5;
border-radius: 10px;
}
.subpage6 ul {
width: 100%;
}
.subpage6 ul li {
width: 100%;
line-height: 1.6;
margin: 0 0 2vw 0;
padding-left: 2.2rem;
text-indent: -2.2rem;
}
.subpage6 ul li:last-child {
margin: 0 0 0 0;
}
.subpage6 ul li span {
width: 100%;
}
.subpage6 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check2.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 1vw 0 0;
vertical-align: sub;
}
.subpage7 {
width: 100%;
}
.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpage7 ul li {
width: 48%;
margin: 0 0 4vw 0;
}
.subpage7 ul li:last-child {
margin: 0 0 0 0;
}
.subpage7 ul li a {
display: block;
width: 100%;
margin: 0 auto;
background: #7cc739;
padding: 2vw 0;
text-align: center;
letter-spacing: -.005rem;
color: #fff;
box-shadow: 6px 6px 15px #ebebeb;
font-weight: 500;
font-size: 1.4rem;
line-height: 1.4;
position: relative;
border-radius: 3px;
}
.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage7 ul li a span {
width: 100%;
display: block;
text-align: center;
}
.subpage7 ul li span::after {
content: "";
background: url("../images/ic_arrow4.svg");
display: block;
width: 1.2rem;
height: 1.2rem;
transform: rotate(90deg);
opacity: .9;
margin: 1.5vw auto 0;
}
.subpage8{
width: 100%;
}
.subpage8 h3{
font-size: 1.8rem;
letter-spacing: .02rem;
line-height: 1.2;
padding: .3rem 0 .3rem 1.4rem;
margin: 2rem 0 2rem;	
position: relative;
font-weight: 500;
}
.subpage8 h3::before{
border-left: 4px solid #633600;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
border-radius: 10px;	
}
.subpage9 {
width: 80%;
margin: 0 auto;
}
.subpage9 img {
width: 100%;
border-radius: 10px;
}
.subpage10 {
width: 100%;
background: #F5F5F5;
position: relative;
padding: 5vw;
border-radius: 0;
margin: 0 auto;
}
.subpage10 ul {
width: 100%;
}
.subpage10 ul li {
width: 100%;
line-height: 2.2;
}
.subpage10 ul li span {
width: 100%;
}
.subpage10 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check3.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage11 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #927ab9;
color: #fff;
text-align: center;
padding: 1.5vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage12 {
padding: 2vw 0 0 0;
font-size: 1.4rem;
line-height: 2;
}
.subpage13 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #2a70ba;
color: #fff;
padding: 1rem 1.5rem;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage14 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #7dadd4;
color: #fff;
text-align: center;
padding: 1.5vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage15 {
width: 100%;
line-height: 1.8;
}
.subpage16 {
width: 100%;
}
.subpage16 span {
line-height: 1.8;
font-size: 1.5rem;
font-weight: 700;
display: block;
padding: 1vw 3vw;
letter-spacing: 0.1rem;
background: #fff;
color: #213546;
border-left: 10px solid #7dadd4;
/*font-family: 'Zen Old Mincho', serif;*/
}
.subpage17 {
width: 100%;
}
.subpage17 span {
line-height: 1.8;
font-size: 1.5rem;
font-weight: 700;
display: inline-block;
padding: 1vw 4vw;
letter-spacing: .1rem;
background: #ffffff;
border-bottom: 1px solid #47c8af;
}
.subpage18 {
width: 100%;
}
.subpage19 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage19 ul {
width: 100%;
}
.subpage19 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage19 ul li:last-child {
margin: 0 0 0 0;
}
.subpage19 ul li span {
width: 100%;
}
.subpage19 ul li span::before {}
.subpage20 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #fbfdd5;
color: #25cf40;
text-align: center;
padding: 2vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.4;
border: 2px solid #25cf40;
font-weight: 700;
}
.subpage21::before {
content: "";
display: inline-block;
background: url("../images/ic_check4.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage22 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #0ba524;
color: #fff;
text-align: center;
padding: 2vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.4;
}
.subpage23::before {
content: "";
display: inline-block;
background: url("../images/ic_check5.svg");
width: 2rem;
height: 2rem;
margin: 0 1vw 0 0;
vertical-align: sub;
}
.subpage24 {
width: 100%;
margin: 0 auto 3vw;
text-align: center;
}
.subpage24 a {
display: inline-block;
background: linear-gradient(90deg, #1ea189, #0cbd7c);
text-align: center;
font-size: 1.4rem;
font-weight: 500;
color: #fff;
border-radius: 200px;
line-height: 1;
padding: 3vw 7vw;
box-shadow: 7px 7px 20px #9ff4c2;
letter-spacing: .05rem;
}
.subpage24 a span::before {
content: "";
background: url("../images/ic_arrow1.svg") no-repeat;
display: inline-block;
width: 1.3rem;
height: 1.3rem;
margin: 0 1.5vw 0 0;
vertical-align: middle;
}
.subpage25 {
width: 100%;
font-size: 1.6rem;
/*font-family: 'Zen Old Mincho', serif;*/
padding: 6vw 3vw;
background: #f1fff6;
}
.subpage26 {
display: inline-block;
padding: 0 0 0 5vw;
}
.subpage26::first-letter {
color: #009f88;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage27 {
display: inline-block;
padding: 0 0 0 8vw;
}
.subpage27::first-letter {
color: #00a341;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage28 {
display: inline-block;
padding: 0 0 0 12vw;
}
.subpage28::first-letter {
color: #36a34b;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage29 {
width: 100%;
}
.subpage29 span {
line-height: 1.8;
font-size: 1.4rem;
font-weight: 500;
display: inline-block;
padding: .5vw 5vw;
letter-spacing: .1rem;
background: #ffffff;
border: 1px solid #7cb1db;
color: #499de1;
border-radius: 200px;
}
.subpage30 {
width: 100%;
padding: 4vw 4vw;
display: flex;
flex-wrap: wrap;
background: #fffee7;
border-radius: 5px;
}
.subpage31 {
width: 100%;
color: #e95446;
margin: 0 0 2vw 0;
font-size: 1.7rem;
text-align: center;
}
.subpage32 {
width: 100%;
font-size: 1.3rem;
color: #4a2811;
line-height: 1.5;
}
.subpage33 {
width: 100%;
text-align: center;
}
.subpage34 {
width: 100%;
}
.subpage34 span {
display: block;
padding: 3vw 4vw;
color: #ffffff;
font-size: 1.8rem;
font-weight: 500;
margin: 0 0 5vw 0;
background: linear-gradient(90deg, #009f88, #3f9fcb);
border-radius: 3px 13px 3px 13px;
line-height: 1.5;
}
.subpage35 {
width: 100%;
}
.subpage35 img {
width: 100%;
border-radius: 3px;
}
.subpage36 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage36 ul {
width: 100%;
}
.subpage36 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage36 ul li:last-child {
margin: 0 0 0 0;
}
.subpage36 ul li span {
width: 100%;
}
.subpage36 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_cross.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage37 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #ef506b;
color: #fff;
padding: 1.5vw 3vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage38 {
width: 100%;
margin: 0 0 3vw 0;
padding: 2vw 3vw;
font-size: 1.8rem;
font-weight: 700;
color: #009f88;
border-bottom: 1px solid #e5e5e5;
}
.subpage39 {
width: 100%;
margin: 0 0 2vw 0;
padding: 0 0 0 2vw;
}
.subpage39 span {
display: inline-block;
text-align: center;
padding: 1vw 5vw;
border-radius: 200px;
font-size: 1.5rem;
color: #009f88;
font-weight: 700;
border: 1px solid #009f88;
}
.subpage40 {
width: 100%;
font-size: 2.5rem;
/*font-family: 'Zen Old Mincho', serif;*/
padding: 0 0 0 6vw;
font-weight: 700;
}
.subpage41 {
font-size: 1.5rem;
font-weight: 400;
display: inline-block;
margin: 0 0 0 1vw;
}
.subpage42 {
font-size: 1.4rem;
font-weight: 500;
padding: 0 0 0 6vw;
width: 100%;
}
.subpage43 {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.subpage44 {
width: 100%;
margin: 0 0 2vw 0;
}
.subpage44 span {
display: inline-block;
background: #009f88;
color: #fff;
padding: .5vw 1.5vw;
border-radius: 3px;
margin: 0 2vw 0 0;
}
.subpage45 {
width: 100%;
margin: 0 0 3vw 0;
}
.subpage45:last-child {
margin: 0 0 0 0;
}
.subpage45 span {
display: inline-block;
background: #fff;
color: #009f88;
padding: .5vw 1.5vw;
border-radius: 3px;
margin: 0 2vw 0 0;
border: solid 1px #009f88;
}
.subpage46 {
width: 100%;
margin: 0 auto;
}
.subpage46 img {
width: 100%;
}
.subpage47 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage48 {
text-align: center;
font-size: 2rem;
width: 100%;
color: #009f88;
/*font-family: 'Zen Old Mincho', serif;*/
letter-spacing: .2rem;
font-weight: 500;
margin: 0 0 6vw 0;
}
.subpage49 {
font-size: 2.2rem;
font-weight: 900;
color: #009f88;
letter-spacing: .05rem;
/*font-family: YakuHanJP, 'Zen Kaku Gothic New', sans-serif;*/
line-height: 1.4;
}
.subpage50 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage51 {
width: 100%;
padding: 2vw 4vw;
background: #f4f0e1;
margin: 0 0 4vw 0;
font-size: 1.4rem;
font-weight: 700;
border-radius: 3px;
color: #3c2f19;
}
.subpage52 {
width: 100%;
}
.subpage53 span {
font-size: 1.4rem;
background: #fff;
padding: 1vw 2vw;
color: #eb7777;
border-radius: 5px;
display: inline-block;
font-weight: 700;
border: solid 1px #eb7777;
line-height: 1.3;
}
.subpage54 {
width: 100%;
color: #eb7777;
font-size: 1.5rem;
margin: 0 0 1vw 0;
}
.subpage55 {
width: 100%;
font-size: 1.3rem;
color: #383618;
line-height: 1.5;
}
.subpage56 {
width: 100%;
}
table.subpage57 {
width: 100%;
}
table.subpage57 th {
display: block;
}
table.subpage57 td {
display: block;
}
.subpage58 {
width: 100%;
vertical-align: middle;
padding: 2vw 2vw;
background: #f6f6f6;
font-size: 1.4rem;
line-height: 1.4;
}
.subpage59 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
font-size: 1.3rem;
}
.subpage60 {
width: 100%;
padding: 0 2vw 1vw;
vertical-align: middle;
font-size: 1.4rem;
font-weight: 700;
border-bottom: 1px solid #e9e9e9;
text-align: right;
}
.subpage61 {
font-size: 1.2rem;
font-weight: 500;

display: inline-block;
background: #fff;
padding: .2vw 2vw;
text-align: center;
color: #4a6396;
margin: 1vw 0 0 0;
border: 1px solid #c5cddd;
}
.subpage62 {
width: 100%;
margin: 0 0 10px 0;
}
.subpage62 a {
display: block;
width: 100%;
background: #fff;
padding: 2vw 2vw;
font-size: 1.4rem;
line-height: 1.3;
}
.subpage62 a span {
display: inline-block;
color: #5779bc !important;
}
.subpage62 a span::before {
content: "";
display: inline-block;
margin: 0 10px 0 0;
background: url("../images/ic_link.svg");
width: 1.5rem;
height: 1.5rem;
}
.subpage63 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #47c8af;
color: #fff;
padding: 2vw 3vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
width: 88%;
}
.subpage64 {
width: 100%;
}
.subpage64 img {
width: 100%;
border-radius: 3px;
}
.subpage65 {
width: 100%;
text-align: center;
}
.subpage65 img {
width: 70%;
border-radius: 3px;
}
.subpage66 {
width: 100%;
vertical-align: middle;
padding: 2vw 2vw;
background: #f6f6f6;
}
.subpage67 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
font-size: 1.3rem;
}
.subpage68 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
border-bottom: 1px solid #e9e9e9;
}
.subpage69 {
width: 100%;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: center;
margin: 0 0 2vw 0;
}
.subpage69:last-child {}
.subpage70 {
width: 10rem;
display: inline-block;
padding: 0 1vw;
text-align: center;
border: 1px solid #059f88;
margin: 0 2vw 0 0;
background: #059f88;
color: #fff;
border-radius: 2px;
font-size: 1.3rem;
font-weight: 700;
}
.subpage71 {
width: 8rem;
margin: 0 0 0 0;
text-align: right;
}
.subpage72 {
width: 100%;
text-align: center;
}
.subpage72 a {
width: 100%;
text-align: center;
display: block;
}
.subpage72 a img {
width: 100%;
box-shadow: 5px 5px 10px #c7f5d1;
}
/* subpage */
	
	
	
	
	
	
	
	
	
/* dooctor */
.doctor1 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor2 {
width: 100%;
text-align: center;
margin: 3rem 0 3rem 0;
}
.doctor2 img {
width: 90%;
border-radius: 3px;
}
.doctor3 {
width: 90%;
display: flex;
flex-wrap: wrap;
padding: 3rem 1rem;
background: #fff;
justify-content: center;
align-items: center;
border-radius: 10px;
margin: 0 auto;
}

.doctor4 {
font-size: 2.2rem;
line-height: 1.4;
width: 100%;
letter-spacing: .5rem;
text-align: center;

}
.doctor5 {
font-size: 3.2rem;
width: 100%;
text-align: center;
font-weight: 600;
}
.doctor6 {
font-size: 1.4rem;
text-align: center;
width: 100%;
letter-spacing: .3rem;
}
.doctor7 {
width: 100%;
margin-bottom: 1.5rem
}
.doctor7 h3 {
font-size: 2.2rem;
text-align: center;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
letter-spacing: .2rem;
}
.doctor8 {
background: #fff;
border-radius: 10px;
padding: 3rem;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor9 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor10 {
width: 100%;
}
.doctor11 {
width: 100%;
margin-bottom: 1.5rem
}
.doctor11 h3 {
font-size: 2.2rem;
text-align: center;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
letter-spacing: .2rem;
}
.doctor12 {
background: #fff;
border-radius: 10px;
padding: 3vw 5vw;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor13 {
width: 100%;
color: #323232;
font-weight: 400;
}
.doctor14 {
width: 100%;
}
.doctor15 {
width: 100%;
}
.doctor16 {
background: #fff;
border-radius: 10px;
padding: 3vw 5vw;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
}
.doctor16 ul	{
list-style: none
}
.doctor17 {
width: 100%;
font-size: 2.2rem;
color: #36a34c;
font-weight: 500;
text-align: center;
margin: 0 0 2rem 0;
line-height: 1.6;
}
.doctor17b {
width: 100%;
font-size: 2.2rem;
color: #2a70ba;
font-weight: 500;
text-align: center;
margin: 0 0 2rem 0;
line-height: 1.6;
}
.doctor18 {
width: 100%;
}
.doctor19 {
width: 90%;
margin: 0 auto;
font-size: 1.2rem;
}
ul.drhistory {
display: flex;
flex-flow: row wrap;
padding: 0 0 10px 0;
flex-direction: column;
list-style: none
}
ul.drhistory li:first-child {
display: block;
color: #323232;
font-weight: 400;
width: 100px;
}
ul.drhistory li:nth-child(2) {
color: #333;
}
	
/* dooctor */
	
	
	
	
	
	
/*dermatology*/
.tbl_w table {
border-collapse: collapse;
width: 100%;
background-color: #fff;
font-size: 1.4rem;
}

.tbl_w th, td {
border-bottom: 1px solid #d1edd0;
padding: 1rem;
text-align: left;
vertical-align: middle;
}

.tbl_w th {
background-color: #2da845;
font-weight: bold;
text-align: center;
color: #ffffff;
}

.tbl_w tr:nth-child(even) {
background-color: #eef7f0;
}		
.about1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.about2 {
width: 48%;
background: #F7F7F7;
border-radius: 10px;
margin: 0 0 2rem 0;
}
.about2:nth-child(2n) {
margin: 0 0% 2rem 0;
}
.about3 {
width: 100%;
}
.about3 img {
width: 100%;
border-radius: 10px 10px 0 0;
}
.about4 {
width: 100%;
padding: 2rem 1rem;
margin: 0 0 0 0;
line-height: 1.4;
text-align: center;
}
.about5 {
width: 100%;
padding: 0 2vw;
margin: 0 0 3vw 0;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.5;
}
.about6 {
width: 100%;
margin: 0 auto 50px;
background: #fffbd8;
border-radius: 5px;
padding: 3vw 4vw;
}
.about6 ul li {
width: 100%;
margin: 1vw auto 1vw;
padding-left: 1em;
text-indent: -1em;
}
/* about */
/*dermatology*/
	
	
	
	

	
	
	
	
/* appointment */	
	.day1{
		display: block;
		width: 100%;
		background: #1ca983;
		color: #ffffff;
		text-align: left;
		padding: .5rem 2rem;
		border-radius: 5px;
	}

	.day2{
		display: block;
		width: 100%;
		background: #3f90b5;
		color: #ffffff;
		text-align: left;
		padding: .5rem 2rem;
		border-radius: 5px;
	}
.medical_w{
background: #fef3e5;
padding: 2rem 0;
border-radius: 10px;
margin: 0 0 2rem;
outline: dashed 2px #fec581;
outline-offset: -10px;
/*outline: dashed 4px #c2e4e0;  */  
}
.medical_h {
font-size: 1.8rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
text-align: center;
}
.medical_hs {
font-size: 1.4rem;
color: #f08300;
letter-spacing: .02rem;
line-height: 1.4;
font-weight: 500;
text-align: center;
}
.ap_bnr{
width: 100%;
margin: 0 auto 3rem;
display: flex;
	border:1px solid #ccc;
}

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
/* access */
.access__w {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 80%;
border-radius: 3px;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access4 {
width: 100%;
font-weight: 700;
font-size: 1.4rem;
letter-spacing: 0.05;
}
.access5 {
width: 100%;
}
.access5 a {
width: 100%;
display: block;
font-size: 3rem;
color: #4b4948;
font-weight: 900;
line-height: 1;
}
.access5 a span {}
.access5 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
margin: 0 1.5vw 0 0;
vertical-align: bottom;
}
.access6 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 4rem;
}
.access7 {
width: 100%;
border-radius: 10px;
margin: 0 auto;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1px 0;

}
.access8:first-child {}
.access8:last-child {}
.access9 {
width: 100%;
font-size: 1.6rem;
line-height: 1.2;
background: #2a70ba;
padding: 1.5rem;
color: #fff;
border-radius: 3px;
}
.access10 {
width: 100%;
line-height: 1.5;
font-size: 1.6rem;
padding: 2rem 1.5rem;
background: #fafafa;
}
.access11 {
width: 100%;
}
.access12 {
width: 100%;
margin: 0 auto;
}
.access13 {
width: 100%;
margin-bottom: 3rem;
}
.access14 {
width: 100%;
margin: 0 auto;
}
.access14 iframe {
width: 100%;
border-radius: 10px;
}
.access15 {
width: 100%;
padding: 3vw;
background: #f7f7f7;
border-radius: 20px;
}
.access16 {
width: 100%;
text-align: center;
}
.access16 img {
width: 100%;
}
.access17 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 5vw;
}
.access18 {
width: 48%;
margin: 0 0 2vw;
}
.access18:last-child {
width: 48%;
margin: 0;
}
.access18 img {
width: 100%;
border-radius: 3px;
margin: 0 0 1vw;
}
.access18 span {
padding-left: 1em;
text-indent: -1em;
display: inline-block;
line-height: 1.5;
}
.access_route {
width: 100%;
margin: 0 0 2vw 0;
}
.access_route span {
display: inline-block;
padding: 0 2vw;
border: 1px solid #28634c;
background: #fff;
color: #28634c;
border-radius: 3px;
font-size: 1.5rem;
}
/* access */
	
	
	
	
	
	
	
	
	


/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}


/* access */
.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}

/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}
/* subject */


/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
padding: 4rem 0 1rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
.topreservation1 > div:first-child {
border-bottom: 1px solid #333;
}
.topreservation2 {
width: 100%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-top: 10px;
flex-wrap: wrap;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 2.6rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 100%;
text-align: center;
}
.topreservation6 a{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.7rem;
}

/* reservation */


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
justify-content: center;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 4rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 95%;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: 1rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.3rem;
color: #fff;
line-height: 1;
position: relative;
}

.footertimetable3{
width: 100%;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 td {
vertical-align: middle;
}

.footertimetable4 th:first-child {
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1.5rem;
font-size: 1.4rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 3rem;
}

.biyoprice1 {
width: 95%;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}	

.biyoprice_text {
font-size: 1.4rem;
}


.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}
.biyoprice4 table{
width: 100%;
}


.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 1rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.2rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;

}

.biyoprice4 table td:last-child{
font-weight: 500;
width: 16rem;
text-align: right;
}


.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 35%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.2rem;
}

.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.2;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
vertical-align: middle;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
font-size: 1.3rem;
padding: 1rem .5rem 0;
line-height: 1.4;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 8rem;
}

.checkupmenu1 .pinkbtn01{
width: 95%;
text-align: center;
margin: 0 auto;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: left;
line-height: 1.7;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 5rem;
}

.checkupmenu1 .pinkbtn01{
width: 30rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu3{
width: 100%;
padding: 0 1rem;
}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 8rem;
}

.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 5rem;
}

.pageback{
margin: 0 0 0 auto;
width: 50%;
font-size: 1.3rem;
margin-top: 20px;
font-weight: 500;
text-align: right;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 100%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	
.bnr_topics{
width: 90%;
margin: 20px auto 20px;
}
.bnr_topics a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}
.bnr_kenpo{
width: 90%;
margin: 20px auto 20px;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}

.recruit_img{
width: 100%;
margin: 0 auto;
padding: 0 2rem;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}

.alink{
display: block !important;
margin-top:-9rem !important;
padding-top:9rem !important;
}



.topkijun__w {
  width: 100%;
  background: #e5e2dd;
  padding: 2rem 2rem;
}

.topkijun1 {
width: 100%;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.7rem;
font-weight: 500;
margin-bottom: .5rem;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}



.topbnr__w{
width: 100%;
padding: 4rem 0 0;
}
.topbnr1{
width: 70%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 100%;
margin-bottom: 2rem;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}



/* cosmetics */
.yoyakubnr {
width: 100%;
}
.yoyakubnr a {
  display: inline-block;;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
  border-radius: 400px;
  background: #f08300;
  text-align: center;
  box-shadow: 0 5px 0 #E9610A;
  font-size: 1.6rem;
	padding: 1.7rem 2rem;
}

.yoyakubnr a span::before {
  content: "";
  background: url("../images/ic_arrow4.svg") no-repeat;
  display: inline-block;
  width: .8rem;
  height: .8rem;
  margin: 0 .5rem 0 0;
  vertical-align: middle;
}

.yoyakubnr .btn_icon {
width: 30px;
height: 30px;
margin: 0 2vw 0 0;
}



}


/* =============================
   ドロップダウンナビゲーション
   PC: hover で角丸白背景メニュー
   SP: クリックで開閉
   ============================= */

/* --- 共通リセット --- */
.navul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navul li {
  list-style: none;
}

/* --- PC ドロップダウン --- */
@media screen and (min-width: 751px) {

  /* 第2階層を持つ親アイテム：relative で起点 */
  .navulli1.has-child {
    position: relative;
  }

  /* 下矢印アイコン */
  .navulli1.has-child > a::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    margin-left: 5px;
    vertical-align: middle;
    transition: transform 0.3s;
  }

  /* ドロップダウンリスト 初期状態（非表示） */
  .navulli1.has-child .nav-dropdown {
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    min-width: 180px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.13);
    padding: 8px 0;
    z-index: 1000;
    list-style: none;
    margin: 0;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s;
    white-space: nowrap;
  }

  /* hover で表示 */
  .navulli1.has-child.is-hover .nav-dropdown {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  /* 矢印を上向きに */
  .navulli1.has-child.is-hover > a::after {
    transform: rotate(180deg);
  }

  /* ドロップダウン各アイテム */
  .nav-dropdown li {
    display: block;
  }
  .nav-dropdown li a {
    display: block;
    padding: 9px 22px;
    font-size: 1.3rem;
    color: #47475b;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    border-radius: 0;
  }
  .nav-dropdown li a span {
    position: relative;
    padding-left: 12px;
  }
  .nav-dropdown li a span::before {
    content: "▶";
    font-size: 0.7rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: inherit;
    opacity: 0.6;
  }
  .nav-dropdown li a:hover {
    background: #f4f8ff;
    color: #1a4fa0;
    opacity: 1;
  }

  /* ドロップダウン上部に小さな三角 */
  .nav-dropdown::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ffffff;
    filter: drop-shadow(0 -2px 2px rgba(0,0,0,0.07));
  }

  .nav-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    top: -28px;
    width: 100%;
    height: 28px;
    background: transparent;
    pointer-events: auto;
  }

}

/* --- SP 開閉式ドロップダウン --- */
@media screen and (max-width: 750px) {

  /* 子メニューを持つ親 */
  .navulli1.has-child {
    position: relative;
  }

  /* SP: 子メニュー初期非表示 */
  .navulli1.has-child .nav-dropdown {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.5rem;
    background: rgba(255,255,255,0.08);
    border-radius: 6px;
  }

  /* SP: 開閉トグルボタン */
  .navulli1.has-child > a {
    position: relative;
    display: block;
    width: 100%;
  }
  .sp-toggle-btn {
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    cursor: pointer;
    z-index: 10;
  }
  .sp-toggle-btn::before,
  .sp-toggle-btn::after {
    content: "";
    position: absolute;
    background: currentColor;
    top: 50%;
    left: 50%;
    transition: transform 0.3s, opacity 0.3s;
  }
  .sp-toggle-btn::before {
    width: 14px;
    height: 2px;
    transform: translate(-50%, -50%);
  }
  .sp-toggle-btn::after {
    width: 2px;
    height: 14px;
    transform: translate(-50%, -50%);
  }
  /* 開いている時は ＋ → ー */
  .navulli1.has-child.sp-open .sp-toggle-btn::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }

  /* SP 子メニューアイテム */
  .nav-dropdown li a {
    font-size: 1.4rem;
    padding: 10px 10px 10px 0;
    display: block;
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }
  .nav-dropdown li a span {
    padding-left: 12px;
    position: relative;
  }
  .nav-dropdown li a span::before {
    content: "–";
    position: absolute;
    left: 0;
  }

}



/* =====================================================
   情報3カラムセクション
   （お知らせ・診療時間表・混雑状況の目安）
   ===================================================== */

/* --- ラッパー --- */
.info-section-w {
  width: 100%;
  background: #f7f8fa;
  padding: 60px 0;
}

.info-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  gap: 28px;
  align-items: stretch;   /* 修正2: 左右を同じ高さに */
  box-sizing: border-box;
  width: 100%;
}

/* --- 左カラム（お知らせ＋診療時間表）--- */
.info-left {
  flex: 0 0 38%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* --- 右カラム（混雑状況）--- */
/* 修正2：はみ出し防止・高さ合わせ */
.info-right {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.info-right .info-box {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.info-right .konzatsu-tbl {
  flex: 1;
}

/* --- 共通ボックス --- */
.info-box {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07);
  padding: 24px 26px 22px;
  width: 100%;
  box-sizing: border-box;
}

/* 修正1：見出しをサイト既存スタイルに統一 */
.info-box-title {
  width: 100%;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e8e8e8;
  display: flex;
  align-items: center;
}
.info-box-title h2 {
  font-size: 2.3rem;
  letter-spacing: .2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #47475b;
}
.info-box-title h2 span {
  color: #0d6fb8;
}

/* 修正3：診療時間テーブルを幅100%に */
.timetable-table-wrap {
  overflow-x: auto;
  width: 100%;
}
.toptimetable__w.info-box {
  width: 100%;
  box-sizing: border-box;
}
.timetable-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.35rem;
}
.timetable-tbl thead th {
  background: #247fc2;
  color: #fff;
  text-align: center;
  padding: 8px 6px;
  font-weight: 500;
  border: 1px solid #9ab9cf;
}
.timetable-tbl thead th:first-child {
  background: #247fc2;
  border-color: #9ab9cf;
}
.timetable-tbl tbody th {
  background: #eef2f9;
  font-weight: 500;
  text-align: center;
  padding: 9px 8px;
  border: 1px solid #d0d9ec;
  white-space: nowrap;
  font-size: 1.5rem;
}
.timetable-tbl tbody td {
  text-align: center;
  padding: 9px 4px;
  border: 1px solid #d0d9ec;
  font-size: 1.5rem;
  color: #2369b8;
  font-weight: 600;
}
.timetable-tbl tbody td.closed {
  color: #aaa;
  font-weight: 400;
}
.timetable-note {
  font-size: 1.6rem;
  color: #666;
  margin: 8px 0 0;
  line-height: 1.6;
}
.timetable-note--kyushin {
  font-weight: 600;
  color: #c0392b;
}

/* --- 混雑状況テーブル --- */
.konzatsu-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin-bottom: 12px;
  font-size: 1.5rem;
  background: #fffbf0;
  border-radius: 8px;
  padding: 8px 14px;
}
.konzatsu-legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
.kz-icon {
  font-size: 1.5rem;
  letter-spacing: -2px;
}

.konzatsu-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.3rem;
  table-layout: fixed;
}
.konzatsu-tbl thead th {
  background: #0068b6;
  color: #fff;
  text-align: center;
  padding: 8px 4px;
  border: 1px solid #d4890a;
  font-weight: 600;
}
.konzatsu-tbl thead th.kz-th-label {
  background: #d4890a;
  width: 110px;
}
.konzatsu-tbl tbody td {
  text-align: center;
  padding: 8px 4px;
  border-bottom: 1px solid #f0e8d0;
  vertical-align: middle;
  line-height: 1.2;
}
.konzatsu-tbl tbody td.kz-time {
  font-size: 1.4rem;
  font-weight: 600;
  color: #444;
  text-align: left;
  padding-left: 6px;
  white-space: nowrap;
  background: #fff9ee;
  border-right: 2px solid #0068b6;
}
/* 午後ブロック上部に余白ライン */
.kz-row-gap td {
  border-top: 3px solid #0068b6 !important;
  padding-top: 8px;
}

/* 混雑アイコン */
.kz-low, .kz-mid, .kz-high {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.kz-slash { color: #bbb; font-size: 1.6rem; }
/* SVGアイコン */
.kz-svg {
  display: inline-block;
  vertical-align: middle;
}
.kz-icon .kz-svg { width: auto; height: 26px; }

/* =====================================================
   SP レスポンシブ
   ===================================================== */
@media screen and (max-width: 750px) {

  .info-section-w {
    padding: 36px 0 40px;
  }
  .info-section-inner {
    flex-direction: column;
    padding: 0 16px;
    gap: 16px;
  }
  .info-left,
  .info-right {
    flex: none;
    width: 100%;
  }
  .info-box {
    padding: 18px 16px 16px;
  }
  .konzatsu-tbl thead th.kz-th-label {
    width: 90px;
  }
  .konzatsu-tbl {
    font-size: 1.1rem;
  }
  .konzatsu-tbl tbody td.kz-time {
    font-size: 1.1rem;
  }
  .kz-low, .kz-mid, .kz-high {
    font-size: 1.1rem;
  }
  .timetable-tbl {
    font-size: 1.2rem;
  }
}



/* =====================================================
   診療科目バナー（新デザイン）
   ===================================================== */

/* コンテナ幅をリセットして新グリッドへ */
.topsubject2 {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 20px !important;
  justify-content: unset !important;
  align-items: unset !important;
  padding: 0 30px !important;
  box-sizing: border-box !important;
}

/* 下段2枚は2/3幅 */
.subj-banner--wide {
  grid-column: span 1 !important;
}

/* 下段の2アイテムを中央寄せ */
.topsubject2 .subj-banner:nth-child(4) {
  grid-column: 1 / 2;
}
.topsubject2 .subj-banner:nth-child(5) {
  grid-column: 2 / 3;
}

/* bannerリンク全体 */
.subj-banner {
  width: 100% !important;
  display: block !important;
  margin-bottom: 0 !important;
  text-decoration: none;
  border-radius: 18px;
  overflow: hidden;
}

/* 画像ラッパー：overflow hidden で拡大をクリップ */
.subj-imgwrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
  background: #ccc;
}

/* 写真 */
.subj-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
}

/* hover: ぼかし + 拡大 */
.subj-banner:hover .subj-imgwrap img {
  transform: scale(1.07);
  filter: blur(3px) brightness(0.75);
}

/* オーバーレイ（テキスト+矢印用の薄い暗幕） */
.subj-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 0;
}

/* 内側の白border + コンテンツ配置 */
.subj-overlay-inner {
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 18px 18px;
  pointer-events: none;
}

/* 内border装飾（角が少しだけ強調） */
.subj-inborder {
  display: none; /* overlay-innerのborderで代替 */
}

/* テキストブロック */
.subj-text {
    color: #fff;
    text-shadow: 2px 2px 8px rgb(0 46 81 / 60%);
    margin-bottom: 10px;
}

.subj-ja {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  margin: 0 0 3px;
}

.subj-en {
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  margin: 0;
  opacity: 0.85;
}

/* 矢印ボタン（黄緑色の丸） */
.subj-arrow {
  width: 34px;
  height: 34px;
  background: #c8e63a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.3s;
}

.subj-banner:hover .subj-arrow {
  background: #afd020;
}

/* =====================================================
   SP レスポンシブ（診療科目バナー）
   ===================================================== */
@media screen and (max-width: 750px) {

  .topsubject2 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 0 16px !important;
  }

  /* SP: 5枚目だけ幅いっぱい */
  .topsubject2 .subj-banner:nth-child(4) {
    grid-column: 1 / 2;
  }
  .topsubject2 .subj-banner:nth-child(5) {
    grid-column: 2 / 3;
  }

  .subj-imgwrap {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
  }

  .subj-banner {
    border-radius: 12px;
  }

  .subj-overlay-inner {
    inset: 8px;
    border-radius: 6px;
    padding: 0 12px 12px;
  }

  .subj-ja {
    font-size: 1.6rem;
  }
  .subj-en {
    font-size: 1.0rem;
  }
  .subj-arrow {
    width: 48px;
    height: 48px;
  }
  .subj-arrow svg {
    width: 23px;
    height: 23px;
  }
}



/* =====================================================
   当院の特長 Features カード（v5：バッジ半埋め・全角丸カード一体化）
   ===================================================== */

/* ── グリッドコンテナ ── */
.topfeature2.feat-grid {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 60px 28px !important;
  padding: 0 30px 20px !important;
  box-sizing: border-box !important;
  background: none !important;
  justify-content: unset !important;
  align-items: unset !important;
}

/* ── カード全体 ── */
.feat-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  overflow: visible !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}

/* ── 写真エリア（カード全幅・下角丸なし）── */
.feat-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px 16px 16px 16px;
  overflow: hidden;
  flex-shrink: 0;
  z-index: 1;
}

.feat-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}

/* ── バッジ＋ボディの統合ラッパー ──
   写真幅の80%・写真下端から20px上に重なる
   ─────────────────────────────────────
   仕組み：
   1. feat-content-wrap は relative で写真より前面（z-index:2）
   2. feat-badge-circle は写真下に半分かかり、下半分がfeat-bodyに潜る
   3. feat-body の background:white + border-top:none で
      バッジ下半分を「隠して」境界線を一体化させる
*/
.feat-content-wrap {
  position: relative;
  width: 80%;
  margin-top: -20px;   /* 写真に20px重なる */
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ── 半円バッジ ──
   直径 80px → 半径 40px
   上半分だけ border（上・左・右）、下は none
   margin-bottom: -40px でfeat-bodyに半径分潜り込む
*/
.feat-badge-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #ffffff;
  border-top:    2px solid #0068b6;
  border-left:   2px solid #0068b6;
  border-right:  2px solid #0068b6;
  border-bottom: 2px solid #0068b6;   /* 見えなくなるが指定は残す（隠す処理はfeat-bodyの白背景） */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 2px;
  flex-shrink: 0;
  position: relative;
  z-index: 4;
  margin-bottom: -40px;   /* 半径分だけfeat-bodyに重なる */
}

.feat-badge-label {
  font-size: 1.0rem;
  font-weight: 600;
  color: #ea72a7;
  letter-spacing: 0.08em;
  font-style: italic;
  line-height: 1.2;
}

.feat-badge-num {
  font-size: 3.4rem;
  font-weight: 900;
  color: #ea72a7;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* ── テキストボディ ──
   ポイント：
   - 4辺すべてに border を指定
   - border-radius: 16px（4隅すべて丸）
   - padding-top: 48px（バッジ半径40px + 余白8px）
   - background: white（バッジ下半分の下borderを視覚的に隠す）
   - z-index: 3（バッジより後ろ、写真より前）
   - feat-badge-circle の margin-bottom:-40px で
     バッジの下半分がこのbody内部に潜り込み
     body の白背景がバッジの下borderを覆う
*/
.feat-body {
  width: 100%;
  background: #ffffff;
  border: 2px solid #0068b6;          /* 4辺すべてborder */
  border-radius: 16px;                /* 4隅すべて丸 */
  padding: 48px 22px 26px;            /* 上はバッジ半径+余白 */
  display: flex !important;
  flex-direction: column !important;
  text-align: center;
  box-sizing: border-box;
  position: relative;
  z-index: 3;                         /* バッジより後ろに重なる */
}

/* ── 見出し ── */
.feat-title {
  font-size: 2.3rem !important;
  font-weight: 700 !important;
  color: #0068b6 !important;
  line-height: 1.5 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.03em;
  text-align: center;
}

/* ── 本文 ── */
.feat-text {
  font-size: 1.5rem;
  line-height: 1.85;
  flex: 1;
  margin: 0 0 18px;
  text-align: left;
}

/* ── 詳しくはこちらボタン ── */
.feat-btn.topaccess18 {
  margin-top: auto;
  text-align: center;
}
.feat-btn.topaccess18 a {
  display: inline-block;
  text-align: center;
  width: 220px;
  border-radius: 100px;
  border: 2px solid #bcd7eb;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0.8rem 0;
  color: #47475b;
  transition: 0.3s;
}
.feat-btn.topaccess18 a:hover {
  opacity: 0.7;
}
.feat-btn.topaccess18 a span::before {
  content: "→";
  color: #0d6fb8;
  font-size: 1.8rem;
  display: inline-block;
  margin-right: 0.8rem;
  vertical-align: middle;
}

/* =====================================================
   SP レスポンシブ（Features カード v5）
   ===================================================== */
@media screen and (max-width: 750px) {

  .topfeature2.feat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 50px 14px !important;
    padding: 0 16px 20px !important;
  }

  .feat-photo {
    border-radius: 12px;
  }

  .feat-content-wrap {
    width: 86%;
    margin-top: -18px;
  }

  .feat-badge-circle {
    width: 64px;
    height: 64px;
    margin-bottom: -32px;
  }

  .feat-badge-num {
    font-size: 1.9rem;
  }

  .feat-badge-label {
    font-size: 0.85rem;
  }

  .feat-body {
    border-radius: 12px;
    padding: 40px 14px 18px;
  }

  .feat-title {
    font-size: 1.5rem !important;
    margin-bottom: 8px !important;
  }

  .feat-text {
    font-size: 1.3rem;
  }

  .feat-btn.topaccess18 a {
    width: 100%;
    font-size: 1.3rem;
  }

}

/* =====================================================
   2026-05-08 修正：Featuresカード 写真重なり・バッジ一体化
   ===================================================== */
.feat-content-wrap {
  position: relative !important;
  width: 80% !important;
  margin-top: -60px !important; /* feat-body の上端が feat-photo 下端から20px上に重なる位置 */
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.feat-badge-circle {
  width: 80px !important;
  height: 80px !important;
  border: none !important; /* 下半分のborderを出さないため、borderは擬似要素で上半分だけ描画 */
  border-radius: 50% !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 2px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 5 !important;
  margin-bottom: -40px !important; /* 円の下半分を feat-body に潜り込ませる */
  box-sizing: border-box !important;
}

.feat-badge-circle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  border: 2px solid #0068b6;
  border-bottom: none;
  border-radius: 80px 80px 0 0;
  box-sizing: border-box;
  pointer-events: none;
}

.feat-badge-label,
.feat-badge-num {
  position: relative;
  z-index: 1;
}

.feat-body {
  width: 100% !important;
  background: #ffffff !important;
  border: 2px solid #0068b6 !important;
  border-radius: 18px !important;
  padding: 37px 22px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: center !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 4 !important;
}

@media screen and (max-width: 750px) {
  .feat-content-wrap {
    width: 86% !important;
    margin-top: -50px !important; /* SP: feat-body上端を写真下端から約18px上に重ねる */
  }

  .feat-badge-circle {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: -32px !important;
  }

  .feat-badge-circle::before {
    border-radius: 64px 64px 0 0;
  }

  .feat-body {
    border-radius: 14px !important;
    padding: 42px 14px 18px !important;
  }
}



/* =============================
   Top Greeting Section
   ============================= */
@media screen and (min-width:751px) {
  .topgreeting__w {
    width: 100%;
    background: #fff;
    padding: 8rem 0 9rem;
  }

  .topgreeting1 {
    width: 100%;
    text-align: center;
    margin-bottom: 6rem;
  }

  .topgreeting1 h2 {
    font-size: 3rem;
    letter-spacing: .2rem;
    font-weight: 700;
    line-height: 1.3;
    color: #001f3f;
  }

  .topgreeting1 h2 span {
    color: #0d6fb8;
  }

  .topgreeting1 p {
    margin: .8rem 0 0;
    color: #0d6fb8;
    font-size: 1.5rem;
    font-family: "Murecho", YakuHanMP, "Noto Sans JP", sans-serif;
    letter-spacing: .2rem;
    line-height: 1;
  }

  .topgreeting2 {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .topgreeting3 {
    width: 420px;
    padding-top: 8rem;
  }

  .topgreeting4 {
    width: 370px;
    height: 490px;
    margin: 0 auto 2.5rem;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
  }

  .topgreeting4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .topgreeting5 {
    margin: 0;
    text-align: center;
    color: #001f3f;
    font-size: 2.3rem;
    font-weight: 500;
    letter-spacing: .08rem;
  }

  .topgreeting6 {
    width: 650px;
  }

  .topgreeting6 h3 {
  margin: 0 0 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #d7e4ef;
  color: #001f3f;
  font-size: 2.9rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: .35rem;
  }

  .topgreeting7 {
    color: #001f3f;
    font-size: 1.6rem;
    line-height: 2.2;
    letter-spacing: .06rem;
  }

  .topgreeting7 p {
    margin: 0 0 2.2rem;
  }

  .topgreeting7 p:last-child {
    margin-bottom: 0;
  }

  .topgreeting8 {
    width: 200px;
    margin-top: 5rem;
  }
}

@media screen and (max-width:750px) {
  .topgreeting__w {
    width: 100%;
    background: #fff;
    padding: 5rem 2rem 6rem;
  }

  .topgreeting1 {
    width: 100%;
    text-align: center;
    margin-bottom: 3.5rem;
  }

  .topgreeting1 h2 {
    font-size: 2.6rem;
    letter-spacing: .15rem;
    font-weight: 700;
    line-height: 1.3;
    color: #001f3f;
  }

  .topgreeting1 h2 span {
    color: #0d6fb8;
  }

  .topgreeting1 p {
    margin: .6rem 0 0;
    color: #0d6fb8;
    font-size: 1.3rem;
    letter-spacing: .15rem;
    line-height: 1;
  }

  .topgreeting2 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }

  .topgreeting3 {
    width: 100%;
    margin-bottom: 3rem;
  }

  .topgreeting4 {
    width: 78%;
    max-width: 320px;
    aspect-ratio: 3 / 4;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
  }

  .topgreeting4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .topgreeting5 {
    margin: 0;
    text-align: center;
    color: #001f3f;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .05rem;
  }

  .topgreeting6 {
    width: 100%;
  }

  .topgreeting6 h3 {
    margin: 0 0 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #d7e4ef;
    color: #001f3f;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: .15rem;
  }

  .topgreeting7 {
    color: #001f3f;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .03rem;
  }

  .topgreeting7 p {
    margin: 0 0 1.8rem;
  }

  .topgreeting7 p:last-child {
    margin-bottom: 0;
  }

  .topgreeting8 {
    width: 20rem;
    margin: 3rem auto 0;
  }
}

/* =====================================================
   Global navigation adjustment
   PC: prevent wrapping / left-align dropdown
   SP: one-column accordion menu
   Added: 2026-05-08
   ===================================================== */

@media screen and (min-width: 751px) {
  #fixnav .navul {
    width: 1040px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 1.1rem;
  }

  #fixnav .navulli1,
  #fixnav .navulli2,
  #fixnav .has-child {
    width: auto !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  #fixnav .navulli1 > a,
  #fixnav .has-child > a {
    white-space: nowrap !important;
    font-size: 1.35rem !important;
    letter-spacing: 0 !important;
    padding: 2rem .15rem !important;
    line-height: 1.4;
  }

  #fixnav.HeightMin .navulli1 > a,
  #fixnav.HeightMin .has-child > a {
    font-size: 1.3rem !important;
  }

  #fixnav .navulli1 > a span,
  #fixnav .has-child > a span {
    white-space: nowrap !important;
  }

  #fixnav .navulli1.has-child .nav-dropdown {
    left: 0 !important;
    transform: translateY(-8px) !important;
    text-align: left !important;
    min-width: 22rem !important;
  }

  #fixnav .navulli1.has-child.is-hover .nav-dropdown {
    transform: translateY(0) !important;
  }

  #fixnav .nav-dropdown::before {
    left: 2.4rem !important;
    transform: none !important;
  }

  #fixnav .nav-dropdown::after {
    left: 0 !important;
    top: -32px !important;
    width: 100% !important;
    height: 32px !important;
  }

  #fixnav .nav-dropdown li,
  #fixnav .nav-dropdown li a,
  #fixnav .nav-dropdown li a span {
    text-align: left !important;
    white-space: nowrap !important;
  }

  #fixnav .nav-dropdown li a {
    display: block !important;
    width: 100% !important;
    font-size: 1.35rem !important;
    line-height: 1.5 !important;
    padding: .9rem 1.8rem !important;
    color: #47475b !important;
    text-shadow: none !important;
    background: transparent !important;
  }
}

@media screen and (max-width: 750px) {
  #g-nav {
    background: #fff !important;
    color: #001f3f;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #g-nav.panelactive {
    display: block !important;
    z-index: 999;
  }

  #g-nav.panelactive .navul {
    width: calc(100% - 6rem) !important;
    max-width: 43rem;
    display: block !important;
    margin: 7.5rem auto 5rem !important;
    padding: 0 !important;
  }

  #g-nav .navulli1,
  #g-nav .navulli2,
  #g-nav .has-child {
    width: 100% !important;
    margin: 0 0 1.3rem !important;
    text-align: left !important;
    list-style: none !important;
  }

  #g-nav .navulli1 > a,
  #g-nav .has-child > a,
  #g-nav .nav-dropdown li a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #001f3f !important;
    text-shadow: none !important;
    text-align: left !important;
    letter-spacing: .02rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
  }

  #g-nav .navulli1 > a,
  #g-nav .has-child > a {
    position: relative !important;
    padding: .35rem 3.2rem .35rem 0 !important;
    font-size: 1.6rem !important;
  }

  #g-nav .navulli1 > a span,
  #g-nav .has-child > a span {
    display: inline-block !important;
    padding-left: 0 !important;
  }

  #g-nav .navulli1 > a span::before,
  #g-nav .has-child > a span::before,
  #g-nav .nav-dropdown li a span::before {
    display: none !important;
    content: none !important;
  }

  #g-nav .navulli1.has-child > a::after {
    content: "" !important;
    position: absolute;
    top: 50%;
    right: .2rem;
    width: .9rem;
    height: .9rem;
    border-right: 2px solid #0068b6;
    border-bottom: 2px solid #0068b6;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .25s ease;
  }

  #g-nav .navulli1.has-child.sp-open > a::after {
    transform: translateY(-35%) rotate(225deg);
  }

  #g-nav .nav-dropdown {
    display: none;
    margin: .65rem 0 0 !important;
    padding: 0 0 0 1.4rem !important;
    background: transparent !important;
    border-radius: 0 !important;
    list-style: none !important;
  }

  #g-nav .nav-dropdown li {
    width: 100% !important;
    margin: 0 0 .9rem !important;
    list-style: none !important;
  }

  #g-nav .nav-dropdown li a {
    padding: 0 !important;
    font-size: 1.45rem !important;
    border: 0 !important;
  }

  #g-nav .nav-timetable {
    margin-top: 2rem !important;
  }

  #g-nav .nav-timetable .timetable-tbl {
    font-size: 1.4rem;
  }

  #g-nav .nav-timetable .timetable-note {
    font-size: 1.4rem;
  }

  .openbtn.active span {
    background-color: #0068b6 !important;
  }
}

/* Features height adjustment */
@media screen and (min-width: 751px) {
  .topfeature2.feat-grid {
    align-items: stretch !important;
  }

  .feat-card {
    height: 100% !important;
  }

  .feat-content-wrap {
    flex: 1 1 auto !important;
  }

  .feat-body {
    height: 100% !important;
    min-height: 32rem !important;
  }
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 5rem 0 !important;
  }

  .feat-card {
    height: 100% !important;
  }

  .feat-content-wrap {
    flex: 1 1 auto !important;
  }

  .feat-body {
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* footer renewal */
@media screen and (min-width: 751px) {
footer {
width: 100%;
background: #f8fcff;
padding: 8rem 0 0;
}

.footer__w {
width: 1200px;
max-width: calc(100% - 8rem);
display: grid;
grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
gap: 6rem;
margin: 0 auto;
padding: 0 0 6rem;
background: transparent;
border-radius: 0;
align-items: start;
}

.footer1,
.footer11 {
width: 100%;
}

.footer2 {
width: 100%;
margin: 0 0 2.6rem;
text-align: left;
}

.footer2 img {
width: 330px;
max-width: 100%;
}

.footer5 {
width: 100%;
margin: 0 0 2.8rem;
padding: 0;
border-bottom: 0;
}

.footer5 a {
display: inline-flex;
align-items: center;
gap: .8rem;
font-size: 3rem;
font-weight: 500;
font-family: "Murecho";
line-height: 1.3;
letter-spacing: .05rem;
color: #2f2c24;
}

.footer5 a::before {
content: "";
width: 2.2rem;
height: 2.2rem;
display: inline-block;
margin: 0;
background: url("../images/ic_tel.svg") no-repeat center / contain;
}

.footer5 a:hover {
opacity: .72;
background: transparent;
}

.footer12 {
  width: 100%;
  /* margin: 0 0 2.4rem; */
  /* padding: 2.2rem 2.4rem; */
  /* background: #ffffff; */
  border-radius: 8px;
}

.footer12 .timetable-tbl {
width: 100%;
font-size: 1.32rem;
}

.footer12 .timetable-tbl thead th {
  background: #247fc2;
  border-color: #9ab9cf;
}

.footer12 .timetable-tbl thead th:first-child {
background: #247fc2;
}

.footer12 .timetable-tbl tbody th {
background: #fff;
border-color: #d7e8f5;
}

.footer12 .timetable-tbl tbody td {
border-color: #d7e8f5;
color: #0068b6;
}

.footer12 .timetable-tbl tbody td.closed {
color: #9ba8b2;
}

.footer12 .timetable-note {
font-size: 1.6rem;
}

.footer12 .timetable-note--kyushin {
color: #F14D4D;
}

.footer13 {
width: 100%;
margin: 0 0 2.4rem;
padding: 0;
font-size: 1.6rem;
font-weight: 500;
text-align: left;
}

.footer4 {
width: 100%;
margin: 0 0 1.8rem;
font-size: 1.6rem;
font-weight: 500;
line-height: 1.8;
color: #2f3a4a;
}

.footer-note {
width: 100%;
margin: 0 0 1.6rem;
padding: 1.8rem 2rem;
background: #f2f8fd;
border-left: 4px solid #0068b6;
border-radius: 8px;
}

.footer-note__title {
margin-bottom: .8rem;
color: #0068b6;
font-size: 1.6rem;
font-weight: 700;
line-height: 1.5;
}

.footer-note p {
margin: 0;
font-size: 1.45rem;
line-height: 1.85;
}

.footer-access {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.4rem;
margin: 0 0 2.4rem;
}

.footer-access__item {
padding: 1.8rem;
border: 1px solid #d7e8f5;
border-radius: 8px;
background: #fff;
}

.footer-access__label {
position: relative;
margin-bottom: .8rem;
padding-left: 1.6rem;
color: #0068b6;
font-size: 1.6rem;
font-weight: 700;
line-height: 1.5;
}

.footer-access__label::before {
content: "";
position: absolute;
top: .65em;
left: 0;
width: .7rem;
height: .7rem;
border-radius: 50%;
background: #0068b6;
}

.footer-access p {
margin: 0;
font-size: 1.6rem;
line-height: 1.85;
}

.footer3 {
width: 100%;
margin: 0;
font-size: 1.6rem;
font-weight: 700;
}

.footer3 a {
display: inline-block;
min-width: 220px;
padding: .8rem 3rem;
background: #0068b6;
text-align: center;
color: #fff;
border-radius: 100px;
}

.footer11 {
padding-top: .6rem;
display: block;
}

.footer11 iframe {
width: 100%;
height: 360px;
display: block;
border: 1px solid #d7e8f5;
border-radius: 8px;
}

.footer6 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.4rem 5.2rem;
margin: 0;
padding: 3.4rem max(4rem, calc((100% - 1200px) / 2)) 2.4rem;
background: #0068b6;
line-height: 1.7;
}

.footer7,
.footer7b {
width: auto;
display: block;
padding-left: 0;
margin: 0;
}

.footer7 a,
.footer7b a {
display: inline-block;
margin: 0;
padding: 0;
border: 0;
color: #fff;
font-size: 1.45rem;
font-weight: 500;
line-height: 1.7;
}

.footer7 a span {
padding-left: 1.4rem;
}

.footer7 a span::before {
content: "›";
top: 0;
left: 0;
font-size: 1.8rem;
line-height: 1;
transform: none;
color: #fff;
}

.copyright {
margin: 0;
padding: 0 max(4rem, calc((100% - 1200px) / 2)) 3.2rem;
background: #0068b6;
color: #fff;
font-size: 1.2rem;
text-align: right;
}
}

@media screen and (max-width: 750px) {
footer {
width: 100%;
background: #f8fcff;
padding: 4.5rem 0 0;
}

.footer__w {
width: calc(100% - 4rem);
display: block;
margin: 0 auto;
padding: 0 0 3.5rem;
background: transparent;
border-radius: 0;
}

.footer1,
.footer11 {
width: 100%;
}

.footer2 {
width: 100%;
margin: 0 0 2rem;
text-align: center;
}

.footer2 img {
width: min(78%, 30rem);
}

.footer5 {
width: 100%;
margin: 0 0 2.4rem;
padding: 0;
border-bottom: 0;
text-align: center;
}

.footer5 a {
display: inline-flex;
align-items: center;
gap: .7rem;
font-size: 2.6rem;
font-weight: 500;
font-family: "Murecho";
line-height: 1.3;
letter-spacing: .03rem;
color: #2f2c24;
}

.footer5 a::before {
content: "";
width: 2rem;
height: 2rem;
display: inline-block;
margin: 0;
background: url("../images/ic_tel.svg") no-repeat center / contain;
}

.footer12 {
width: 100%;
margin: 0 0 2rem;
background: #f4f8fb;
border-radius: 8px;
}

.footer12 .timetable-tbl {
width: 100%;
font-size: 1.12rem;
min-width: 0;
}

.footer12 .timetable-tbl thead th {
background: #0068b6;
border-color: #247fc2;
padding: .7rem .35rem;
}

.footer12 .timetable-tbl thead th:first-child {
background: #247fc2;
}

.footer12 .timetable-tbl tbody th {
background: #fff;
border-color: #d7e8f5;
font-size: 1.5rem;
padding: .75rem .4rem;
}

.footer12 .timetable-tbl tbody td {
border-color: #d7e8f5;
color: #0068b6;
font-size: 1.5rem;
padding: .75rem .25rem;
}

.footer12 .timetable-tbl tbody td.closed {
color: #9ba8b2;
}

.footer12 .timetable-note {
font-size: 1.5rem;
}

.footer12 .timetable-note--kyushin {
color: #F14D4D;
}

.footer13 {
width: 100%;
margin: 0 0 2.2rem;
padding: 0;
color: #47475b;
font-size: 1.35rem;
font-weight: 500;
text-align: left;
}

.footer4 {
width: 100%;
margin: 0 0 1.6rem;
font-size: 1.45rem;
font-weight: 500;
line-height: 1.8;
color: #2f3a4a;
}

.footer-note {
width: 100%;
margin: 0 0 1.4rem;
padding: 1.5rem 1.6rem;
background: #f2f8fd;
border-left: 4px solid #0068b6;
border-radius: 8px;
}

.footer-note__title {
margin-bottom: .7rem;
color: #0068b6;
font-size: 1.45rem;
font-weight: 700;
line-height: 1.5;
}

.footer-note p {
margin: 0;
font-size: 1.35rem;
line-height: 1.85;
}

.footer-access {
display: grid;
grid-template-columns: 1fr;
gap: 1.2rem;
margin: 0 0 2.2rem;
}

.footer-access__item {
padding: 1.5rem;
border: 1px solid #d7e8f5;
border-radius: 8px;
background: #fff;
}

.footer-access__label {
position: relative;
margin-bottom: .7rem;
padding-left: 1.5rem;
color: #0068b6;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.5;
}

.footer-access__label::before {
content: "";
position: absolute;
top: .65em;
left: 0;
width: .65rem;
height: .65rem;
border-radius: 50%;
background: #0068b6;
}

.footer-access p {
margin: 0;
font-size: 1.5rem;
line-height: 1.85;
}

.footer3 {
width: 100%;
margin: 0 0 2.8rem;
font-size: 1.5rem;
font-weight: 700;
text-align: center;
}

.footer3 a {
display: inline-block;
width: min(100%, 24rem);
padding: .9rem 2rem;
background: #0068b6;
text-align: center;
color: #fff;
border-radius: 100px;
}

.footer11 {
display: block;
padding-top: 0;
}

.footer11 iframe {
width: 100%;
height: 34rem;
display: block;
border: 1px solid #d7e8f5;
border-radius: 8px;
}

.footer6 {
width: 100%;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.2rem 2rem;
margin: 0;
padding: 3rem 2rem 2.2rem;
background: #0068b6;
line-height: 1.7;
}

.footer7,
.footer7b {
width: auto;
display: block;
padding-left: 0;
margin: 0;
}

.footer7 a,
.footer7b a {
display: inline-block;
margin: 0;
padding: 0;
border: 0;
color: #fff;
font-size: 1.3rem;
font-weight: 500;
line-height: 1.7;
}

.footer7 a span {
padding-left: 1.3rem;
}

.footer7 a span::before {
content: "›";
top: 0;
left: 0;
font-size: 1.7rem;
line-height: 1;
transform: none;
color: #fff;
}

.footer7b {
grid-column: 1 / -1;
}

.copyright {
margin: 0;
padding: 0 2rem 8.5rem;
background: #0068b6;
color: #fff;
font-size: 1.2rem;
text-align: center;
}
}

/* requested refinements */
@media screen and (min-width: 751px) {
  .topgreeting1 {
    width: 100%;
    text-align: center;
    margin-bottom: 6rem;
  }

  .topgreeting1 h2 {
    font-size: 3rem;
    letter-spacing: .2rem;
    font-weight: 700;
    line-height: 1.3;
    color: #001f3f;
  }

  .topgreeting1 h2 span {
    color: #0068b6;
  }

  .topgreeting1 h2 span::after {
    content: "GREETING";
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    color: #FDA4CC;
    font-family: "Open Sans", sans-serif;
    letter-spacing: 0.2rem;
    margin-top: .4rem;
  }
}

@media screen and (max-width: 750px) {
  .topgreeting1 {
    width: 100%;
    text-align: center;
    margin-bottom: 4rem;
  }

  .topgreeting1 h2 {
    font-size: 2.3rem;
    letter-spacing: .2rem;
    font-weight: 700;
    line-height: 1.3;
    color: #47475b;
  }

  .topgreeting1 h2 span {
    color: #0068b6;
  }

  .topgreeting1 h2 span::after {
    content: "GREETING";
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 300;
    color: #3175bb;
    font-family: "Murecho";
    letter-spacing: 0.2rem;
    margin-top: .4rem;
  }

  .topfeature2.feat-grid {
    grid-template-columns: 1fr !important;
    gap: 5rem 0 !important;
  }

  .spfooternav__w {
    width: 100%;
    height: 6.8rem;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: #0068b6;
    box-shadow: 0 -.2rem 1rem rgba(0, 0, 0, .08);
  }

  .spfooternav__item,
  .spfooternav__item a {
    min-width: 0;
    height: 100%;
  }

  .spfooternav__item a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    width: 100%;
    text-align: center;
    letter-spacing: 0;
    line-height: 1;
  }

  .spfooternav__item--monshin {
    background: #0068b6;
  }

  .spfooternav__item--line {
    background: #47ca48;
  }

  .spfooternav__item--reserve {
    background: #fff;
    border: .2rem solid #0068b6;
  }

  .spfooternav__icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    overflow: hidden;
  }

  .spfooternav__item--monshin .spfooternav__icon,
  .spfooternav__item--line .spfooternav__icon {

  }

  .spfooternav__item--reserve .spfooternav__icon {
  }

  .spfooternav__icon img {
    display: block;
    width: 2rem;
    height: 2rem;
    object-fit: contain;
  }

  .spfooternav__item--line .spfooternav__icon img {
    width: 2.3rem;
    height: 2.3rem;
  }

  .spfooternav__item--reserve .spfooternav__icon img {
  }

  .spfooternav__label {
    display: block;
    white-space: nowrap;
    font-size: clamp(1.8rem, 5.4vw, 2.7rem);
    font-weight: 500;
    letter-spacing: 0;
  }

  .spfooternav__item--monshin .spfooternav__label,
  .spfooternav__item--line .spfooternav__label {
    color: #fff;
  }

  .spfooternav__item--reserve .spfooternav__label {
    color: #2a70ba;
    font-size: clamp(1.55rem, 4.4vw, 2.2rem);
  }
}

/* pc fixed nav */
.pcfixednav__w {
  display: none;
}

@media screen and (min-width: 751px) {
  .pcfixednav__w.pc {
    width: 12.48rem;
    display: flex !important;
    flex-direction: column;
    gap: .8rem;
    position: fixed;
    top: 44%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1000;
  }

  .pcfixednav__item {
    min-width: 0;
    border-radius: .96rem 0 0 .96rem;
    overflow: hidden;
    box-shadow: 0 .4rem 1.8rem rgba(0, 0, 0, .16);
  }

  .pcfixednav__item a {
    min-height: 10.56rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .72rem;
    padding: 1.2rem .72rem 1.08rem;
    text-align: center;
    line-height: 1.15;
    letter-spacing: 0;
    border-radius: .96rem 0 0 .96rem;
  }

  .pcfixednav__item--monshin a {
    color: #fff;
    background: #0068b6;
  }

  .pcfixednav__item--reserve a {
    color: #2a70ba;
    background: #fff;
    box-shadow: inset 0 0 0 .2rem #0068b6;
  }

  .pcfixednav__item--line a {
    color: #fff;
    background: #47ca48;
  }

  .pcfixednav__icon {
    width: 4.08rem;
    height: 4.08rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
  }

  .pcfixednav__icon img {
    display: block;
    width: 3.12rem;
    height: 3.12rem;
    object-fit: contain;
  }

  .pcfixednav__item--line .pcfixednav__icon img {
    width: 3.6rem;
    height: 3.6rem;
  }

  .pcfixednav__label {
    display: block;
    white-space: nowrap;
    font-size: 1.68rem;
    font-weight: 700;
  }
}

/* main visual renewal */
@media screen and (min-width: 751px) {
  .mv {
    width: 100%;
    height: 100vh;
    min-height: 72rem;
    background: url("../images/mainimage1-pc.jpg") no-repeat center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
  }

  .mv::after {
    content: "";
    position: absolute;
    left: -8%;
    bottom: -13rem;
    width: 116%;
    height: 24rem;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    z-index: 1;
    pointer-events: none;
  }

  .mv-scroll {
    position: relative;
    z-index: 3;
  }

  .mv-txt {
    position: absolute;
    left: max(7rem, calc((100% - 1200px) / 2));
    bottom: 17vh;
    z-index: 2;
    width: min(52rem, 42vw);
    text-align: left;
  }

  .mv-txt > img {
    display: none;
  }

  .mv-copy {
    display: block;
    color: #fff;
  }

  .mv-copy__en {
    margin: 0 0 -1.5rem -1.2rem;
    color: rgba(255, 255, 255, .72);
    font-family: "Great Vibes", cursive;
    font-size: clamp(10rem, 11vw, 16rem);
    line-height: .82;
    letter-spacing: 0;
    text-shadow: 0 .3rem 1.2rem rgba(0, 55, 110, .26);
  }

  .mv-copy__line {
    margin: 0;
    color: #fff;
    font-size: clamp(2.6rem, 2.35vw, 3.7rem);
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .04rem;
    text-shadow:
      0 .3rem 1.2rem rgba(0, 45, 90, .45),
      .1rem .1rem 0 rgba(80, 120, 150, .45);
  }

  .mv-copy__line + .mv-copy__line {
    margin-top: .4rem;
    padding-top: 0;
    border-top: 0;
  }

  .mv-copy__line span {
    color: #fff;
    font-size: 1.14em;
  }
}

@media screen and (max-width: 750px) {
  .mv {
    width: 100%;
    min-height: 72rem;
    height: 92vh;
    background: url("../images/mainimage1-sp.jpg") no-repeat center top;
    background-size: cover;
    position: relative;
    overflow: hidden;
  }

  .mv::after {
    content: "";
    position: absolute;
    left: -18%;
    right: auto;
    bottom: -7rem;
    width: 136%;
    height: 15rem;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    z-index: 1;
    pointer-events: none;
  }

  .mv-scroll {
    position: relative;
    z-index: 3;
  }

  .mv-txt {
    top: auto;
    left: 0;
    right: 0;
    bottom: 18.5rem;
    transform: none;
    width: 100%;
    padding: 0 2rem;
    text-align: left;
    z-index: 2;
  }

  .mv-txt > img {
    display: none;
  }

  .mv-copy {
    display: block;
    max-width: 42rem;
    margin: 0 auto 0 0;
    padding: 0;
    color: #fff;
  }

  .mv-copy__en {
    margin: 0 0 -1.2rem -1.6rem;
    color: rgba(255, 255, 255, .78);
    font-family: "Great Vibes", cursive;
    font-size: clamp(7rem, 22vw, 10rem);
    line-height: .82;
    letter-spacing: 0;
    text-shadow: 0 .2rem .8rem rgba(0, 55, 110, .28);
  }

  .mv-copy__line {
    margin: 0;
    color: #fff;
    font-size: clamp(1.95rem, 5.6vw, 2.7rem);
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .03rem;
    text-shadow:
      0 .2rem .8rem rgba(0, 45, 90, .42),
      .1rem .1rem 0 rgba(80, 120, 150, .45);
  }

  .mv-copy__line + .mv-copy__line {
    margin-top: .35rem;
    padding-top: 0;
    border-top: 0;
  }

  .mv-copy__line span {
    color: #fff;
    font-size: 1.16em;
  }
}

/* =====================================================
   Display fixes: 2026-05-14
   ===================================================== */

@media screen and (min-width: 751px) {
  #fixnav .navulli1,
  #fixnav .has-child {
    padding: 2rem 0 !important;
  }

  #fixnav .navulli1 > a,
  #fixnav .has-child > a {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
    font-size: 1.5rem !important;
    line-height: 1.4;
    cursor: default !important;
    pointer-events: none;
  }

  #fixnav .navulli1 > a span,
  #fixnav .has-child > a span {
    display: inline-block !important;
    cursor: pointer !important;
    pointer-events: auto;
  }

  #fixnav.HeightMin .navulli1 > a,
  #fixnav.HeightMin .has-child > a {
    font-size: 1.5rem !important;
  }

  #fixnav .navulli1.has-child .nav-dropdown {
    top: 100% !important;
  }

  #fixnav .nav-dropdown::after {
    top: -6px !important;
    height: 6px !important;
    pointer-events: none !important;
  }

  #fixnav .nav-dropdown::before {
    pointer-events: none !important;
  }

  #fixnav .nav-dropdown li a span::before {
    color: #2369b8 !important;
  }
}

.mv::after {
  background: #f7f8fa !important;
}

.subj-overlay-inner {
  position: absolute;
}

.subj-arrow {
  position: absolute !important;
  right: 18px;
  bottom: 18px;
  background: #e271a8 !important;
}

.subj-banner:hover .subj-arrow {
  background: #e271a8 !important;
}

.subj-arrow svg path {
  stroke: #fff !important;
}

.feat-badge-circle::before {
  width: 100% !important;
  height: 100% !important;
  border: 2px solid #0068b6 !important;
  border-radius: 50% !important;
  border-bottom: 2px solid #0068b6 !important;
  clip-path: inset(0 0 50% 0);
}

.topgreeting8.topaccess18 {
  width: 280px !important;
  margin: 5rem auto 0 !important;
  text-align: center !important;
}

@media screen and (max-width: 750px) {
  #g-nav,
  #g-nav.panelactive,
  #g-nav.panelactive #g-nav-list {
    z-index: 10000 !important;
  }

  .openbtn {
    z-index: 10001 !important;
  }

  .subj-arrow {
    right: 12px;
    bottom: 12px;
  }

  .topgreeting8.topaccess18 {
    width: 20rem !important;
    margin: 3rem auto 0 !important;
  }
}

/* =====================================================
   Footer layout fixes: 2026-05-14
   ===================================================== */

@media screen and (min-width: 751px) {
  .footer__w {
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  .footer1 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .footer11 {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    padding-top: 0 !important;
    height: 100% !important;
  }

  .footer12 {

    flex: 0 0 auto !important;
  }

  .footer11 iframe {
    order: 2;
    flex: 1 1 auto !important;
    min-height: 34rem !important;
    height: auto !important;
    margin-bottom: 0 !important;
  }

  .footer-note {
    order: initial;
  }

  .footer-access {
    order: initial;
  }

  .footer6 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2.2rem 7rem !important;
    justify-content: center !important;
    align-items: start !important;
    padding: 4.8rem max(4rem, calc((100% - 1200px) / 2)) 4.4rem !important;
  }
}

.footer-note {
  padding: 2rem !important;
  background: #fff !important;
  border: 2px solid #62bb46 !important;
  border-radius: 0 !important;
}

.footer-note__title {
  display: inline-block !important;
  margin: 0 0 1.6rem !important;
  padding: .7rem 1.2rem !important;
  background: #62bb46 !important;
  color: #fff !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.footer-note p {
  margin: 0 !important;
  color: #343a40 !important;
 font-weight: 500 !important;
  line-height: 2 !important;
}

.footer-access {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  margin: 0 0 2.4rem !important;
}

.footer-access__item {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.footer-access__label {
  margin-bottom: .7rem !important;
}

.timetable-tbl {
  font-size: 14px !important;
}

.timetable-tbl tbody td {
  background: #fff !important;
}

.footer12 .timetable-tbl {
  font-size: 14px !important;
}

.footer12 .timetable-tbl tbody td {
  background: #fff !important;
}

.footer6 {
  background: #ebf5ff !important;
}

.footer-nav__col {
  min-width: 0;
}

.footer7,
.footer7b {
  margin: 0 0 1.25rem !important;
}

.footer7 a,
.footer7b a {
  color: #1f2530 !important;
  text-shadow: none !important;
}

.footer7 a span {
  padding-left: 0 !important;
}

.footer7 a span::before,
.footer7b a span::before {
  display: none !important;
  content: none !important;
}

.footer7--primary a {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

.footer7--child a {
  font-size: 1.45rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

.footer7--primary + .footer7--child {
  margin-top: .35rem !important;
}

.copyright {
  background: #ebf5ff !important;
  color: #596170 !important;
}

@media screen and (max-width: 750px) {
  .footer11 {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.6rem !important;
  }

  .footer12 {
  }

  .footer-note {
    padding: 1.8rem 1.6rem !important;
  }

  .footer-note__title {
    font-size: 1.55rem !important;
    padding: .55rem 1.2rem !important;
  }

  .footer-note p {
    font-size: 1.35rem !important;
    line-height: 1.85 !important;
  }

  .footer-access {
    grid-template-columns: 1fr !important;
    gap: 1.6rem !important;
  }

  .footer6 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.6rem 2.2rem !important;
    padding: 3.2rem 2.4rem 2.8rem !important;
  }

  .footer7,
  .footer7b {
    margin-bottom: .9rem !important;
  }

  .footer7--primary a {
    font-size: 1.35rem !important;
  }

  .footer7--child a {
    font-size: 1.25rem !important;
  }
}

/* =====================================================
   Info section and subject banner fixes: 2026-05-14
   ===================================================== */

@media screen and (min-width: 751px) {
  .info-section-inner {
    display: flex !important;
    align-items: stretch !important;
  }

  .info-left,
  .info-right {
    flex: 1 1 0 !important;
    width: 50% !important;
    max-width: 50% !important;
  }
}

.konzatsu-tbl {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

.konzatsu-tbl th,
.konzatsu-tbl td,
.konzatsu-tbl thead th,
.konzatsu-tbl tbody td {
  border: 1px solid #d0d9ec !important;
}

.konzatsu-tbl tbody td.kz-time {
  text-align: center !important;
  white-space: nowrap !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  border: 1px solid #d0d9ec !important;
}

.kz-row-gap td {
  border-top: 1px solid #d0d9ec !important;
}

@media screen and (max-width: 750px) {
  .topsubject2 {
    grid-template-columns: 1fr !important;
  }

  .topsubject2 .subj-banner,
  .topsubject2 .subj-banner:nth-child(4),
  .topsubject2 .subj-banner:nth-child(5) {
    grid-column: 1 / -1 !important;
  }
}

/* =====================================================
   Navigation and mobile heading refinements: 2026-05-14
   ===================================================== */

@media screen and (min-width: 751px) {
  #fixnav .navul {
    width: 1160px !important;
    gap: 1.8rem !important;
  }

  #fixnav .navulli1.has-child {
    margin-left: .35rem !important;
    margin-right: .35rem !important;
  }
}

@media screen and (max-width: 750px) {
  .info-box-title {
    justify-content: center !important;
    text-align: center !important;
  }

  .info-box-title h2 {
    width: 100% !important;
    text-align: center !important;
  }

  .topsubject1 h2,
  .topfeature1 h2,
  .topgreeting1 h2 {
    font-size: 2.6rem !important;
    letter-spacing: .2rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  .topsubject1 h2 {
    color: #0068b6 !important;
  }

  .topsubject1 h2 span::after {
    content: "MEDICAL" !important;
    display: block !important;
    width: 100% !important;
    margin-top: .6rem !important;
    color: #ea72a7 !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: .2rem !important;
    text-align: center !important;
  }

  .topfeature1 h2 {
    color: #f0f8ff !important;
  }

  .topfeature1 h2 span {
    color: #f0f8ff !important;
  }

  .topfeature1 h2 span::after {
    content: "FEATURE" !important;
    display: block !important;
    width: 100% !important;
    margin-top: .6rem !important;
    color: #fda4cc !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: .2rem !important;
    text-align: center !important;
  }

  .topgreeting1 h2 {
    color: #001f3f !important;
  }

  .topgreeting1 h2 span {
    color: #0068b6 !important;
  }

  .topgreeting1 h2 span::after {
    content: "GREETING" !important;
    display: block !important;
    width: 100% !important;
    margin-top: .6rem !important;
    color: #fda4cc !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: .2rem !important;
    text-align: center !important;
  }

  .subj-overlay-inner {
    justify-content: center !important;
    align-items: center !important;
    padding: 2rem 2rem 6.8rem !important;
  }

  .subj-text {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .subj-ja {
    font-size: 2.5rem !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
  }

  .subj-en {
    margin-top: .45rem !important;
    font-size: 1.25rem !important;
    letter-spacing: .18em !important;
  }

  .subj-arrow {
    left: 50% !important;
    right: auto !important;
    bottom: 1.6rem !important;
    transform: translateX(-50%) !important;
  }

  .feat-title {
    font-size: 2.05rem !important;
    line-height: 1.5 !important;
  }

  .feat-badge-circle {
    width: 128px !important;
    height: 128px !important;
    margin-bottom: -64px !important;
  }

  .feat-badge-circle::before {
    border-radius: 50% !important;
  }

  .feat-badge-label {
    font-size: 1.35rem !important;
  }

  .feat-badge-num {
    font-size: 4rem !important;
  }

  .feat-body {
    padding-top: 7.2rem !important;
  }
}

/* =====================================================
   Subject supplemental banners and title centering: 2026-05-15
   ===================================================== */

.topsubject-banner-list {
  width: 100%;
  max-width: 1200px;
  margin: 3.2rem auto 0;
  padding: 0 30px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  box-sizing: border-box;
}

.topsubject-banner {
  display: grid;
  grid-template-columns: minmax(0, 68%) minmax(0, 32%);
  min-height: 15rem;
  overflow: hidden;
  background: #f8fcff;
  border-radius: 8px;
  border: 1px solid #2369b8;
  box-shadow: 0 .4rem 1.2rem rgba(0, 60, 120, .08);
  color: #2369b8;
  text-decoration: none;
  transition: opacity .25s ease, transform .25s ease;
}

.topsubject-banner:hover {
  opacity: .82;
  transform: translateY(-2px);
}

.topsubject-banner__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.6rem 2.8rem;
  border-right: 0;
}

.topsubject-banner__script {
  display: block;
  margin-bottom: 1.1rem;
  color: rgba(35, 105, 184, .55);
  font-family: "Great Vibes", cursive;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
}

.topsubject-banner__title {
  display: block;
  color: #2369b8;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .03em;
}

.topsubject-banner__photo {
  position: relative;
  display: block;
  min-width: 0;
  border: 5px solid rgb(255 255 255);
  border-left: 0;
  overflow: hidden;
  border-radius: 0 10px 10px 0;
}

.topsubject-banner__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.topsubject-banner__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/*20060731追加*/
/*----------------------------------------
提携スポーツジム
----------------------------------------*/

.topsubject-fitness{
    width:600px;
    margin:3rem auto 0;
}

.topsubject-fitness a{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:2rem 1.5rem;
    background:#fff;
    border:1px solid #e44f96;
    text-decoration:none;
    transition:.3s;
}

.topsubject-fitness a:hover{
    opacity:.9;
}

.topsubject-fitness-label{
    display:inline-block;
    padding:.55rem 1rem;
    background:#e44f96;
    color:#fff;
    font-size:1.6rem;
    font-weight:700;
    line-height:1.35;
}

.topsubject-fitness img{
    display:block;
    width:420px;
    max-width:100%;
    height:auto;
}


@media screen and (max-width: 750px) {
  .subj-overlay-inner {
    justify-content: center !important;
    align-items: center !important;
    padding: 0 1.6rem 6.8rem !important;
  }

  .subj-text {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .subj-ja {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
  }

  .subj-en {
    position: absolute !important;
    top: calc(50% + 2.2rem) !important;
    left: 50% !important;
    width: 100% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  .topsubject-banner-list {
    grid-template-columns: 1fr;
    gap: 1.4rem;
    margin-top: 2.4rem;
    padding: 0 16px;
  }

  .topsubject-banner {
    grid-template-columns: minmax(0, 62%) minmax(0, 38%);
    min-height: 16rem;
    border-radius: 6px;
  }

  .topsubject-banner__text {
    padding: 1.8rem 1.6rem;
  }

  .topsubject-banner__script {
    margin-bottom: .8rem;
    font-size: 2.5rem;
  }

  .topsubject-banner__title {
    font-size: 1.65rem;
    line-height: 1.55;
  }
}

/* =====================================================
   Header and detail button fixes: 2026-05-15
   ===================================================== */

@media screen and (min-width: 751px) {
  #fixnav .mv-scroll {
    width: min(1400px, calc(100% - 4rem)) !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6rem !important;
  }

  #fixnav .header2 {
    width: auto !important;
    flex: 0 0 300px !important;
    margin: 0 !important;
  }

  #fixnav .header2 h1 {
    padding-top: 0 !important;
    text-align: left !important;
  }

  #fixnav .header2 h1 a img {
    width: 300px !important;
    max-width: 300px !important;
    height: auto !important;
  }

  #g-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #fixnav .navul {
    width: 100% !important;
    max-width: none !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    gap: clamp(.3rem, .45vw, .7rem) !important;
  }

  #fixnav .navulli1,
  #fixnav .has-child {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  #fixnav .navulli1.has-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.topaccess18 a,
.feat-btn.topaccess18 a,
.topgreeting8.topaccess18 a,
.topfeature8 a {
  border: 1px solid #2369b8 !important;
}

/* =====================================================
   Page motion refinements: 2026-05-15
   ===================================================== */

.mv-copy__en {
  opacity: 0;
  transform: translateY(1.8rem);
}

.mv-copy.is-animated .mv-copy__en {
  animation: mvEnFadeIn 1.8s ease forwards;
}

.mv-copy__line .mv-copy-char {
  display: inline-block;
  opacity: 0;
  color: inherit;
  font-size: inherit;
  transform: translateY(1.2em);
  white-space: pre;
}

.mv-copy__line .mv-copy-char.is-space {
  min-width: .35em;
}

.mv-copy.is-animated .mv-copy-char {
  animation: mvCharFadeUp .98s cubic-bezier(.22, 1, .36, 1) forwards;
  animation-delay: var(--char-delay, 1.1s);
}

@keyframes mvEnFadeIn {
  from {
    opacity: 0;
    transform: translateY(1.8rem);
    filter: blur(.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes mvCharFadeUp {
  from {
    opacity: 0;
    transform: translateY(1.2em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.topfeature2.feat-grid .feat-card {
  opacity: 0;
  transform: translateY(5rem);
  transition:
    opacity 1.15s ease,
    transform 1.15s cubic-bezier(.22, 1, .36, 1);
}

.topfeature2.feat-grid.is-show .feat-card,
.topfeature2.feat-grid .feat-card.is-show {
  opacity: 1;
  transform: translateY(0);
}

.topfeature2.feat-grid.is-show .feat-card:nth-child(1) { transition-delay: .12s; }
.topfeature2.feat-grid.is-show .feat-card:nth-child(2) { transition-delay: .34s; }
.topfeature2.feat-grid.is-show .feat-card:nth-child(3) { transition-delay: .56s; }
.topfeature2.feat-grid.is-show .feat-card:nth-child(4) { transition-delay: .78s; }
.topfeature2.feat-grid.is-show .feat-card:nth-child(5) { transition-delay: 1s; }
.topfeature2.feat-grid.is-show .feat-card:nth-child(6) { transition-delay: 1.22s; }

@media (prefers-reduced-motion: reduce) {
  .mv-copy__en,
  .mv-copy__line .mv-copy-char,
  .topfeature2.feat-grid .feat-card {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
  }
}

/* =====================================================
   Mobile header and nav layering fixes: 2026-05-15
   ===================================================== */

@media screen and (max-width: 750px) {
  #fixnav .mv-scroll {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: .6rem 8rem .6rem 1.6rem !important;
  }

  #fixnav .header2 {
    width: min(30rem, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto 0 0 !important;
    flex: 0 1 30rem !important;
  }

  #fixnav .header2 h1 {
    width: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
    text-align: left !important;
  }

  #fixnav .header2 h1 a {
    display: block !important;
    width: 100% !important;
    max-width: 30rem !important;
  }

  #fixnav .header2 h1 a img {
    display: block !important;
    width: 100% !important;
    max-width: 30rem !important;
    height: auto !important;
  }

  #g-nav.panelactive {
    z-index: 10000 !important;
  }

  #g-nav.panelactive .navul {
    position: relative;
    z-index: 10000 !important;
  }

  .openbtn {
    z-index: 10001 !important;
  }

  body.is-sp-nav-open .spfooternav__w {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* =====================================================
   Feature card design update: 2026-05-19
   ===================================================== */

.topfeature2.feat-grid {
  gap: 7.2rem 3.2rem !important;
  padding-bottom: 4rem !important;
}

.topfeature2.feat-grid .feat-card {
  align-items: stretch !important;
  isolation: isolate;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.topfeature2.feat-grid .feat-photo {
  border-radius: 2.8rem !important;
  box-shadow: 0 1.2rem 3rem rgba(0, 72, 140, .12);
}

.topfeature2.feat-grid .feat-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, .28) 100%);
  pointer-events: none;
}

.topfeature2.feat-grid .feat-content-wrap {
  width: calc(100% - 4rem) !important;
  margin-top: -5.6rem !important;
  align-items: stretch !important;
}

.topfeature2.feat-grid .feat-badge-circle {
  width: 11.2rem !important;
  height: 11.2rem !important;
  margin: 0 auto -5.6rem !important;
  padding-top: .6rem !important;
  border: 2px solid #2369b8 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 .8rem 1.8rem rgba(0, 72, 140, .1);
}

.topfeature2.feat-grid .feat-badge-circle::before {
  content: none !important;
}

.topfeature2.feat-grid .feat-badge-label {
  color: #f58ab7 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 1.2rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
}

.topfeature2.feat-grid .feat-badge-num {
  color: #2369b8 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 4.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.topfeature2.feat-grid .feat-body {
  min-height: 34rem !important;
  padding: 7.6rem 2.6rem 3rem !important;
  border: 2px solid #2369b8 !important;
  border-radius: 2.4rem !important;
  background: #fff !important;
  box-shadow: 0 1rem 2.4rem rgba(0, 72, 140, .08);
}

.topfeature2.feat-grid .feat-title {
  color: #2369b8 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 2.35rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.topfeature2.feat-grid .feat-text {
  color: #33465c;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.52rem;
  font-weight: 500;
  letter-spacing: .02em;
}

.topfeature2.feat-grid .feat-btn.topaccess18 a {
  width: min(100%, 22rem) !important;
  background: #fff !important;
  border: 1px solid #2369b8 !important;
  color: #2369b8 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid {
    gap: 5.6rem 0 !important;
    padding: 0 1.8rem 2.4rem !important;
  }

  .topfeature2.feat-grid .feat-photo {
    border-radius: 2.2rem !important;
  }

  .topfeature2.feat-grid .feat-content-wrap {
    width: calc(100% - 3rem) !important;
    margin-top: -4.6rem !important;
  }

  .topfeature2.feat-grid .feat-badge-circle {
    width: 9.2rem !important;
    height: 9.2rem !important;
    margin-bottom: -4.6rem !important;
  }

  .topfeature2.feat-grid .feat-badge-label {
    font-size: 1rem !important;
  }

  .topfeature2.feat-grid .feat-badge-num {
    font-size: 3.4rem !important;
  }

  .topfeature2.feat-grid .feat-body {
    min-height: 0 !important;
    padding: 6.4rem 2rem 2.4rem !important;
    border-radius: 2rem !important;
  }

  .topfeature2.feat-grid .feat-title {
    font-size: 2.05rem !important;
  }

  .topfeature2.feat-grid .feat-text {
    font-size: 1.45rem;
  }
}

/* =====================================================
   Feature card correction: 2026-05-19
   ===================================================== */

.topfeature2.feat-grid {
  gap: 8rem 3.2rem !important;
}

.topfeature2.feat-grid .feat-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  position: relative !important;
}

.topfeature2.feat-grid .feat-photo {
  grid-column: 1 !important;
  grid-row: 1 !important;
  z-index: 3 !important;
}

.topfeature2.feat-grid .feat-content-wrap {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding-top: 37.5% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  position: relative !important;
  z-index: auto !important;
}

.topfeature2.feat-grid .feat-badge-circle {
  width: 11.2rem !important;
  height: 11.2rem !important;
  margin: -5.6rem auto -5.6rem !important;
  border: 0 !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 5 !important;
}

.topfeature2.feat-grid .feat-badge-circle::before {
  content: none !important;
}

.topfeature2.feat-grid .feat-badge-label,
.topfeature2.feat-grid .feat-badge-num {
  color: #f58ab7 !important;
}

.topfeature2.feat-grid .feat-body {
  width: calc(100% - 4rem) !important;
  min-height: 34rem !important;
  padding: calc(42% + 2.8rem) 2.6rem 3rem !important;
  border: 2px dotted #2369b8 !important;
  position: relative !important;
  z-index: 1 !important;
}

.topfeature2.feat-grid .feat-btn.topaccess18 a {
  border-color: #f58ab7 !important;
  color: #f58ab7 !important;
}

.topfeature2.feat-grid .feat-btn.topaccess18 a span,
.topfeature2.feat-grid .feat-btn.topaccess18 a span::before {
  color: #f58ab7 !important;
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid {
    gap: 6.4rem 0 !important;
  }

  .topfeature2.feat-grid .feat-content-wrap {
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 37.5% !important;
  }

  .topfeature2.feat-grid .feat-badge-circle {
    width: 8.8rem !important;
    height: 8.8rem !important;
    margin: -4.4rem auto -4.4rem !important;
  }

  .topfeature2.feat-grid .feat-body {
    width: calc(100% - 3rem) !important;
    min-height: 0 !important;
    padding: calc(42% + 2.2rem) 2rem 2.4rem !important;
  }
}

/* =====================================================
   Feature card size alignment: 2026-05-19
   ===================================================== */

.topfeature__w {
  background: #c1e5f5 !important;
}

.topfeature2.feat-grid .feat-card {
  height: 100% !important;
}

.topfeature2.feat-grid .feat-photo {
  width: calc(100% - 4rem) !important;
  justify-self: center !important;
}

.topfeature2.feat-grid .feat-body {
  width: 100% !important;
}

@media screen and (min-width: 751px) {
  .topfeature2.feat-grid {
    align-items: stretch !important;
  }

  .topfeature2.feat-grid .feat-content-wrap {
    height: 100% !important;
  }

  .topfeature2.feat-grid .feat-body {
    min-height: 52rem !important;
    height: 100% !important;
  }
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid .feat-photo {
    width: calc(100% - 3rem) !important;
  }

  .topfeature2.feat-grid .feat-body {
    width: 100% !important;
  }
}

/* =====================================================
   Requested refinements: 2026-05-19
   ===================================================== */

h2,
h2 span {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
}

.subj-overlay-inner {
  border: 0 !important;
}

.topfeature2.feat-grid .feat-body {
  padding: calc(33.333% + 3px) 2.6rem 20px !important;
}

@media screen and (min-width: 751px) {
  .topfeature2.feat-grid .feat-body {
    min-height: 43rem !important;
  }
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid .feat-body {
    padding: calc(33.333% + 3px) 2rem 20px !important;
  }
}

/* =====================================================
   MV/nav/banner refinements: 2026-05-19
   ===================================================== */

#g-nav,
#g-nav a,
#g-nav span,
#g-nav .nav-dropdown li a {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
}

.mv {
  background: none !important;
  overflow: hidden;
}

.mv::before,
.mv::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  pointer-events: none;
}

.mv::before {
  z-index: 0;
  background: url("../images/mainimage1-pc.jpg") no-repeat center center / cover !important;
}

.mv::after {
  z-index: 0;
  background: url("../images/mainimage2-pc.jpg") no-repeat center center / cover !important;
  opacity: 0;
  animation: mvBgFade 9s ease-in-out infinite alternate;
}

@keyframes mvBgFade {
  0%, 38% {
    opacity: 0;
  }
  62%, 100% {
    opacity: 1;
  }
}

.mv #fixnav,
.mv .mv-txt {
  position: relative;
  z-index: 1;
}

.mv-txt {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}

.topsubject-banner-list {
  gap: 1.8rem !important;
}

.topsubject-banner {
  min-height: 11.8rem !important;
  display: grid !important;
  grid-template-columns: 6.4rem minmax(0, 1fr) 4.4rem !important;
  align-items: center !important;
  gap: 1.8rem !important;
  padding: 2.1rem 2.2rem !important;
  overflow: hidden !important;
  border: 1px solid #9bd4ed !important;
  border-radius: 8px !important;
  background-color: #eefaff !important;
  background-image:
    radial-gradient(circle, rgba(61, 157, 204, .22) 1.2px, transparent 1.4px) !important;
  background-size: 13px 13px !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 90, 140, .08) !important;
  color: #2369b8 !important;
  transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease !important;
}

.topsubject-banner:hover {
  opacity: .9 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 .9rem 2rem rgba(0, 90, 140, .12) !important;
}

.topsubject-banner__icon {
  width: 6.4rem;
  height: 6.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #9bd4ed;
  color: #f58ab7;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}

.topsubject-banner__text {
  min-width: 0 !important;
  display: block !important;
  padding: 0 !important;
  border-right: 0 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
}

.topsubject-banner__script {
  margin: 0 0 .5rem !important;
  color: #68aad0 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: .03em !important;
}

.topsubject-banner__title {
  color: #2369b8 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}

.topsubject-banner__arrow {
  width: 4.4rem;
  height: 4.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border-radius: 50%;
  background: #f58ab7;
  position: relative;
}

.topsubject-banner__arrow::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: -.3rem;
}

.topsubject-banner__photo {
  display: none !important;
}

@media screen and (max-width: 750px) {
  .mv {
    height: 70vh !important;
    min-height: 0 !important;
  }

  .mv::before {
    background: url("../images/mainimage1-sp.jpg") no-repeat center top / cover !important;
  }

  .mv::after {
    background: url("../images/mainimage2-sp.jpg") no-repeat center top / cover !important;
  }

  .mv-txt {
    top: 50% !important;
    left: 50% !important;
    bottom: auto !important;
    width: min(86%, 42rem) !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
  }

  .spfooternav__label {
    font-size: clamp(1.55rem, 4.4vw, 2.2rem) !important;
    line-height: 1 !important;
  }

  .topsubject-banner-list {
    gap: 1.2rem !important;
  }

  .topsubject-banner {
    grid-template-columns: 5.2rem minmax(0, 1fr) 3.8rem !important;
    gap: 1.2rem !important;
    min-height: 9.6rem !important;
    padding: 1.6rem !important;
  }

  .topsubject-banner__icon {
    width: 5.2rem;
    height: 5.2rem;
    font-size: 2.2rem;
  }

  .topsubject-banner__script {
    margin-bottom: .4rem !important;
    font-size: 1.15rem !important;
  }

  .topsubject-banner__title {
    font-size: 1.55rem !important;
    line-height: 1.45 !important;
  }

  .topsubject-banner__arrow {
    width: 3.8rem;
    height: 3.8rem;
  }
}

/* =====================================================
   MV/banner bug fixes: 2026-05-19
   ===================================================== */

.mv {
  position: relative !important;
  background: url("../images/mainimage1-pc.jpg") no-repeat center center / cover !important;
  overflow: hidden !important;
  isolation: isolate;
}

.mv::before,
.mv::after {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  z-index: 0 !important;
}

.mv::before {
  background-image: url("../images/mainimage2-pc.jpg") !important;
  opacity: 0;
  animation: mvBgFadeSecond 15s ease-in-out infinite;
}

.mv::after {
  background-image: url("../images/mainimage3-pc.jpg") !important;
  opacity: 0;
  animation: mvBgFadeThird 15s ease-in-out infinite;
}

@keyframes mvBgFadeSecond {
  0%, 26% {
    opacity: 0;
  }

  33%, 59% {
    opacity: 1;
  }

  66%, 100% {
    opacity: 0;
  }
}

@keyframes mvBgFadeThird {
  0%, 59% {
    opacity: 0;
  }

  66%, 92% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.mv-curve {
  position: absolute;
  left: -8%;
  bottom: -10rem;
  width: 116%;
  height: 24rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: clamp(1.4rem, 1.65vw, 2.6rem);
  background: #f7f8fa;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  z-index: 1;
  pointer-events: none;
}

.mv-curve__catch {
  width: min(96rem, calc(100vw - 4rem));
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
  justify-items: center;
  color: #414141;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0;
  text-align: center;
}

.mv-curve__catch p {
  margin: 0;
  white-space: nowrap;
}

.mv-curve__lead {
  grid-column: 2;
  font-size: clamp(1.7rem, 2.6vw, 3.6rem);
}

.mv-curve__rule {
  grid-column: 2;
  justify-self: stretch;
  display: block;
  width: 100%;
  height: 3px;
  margin: 1.3rem auto 1.4rem;
  background: #0068b6;
}

.mv-curve__sub {
  grid-column: 1 / -1;
  font-size: clamp(1.35rem, 2.35vw, 3.25rem);
}

.mv #fixnav,
.mv .mv-scroll {
  position: relative;
  z-index: 4;
}

.mv-txt {
  z-index: 2 !important;
}

.topsubject-banner-list {
  gap: 1.6rem !important;
}

.topsubject-banner {
  min-height: 0 !important;
  height: 8.4rem !important;
  display: grid !important;
  grid-template-columns: 8.2rem minmax(0, 1fr) 5.2rem !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 1.7rem 0 1.9rem !important;
  border: 1px solid #2369b8 !important;
  border-radius: 6px !important;
  background-color: #fbfeff !important;
  background-size: 14px 14px, 14px 14px, 14px 14px !important;
  box-shadow: none !important;
  color: #0068b6 !important;
}

.topsubject-ic_1 {
  width: 4.8rem !important;
  height: 4.8rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url("../images/topsubject-ic01.svg") no-repeat center / contain !important;
  color: transparent !important;
  font-size: 0 !important;
}

.topsubject-ic_2 {
  width: 4.8rem !important;
  height: 4.8rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url("../images/topsubject-ic02.svg") no-repeat center / contain !important;
  color: transparent !important;
  font-size: 0 !important;
}

.topsubject-ic_3 {
  width: 4.8rem !important;
  height: 4.8rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url("../images/topsubject-ic03.svg") no-repeat center / contain !important;
  color: transparent !important;
  font-size: 0 !important;
}

.topsubject-ic_4 {
  width: 4.8rem !important;
  height: 4.8rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url("../images/topsubject-ic04.svg") no-repeat center / contain !important;
  color: transparent !important;
  font-size: 0 !important;
}


.topsubject-banner__text {
  min-width: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  writing-mode: horizontal-tb !important;
}

.topsubject-banner__script {
  display: none !important;
}

.topsubject-banner__title {
  display: block !important;
  color: #0068b6 !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 2.05vw, 2.9rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.topsubject-banner__arrow {
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 50% !important;
  background: #e9519d !important;
  justify-self: end !important;
  box-shadow: none !important;
}

.topsubject-banner__arrow::before {
  width: .8rem !important;
  height: .8rem !important;
  border-top: 2px solid #fff !important;
  border-right: 2px solid #fff !important;
  margin-left: -.25rem !important;
}

@media screen and (max-width: 750px) {
  .mv {
    background: url("../images/mainimage1-sp.jpg") no-repeat center top / cover !important;
  }

  .mv::before {
    background-image: url("../images/mainimage2-sp.jpg") !important;
    background-position: center top !important;
  }

  .mv::after {
    background-image: url("../images/mainimage3-sp.jpg") !important;
    background-position: center top !important;
  }

  .mv-curve {
    left: -18%;
    bottom: -7rem;
    width: 136%;
    height: 15rem;
    padding-top: 2.1rem;
  }

  .mv-curve__catch {
    width: min(68rem, calc(100vw - 3.2rem));
  }

  .mv-curve__lead {
    font-size: clamp(1.7rem, 4.4vw, 2.2rem);
  }

  .mv-curve__rule {
    height: 2px;
    margin: .55rem auto .65rem;
  }

  .mv-curve__sub {
    font-size: clamp(1.35rem, 3.65vw, 1.65rem);
  }

  .topsubject-banner {
    height: 7.8rem !important;
    grid-template-columns: 5.8rem minmax(0, 1fr) 3.8rem !important;
    padding: 0 1.2rem !important;
  }

  .topsubject-banner__icon {
    width: 4.8rem !important;
    height: 4.8rem !important;
  }

  .topsubject-banner__title {
    font-size: clamp(1.55rem, 4.6vw, 2.1rem) !important;
  }

  .topsubject-banner__arrow {
    width: 2.8rem !important;
    height: 2.8rem !important;
  }
}

/* =====================================================
   Greeting / timetable refinements: 2026-05-19
   ===================================================== */

.topgreeting__w,
.topgreeting__w * {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
}

.topgreeting4 {
  border-radius: 20px !important;
}

.topgreeting4 img[src="./images/topgreeting-doctor.jpg"] {
  border-radius: 20px !important;
}

.toptimetable__w .timetable-table-wrap {
  overflow-x: visible !important;
}

.toptimetable__w .timetable-tbl {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  color: #0068b6 !important;
  background: transparent !important;
}

.toptimetable__w .timetable-tbl th,
.toptimetable__w .timetable-tbl td {
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.toptimetable__w .timetable-tbl thead th {
  height: 5.6rem !important;
  padding: 0 .7rem !important;
  background: #bfd5f6 !important;
  color: #0068b6 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.toptimetable__w .timetable-tbl thead th:first-child {
  width: 36% !important;
  border-radius: 8px 0 0 8px !important;
  font-size: 0 !important;
}

.toptimetable__w .timetable-tbl thead th:first-child::before {
  content: "診療時間";
  font-size: 2rem !important;
}

.toptimetable__w .timetable-tbl thead th:last-child {
  border-radius: 0 8px 8px 0 !important;
}

.toptimetable__w .timetable-tbl tbody th,
.toptimetable__w .timetable-tbl tbody td {
  height: 7.2rem !important;
  padding: 0 .7rem !important;
  color: #0068b6 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.toptimetable__w .timetable-tbl tbody th {
  width: 36% !important;
  font-size: clamp(1.7rem, 1.8vw, 2.1rem) !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}

.toptimetable__w .timetable-tbl tbody tr + tr th,
.toptimetable__w .timetable-tbl tbody tr + tr td {
  border-top: 3px solid #0068b6 !important;
}

.toptimetable__w .timetable-tbl tbody td {
  position: relative !important;
  font-size: 0 !important;
  color: transparent !important;
}

.toptimetable__w .timetable-tbl tbody td::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: #e55c9c;
  vertical-align: middle;
}

.toptimetable__w .timetable-tbl tbody td.closed::before {
  width: 2.4rem;
  height: 2px;
  border-radius: 999px;
  background: #e55c9c;
  transform: rotate(-52deg);
}

@media screen and (max-width: 750px) {
  .toptimetable__w .timetable-table-wrap {
    overflow-x: auto !important;
  }

  .toptimetable__w .timetable-tbl {
    min-width: 52rem !important;
  }

  .toptimetable__w .timetable-tbl thead th {
    height: 4.8rem !important;
    font-size: 1.65rem !important;
  }

  .toptimetable__w .timetable-tbl thead th:first-child::before {
    font-size: 1.65rem !important;
  }

  .toptimetable__w .timetable-tbl tbody th,
  .toptimetable__w .timetable-tbl tbody td {
    height: 6.4rem !important;
  }

  .toptimetable__w .timetable-tbl tbody th {
    font-size: 1.55rem !important;
  }

  .toptimetable__w .timetable-tbl tbody td::before {
    width: 1.35rem;
    height: 1.35rem;
  }

  .toptimetable__w .timetable-tbl tbody td.closed::before {
    width: 2rem;
    height: 2px;
  }
}

/* =====================================================
   Info section refinements: 2026-05-19
   ===================================================== */

.topnews__w.info-box,
.toptimetable__w.info-box {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.topnews__w .info-box-title {
  border-bottom: 2px dotted #d7e4ef !important;
}

.konzatsu__w .info-box-title {
  border-bottom: 2px dotted #d7e4ef !important;
}

/* =====================================================
   PC fixed navigation restore: 2026-05-19
   ===================================================== */

@media screen and (min-width: 751px) {
  #fixnav.HeightMin {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    margin: 0 auto !important;
    background: rgba(255, 255, 255, .97) !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #fixnav.HeightMin .mv-scroll {
    width: min(1400px, calc(100% - 4rem)) !important;
    margin: 0 auto !important;
  }
}

/* =====================================================
   Subject banner text balance: 2026-05-19
   ===================================================== */

.topsubject-banner {
  grid-template-columns: 7.2rem minmax(0, 1fr) 3.8rem !important;
  column-gap: 1rem !important;
  padding-right: 1.5rem !important;
}

.topsubject-banner__text {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.topsubject-banner__title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: .08em !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  font-size: clamp(1.8rem, 1.62vw, 2.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.topsubject-banner__title-small {
  flex: 0 1 auto;
  min-width: 0;
  font-size: .68em;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.topsubject-banner__arrow {
  width: 2.9rem !important;
  height: 2.9rem !important;
}

@media screen and (max-width: 750px) {
  .topsubject-banner {
    grid-template-columns: 5rem minmax(0, 1fr) 3.4rem !important;
    column-gap: .8rem !important;
    padding-right: 1rem !important;
  }

  .topsubject-banner__title {
    font-size: clamp(1.4rem, 4vw, 1.8rem) !important;
  }

  .topsubject-banner__title-small {
    font-size: .68em;
  }

  .topsubject-banner__arrow {
    width: 2.6rem !important;
    height: 2.6rem !important;
  }
	
/*20260731追加*/	
/*----------------------------------------
提携スポーツジム
----------------------------------------*/
.topsubject-fitness{
    width:92%;
    margin:2rem auto 0;
}

.topsubject-fitness a{
    padding:1.4rem;
}

.topsubject-fitness-label{
    padding:.5rem .8rem;
    font-size:1.4rem;
    text-align:center;
}

.topsubject-fitness img{
    width:100%;
    max-width:280px;
}
	
}

/* =====================================================
   Online banner / feature heading refinements: 2026-05-19
   ===================================================== */

.topsubject-banner[href="./medical.html#online"] .topsubject-banner__title {
  justify-content: flex-start !important;
  text-align: left !important;
  font-size: clamp(2rem, 1.9vw, 2.65rem) !important;
}

.topsubject-banner[href="./medical.html#online"] .topsubject-banner__title-small {
  font-size: .72em;
}

@media screen and (max-width: 750px) {
  .topsubject-banner-list .topsubject-banner .topsubject-banner__title {
    font-size: clamp(1.4rem, 4vw, 2.5rem) !important;
  }

  .topsubject-banner-list .topsubject-banner .topsubject-banner__title-small {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
  }
}

.topfeature1 h2,
.topfeature1 h2 span,
.topfeature1 h2 span::after {
  color: #2369b8 !important;
}

/* =====================================================
   Requested responsive fixes: 2026-05-20
   ===================================================== */

@media screen and (max-width: 750px) {
  .mv-copy {
    max-width: calc(100vw - 4rem) !important;
  }

  .mv-copy__line {
    white-space: nowrap !important;
    font-size: clamp(1.52rem, 4.55vw, 2.45rem) !important;
    letter-spacing: 0 !important;
    line-height: 1.62 !important;
  }

  .mv-copy__line span {
    font-size: 1.08em !important;
  }
}

.toptimetable__w .timetable-table-wrap {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.toptimetable__w .timetable-tbl {
  min-width: 0 !important;
}

@media screen and (max-width: 750px) {
  .toptimetable__w .timetable-table-wrap {
    overflow-x: hidden !important;
  }

  .toptimetable__w .timetable-tbl {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  .toptimetable__w .timetable-tbl thead th {
    height: 4.2rem !important;
    padding: 0 .15rem !important;
    font-size: clamp(1.15rem, 3.45vw, 1.45rem) !important;
    letter-spacing: 0 !important;
  }

  .toptimetable__w .timetable-tbl thead th:first-child,
  .toptimetable__w .timetable-tbl tbody th {
    width: 31% !important;
  }

  .toptimetable__w .timetable-tbl thead th:first-child::before {
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    letter-spacing: 0 !important;
  }

  .toptimetable__w .timetable-tbl tbody th,
  .toptimetable__w .timetable-tbl tbody td {
    height: 5.4rem !important;
    padding: 0 .15rem !important;
  }

  .toptimetable__w .timetable-tbl tbody th {
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    letter-spacing: 0 !important;
  }

  .toptimetable__w .timetable-tbl tbody td::before {
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .toptimetable__w .timetable-tbl tbody td.closed::before {
    width: 1.65rem !important;
    height: 2px !important;
  }
}

.footer12 .timetable-tbl {
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  color: #0068b6 !important;
  background: transparent !important;
}

.footer12 .timetable-tbl th,
.footer12 .timetable-tbl td {
  border: 0 !important;
  box-sizing: border-box !important;
}

.footer12 .timetable-tbl thead th {
  height: 5.2rem !important;
  padding: 0 .6rem !important;
  background: #bfd5f6 !important;
  color: #0068b6 !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.footer12 .timetable-tbl thead th:first-child {
  width: 36% !important;
  border-radius: 8px 0 0 8px !important;
  font-size: 0 !important;
}

.footer12 .timetable-tbl thead th:first-child::before {
  content: "診療時間";
  font-size: 1.75rem !important;
}

.footer12 .timetable-tbl thead th:last-child {
  border-radius: 0 8px 8px 0 !important;
}

.footer12 .timetable-tbl tbody th,
.footer12 .timetable-tbl tbody td {
  height: 6.4rem !important;
  padding: 0 .6rem !important;
  color: #0068b6 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.footer12 .timetable-tbl tbody th {
  width: 36% !important;
  font-size: clamp(1.45rem, 1.45vw, 1.8rem) !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  white-space: nowrap !important;
}

.footer12 .timetable-tbl tbody tr + tr th,
.footer12 .timetable-tbl tbody tr + tr td {
  border-top: 1px solid #bfd5f6 !important;
}

.footer12 .timetable-tbl tbody td {
  position: relative !important;
  font-size: 0 !important;
  color: transparent !important;
}

.footer12 .timetable-tbl tbody td::before {
  content: "";
  display: inline-block;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: #e55c9c;
  vertical-align: middle;
}

.footer12 .timetable-tbl tbody td.closed::before {
  width: 2.2rem;
  height: 2px;
  border-radius: 999px;
  background: #e55c9c;
  transform: rotate(-52deg);
}

.footer12 .timetable-note {
  color: #666 !important;
  line-height: 1.6 !important;
}

.footer12 .timetable-note--kyushin {
  color: #c0392b !important;
  font-weight: 600 !important;
}

@media screen and (max-width: 750px) {
  #g-nav .nav-timetable {
    width: 100% !important;
    margin: 2.4rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #g-nav .nav-timetable .timetable-tbl {
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
    color: #0068b6 !important;
    background: transparent !important;
  }

  #g-nav .nav-timetable .timetable-tbl th,
  #g-nav .nav-timetable .timetable-tbl td {
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  #g-nav .nav-timetable .timetable-tbl thead th {
    height: 4.2rem !important;
    padding: 0 .15rem !important;
    background: #bfd5f6 !important;
    color: #0068b6 !important;
    font-size: clamp(1.15rem, 3.45vw, 1.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  #g-nav .nav-timetable .timetable-tbl thead th:first-child {
    width: 31% !important;
    border-radius: 8px 0 0 8px !important;
    font-size: 0 !important;
  }

  #g-nav .nav-timetable .timetable-tbl thead th:first-child::before {
    content: "診療時間";
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    letter-spacing: 0 !important;
  }

  #g-nav .nav-timetable .timetable-tbl thead th:last-child {
    border-radius: 0 8px 8px 0 !important;
  }

  #g-nav .nav-timetable .timetable-tbl tbody th,
  #g-nav .nav-timetable .timetable-tbl tbody td {
    height: 5.4rem !important;
    padding: 0 .15rem !important;
    color: #0068b6 !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  #g-nav .nav-timetable .timetable-tbl tbody th {
    width: 31% !important;
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  #g-nav .nav-timetable .timetable-tbl tbody tr + tr th,
  #g-nav .nav-timetable .timetable-tbl tbody tr + tr td {
    border-top: 3px solid #0068b6 !important;
  }

  #g-nav .nav-timetable .timetable-tbl tbody td {
    position: relative !important;
    font-size: 0 !important;
    color: transparent !important;
  }

  #g-nav .nav-timetable .timetable-tbl tbody td::before {
    content: "";
    display: inline-block;
    width: 1.05rem !important;
    height: 1.05rem !important;
    border-radius: 50%;
    background: #e55c9c;
    vertical-align: middle;
  }

  #g-nav .nav-timetable .timetable-tbl tbody td.closed::before {
    width: 1.65rem !important;
    height: 2px !important;
    border-radius: 999px;
    background: #e55c9c;
    transform: rotate(-52deg);
  }

  #g-nav .nav-timetable .timetable-note {
    margin: .8rem 0 0 !important;
    color: #666 !important;
    font-size: 1.3rem !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }

  #g-nav .nav-timetable .timetable-note--kyushin {
    color: #c0392b !important;
    font-weight: 600 !important;
  }
}

@media screen and (max-width: 750px) {
  .footer12 .timetable-tbl thead th {
    height: 4.2rem !important;
    padding: 0 .15rem !important;
    font-size: clamp(1.15rem, 3.45vw, 1.45rem) !important;
    letter-spacing: 0 !important;
  }

  .footer12 .timetable-tbl thead th:first-child,
  .footer12 .timetable-tbl tbody th {
    width: 31% !important;
  }

  .footer12 .timetable-tbl thead th:first-child::before {
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    letter-spacing: 0 !important;
  }

  .footer12 .timetable-tbl tbody th,
  .footer12 .timetable-tbl tbody td {
    height: 5.4rem !important;
    padding: 0 .15rem !important;
  }

  .footer12 .timetable-tbl tbody th {
    font-size: clamp(1.05rem, 3.15vw, 1.35rem) !important;
    letter-spacing: 0 !important;
  }

  .footer12 .timetable-tbl tbody td::before {
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .footer12 .timetable-tbl tbody td.closed::before {
    width: 1.65rem !important;
    height: 2px !important;
  }
}

@media screen and (max-width: 750px) {
  .openbtn,
  .openbtn.active {
    display: block !important;
    position: fixed !important;
    top: 1rem !important;
    right: 2rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateZ(0);
    z-index: 2147483647 !important;
  }

  #g-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  body.is-sp-nav-open #fixnav,
  body.is-sp-nav-open .mv,
  body.is-sp-nav-open .mv #fixnav,
  body.is-sp-nav-open .mv .mv-scroll {
    position: relative !important;
    overflow: visible !important;
    z-index: 2147483600 !important;
  }

  body.is-sp-nav-open #g-nav,
  body.is-sp-nav-open #g-nav.panelactive,
  body.is-sp-nav-open #g-nav.panelactive #g-nav-list {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translateZ(0);
    z-index: 2147483640 !important;
    isolation: isolate !important;
  }

  body.is-sp-nav-open #g-nav.panelactive .navul {
    position: relative !important;
    z-index: 2147483641 !important;
  }

  body.is-sp-nav-open .openbtn {
    z-index: 2147483647 !important;
  }

  body.is-sp-nav-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.is-sp-nav-open #g-nav,
  body.is-sp-nav-open #g-nav * {
    touch-action: auto;
  }
}

/* =====================================================
   Top medical symptoms and structured content updates: 2026-06-16
   ===================================================== */

.topsubject__w .topsubject1.mbpc70.mbsp50 {

}

.top-symptom-block {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 4.2rem;
  padding: 0 30px;
  box-sizing: border-box;
}

.top-symptom-block h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin: 0 0 4.5rem;
  color: #333;
  font-size: clamp(2.2rem, 2.4vw, 3.1rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .03em;
  text-align: center;
}

.top-symptom-block h3::before,
.top-symptom-block h3::after {
  content: "";
  width: 3.2rem;
  height: 1px;
  background: #333;
}

.top-symptom-block h3::before {
  transform: rotate(52deg);
}

.top-symptom-block h3::after {
  transform: rotate(-52deg);
}

.top-symptom-title__text {
  min-width: 0;
  color: #333;
}

.top-symptom-title__accent {
    color: #ef6aa7;
    background: linear-gradient(transparent 75%, rgb(95 214 245 / 50%) 75%);
}

.top-symptom-list {
  display: grid;
  width: fit-content;
  max-width: 100%;
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  justify-content: center;
  gap: 1.4rem 2rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.top-symptom-list li {
    position: relative;
    padding: 1.5rem 1.8rem 1.5rem 4.4rem;
    background: #ffffff;
    border: 1px solid #e7edf2;
    border-radius: 0;
    box-shadow: 0 .4rem 1rem rgba(0, 72, 140, .06);
    color: #333;
    font-size: 1.72rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .02em;
}

.top-symptom-list li::before {
  content: "✓";
  position: absolute;
  left: 1.8rem;
  top: 1rem;
  color: #0074bc;
  font-size: 1.15em;
  font-weight: 700;
}

.top-symptom-note {
  margin: 1.4rem 4rem 0 0;
  color: #333;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-align: right;
}

.subj-overlay-inner {
  justify-content: flex-end !important;
  align-items: stretch !important;
}

.subj-keywords {
    position: absolute;
    top: 2.2rem;
    left: 2.2rem;
    right: 2.2rem;
    z-index: 2;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #fff;
    /* font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif; */
    font-size: clamp(1.55rem, 1.75vw, 1.7rem);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: .02em;
    text-shadow: 2px 2px 8px rgb(0 46 81 / 62%);
}

.subj-keywords li {
  margin: 0;
}

@media screen and (min-width: 751px) {
  .topfeature2.feat-grid .feat-photo {
    width: 318px !important;
    height: 212px !important;
    aspect-ratio: auto !important;
    margin: 0 auto;
  }

  .topfeature2.feat-grid .feat-photo img,
  .feat-photo img {
    width: 318px !important;
    height: 212px !important;
  }
}

.topgreeting-certifications {
  margin: 1.6rem 0 0;
  padding: 1.6rem 1.8rem;
  list-style: none;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid rgba(35, 105, 184, .18);
  box-shadow: 0 .6rem 1.8rem rgba(0, 72, 140, .08);
  color: #33465c;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.42rem;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .02em;
}

.topgreeting-certifications li + li {
  margin-top: .35rem;
}

@media screen and (max-width: 750px) {
  .topsubject__w .topsubject1.mbpc70.mbsp50 {
    margin-bottom: 2.4rem !important;
  }

  .top-symptom-block {
    margin-bottom: 3.2rem;
    padding: 0 16px;
  }

  .top-symptom-block h3 {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(.35rem, 1.2vw, .55rem);
    margin-bottom: 2rem;
    padding: 0;
    font-size: clamp(1.58rem, 4.8vw, 1.95rem);
    letter-spacing: 0;
    white-space: nowrap;
  }

  .top-symptom-block h3::before,
  .top-symptom-block h3::after {
    position: static;
    flex: 0 0 clamp(.7rem, 2.6vw, 1.3rem);
    width: clamp(.7rem, 2.6vw, 1.3rem);
  }

  .top-symptom-block h3::before {
    transform: rotate(52deg);
  }

  .top-symptom-block h3::after {
    transform: rotate(-52deg);
  }

  .top-symptom-title__text {
    display: inline-block;
    max-width: 100%;
    white-space: nowrap;
  }

  .top-symptom-list {
    width: auto;
    max-width: none;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    justify-content: stretch;
    gap: .85rem;
  }

  .top-symptom-list li {
    padding: .9rem 1.1rem .9rem 3.2rem;
    font-size: clamp(1.35rem, 3.8vw, 1.58rem);
    line-height: 1.55;
  }

  .top-symptom-list li::before {
    left: 1.1rem;
    top: .9rem;
  }

  .top-symptom-note {
    margin: 1rem 0 0;
    font-size: 1.25rem;
  }

  .subj-overlay-inner {
    inset: .8rem !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    padding: .9rem .9rem .8rem !important;
  }

  .subj-keywords {
    position: static;
    font-size: clamp(.92rem, 2.5vw, 1.16rem);
    line-height: 1.32;
    letter-spacing: 0;
  }

  .subj-text {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: .5rem 0 0 !important;
    text-align: left !important;
  }

  .subj-ja {
    font-size: clamp(1.18rem, 3.25vw, 1.55rem) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
  }

  .subj-en {
    font-size: clamp(.65rem, 1.9vw, .88rem) !important;
    letter-spacing: .12em !important;
  }

  .topgreeting-certifications {
    padding: 1.4rem 1.5rem;
    font-size: 1.25rem;
    text-align: left;
  }
}

/* Requested refinements: 2026-06-16 */
@media screen and (max-width: 750px) {
  .subj-overlay-inner {
    inset: 10px !important;
    display: block !important;
    padding: 0 !important;
  }

  .subj-keywords {
    position: absolute !important;
    top: 3rem !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 2.4rem) !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: clamp(1.02rem, 5vw, 1.7rem) !important;
    line-height: 1.6 !important;
    letter-spacing: .01em !important;
    text-shadow: 2px 2px 8px rgb(0 46 81 / 62%) !important;
  }

  .subj-text {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .subj-ja {
    position: absolute !important;
    top: 66% !important;
    left: 50% !important;
    width: 100% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    font-size: 2.5rem !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
  }

  .subj-en {
    position: absolute !important;
    top: calc(66% + 2.2rem) !important;
    left: 50% !important;
    width: 100% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    font-size: 1.25rem !important;
    letter-spacing: .18em !important;
  }
}

@media screen and (min-width: 751px) {
  .topfeature2.feat-grid .feat-content-wrap {
    padding-top: 159px !important;
    z-index: auto !important;
  }

  .topfeature2.feat-grid .feat-badge-circle {
    margin: -5.6rem auto -5.6rem !important;
    top: 53px !important;
    z-index: 6 !important;
  }

  .topfeature2.feat-grid .feat-photo {
    z-index: 4 !important;
  }

  .topfeature2.feat-grid .feat-body {
    padding: 7.6rem 2.6rem 3rem !important;
    z-index: 2 !important;
  }

  .topfeature2.feat-grid .feat-title {
    margin-top: 53px !important;
  }

  .topfeature2.feat-grid .feat-btn.topaccess18 a {
    width: min(100%, 24rem) !important;
  }

  .topfeature2.feat-grid .feat-btn.topaccess18 a span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    line-height: 1.3;
  }

  .topfeature2.feat-grid .feat-btn.topaccess18 a span::before {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1;
    vertical-align: middle;
  }

  .topgreeting3 {
    padding-top: 0 !important;
  }

  .topgreeting4 {
    width: 420px !important;
  }
}

@media screen and (max-width: 750px) {
  .topfeature2.feat-grid .feat-content-wrap {
    padding-top: calc(50% - 1.5rem) !important;
    z-index: auto !important;
  }

  .topfeature2.feat-grid .feat-badge-circle {
    margin: -4.4rem auto -4.4rem !important;
    top: 54px !important;
    z-index: 6 !important;
  }

  .topfeature2.feat-grid .feat-photo {
    aspect-ratio: 3 / 2 !important;
    z-index: 4 !important;
  }

  .topfeature2.feat-grid .feat-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .topfeature2.feat-grid .feat-body {
    padding: 6.4rem 2rem 2.4rem !important;
    z-index: 2 !important;
  }

  .topfeature2.feat-grid .feat-title {
    margin-top: 54px !important;
  }
}

.topgreeting__w .topgreeting-certifications,
.topgreeting__w .topgreeting-certifications * {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif !important;
}

.topgreeting-certifications {
  border: 1px dashed #d9d9d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* PC navigation layer fix: 2026-06-16 */
@media screen and (min-width: 751px) {
  html,
  body {
    overflow-x: hidden;
  }

  .mv {
    position: relative !important;
    z-index: auto !important;
    isolation: auto !important;
  }

  #fixnav,
  .mv #fixnav {
    position: relative !important;
    width: min(1400px, calc(100% - 4rem)) !important;
    max-width: calc(100% - 4rem) !important;
    box-sizing: border-box;
    z-index: 2147483000 !important;
    isolation: isolate !important;
  }

  #fixnav .mv-scroll,
  #fixnav #g-nav,
  #fixnav .navul,
  #fixnav .navulli1,
  #fixnav .navulli2,
  #fixnav .has-child {
    position: relative !important;
    z-index: 2147483001 !important;
  }

  #fixnav .mv-scroll {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  #fixnav .nav-dropdown {
    z-index: 2147483002 !important;
  }

  .toptimetable__w,
  .top-symptom-list,
  .topsubject2,
  .topfeature2.feat-grid,
  .topfeature2.feat-grid .feat-card {
    position: relative;
    z-index: 1 !important;
  }

  #fixnav.HeightMin {
    position: fixed !important;
    width: 100% !important;
    max-width: none !important;
    z-index: 2147483000 !important;
  }

  #fixnav.HeightMin .mv-scroll {
    width: min(1400px, calc(100% - 4rem)) !important;
    max-width: calc(100% - 4rem) !important;
  }
}

/* =====================================================
   Lower pages: about / access
   ===================================================== */

.yam-lower-visual .mv-txt-6 h2 {
  letter-spacing: 0;
}

.yam-breadcrumb {
  background: #eef1f3;
  padding: 2.4rem 0 0;
}

.yam-breadcrumb ol {
  width: 900px;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  list-style: none;
  padding: 0;
  color: #596170;
  font-size: 1.3rem;
  line-height: 1.6;
}

.yam-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
}

.yam-breadcrumb li + li::before {
  content: "/";
  color: #9aa8b5;
}

.yam-breadcrumb a {
  color: #2369b8;
  text-decoration: none;
}

.yam-lower-page {
  background: #eef1f3;
  padding: 3.2rem 0 9rem;
}

.yam-lower-card,
.yam-access-card {
  margin: 0 auto;
  background: #ffffff;
  border-radius: 8px;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  box-shadow: 0 1.2rem 3rem rgba(27, 54, 86, .06);
}

.yam-lower-card {
  width: 1000px;
  max-width: calc(100% - 4rem);
  padding: 5.6rem 5rem 6.4rem;
}

.traffic-accident-preparing {
  width: 1000px;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  font-size: 2.4rem;
  line-height: 1.8;
  text-align: center;
}

.yam-access-card {
  width: 1000px;
  max-width: calc(100% - 4rem);
  padding: 5.6rem 5rem 6.4rem;
}

.yam-anchor-card {
  padding: 0 5rem;
  background: transparent;
  box-shadow: none;
}

.yam-about-page .yam-lower-card + .yam-lower-card {
  margin-top: 3.2rem;
}

.yam-home-rehab-page .yam-lower-card + .yam-lower-card {
  margin-top: 3.2rem;
}

.yam-anchor-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
  margin: 0;
}

.yam-anchor-nav a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6rem;
  padding: 1.2rem 4.2rem 1.2rem 5.4rem;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  background: #0068b6;
}

.yam-anchor-nav a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.2rem;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/arrow-under.svg") center / contain no-repeat;
  transform: translateY(-50%);
}

@media screen and (min-width: 751px) {
  .yam-about-page .yam-anchor-nav a[href="#facility"] {
    font-size: 1.65rem;
    white-space: nowrap;
  }

  .yam-home-rehab-page .yam-anchor-nav a {
    padding: 1.2rem 1.4rem 1.2rem 4.4rem;
    font-size: 1.55rem;
    white-space: nowrap;
  }

  .yam-home-rehab-page .yam-anchor-nav a::before {
    left: 1.6rem;
    width: 2rem;
    height: 2rem;
  }
}

.about-section,
.access-section {
  scroll-margin-top: 14rem;
}

.about-section + .about-section,
.access-section + .access-section {
  margin-top: 7.2rem;
}

.yam-about-page .about-section + .about-section {
  margin-top: 3.2rem;
}

.about-section-title,
.access-section-title {
  position: relative;
  margin: 0 0 4rem;
  padding: 0 0 2rem;
  color: #252c34;
  font-size: 2.8rem;
  line-height: 1.45;
  font-weight: 800;
}

.about-section-title::before,
.access-section-title::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #dce4eb;
}

.about-section-title::after,
.access-section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 38%;
  max-width: 36rem;
  height: 2px;
  background: #2369b8;
}

.about-doctor-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 4.2rem;
  align-items: start;
}

.about-doctor-body,
.access-info-list,
.access-guide-note,
.access-route-card {
  min-width: 0;
}

.about-doctor-photo {
  margin: 0;
}

.about-doctor-photo img {
  display: block;
  width: 100%;
  border-radius: 8px;
}

.about-doctor-catch {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 2.8rem;
  padding: 0;
  border-left: 0;
  background: transparent;
  border-radius: 0;
  color: #173047;
  font-size: 2.2rem;
  line-height: 1.75;
  font-weight: 800;
}

.about-doctor-catch__emphasis {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif !important;
  font-size: 1.12em;
}

.about-doctor-text p {
  margin: 0 0 1.6rem;
  color: #303842;
  font-size: 1.55rem;
  line-height: 2;
}

.about-doctor-text p:last-child {
  margin-bottom: 0;
}

.about-doctor-sign {
  margin: 1.6rem 0 0;
  color: #173047;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.about-doctor-certification {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 1rem auto 0;
  padding: .8rem 1.4rem;
  border: 1px dashed #2369b8;
  border-radius: 6px;
  box-sizing: border-box;
  color: #173047;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  background: #f7fbff;
}

.about-doctor-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  margin-top: 5rem;
}

.about-doctor-info {
  width: 100%;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  padding: 2.6rem;
  background: #ffffff;
}

.about-doctor-info--history {
  grid-column: 1 / -1;
}

.about-doctor-info--wide {
  grid-column: 1 / -1;
}

.about-doctor-info h3,
.about-first-block h3,
.about-facility-block h3,
.home-rehab-example h3,
.home-rehab-point-card h3,
.home-rehab-voice h3,
.home-rehab-info-card h3,
.home-rehab-flow-card h3,
.access-guide-note h3,
.access-route-card h3 {
  margin: 0 0 1.6rem;
  padding-left: 1.2rem;
  border-left: 4px solid #2369b8;
  color: #252c34;
  font-size: 1.8rem;
  line-height: 1.55;
  font-weight: 800;
}

.about-history-list {
  margin: 0;
}

.about-history-list div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1.4rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid #edf2f7;
}

.about-history-list div:first-child {
  padding-top: 0;
}

.about-history-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.about-history-list dt {
  align-self: center;
  color: #2369b8;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.8;
}

.about-history-list dd {
  margin: 0;
  color: #303842;
  font-size: 1.45rem;
  line-height: 1.8;
}

.about-blue-list,
.about-orange-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-blue-list--columns {
  columns: 1;
}

.about-blue-list li,
.about-orange-list li {
  position: relative;
  break-inside: avoid;
  margin: 0 0 1rem;
  padding-left: 1.7rem;
  color: #303842;
  font-size: 1.5rem;
  line-height: 1.85;
}

.about-blue-list li:last-child,
.about-orange-list li:last-child {
  margin-bottom: 0;
}

.about-blue-list li::before,
.about-orange-list li::before {
  content: "";
  position: absolute;
  top: .82em;
  left: 0;
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  background: #2369b8;
}

.about-belongings-list {
  box-sizing: border-box;
  padding: 2rem 2.2rem;
  border: 2px solid #2369b8;
  border-radius: 10px;
  background: #f5f9ff;
  box-shadow: 0 4px 12px rgba(35, 105, 184, .12);
}

.about-belongings-list li {
  font-weight: 700;
}

.about-orange-list li.about-note-no-bullet {
  padding-left: 0;
}

.about-orange-list li.about-note-no-bullet::before {
  content: none;
}

.about-first-block + .about-first-block {
  margin-top: 4.2rem;
}

.about-web-monshin-block p {
  margin: 0 0 2rem;
  color: #303842;
  font-size: 1.5rem;
  line-height: 1.9;
}

.about-web-monshin-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26rem;
  max-width: 100%;
  min-height: 5.8rem;
  box-sizing: border-box;
  padding: 1.3rem 5.4rem 1.3rem 3.2rem;
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  background: #0068b6;
}

.about-web-monshin-button::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 2.4rem;
  color: #ffffff;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}

.about-web-monshin-button:hover,
.about-web-monshin-button:focus {
  color: #ffffff;
  opacity: .86;
}

.about-facility-list {
  display: grid;
  gap: 3.2rem;
}

.about-facility-block {
  margin: 0;
}

.home-rehab-lead {
  margin: 0 0 2.4rem;
  color: #173047;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.9;
}

.home-rehab-note {
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  gap: 1.6rem;
  align-items: center;
  margin: 0 0 3rem;
  padding: 1.8rem 2.2rem;
  border-radius: 8px;
  background: #f0f8f5;
}

.home-rehab-note span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem;
  padding: .7rem 1.4rem;
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  background: #2a8a75;
}

.home-rehab-note p,
.home-rehab-example p,
.home-rehab-point-card p,
.home-rehab-info-card p,
.home-rehab-flow-card p,
.home-rehab-text,
.home-rehab-flow-intro,
.home-rehab-cta p {
  margin: 0;
  color: #303842;
  font-size: 1.55rem;
  line-height: 1.9;
}

.home-rehab-text + .home-rehab-text {
  margin-top: 1.4rem;
}

.home-rehab-usage-formula {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  color: #151922;
  font-weight: 900;
  line-height: 1.1;
}

.home-rehab-usage-time {
  color: #2369b8;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}

.home-rehab-usage-times,
.home-rehab-usage-frequency {
  color: #151922;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
}

.home-rehab-area-note {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 1.4rem 0 0;
  padding: 1.2rem 1.5rem;
  border: 1px solid #f2d967;
  border-radius: 4px;
  font-size: 1.45rem;
  line-height: 1.7;
  background: #fffcdc;
  box-sizing: border-box;
}

.home-rehab-area-note strong {
  margin-right: .1em;
  color: #d63b2a;
  font-weight: 800;
}

.home-rehab-area-map {
  margin: 2.4rem auto 0;
  text-align: center;
}

.home-rehab-area-map img {
  display: inline-block;
  width: min(100%, 600px);
  height: auto;
}

.home-rehab-example,
.home-rehab-point-card,
.home-rehab-info-card {
  padding: 2.4rem 2.6rem;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #ffffff;
}

.home-rehab-support-grid,
.home-rehab-info-grid,
.home-rehab-voice-grid,
.home-rehab-flow-grid {
  display: grid;
  gap: 2rem;
}

.home-rehab-support-grid,
.home-rehab-info-grid,
.home-rehab-flow-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-rehab-support-grid {
  margin-bottom: 3rem;
}

.home-rehab-point-card {
  background: #f7fbff;
}

.home-rehab-voice {
  padding: 2.8rem;
  border-radius: 8px;
  background: #fff8ed;
}

.home-rehab-voice h3 {
  border-left-color: #ec8d2e;
}

.home-rehab-voice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-rehab-voice blockquote {
  position: relative;
  margin: 0;
  padding: 2.2rem 2.2rem 2.2rem 5rem;
  border-radius: 8px;
  background: #ffffff;
}

.home-rehab-voice blockquote::before {
  content: "“";
  position: absolute;
  top: 1rem;
  left: 1.8rem;
  color: #ec8d2e;
  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 1;
}

.home-rehab-voice p {
  margin: 0 0 1rem;
  color: #303842;
  font-size: 1.5rem;
  line-height: 1.8;
}

.home-rehab-voice cite {
  display: block;
  color: #8a5a23;
  font-size: 1.35rem;
  font-style: normal;
  font-weight: 800;
}

.home-rehab-voice-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 6rem;
  row-gap: 2.4rem;
  align-items: start;
}

.home-rehab-voice-item {
  display: grid;
  grid-template-columns: 9.6rem minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  padding: 1.8rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(80, 80, 80, .05);
  box-sizing: border-box;
}

.home-rehab-voice-person {
  display: grid;
  gap: .8rem;
  justify-items: center;
  text-align: center;
}

.home-rehab-voice-person img {
  display: block;
  width: 9.4rem;
  height: 9.4rem;
  border-radius: 50%;
  object-fit: cover;
}

.home-rehab-voice-person span {
  color: #303842;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.home-rehab-voice-item p {
  margin: 0;
  color: #0068b6;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}

.home-rehab-info-card p strong {
  display: block;
  margin-bottom: .4rem;
  color: #2369b8;
  font-size: 3rem;
  line-height: 1.2;
}

.home-rehab-info-card p span {
  display: block;
  color: #173047;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.5;
}

.home-rehab-info-note {
  margin-top: 1rem !important;
  color: #2a8a75 !important;
  font-weight: 800;
}

.home-rehab-flow-intro {
  margin-bottom: 2.4rem;
}

.home-rehab-flow-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: 2.8rem;
  border: 2px solid #dce8f3;
  border-radius: 8px;
  background: #ffffff;
}

.home-rehab-flow-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 1.8rem;
  padding: .7rem 1.5rem;
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.35;
  background: #2369b8;
}

.home-rehab-flow-card--city .home-rehab-flow-label {
  background: #2a8a75;
}

.home-rehab-flow-middle {
  display: grid;
  gap: 1.4rem;
  margin-top: 2.4rem;
  padding-top: 3rem;
  border-top: 1px solid #dce8f3;
  text-align: center;
}

.home-rehab-flow-middle p {
  color: #173047;
  font-weight: 800;
}

.home-rehab-flow-middle a,
.home-rehab-flow-bottom a {
  color: #2369b8;
  font-weight: 800;
  text-decoration: none;
}

.home-rehab-contact-list {
  margin: 1.4rem 0 0;
  padding: 1.4rem 1.6rem;
  border-radius: 8px;
  background: #f0f8f5;
}

.home-rehab-contact-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.home-rehab-contact-list dt {
  color: #173047;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.6;
}

.home-rehab-contact-list dd {
  margin: 0;
  color: #303842;
  font-size: 1.35rem;
  line-height: 1.6;
  white-space: nowrap;
}

.home-rehab-contact-list a {
  color: #2369b8;
  font-size: 1.6rem;
  font-weight: 800;
  text-decoration: none;
}

.home-rehab-flow-next {
  position: relative;
  margin-top: auto;
  padding: 4.2rem 1.6rem 1.6rem;
  color: #173047;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.6;
  text-align: center;
}

.home-rehab-flow-next::before {
  content: "↓";
  position: absolute;
  top: 1rem;
  left: 50%;
  color: #2369b8;
  font-size: 2.6rem;
  line-height: 1;
  transform: translateX(-50%);
}

.home-rehab-flow-bottom {
  display: grid;
  gap: .6rem;
  width: min(100%, 44rem);
  margin: 2rem auto 0;
  padding: 2.2rem 2.6rem;
  border: 2px solid #2369b8;
  border-radius: 8px;
  box-sizing: border-box;
  text-align: center;
  background: #f7fbff;
}

.home-rehab-flow-bottom p {
  margin: 0;
  color: #173047;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.7;
}

.home-rehab-flow-layout {
  display: grid;
  gap: 5.2rem;
  font-weight: 500;
}

.home-rehab-flow-group {
  margin: 0;
}

.home-rehab-flow-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 3rem;
  color: #151922;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
}

.home-rehab-flow-heading::before {
  content: "";
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-sizing: border-box;
}

.home-rehab-flow-heading--green::before {
  color: #2a8a75;
}

.home-rehab-flow-heading--pink::before {
  color: #d87d97;
}

.home-rehab-flow-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5.2rem;
  width: min(100%, 80rem);
}

.home-rehab-flow-contact-card {
  display: grid;
  align-content: center;
  gap: 0;
  min-height: 18rem;
  padding: 3rem 2rem;
  text-align: center;
  background: #f7f7f7;
  box-sizing: border-box;
}

.home-rehab-flow-contact-label,
.home-rehab-flow-contact-name,
.home-rehab-flow-contact-tel {
  margin: 0;
}

.home-rehab-flow-contact-label {
  margin-bottom: .4rem;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.5;
}

.home-rehab-flow-contact-card--city .home-rehab-flow-contact-label {
  color: #2a8a75;
}

.home-rehab-flow-contact-card--clinic .home-rehab-flow-contact-label {
  color: #0d6fb8;
}

.home-rehab-flow-contact-name {
  margin-bottom: 2rem;
  color: #151922;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
}

.home-rehab-flow-contact-tel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  color: #151922;
  font-size: 2.7rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .08em;
  white-space: nowrap;
}

.home-rehab-flow-contact-tel img {
  display: block;
  width: auto;
  height: .8em;
  object-fit: contain;
  transform: translateY(-.06em);
}

.home-rehab-flow-contact-tel a {
  color: inherit;
  text-decoration: none;
    font-weight: 700;
}

.home-rehab-flow-contact-tel span {
  align-self: flex-end;
  margin-left: -.4rem;
  font-size: 1.25rem;
  letter-spacing: 0;
}

.home-rehab-flow-step-list {
  display: grid;
  gap: 5rem;
  width: min(100%, 74rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-rehab-flow-step {
  position: relative;
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  min-height: 6.4rem;
  border: 1px solid #d87d97;
  background: #ffffff;
  box-sizing: border-box;
}

.home-rehab-flow-step + .home-rehab-flow-step::before {
  content: "";
  position: absolute;
  top: -3.3rem;
  left: 1.7rem;
  width: 0;
  height: 0;
  border-left: 1.2rem solid transparent;
  border-right: 1.2rem solid transparent;
  border-top: 1.3rem solid #d87d97;
}

.home-rehab-flow-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  background: #d87d97;
}

.home-rehab-flow-step-text {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 1.4rem 2.6rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
    color: #151922;
}
.home-rehab-cta {
  margin-top: 3.8rem;
  text-align: center;
}

.home-rehab-cta p {
  display: inline;
  padding-bottom: .8rem;
  color: #151922;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 2.5;
  white-space: nowrap;
  background-image: radial-gradient(circle, #d87d97 2px, transparent 2.4px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 1.2rem .45rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.home-rehab-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 5.4rem;
  padding: 1.2rem 2.8rem;
  border-radius: 999px;
  color: #0068b6;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  background: #ffffff;
}

.about-faq-item {
  padding: 0 0 3.2rem;
  border-bottom: 1px dotted #c5d0da;
}

.about-faq-item + .about-faq-item {
  margin-top: 3.2rem;
}

.about-faq-item h3 {
  margin: 0 0 1.5rem;
  color: #2369b8;
  font-size: 2.1rem;
  line-height: 1.65;
  font-weight: 800;
}

.about-faq-item h3 span {
  display: inline-block;
  margin-right: .8rem;
}

.about-faq-item p {
  margin: 0;
  padding-left: 3.2rem;
  color: #20262d;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
}

.about-faq-item p span {
  display: inline-block;
  width: 3.2rem;
  margin-left: -3.2rem;
  color: #20262d;
  font-weight: 800;
}

.access-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}

.access-logo-box {
  padding: 2.4rem;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #f7fbff;
  text-align: center;
}

.access-logo-box img {
  width: 100%;
  max-width: 260px;
  height: auto;
}

.access-info-list {
  display: grid;
  gap: 1.6rem;
}

.access-info-body {
  min-width: 0;
}

.access-info-item {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 1.8rem;
  align-items: start;
  padding: 1.8rem 0;
  border-bottom: 1px solid #edf2f7;
}

.access-info-item:first-child {
  padding-top: 0;
}

.access-info-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.access-info-label {
  color: #2369b8;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.7;
}

.access-info-item p {
  margin: 0;
  color: #303842;
  font-size: 1.55rem;
  line-height: 1.9;
}

.access-info-item a {
  color: #1f2530;
  text-decoration: none;
  font-size: 2rem;
  font-weight: 800;
}

.access-hours-table {
  overflow-x: auto;
}

.access-hours-table .timetable-tbl {
  min-width: 620px;
}

.access-guide-note {
  margin-bottom: 2.4rem;
  padding: 2.4rem 2.6rem;
  border: 2px solid #2369b8;
  border-radius: 8px;
  background: #f7fbff;
}

.access-guide-note p,
.access-route-card p {
  margin: 0;
  color: #303842;
  font-size: 1.5rem;
  line-height: 1.9;
}

.access-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.access-route-card {
  padding: 2.4rem 2.6rem;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #ffffff;
}

.access-map-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #f7fbff;
}

.access-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.yam-access-page .footer-note,
.yam-access-page .footer-access,
.yam-access-page .footer12 {
  width: 100%;
  box-sizing: border-box;
}

.yam-access-page .access-info-body .footer-note {
  margin: 1.4rem 0 0;
}

.yam-access-page .access-info-body .footer-note p {
  font-size: 1.45rem;
  line-height: 1.85;
}

.yam-access-page .footer-access {
  grid-template-columns: 1fr;
}

.yam-access-page .access-info-body .footer-access {
  margin: 0;
}

.yam-access-page .access-info-body .footer-access p {
  font-size: 1.6rem;
  line-height: 1.85;
}

.yam-access-page .footer12 {
  margin: 4.8rem 0;
}

.yam-access-page .access-overview-section + .access-section-title {
  margin-top: 2.4rem;
}

.yam-access-page > .yam-access-card > iframe {
  display: block;
  width: 100%;
  height: 420px;
  box-sizing: border-box;
  border: 1px solid #d7e8f5;
  border-radius: 8px;
}

.yam-access-page + #site-footer .footer__w {
  display: none;
}

.yam-access-page + #site-footer {
  padding-top: 0;
}

.yam-medical-page .yam-lower-card + .yam-lower-card {
  margin-top: 3.2rem;
}

.yam-medical-page .yam-anchor-nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.medical-anchor-nav a {
  color: #ffffff;
}

@media screen and (min-width: 751px) {
  .yam-medical-page .yam-anchor-card {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .yam-medical-page .medical-anchor-nav a {
    padding: 1.2rem 1.2rem 1.2rem 3.6rem;
    font-size: clamp(1.1rem, 1.55vw, 1.55rem);
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .yam-medical-page .medical-anchor-nav a::before {
    left: 1.2rem;
    width: 1.8rem;
    height: 1.8rem;
  }
}

.medical-intro-section {
  position: relative;
  overflow: hidden;
  padding-top: 5.4rem;
  padding-bottom: 6rem;
  text-align: center;
  background: #ffffff;
}

.medical-intro-section::after {
  display: none;
}

.medical-intro-kicker {
  position: relative;
  z-index: 1;
  margin: 0 0 .3rem;
  color: #173047;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .08em;
}

.medical-intro-title {
  position: relative;
  z-index: 1;
  margin: 0 0 2.8rem;
  color: #173047;
  font-size: 3rem;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: .08em;
}

.medical-intro-highlight {
  position: relative;
  z-index: 0;
  display: inline-block;
  isolation: isolate;
  font-weight: 800;
}

.medical-intro-highlight::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .08em;
  z-index: -1;
  width: 100%;
  height: .34em;
  border-radius: .12em;
  background: #fff1a8;
  transform: scaleX(0);
  transform-origin: left center;
  animation: medical-intro-marker 1s ease-out .45s forwards;
}

@keyframes medical-intro-marker {
  to {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .medical-intro-highlight::after {
    animation: none;
    transform: scaleX(1);
  }
}

.medical-intro-logo {
  position: relative;
  z-index: 1;
  width: 10.5rem;
  margin: 0 auto 4rem;
}

.medical-intro-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.medical-intro-text {
  position: relative;
  z-index: 1;
  max-width: 76rem;
  margin: 0 auto;
}

.medical-intro-section .medical-intro-text p {
  margin: 0;
  color: #173047;
  font-size: 1.65rem;
  line-height: 2;
  letter-spacing: .06em;
  text-align: center;
}

.medical-intro-section .medical-intro-text p + p {
  margin-top: .2rem;
}

.medical-intro-section .medical-intro-text p:last-child {
  margin-top: 3rem;
}

.medical-intro-text p,
.medical-lead-text p,
.medical-note,
.medical-topic-card p,
.medical-research-box p,
.medical-price-box p,
.about-paper-text,
.about-paper-note {
  margin: 0 0 1.6rem;
  color: #303842;
  font-size: 1.55rem;
  line-height: 2;
}

.medical-intro-text p:last-child,
.medical-lead-text p:last-child,
.medical-topic-card p:last-child,
.medical-research-box p:last-child,
.medical-price-box p:last-child,
.about-paper-note {
  margin-bottom: 0;
}

.medical-section-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34rem;
  gap: 3.4rem;
  align-items: start;
  margin-bottom: 4rem;
}

.medical-section-visual {
  order: 1;
  margin: 0;
}

.medical-section-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.medical-pfc-gallery {
  grid-column: 1 / -1;
  order: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.8rem;
}

.medical-pfc-gallery figure {
  margin: 0;
}

.medical-pfc-gallery img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 8px;
}

.medical-lead-text h3,
.medical-block-title,
.medical-topic-card h3,
.medical-research-box h3,
.medical-merit-grid h3,
.medical-price-box h3 {
  margin: 0 0 1.6rem;
  padding-left: 1.2rem;
  border-left: 4px solid #2369b8;
  color: #252c34;
  font-size: 1.8rem;
  line-height: 1.55;
  font-weight: 800;
}

.medical-section-copy {
  color: #173047 !important;
  font-size: 1.85rem !important;
  font-weight: 800;
  line-height: 1.8 !important;
}

.medical-check-block,
.medical-topic-grid,
.medical-merit-grid,
.medical-price-box {
  margin-top: 3.8rem;
}

.medical-check-block {
  padding: 3rem;
  border: 3px solid #dce8f3;
  border-radius: 8px;
  box-sizing: border-box;
  background: #ffffff;
}

.medical-check-block + .medical-block-title,
.medical-merit-grid + .medical-block-title {
  margin-top: 5rem;
}

.medical-topic-grid + .medical-note,
.medical-step-list + .medical-check-block,
.medical-price-box + .medical-check-block {
  margin-top: 4.2rem;
}

.medical-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 5.4rem;
  row-gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.medical-check-list li {
  position: relative;
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: center;
  min-height: 6.4rem;
  padding: 1.4rem 0;
  border-bottom: 1px dashed #c8d2dc;
  box-sizing: border-box;
  color: #143040;
  font-size: 1.6rem;
  line-height: 1.7;
}

.medical-check-list li::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 5px;
  box-sizing: border-box;
  background: #ffffff url("../images/ic_check.svg") center / 1.35rem 1.35rem no-repeat;
}

.medical-disease-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 1.8rem;
}

.medical-disease-grid section,
.medical-topic-card,
.medical-merit-grid section,
.medical-research-box,
.medical-price-box {

  border-radius: 8px;
  padding: 2.2rem;
  background: #ffffff;
}

.medical-disease-grid h3 {
  margin: 0 0 .8rem;
  font-size: 1.65rem;
  line-height: 1.55;
  font-weight: 800;
}

body#medical .medical-disease-grid h3 {
  color: #2369b8;
  font-size: 2.2rem;
  line-height: 1.5;
}

.medical-disease-grid p {
  margin: 0;

  font-size: 1.6rem;
  line-height: 1.85;
}

.medical-disease-grid section {
  border-radius: 0;
  border-bottom: 1px dotted #d6d6d6;
}

.medical-disease-grid section:last-child {
  border-bottom: 0;
}

.medical-topic-grid,
.medical-merit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem;
}

.medical-dot-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.medical-dot-list li {
  position: relative;
  margin: 0 0 1rem;
  padding-left: 1.7rem;
  color: #303842;
  font-size: 1.45rem;
  line-height: 1.85;
}

.medical-dot-list li:last-child {
  margin-bottom: 0;
}

.medical-dot-list li::before {
  content: "";
  position: absolute;
  top: .82em;
  left: 0;
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  background: #2369b8;
}

.medical-merit-grid {
  gap: 2.2rem;
}

.medical-merit-grid section {
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.medical-merit-grid h3 {
  margin: 0 0 2rem;
  padding: 1.6rem 1rem;
  border-left: 0;
  color: #ffffff;
  font-size: 1.7rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
}

.medical-merit-grid section:first-child h3 {
  background: #ea72a7;
}

.medical-merit-grid section:nth-child(2) h3 {
  background: #959595;
}

.medical-merit-grid section:first-child {
  border-color: #ea72a7;
}

.medical-merit-grid section:nth-child(2) {
  border-color: #959595;
}

.medical-merit-grid .medical-dot-list {
  padding: 0 1.8rem 2rem;
}

.medical-merit-grid .medical-dot-list li {
  padding-left: 2.2rem;
  word-break: normal;
}

.medical-merit-grid .medical-dot-list li::before {
  top: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  color: #ea72a7;
  font-size: 1.7rem;
  line-height: 1.6;
  font-weight: 700;
  background: transparent;
}

.medical-merit-grid section:first-child .medical-dot-list li::before {
  content: "○";
}

.medical-merit-grid section:nth-child(2) .medical-dot-list li::before {
  content: "×";
  color: #929292;
  font-size: 2rem;
  line-height: 1.35;
}

.medical-check-block--recommend + .medical-note {
  margin-top: 1.8rem;
}

.medical-step-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.medical-step-list li {
  position: relative;
  padding: 2.4rem;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #f7fbff;
}

.medical-step-list li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6.2rem;
  min-height: 2.8rem;
  margin-bottom: 1.2rem;
  padding: .3rem 1rem;
  border-radius: 999px;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.4;
  background: #2369b8;
}

.medical-step-list strong {
  display: block;
  margin-bottom: 1rem;
  color: #173047;
  font-size: 1.7rem;
  line-height: 1.6;
  font-weight: 800;
}

.medical-step-list p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.85;
}

.medical-step-list a {
  display: inline-block;
  margin-top: 1.4rem;
  color: #2369b8;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.6;
}

.medical-step-list--compact {
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-top: 1.8rem;
  padding: 3rem;
  border-radius: 8px;
  background: #f3f8fc;
}

.medical-step-list--compact li {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) minmax(24rem, 30rem);
  column-gap: 1.6rem;
  row-gap: 1.4rem;
  align-items: start;
  padding: 3rem;
  border: 0;
  border-radius: 6px;
  background: #ffffff;
}

body#medical .medical-step-list--compact li {
  grid-template-rows: 4rem auto;
}

.medical-step-list--compact li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 4.8rem;
  bottom: -3rem;
  width: .4rem;
  height: 3rem;
  background: rgba(35, 105, 184, .28);
}

.medical-step-list--compact li > span {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  width: 4rem;
  height: 4rem;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  color: #ffffff;
  font-size: 1.5rem;
  background: #2369b8;
}

.medical-step-list--compact strong {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  align-self: center;
  min-height: 4rem;
  margin: 0;
  font-size: 1.9rem;
}

.medical-step-list--compact p {
  grid-column: 2;
  grid-row: 2;
}

body#medical .medical-step-list--compact p {
  align-self: start;
}

.medical-step-list--compact .medical-step-image {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 8px;
}

.medical-step-list--online {
  grid-template-columns: 1fr;
  gap: 3.8rem;
}

.medical-step-list--online li {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  min-height: 17rem;
  padding: 0;
  overflow: visible;
  border-color: #dce8f3;
  background: #ffffff;
}

.medical-step-list--online li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -2.7rem;
  left: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-left: 2.4rem solid transparent;
  border-right: 2.4rem solid transparent;
  border-top: 2.6rem solid #0068b6;
  transform: translateX(-50%);
}

.medical-step-list--online li > span {
  grid-column: 1;
  grid-row: 1 / -1;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 1.4rem .8rem;
  border-radius: 8px 0 0 8px;
  color: #0068b6;
  background: #e5f4fb;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

.medical-step-list--online li > span::before {
  content: "STEP";
  margin-bottom: .5rem;
  color: #0068b6;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.medical-step-list--online li > span::after {
  color: #0068b6;
  font-size: 2.7rem;
  font-weight: 800;
  letter-spacing: 0;
}

.medical-step-list--online li:nth-child(1) > span::after {
  content: "01";
}

.medical-step-list--online li:nth-child(2) > span::after {
  content: "02";
}

.medical-step-list--online li:nth-child(3) > span::after {
  content: "03";
}

.medical-step-list--online li:nth-child(4) > span::after {
  content: "04";
}

.medical-step-list--online strong {
  grid-column: 2;
  grid-row: 1;
  margin: 3rem 4rem 1rem;
  color: #0068b6;
  font-size: 2rem;
  line-height: 1.45;
}

.medical-step-list--online .medical-melmo-brand {
  color: #ff474e;
}

.medical-step-list--online p {
  grid-column: 2;
  grid-row: 2;
  margin: 0 4rem;
  font-size: 1.55rem;
  line-height: 1.9;
}

.medical-step-list--online p:last-child {
  margin-bottom: 3rem;
}

.medical-step-list--online a {
  position: relative;
  grid-column: 2;
  grid-row: 3;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28rem;
  min-height: 4.4rem;
  margin: 2rem 4rem 3rem;
  padding: .8rem 4.8rem .8rem 2.6rem;
  border: 0;
  border-radius: 999px;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.5;
  text-decoration: none;
  background: #ff474e;
}

.medical-step-list--online a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.2rem;
  width: .8rem;
  height: .8rem;
  color: #ffffff;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

#online .medical-check-list + .medical-note {
  margin-top: 2.4rem;
}

@media screen and (min-width: 751px) {
  #regenerative .medical-check-list {
    grid-template-columns: 1fr;
  }
}

.medical-research-box {
  margin-top: 4.8rem;
  padding: 3rem;
  border: 0;
  border-radius: 8px;
  background: #f7f7f7;
}

.medical-research-box h3 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.8rem;
  padding: 0;
  border: 0;
  color: #173047;
  font-size: 1.7rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .08em;
}

.medical-research-box h3::before {
  content: "";
  flex: 0 0 auto;
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #2369b8;
}

.medical-research-box > p {
  margin: 0;
  color: #303842;
  font-size: 1.5rem;
  line-height: 1.9;
  letter-spacing: .04em;
}

.medical-research-box > p + p {
  margin-top: 2.2rem;
}

.medical-paper-label {
  margin: 3.8rem 0 1rem !important;
  padding-top: 2.4rem;
  border-top: 1px solid #e1e1e1;
  color: #173047 !important;
  font-size: 1.5rem !important;
  line-height: 1.6 !important;
  font-weight: 700;
  letter-spacing: .1em !important;
}

.medical-paper-text {
  margin-top: 0 !important;
  color: #526170 !important;
  font-size: 1.35rem !important;
  line-height: 1.8 !important;
  letter-spacing: .02em !important;
}

.medical-paper-text,
.about-paper-text {
  overflow-wrap: anywhere;
}

.medical-price-box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.medical-price-card {
  width: min(100%, 36rem);
  margin: 0;
  padding: 2.2rem 1.6rem;
  border: 1px solid #dce8f3;
  border-radius: 6px;
  box-sizing: border-box;
  text-align: center;
  background: #ffffff;
}

.medical-price-card .medical-price-label {
  display: inline-block;
  margin: 0 0 .9rem;
  padding: .25rem 1.2rem;
  border-radius: 999px;
  color: #252c34;
  font-size: 1.45rem;
  line-height: 1.4;
  font-weight: 700;
  background: #edf0f2;
}

.medical-price-card .medical-price-amount {
  margin: 0 0 .6rem;
  color: #173047;
  font-size: 3.4rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .02em;
}

.medical-price-card .medical-price-type {
  margin: 0;
  color: #303842;
  font-size: 1.6rem;
  line-height: 1.5;
}

.medical-price-box .medical-price-note {
  width: min(100%, 36rem);
  margin: 1rem 0 0;
  color: #526170;
  font-size: 1.35rem;
  line-height: 1.7;
  text-align: left;
}

.about-paper-note {
  color: #526170;
  font-size: 1.43rem;
}

@media screen and (min-width: 751px) {
  .mv-6.yam-lower-visual #fixnav:not(.HeightMin) {
    position: relative !important;
    width: min(1400px, calc(100% - 4rem)) !important;
    max-width: calc(100% - 4rem) !important;
    z-index: 1000;
  }

  .mv-6.yam-lower-visual #fixnav.HeightMin {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    z-index: 2147483000 !important;
    background: rgba(255, 255, 255, .97) !important;
  }

  .mv-6.yam-lower-visual #fixnav.HeightMin .mv-scroll {
    width: min(1400px, calc(100% - 4rem)) !important;
    max-width: calc(100% - 4rem) !important;
    margin: 0 auto !important;
  }
}

@media screen and (max-width: 750px) {
  body#home-rehab .yam-lower-visual .mv-txt-6 {
    width: calc(100% - 2rem);
  }

  body#home-rehab .yam-lower-visual .mv-txt-6 h2 {
    font-size: 2rem;
    line-height: 1.45;
    white-space: nowrap;
  }

  .yam-breadcrumb {
    padding-top: 1.6rem;
  }

  .yam-breadcrumb ol {
    max-width: calc(100% - 3rem);
    font-size: 1.2rem;
  }

  .yam-lower-page {
    padding: 2rem 0 6rem;
  }

  .yam-lower-card,
  .yam-access-card {
    width: calc(100vw - 3rem) !important;
    max-width: calc(100vw - 3rem);
    padding: 3rem 1.8rem 4rem;
    border-radius: 8px;
  }

  .yam-lower-card *,
  .yam-access-card * {
    max-width: 100%;
  }

  .yam-anchor-card {
    padding: 0 1.8rem;
  }

  .about-doctor-catch,
  .about-doctor-text p,
  .about-faq-item h3,
  .about-faq-item p,
  .home-rehab-lead,
  .home-rehab-note p,
  .home-rehab-example p,
  .home-rehab-point-card p,
  .home-rehab-voice p,
  .home-rehab-info-card p,
  .home-rehab-flow-card p,
  .home-rehab-flow-intro,
  .home-rehab-cta p,
  .access-info-item p,
  .access-guide-note p,
  .access-route-card p {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
  }

  .yam-anchor-nav {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 0;
  }

  .yam-anchor-nav a {
    min-height: 5.6rem;
    justify-content: center;
    padding: 1.1rem 5.2rem;
    font-size: 1.7rem;
  }

  .yam-medical-page .yam-anchor-nav,
  .medical-check-list,
  .medical-disease-grid,
  .medical-topic-grid,
  .medical-merit-grid,
  .medical-step-list {
    grid-template-columns: 1fr;
  }

  .yam-medical-page .medical-anchor-nav a {
    padding: 1.1rem 1.2rem 1.1rem 4rem;
    font-size: clamp(1.1rem, 3.4vw, 1.5rem);
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .yam-medical-page .medical-anchor-nav a::before {
    left: 1.3rem;
    width: 2rem;
    height: 2rem;
  }

  .medical-intro-section {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }

  .medical-intro-kicker {
    margin-bottom: .4rem;
    font-size: clamp(1.8rem, 4.5vw, 2.5rem);
    line-height: 1.6;
    letter-spacing: .05em;
  }

  .medical-intro-title {
    margin-bottom: 2.2rem;
    font-size: clamp(1.8rem, 4.5vw, 2.5rem);
    line-height: 1.6;
    letter-spacing: .05em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .medical-intro-logo {
    width: 8rem;
    margin-bottom: 3rem;
  }

  .medical-intro-section .medical-intro-text p {
    font-size: 1.42rem;
    line-height: 1.95;
    letter-spacing: .03em;
  }

  .medical-intro-section .medical-intro-text p:last-child {
    margin-top: 2.4rem;
  }

  .medical-intro-text p,
  .medical-lead-text p,
  .medical-note,
  .medical-topic-card p,
  .medical-research-box p,
  .medical-price-box p,
  .about-paper-text,
  .about-paper-note {
    font-size: 1.5rem;
    line-height: 1.95;
  }

  .medical-intro-text,
  .medical-lead-text {
    min-width: 0;
  }

  .medical-intro-title,
  .medical-intro-text p,
  .medical-lead-text p,
  .medical-section-copy,
  .medical-note,
  .medical-check-list li,
  .medical-disease-grid h3,
  .medical-disease-grid p,
  .medical-topic-card p,
  .medical-research-box p,
  .medical-price-box p,
  .medical-step-list p,
  .medical-dot-list li,
  .about-paper-text,
  .about-paper-note {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
  }

  .medical-section-lead {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    margin-bottom: 3rem;
  }

  .medical-section-visual {
    order: -1;
  }

  .medical-pfc-gallery {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .medical-section-copy {
    font-size: 1.65rem !important;
  }

  .medical-check-block,
  .medical-topic-grid,
  .medical-merit-grid,
  .medical-price-box,
  .medical-research-box {
    margin-top: 3rem;
  }

  .medical-check-list {
    column-gap: 0;
  }

  .medical-check-list li {
    min-height: 5.8rem;
    grid-template-columns: 3rem minmax(0, 1fr);
    font-size: 1.5rem;
  }

  .medical-check-list li::before {
    width: 2.2rem;
    height: 2.2rem;
    background-size: 1.25rem 1.25rem;
  }

  .medical-disease-grid section,
  .medical-topic-card,
  .medical-merit-grid section,
  .medical-research-box,
  .medical-price-box,
  .medical-step-list li {
    padding: 2rem 1.8rem;
  }

  body#medical .medical-disease-grid h3 {
    font-size: 1.8rem;
  }

  .medical-disease-grid p {
    font-size: 1.5rem;
  }

  .medical-merit-grid {
    gap: 2.4rem;
  }

  .medical-merit-grid section {
    padding: 0;
  }

  .medical-merit-grid h3 {
    margin-bottom: 1.6rem;
    padding: 1.3rem 1rem;
    font-size: 1.6rem;
  }

  .medical-merit-grid .medical-dot-list {
    padding: 0 1rem 1.6rem;
  }

  .medical-research-box {
    padding: 2.4rem 1.8rem;
  }

  .medical-research-box h3 {
    gap: 1rem;
    margin-bottom: 2.2rem;
    font-size: 1.55rem;
  }

  .medical-research-box h3::before {
    width: 1rem;
    height: 1rem;
  }

  .medical-paper-label {
    margin-top: 3rem !important;
    padding-top: 2rem;
    font-size: 1.55rem !important;
  }

  .medical-paper-text {
    font-size: 1.25rem !important;
  }

  .medical-step-list {
    gap: 1.4rem;
  }

  .medical-step-list--compact {
    gap: 2.4rem;
    padding: 1.4rem;
  }

  .medical-step-list--compact li {
    grid-template-columns: 3.6rem minmax(0, 1fr);
    column-gap: 1.2rem;
    row-gap: 1.2rem;
    padding: 2rem 1.6rem;
  }

  body#medical .medical-step-list--compact li {
    grid-template-rows: minmax(3.6rem, auto) auto auto;
  }

  .medical-step-list--compact li:not(:last-child)::after {
    left: 3.15rem;
    bottom: -2.4rem;
    width: .3rem;
    height: 2.4rem;
  }

  .medical-step-list--compact li > span {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 1.35rem;
  }

  .medical-step-list--compact strong {
    min-height: 3.6rem;
    font-size: 1.65rem;
  }

  .medical-step-list--compact p {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .medical-step-list--compact .medical-step-image {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
  }

  .medical-step-list--online {
    gap: 3rem;
  }

  .medical-step-list--online li {
    grid-template-columns: 6.4rem minmax(0, 1fr);
    min-height: 0;
    padding: 0;
  }

  .medical-step-list--online li:not(:last-child)::after {
    bottom: -2.1rem;
    border-left-width: 1.7rem;
    border-right-width: 1.7rem;
    border-top-width: 2rem;
  }

  .medical-step-list--online li > span {
    padding: 1.2rem .5rem;
    border-radius: 8px 0 0 8px;
  }

  .medical-step-list--online li > span::before {
    margin-bottom: .35rem;
    font-size: 1rem;
  }

  .medical-step-list--online li > span::after {
    font-size: 2rem;
  }

  .medical-step-list--online strong {
    margin: 2rem 1.6rem .8rem;
    font-size: 1.75rem;
    line-height: 1.5;
  }

  .medical-step-list--online p {
    margin: 0 1.6rem;
    font-size: 1.38rem;
    line-height: 1.85;
  }

  .medical-step-list--online p:last-child {
    margin-bottom: 2rem;
  }

  .medical-step-list--online a {
    width: calc(100% - 3.2rem);
    min-width: 0;
    min-height: 4rem;
    margin: 1.5rem 1.6rem 2rem;
    padding: .75rem 3.8rem .75rem 1.8rem;
    font-size: 1.35rem;
  }

  .medical-price-box {
    padding: 0;
  }

  .medical-price-card {
    padding: 2rem 1.4rem;
  }

  .medical-price-card .medical-price-label {
    font-size: 1.35rem;
  }

  .medical-price-card .medical-price-amount {
    font-size: 2.8rem;
  }

  .medical-price-card .medical-price-type {
    font-size: 1.45rem;
  }

  .about-section + .about-section,
  .access-section + .access-section {
    margin-top: 5.4rem;
  }

  .about-section-title,
  .access-section-title {
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    font-size: 2.2rem;
  }

  .about-section-title::after,
  .access-section-title::after {
    width: 48%;
  }

  .about-doctor-profile {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
  }

  .about-doctor-photo {
    order: -1;
    width: min(78%, 300px);
    margin: 0 auto;
  }

  .about-doctor-catch {
    margin-bottom: 2.2rem;
    padding: 1.5rem 1.6rem;
    font-size: 1.85rem;
    line-height: 1.75;
  }

  .about-doctor-text p {
    font-size: 1.42rem;
    line-height: 1.95;
  }

  .about-doctor-info-grid,
  .home-rehab-support-grid,
  .home-rehab-info-grid,
  .home-rehab-voice-grid,
  .home-rehab-flow-grid,
  .access-overview-grid,
  .access-route-grid {
    grid-template-columns: 1fr;
  }

  .about-doctor-info-grid {
    gap: 1.8rem;
    margin-top: 3.6rem;
  }

  .home-rehab-lead {
    font-size: 1.6rem;
    line-height: 1.85;
  }

  .home-rehab-usage-time {
    font-size: 1.8rem;
  }

  .home-rehab-usage-times,
  .home-rehab-usage-frequency {
    font-size: 1.6rem;
  }

  .home-rehab-note {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.8rem;
  }

  .home-rehab-note span {
    width: fit-content;
  }

  .home-rehab-example,
  .home-rehab-point-card,
  .home-rehab-info-card,
  .home-rehab-flow-card,
  .home-rehab-voice {
    padding: 2rem 1.8rem;
  }

  .home-rehab-info-card p strong {
    font-size: 2.6rem;
  }

  .home-rehab-flow-layout {
    gap: 4rem;
  }

  .home-rehab-flow-heading {
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 2rem;
    font-size: 1.65rem;
    line-height: 1.55;
  }

  .home-rehab-flow-heading::before {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: .45rem;
  }

  .home-rehab-flow-contact-grid {
    grid-template-columns: 1fr;
    gap: 1.8rem;
    width: 100%;
  }

  .home-rehab-flow-contact-card {
    min-height: 15rem;
    padding: 2.4rem 1.6rem;
    gap: 0;
  }

  .home-rehab-flow-contact-label {
    margin-bottom: .3rem;
    font-size: 1.4rem;
  }

  .home-rehab-flow-contact-name {
    margin-bottom: 1.6rem;
    font-size: 1.85rem;
  }

  .home-rehab-flow-contact-tel {
    gap: .7rem;
    font-size: 2.2rem;
    letter-spacing: .04em;
  }

  .home-rehab-flow-contact-tel img {
    width: auto;
    height: 1em;
  }

  .home-rehab-flow-step-list {
    gap: 4rem;
    width: 100%;
  }

  .home-rehab-flow-step {
    grid-template-columns: 5.2rem minmax(0, 1fr);
    min-height: 5.8rem;
  }

  .home-rehab-flow-step + .home-rehab-flow-step::before {
    top: -2.8rem;
    left: 1.5rem;
    border-left-width: 1rem;
    border-right-width: 1rem;
    border-top-width: 1.1rem;
  }

  .home-rehab-flow-step-num {
    font-size: 2rem;
  }

  .home-rehab-flow-step-text {
    padding: 1.2rem 1.6rem;
    font-size: 1.65rem;
  }

  .home-rehab-voice-list {
    grid-template-columns: 1fr;
    row-gap: 2.6rem;
  }

  .home-rehab-voice-item {
    grid-template-columns: 8.4rem minmax(0, 1fr);
    gap: 1.6rem;
  }

  .home-rehab-voice-person img {
    width: 8.2rem;
    height: 8.2rem;
  }

  .home-rehab-voice-person span {
    font-size: 1.55rem;
  }

  .home-rehab-voice-item p {
    font-size: 1.55rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  .home-rehab-contact-list div {
    grid-template-columns: 1fr;
    gap: .4rem;
  }

  .home-rehab-contact-list dd {
    white-space: normal;
  }

  .home-rehab-cta {
    padding: 0;
  }

  .home-rehab-cta p {
    font-size: 1.6rem;
    line-height: 2.5;
    white-space: normal;
    word-break: normal;
  }

  .home-rehab-cta a {
    width: 100%;
    box-sizing: border-box;
    padding: 1.2rem 1.8rem;
    font-size: 1.7rem;
  }

  .about-doctor-info,
  .access-route-card,
  .access-guide-note {
    padding: 2rem 1.8rem;
  }

  .about-blue-list--columns {
    columns: 1;
  }

  .about-belongings-list {
    padding: 1.6rem 1.5rem;
  }

  .about-history-list div {
    grid-template-columns: 7.2rem minmax(0, 1fr);
    gap: 1rem;
  }

  .about-faq-item h3 {
    font-size: 1.8rem;
    line-height: 1.7;
  }

  .about-faq-item p {
    padding-left: 0;
    font-size: 1.6rem;
    font-weight: 400;
  }

  .about-faq-item p span {
    width: auto;
    margin-left: 0;
    margin-right: .5rem;
  }

  .access-logo-box {
    padding: 2rem;
  }

  .access-info-item {
    grid-template-columns: 1fr;
    gap: .6rem;
    padding: 1.5rem 0;
  }

  .access-info-item a {
    font-size: 1.8rem;
  }

  .access-map-frame {
    aspect-ratio: 4 / 3;
  }

  .yam-access-page > .yam-access-card > iframe {
    height: 320px;
  }
}

/* checkup page */
.yam-checkup-page .yam-lower-card + .yam-lower-card {
  margin-top: 3.2rem;
}

.yam-checkup-page .yam-anchor-nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 105rem;
  margin-right: auto;
  margin-left: auto;
}

.checkup-section-lead {
  display: block;
  margin-bottom: 0;
}

.checkup-section-lead > .checkup-section-visual {
  width: min(100%, 54rem);
  margin: 4rem auto 0;
}

.checkup-section-visual img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.checkup-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
  width: 100%;
  margin: 4rem auto 0;
}

.checkup-visual-grid .checkup-section-visual {
  width: 100%;
  margin: 0;
}

.checkup-visual-grid .checkup-section-visual img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

@media screen and (max-width: 750px) {
  .yam-checkup-page .yam-anchor-nav {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .checkup-section-lead > .checkup-section-visual {
    width: 100%;
    margin-top: 2.4rem;
  }

  .checkup-visual-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 3rem;
  }
}

/* Final cascade placement for 2026-07-27 shared navigation updates */
.about-history-list div {
  grid-template-columns: minmax(0, 1fr);
}

@media screen and (min-width: 751px) {
  .pcfixednav__item--instagram a {
    min-height: 10.56rem;
    padding: 1.2rem .72rem 1.08rem;
    background: #ffffff;
  }
}

@media screen and (max-width: 750px) {
  .spfooternav__w {
    grid-template-columns:
      minmax(0, 28fr)
      minmax(0, 22fr)
      minmax(0, 22fr)
      minmax(0, 28fr);
  }

  .spfooternav__item {
    box-sizing: border-box;
  }

  .spfooternav__item a {
    gap: .4rem;
    padding: 0 .3rem;
    box-sizing: border-box;
  }

  .spfooternav__item--line a,
  .spfooternav__item--instagram a {
    flex-direction: column;
    gap: .25rem;
    padding: .3rem .2rem;
  }

  .spfooternav__item--line .spfooternav__icon,
  .spfooternav__item--instagram .spfooternav__icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0;
    overflow: visible;
  }

  .spfooternav__item--line .spfooternav__icon img,
  .spfooternav__item--instagram .spfooternav__icon img {
    width: 2.4rem;
    height: 2.4rem;
  }

  .spfooternav__item--line .spfooternav__label,
  .spfooternav__item--instagram .spfooternav__label {
    position: static;
    display: block;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    white-space: nowrap;
    font-size: clamp(1rem, 3vw, 1.25rem) !important;
    line-height: 1 !important;
  }

  .spfooternav__item--instagram .spfooternav__label {
    color: #c72c75;
  }

  .spfooternav__item--monshin .spfooternav__icon,
  .spfooternav__item--reserve .spfooternav__icon {
    width: 2.8rem;
    height: 2.8rem;
  }

  .spfooternav__item--monshin .spfooternav__label,
  .spfooternav__item--reserve .spfooternav__label {
    font-size: clamp(1.3rem, 3.8vw, 1.7rem) !important;
    line-height: 1 !important;
  }
}

/* Pediatric online consultation banner alignment */
.medical-pediatric-online > p {
  text-align: center;
}

.medical-pediatric-online__button {
  margin-right: auto !important;
  margin-left: auto !important;
}

.medical-pediatric-online__button .topsubject-banner__title {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center !important;
  gap: .3rem !important;
  width: auto !important;
  text-align: center !important;
}

.medical-pediatric-online__title-line {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0;
  white-space: nowrap;
}

.medical-pediatric-online__button .topsubject-banner__title-small {
  flex: none;
  margin: 0;
  text-align: left;
}

.medical-pediatric-online__more {
  display: block;
  width: 100%;
  font-size: .62em;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.medical-online-notice {
  border: 0;
  border-radius: 0;
}

.medical-online-notice .medical-block-title {
  padding-left: 0;
  border-left: 0;
  font-size: 1.65rem;
}

.medical-online-notice li {
  font-size: 1.5rem;
}

.medical-check-list--single {
  grid-template-columns: 1fr;
  column-gap: 0;
}

.medical-check-list--two-line li {
  align-items: start;
}

.medical-check-list--two-line li::before {
  margin-top: .2rem;
}

.medical-check-list--two-line li > span {
  display: block;
  min-width: 0;
}

.medical-check-list--two-line li > span > strong {
  display: block;
  margin: 0 0 .3rem;
}

@media screen and (min-width: 751px) {
  .medical-pediatric-online__button {
    width: fit-content !important;
    max-width: 100%;
    min-height: 9.6rem !important;
    grid-template-columns: 4.8rem max-content 2.9rem !important;
    column-gap: .6rem !important;
    padding: 1.4rem 1.6rem !important;
  }
}

@media screen and (max-width: 750px) {
  .medical-pediatric-online__button {
    grid-template-columns: 4rem minmax(0, 1fr) 2.6rem !important;
    column-gap: .4rem !important;
    padding-right: .8rem !important;
    padding-left: .8rem !important;
  }

  .medical-pediatric-online__button .topsubject-ic_4 {
    width: 4rem !important;
    height: 4rem !important;
  }

  .medical-pediatric-online__button .topsubject-banner__text {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .medical-pediatric-online__button .topsubject-banner__title,
  .medical-pediatric-online__title-line {
    width: 100% !important;
    text-align: center !important;
  }

  .medical-online-notice .medical-block-title {
    font-size: 1.55rem;
  }

  .medical-online-notice li {
    font-size: 1.32rem;
  }

}
