body {
    font-family: 'Noto Sans JP', sans-serif !important;
    color: #131b1c;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin: 0 auto;
    background: #fff;
}
/* h2,h3,h4,div{
	font-family: fot-tsukuardgothic-std, sans-serif;
} */

p {
    font-family: 'Noto Sans JP', sans-serif;
    color: #131b1c;
    font-size: 16px !important;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin: 0 auto;
}

.top-ttl-h2 {
    letter-spacing: 3px;
    line-height: normal;
    text-align: center;
    margin: 0 0 2vw;
    font-weight: 500;
}

/*=================

  *改行設定

=====================*/
.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

@media (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
body {
    font-size: 13px;
    line-height: 1.5;
}
	
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
p {
    font-size: 16px !important;
    line-height: 1.6;
}

}



/*===============================================

  *TOPページ

=================================================*/

/*============================= ファーストビュー =============================*/
.f-view {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 691px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  overflow: hidden;
}

.f-view__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.f-view__content {
  position: relative;
  z-index: 1;
  top: 40px;
  width: 92%;
  margin: 0 auto;
}

.f-view__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: fvFadeZoom 25s infinite; /* アニメーション時間を25秒に変更 */
  transition: transform 1s ease-in-out;
}

/* 各画像の遅延時間を調整 */
.f-view__bg img:nth-child(1) {
  animation-delay: 0s;
}

.f-view__bg img:nth-child(2) {
  animation-delay: 8s; /* 画像間隔を均等に調整 */
}

.f-view__bg img:nth-child(3) {
  animation-delay: 16s; /* 画像間隔を均等に調整 */
}

/* 画像をズームしながらフェード */
@keyframes fvFadeZoom {
  0% {
    opacity: 0;
    transform: scale(1.10);
  }
  20% {
    opacity: 1;
    transform: scale(1.05);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
  60% {
    opacity: 1;
    transform: scale(1);
  }
  80% {
    opacity: 0;
    transform: scale(1.05);
  }
  100% {
    opacity: 0;
    transform: scale(1.10);
  }
}

/* 透明なオーバーレイ */
.f-view::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(0 0 0 / 14%);
  z-index: 1;
}

.f-view-cont {
    /* width: 83%; */
    margin: 10vw 4vw 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    z-index: 1;
}

.f-cv-box {
    width: 95%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.f-ttl-main {
    color: #fff;
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: normal;
    line-height: normal;
    text-shadow: 0 0px 2px #00000075, 0 0px 7px #00000029;
    font-family: serif;
}

/* アニメーション */
/* 初期状態（非表示で下に位置、ぼやけ） */
.f-ttl-main {
  opacity: 0;
  transform: translateY(20px); /* 下からスライドアップ */
  filter: blur(10px); /* 初期状態でぼやけ */
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease; /* ぼやけを解消するトランジション */
}

/* スクロールして表示された状態 */
.f-ttl-main.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0); /* ぼやけを解消 */
}

.f-appeal {
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 30px;
}

.f-ttl-sb {
    line-height: normal;
    margin: 20px 0 0;
    color: #16778c;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.f-ttl-sb-h {
    background-color: #16778cad;
    backdrop-filter: blur(7px);
    color: #fff;
    padding: 0px 35px;
    font-size: 1.5rem;
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.f-ttl-sb-txt {
    font-size: 1.5rem;
    background-color: #ffffffba;
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.f-ttl-sb-txt span {
    font-size: 1.05rem;
}

.f-cv-box-circle {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-direction: row;
}

.f-cv-box-circle div {
    border-radius: 50%;
    /* background: linear-gradient(124deg, rgb(44 237 200) 20%, rgb(63 166 166 / 66%) 100%); */
    background: linear-gradient(124deg, #bf9782 50%, #91654ed1 100%);
    border: solid 3.5px #bf9782;
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 9px -1px rgb(0 0 0 / 28%);
}

.f-cv-box-circle div:hover {
    color: #bf9782;
    background: #ffffff63;
    text-shadow: none;
    border: solid 3.5px #fff;
    box-shadow: inset 0 0 6px -1px rgb(0 0 0 / 19%);
}

.f-cv-box-circle a {
    color: #fff;
    text-shadow: 0 0px 3px #983a0a;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 3px;
    line-height: 29px;
    text-align: center;
}


/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
	.f-view{
	    height: 60vw;	
	}

	
.f-view-cont {
    margin: 11vw 4vw 0;
}
.f-ttl-main {
    font-size: 2rem;
}
.f-cv-box-circle {
    width: 90%;
}
.f-cv-box-circle div {
    width: 135px;
    height: 135px;
}
.f-cv-box-circle a {
    font-size: 21px;
    letter-spacing: 2px;
}
.f-appeal {
    align-items: center;
}


.f-ttl-sb {
    flex-direction: column;
}

.f-ttl-sb-h {
    padding: 14px 0px;
}

}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.f-view {
    height: 200vw;
    display: flex;
    justify-content: center;
}


.f-view__content {
    top: 90px;
}
	
.f-ttl-main {
    font-size: 1.7rem;
    text-align: center;
    line-height: 49px;
    white-space: nowrap;
    letter-spacing: normal;
}

.f-appeal {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 40px;
    overflow: hidden;
}

.f-ttl-sb {
    display: flex;
    flex-direction: column;
    margin: 70px 0 0;
    font-size: 1.4rem;
    gap: 2px;
    width: 100%;
}

.f-ttl-sb-h {
    width: 100%;
    margin: 0 auto;
    padding: 7px 0px;
    font-size: 1.2rem;
}

.f-cv-box-circle {
    width: 96%;
    margin: 0 auto;
    gap: 3px;
}

.f-cv-box-circle div {
    width: 100px;
    height: 100px;
    box-sizing: border-box;
}
	
.f-cv-box-circle a {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 2px;
}
	
.f-ttl-sb-txt span {
    font-size: 0.9rem;
}

.f-ttl-sb-txt {
    gap: 6px;
}
}

/*============================= LINE =============================*/
.line-sec {
    padding: 8vw 0;
    text-align: center;
}

.line-sec h2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    font-size: 3rem;
    align-items: center;
}

.line-sec h2 span {
    color: #fff;
    background: #16778c;
    font-size: 1.8rem;
    padding: 15px 10px;
    border-radius: 10px;
    position: relative;
    font-weight: 600;
}

.line-sec h2 span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11px 12px 0 12px;
    border-color: #16778c transparent transparent transparent;
}

.line-intro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    width: 100%;
    margin: 50px auto 40px;
    padding: 90px 40px;
    background-image: linear-gradient(rgb(255 255 255 / 30%), rgb(255 255 255 / 30%)), url(https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-01.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
}

.line-intro-pic{
    overflow: hidden;
    width: 100%;
    height: auto;
}

.line-intro-pic img {
    width: 90%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0 0 0 auto;
}
/* =========================
   箇条書き
   ========================= */
.line-merit {
    width: 100%;
}

.line-merit ul {
    list-style: none;
    margin: 0 auto 0 0;
    padding: 0;
    display: grid;
    gap: 15px;
    width: 90%;
}

.line-merit li {
    position: relative;
    padding: 14px 14px;
    background: #3fa6a6;
    color: #fff;
    border-radius: 15px;
    line-height: 1.6;
	    font-weight: 700;
}

.line-merit li::before {
    content: "";
    position: absolute;
    left: -9px;
    top: 35%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 11px 8px 0;
    border-color: transparent#3fa6a6 transparent transparent;
}

.line-merit p {
    margin: 14px 0 0;
    font-size: 14px !important;
    text-align: left;
}


/* =========================
   LINE 3ステップ
   ========================= */

.line-steps{
  margin: 0;
}

.line-steps > ol {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px;
    align-items: stretch;
    margin: 40px auto;
    width: 60%;
}

/* カード */
.line-steps > ol > li {
    background: #3fa6a6;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0px 5px rgb(0 0 0 / 13%);
    display: grid;
    grid-template-rows: auto 1fr;
    justify-items: center;
    padding: 20px;
    gap: 20px;
}

/* 写真（上段） */
.linesteps-pic {
    width: 70%;
    overflow: hidden;
}

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

/* 番号＋文字（下段） */
.linesteps-txt {
    display: flex;
    gap: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 22px;
    align-items: center;
    text-align: left;
    line-height: 28px;
}

.linesteps-txt > span {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #16778c;
    display: inline-grid;
    place-items: center;
    font-weight: 700;
    font-size: 18px;
}


/* バナー */

.line-pic {
    /* background-color: #e1f1eb; */

}

.line-banner {
    overflow: hidden;
    width: 53%;
    display: inline-block;
}

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

.top-line-btn {
	text-align:left;
}

.top-line-btn div {
    padding: 30px 8px;
    width: 60%;
    border-radius: 70px;
    font-size: 43px;
    font-weight: 600;
    text-shadow: 0 0px 6px #007a96;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 110px;
}


.top-line-btn .arrow {
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 22px solid white;
    margin-left: 8px;
    transition: transform 0.2s;
}

/* =========================
   LINEモーダル
   ========================= */





/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
.line-sec h2 {
    font-size: 2.4rem;
}

.line-sec h2 span {
    font-size: 1.5rem;
}

.line-intro {
    margin: 30px auto 0;
    padding: 60px 40px;
    flex-direction: column;
    align-items: center;
}

.line-intro-pic img {
    width: 80%;
    margin: 0 auto;
}

.line-merit ul {
    margin: 0 auto;
    width: 85%;
}

.line-merit p {
    text-align: center;
}

.top-line-btn div {
    width: 80%;
    font-size: 35px;
    gap: 110px;
}

	.top-line-btn .arrow {
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid white;
}




	.line-banner {
    width: 70%;
}
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.line-sec {
    padding: 60px 0;
    text-align: center;
}
	
.line-sec h2 {
    font-size: 1.5rem;
    letter-spacing: 2px;
    line-height: 30px;
    width: 99%;
    margin: 0 auto;
    gap: 15px;
}
	
.line-sec h2 span {
    font-size: 1.1rem;
    padding: 5px 20px;
    border-radius: 50px;
    letter-spacing: 5px;
}

.line-intro {
    padding: 50px 10px 40px;
    gap: 35px;
    margin: 0 auto;
}

.line-intro-pic img {
    width: 100%;
}

.line-merit ul {
    width: 90%;
}

	.line-merit li{
    text-align: left;
    letter-spacing: normal;
    padding: 8px 11px;
	}

.line-merit p {
    text-align: left;
    font-size: 13px;
    width: 90%;
    margin: 10px auto 0;
    line-height: 20px;
}

.top-line-btn div {
    width: 87%;
    font-size: 19px;
    gap: 10px;
    padding: 17px 0px;
}

.top-line-btn.arrow {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 13px solid white;
}




  .line-steps > ol{
    grid-template-columns: 1fr;
  }

	
.line-pic {

}
	.line-banner {
    width: 90%;
}
}


/*============================= お悩み =============================*/
.worries-sec {
    background-image: url("https://morise-implant.com/wp-content/uploads/2026/01/bg-gr01.jpg");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    /* background-color: #16778c; */
    padding: 5vw 0 9vw;
}

.worries-sec h2 {
    color: #fff;
    margin: 0 0 4vw;
    font-size: 3rem;
}

.worries-sec h2 span {
    font-size: 4rem;
    margin: 0 4px;
    font-weight: 600;
}

/* カードスタイル */
.worries-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 25px;
    column-gap: 20px;
    margin: 0 auto;
    width: 90%;
}

.worries-item {
    background-color: #ffffff;
    padding: 20px 15px;
    border-radius: 10px;
    border: solid 3px #fff;
    box-shadow: inset 0 0px 4px #0000001a;
}

.worries-pic {
    overflow: hidden;
    width: 95%;
    margin: 0 auto;
    background: #e1f1eb73;
}

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

.worries-item p {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 30px 0;
    line-height: normal;
    text-align: justify;
}

.worries-item p span {
    font-weight: 700;
    font-size: 18px;
    color: #3fa6a6;
    letter-spacing: 1px;
}

.worries-item a:link{
	color:#131b1c;
}

.worries-btn {
    display: flex;
    align-items: center;
    width: 85%;
    margin: 0 auto;
    padding: 8px 8px;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    letter-spacing: 1.7px;
    background: linear-gradient(133deg, #3fa6a6 30%, #24ffd5 100%);
    border-radius: 32px;
    transition: background-color 0.2s;
    cursor: pointer;
    justify-content: space-around;
    text-shadow: 0 0px 4px #007a96;
}

/* ホバー時のスタイル */
@media (any-hover: hover) {
.worries-btn:hover {
    background: linear-gradient(311deg, #3fa6a6 0%, #3fa6a6 100%);
}

  /* 矢印にアニメーションを追加 */
  .worries-btn:hover .arrow {
    transform: translateX(4px); /* 矢印が右に動く */
    transition: transform 0.2s; /* アニメーションの速度 */
  }
}

/* アイコン（矢印）のスタイル */
.worries-btn .arrow {
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid white; /* 矢印の色 */
  margin-left: 8px; /* テキストと矢印の間隔 */
  transition: transform 0.2s; /* 矢印が動く際のスムーズな移動 */
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
.worries-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.worries-sec {
    padding: 13vw 0 9vw;
}

.worries-sec h2 {
    font-size: 2rem;
    letter-spacing: 2px;
}

.worries-sec h2 span {
    font-size: 2.5rem;
    margin: 0 0;
}

.worries-grid {
/*     display: flex;
    flex-direction: column;
    width: 78%; */
	column-gap: 7px;
    row-gap: 10px;
}

.worries-item {
    padding: 10px 5px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.worries-item p {
    margin: 21px 0;
    letter-spacing: 0px;
    font-size: 14px !important;
    font-weight: 400;
}

.worries-item p span {
    letter-spacing: 0.5px;
    margin-bottom: 5px;
    text-align: center;
    font-size: 18px;
}
	
.worries-btn {
    box-sizing: border-box;
    width: auto;
    letter-spacing: 0px;
    font-size: 15px;
    font-weight: 500;
    padding: 8px 0;
    justify-content: center;
    box-shadow: 0 5px 0px -1px #24ffd5;
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
    color: #fff;
    background: #3fa6a6;
    border: solid 2px #fff;
}

@media (hover:hover) and (pointer:fine){
  a:hover .worries-btn{
    filter: brightness(1.05);
  }
  a:hover .worries-btn .arrow{
    transform: translateX(4px) rotate(45deg);
  }
}

a:active .worries-btn,
.worries-btn:active{
  transform: translateY(4px);
  box-shadow: 0 1px 0 #24ffd5;
  filter: brightness(.95);
}

.worries-btn .arrow {
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid white;
    margin-left: 8px;
}	
}

/*============================= 診療メニュー =============================*/
.medical-menu {
    padding: 7vw 0 4vw;
    /* background-color: #e1f1eb; */
}

.medical-menu h2{
font-size: 3rem;
}

.medical-menu ul {
    list-style: none;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 30px;
    width: 80%;
    margin: 0 auto;
    padding: 0 0;
}

.medical-menu ul li {
    background: #fff;
    border: solid 1px #131b1c;
    border-radius: 15px;
    padding: 30px 15px;
    width: 100%;
    background-image: linear-gradient(rgb(255 255 255 / 30%), rgb(255 255 255 / 30%)), url(https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-01.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 130%;
}

.medical-menu ul li a {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 10px;
    justify-content: space-around;
}

.medical-menu ul li div {
    color: #131b1c;
    text-align: center;
    font-size: 23px;
    font-weight: 600;
}

.medical-menu-pic {
    overflow: hidden;
    height: auto;
    width: 60%;
    margin: 0 auto 10px;
}

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

.medical-menu-txt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

/* 矢印 */
.medical-menu-more {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px;
    text-decoration: none;
    background: #007a96;
    width: 25px;
    height: 25px;
    border-radius: 13%;
}

.medical-menu-more span{
    left: -2px;
    position: relative;
}

.medical-menu-more .more-icon {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateX(0) rotate(45deg);
    transition: transform .15s ease;
}

@media (hover:hover) and (pointer:fine){
.medical-menu ul li:hover {
  border: none;
  background-image:
    linear-gradient(rgba(22, 119, 140, 0.5), rgba(22, 119, 140, 0.5)),
    url("https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-02.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.medical-menu ul li:fine {
  border: none;
  background-image:
    linear-gradient(rgba(22, 119, 140, 0.5), rgba(22, 119, 140, 0.5)),
    url("https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-02.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.medical-menu ul li:hover div{
	color:#fff;	
	}

li:hover .medical-menu-more .more-icon {
    transform: translateX(6px) rotate(45deg);
    border-top: 2px solid #16778c;
    border-right: 2px solid #16778c;
}
li:hover .medical-menu-more{
		background:#fff;
	}
}

/* スマホ含む：タップ中（aがactive）でも動く */
li a:active .medical-menu-more .more-icon{
  transform: translateX(6px) rotate(45deg);
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {

	
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.medical-menu h2 {
    font-size: 2rem;
    margin: 0 0 4vw;
}
.medical-menu ul {
    flex-direction: column;
    gap: 10px;
}
	.medical-menu ul li {
    box-sizing: border-box;
padding: 25px 15px;
}
.medical-menu ul li div {
    color: #007a96;
    font-size: 20px;
}
.medical-menu-pic {
    width: 45%;
}
.medical-menu-more {
    width: 24px;
    height: 24px;
    background: #bf9782;
}

.medical-menu ul li a {
    gap: 10px;
}

}

/*============================= 森瀬歯科医院の特徴 =============================*/
.clinic-feature{
    padding: 5vw 0 0;
}

.clinic-feature .h2-sbttl {
    color: #3fa6a6;
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: 13px;
}

.clinic-feature h2 {
    font-size: 3.7rem;
    font-weight: 500;
    letter-spacing: 8px;
    color: #131b1c;
    display: flex;
    flex-direction: column;
    margin-bottom: 3vw;
    gap: 25px;
}

.clinic-feature .attn {
    color: #16778c;
    font-size: 4rem;
    font-weight: 800;
    margin: 0 25px;
    letter-spacing: 4px;
}



/*------------------ ブロックデザイン ------------------*/
.clinic-feature-block {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0px auto;
    background: #fff;
    padding: 70px 0;
    padding-left: 20px;
    overflow: hidden;
    box-sizing: border-box;
}

.clinic-feature-block::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 65%;
    height: 100%;
    background-size: 100% 100%, cover;
    background-position: left top, center top;
    background-repeat: no-repeat;
}

.clinic-feature .number {
    font-size: 4.8rem;
    letter-spacing: 1px;
    line-height: 0;
    position: relative;
    top: 0.3vw;
    left: 3vw;
    z-index: 1;
    color: #3fa6a6e6;
    font-weight: 800;
}

.clinic-feature-content {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    position: relative;
    width: 70%;
    height: 100%;
    background: #fff;
    padding: 90px 55px 110px;
    text-align: left;
    top: 7%;
    left: 0;
}


.clinic-feature-content {
    background-image: url(https://morise-implant.com/wp-content/uploads/2026/01/feature-block-bg.jpg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
}

.clinic-feature-content::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(255 255 255 / 27%);
}

/* .clinic-feature-content::before {
    content: '';
    width: 50%;
    height: 100%;
    background-image: linear-gradient(0deg, rgba(210, 190, 160, 0.2) 1px, rgba(0, 0, 0, 0) 0),
    linear-gradient(90deg, rgba(210, 190, 160, 0.2) 1px, rgba(0, 0, 0, 0) 0);
    background-size: 10px 10px;
    clip-path: polygon(100% 100%, 100% 0, 0 0, 60% 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
} */

.clinic-feature-text {
    width: 50%;
    position: relative;
    z-index: 1;
}

.clinic-feature-text p{
	    letter-spacing: 1px;
}

.clinic-feature .text-sbttl {
    margin: 20px 0 5px;
    font-size: 1.5rem;
    font-weight: 600;
}

.clinic-feature .text-sbttl span{
	color: #16778c;
}

.clinic-feature-block h3 {
    padding-bottom: 20px;
    letter-spacing: 2px;
    font-size: 28px !important;
    position: relative;
    margin: 0 0;
    line-height: normal;
    font-weight: 600;
}

.clinic-feature-block h3 span {
    font-size: 35px;
    padding: 0 5px;
    color: #16778c;
    font-weight: 700;
}

.clinic-feature-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    margin-top: 10px;
    width: 90%;
}

.clinic-feature-btn a {
    background-color: #16778c;
    display: flex;
    gap: 10px;
    color: #fff;
    padding: 10px 20px;
    font-size: 14px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    justify-content: space-around;
    border: solid 2.5px #fff;
    align-items: center;
    text-align: center;
}

.clinic-feature-btn a:hover{
    background-color: #fff;
	    color: #16778c;
    border: solid 2.5px #16778c;
}


/* .clinic-feature-text::after {
    content: '';
    width: 165px;
    height: 165px;
    background: #24ffd51c;
    border-radius: 50%;
    position: absolute;
    top: -14%;
    right: 54px;
    z-index: -1;
    filter: blur(5px);
}
 */
.clinic-feature-image {
    width: 50%;
    position: relative;
    z-index: 1;
}

.image_left {
    width: 300px;
    height: auto;
    background: #3fa6a6;
    border: solid 4px #fff;
    position: absolute;
    bottom: -80px;
    left: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    border-radius: 5px;
    box-shadow: 0 0 7px 1px #00000017;
}

.clinic-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
} 

.image_right {
    width: 270px;
    height: 180px;
    position: absolute;
    top: -60px;
    right: -20px;
    z-index: 2;
    border-radius: 5px;
    box-shadow: 0 0 7px 1px #00000021;
}

.image_left-mark {
    overflow: hidden;
    width: 40%;
}

.image_left-mark jpg{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*------------------ 左右反対 ------------------*/
.feature-block-reverse {
    padding-right: 20px;
    padding-left: 0px;
}

.feature-block-reverse::before {
    right: auto;
  left: 0;
}

.feature-block-reverse .number {
    text-align: end;
    left: auto;
    right: 3vw;
}

.feature-block-reverse .clinic-feature-content {
    margin: 0 0 0 auto;
    flex-direction: row-reverse;
    background-position: left center;
}


.feature-block-reverse .image_left {
    left: auto;
    right: 0px;
}

.feature-block-reverse .image_right {
    right: auto;
    left: -25px;
}

.photo-ver{
    padding: 0 0;
    border: none;
}

.clinic-feature-focus-point {
    background: #fff;
    border: solid 7px #16778c;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 10px;
}

.clinic-feature-focus-point .sb {
    font-size: 1.2rem;
    letter-spacing: 2px;
    line-height: normal;
    font-weight: 600;
    color: #16778c;
}

.clinic-feature-focus-point .main {
    font-size: 2.4rem;
    letter-spacing: 5px;
    line-height: normal;
    font-weight: 700;
    background: #bf9782;
padding: 1px 5px;
    color: #fff;
    text-shadow: 0 0px 3px #5d2c10;
}

.clinic-feature-focus-point .main span {
/*     color: #16778c; */
    font-weight: 700;
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
.clinic-feature h2 {
    font-size: 2rem;
}

.clinic-feature .h2-sbttl {
    font-size: 2rem;
}

.clinic-feature .attn {
    font-size: 2.7rem;
}

.clinic-feature-block {
    padding: 80px 0;
    margin: 0 0;
}

.clinic-feature-content {
    margin: 0 auto;
    width: 95%;
    padding: 80px 40px;
    box-sizing: border-box;
}
	
.clinic-feature .number {
    font-size: 4rem;
    left: 5vw;
}
	
.image_right {
    width: 230px;
    height: 160px;
}

.image_left {
    width: 260px;
    bottom: -57px;
}

.image_left-mark {
    width: 35%;
}
	
.clinic-feature-block h3 {
    padding-bottom: 20px;
    font-size: 26px !important;
    letter-spacing: 0px;
}
	
.clinic-feature-block h3 span {
    font-size: 33px;
}
	
.clinic-feature-block::before {
    width: 100%;
    background-size: cover;
    background-position: center;
}

.feature-block-reverse .clinic-feature-content {
    margin: 0 auto;
    padding: 80px 20px;
}

.feature-block-reverse .number {
    left: auto;
    right: 7vw;
}

.feature-block-reverse .image_left {
    right: 0;
    bottom: -20px;
    left: auto;
}

.feature-block-reverse .image_right {
    left: 0;
    top: -30px;
}

.clinic-feature-text {
    width: 60%;
}

}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.clinic-feature {
    padding: 12vw 0 0;
}
.clinic-feature .h2-sbttl {
    font-size: 1.1rem;
    letter-spacing: 7px;
    font-weight: 500;
}

.clinic-feature h2 {
    font-size: 1.3rem;
    letter-spacing: normal;
    gap: 13px;
}

.clinic-feature .attn {
    font-size: 1.7rem;
    letter-spacing: 1px;
    margin: 0 10px;
}

.clinic-feature-block {
    padding: 40px 0;
    margin: 0 0;
}

.clinic-feature .number {
    font-size: 2.4rem;
    left: 5vw;
}

.clinic-feature-content {
    flex-direction: column;
    align-items: center;
    padding: 50px 20px;
    gap: 15px;
}

.clinic-feature-text {
    width: 100%;
}

.clinic-feature-block h3 {
    font-size: 20px !important;
}

.clinic-feature-block h3 span {
    font-size: 26px;
}

.clinic-feature-image {
    width: 100%;
}

.image_left {
    width: 100%;
    position: relative;
    bottom: 0;
    box-sizing: border-box;
}

 .clinic-feature-btn{
    width: 90%;
    gap: 10px;
}

.feature-block-reverse .number {
    right: 1.5rem;
    left: auto;
}

.feature-block-reverse .clinic-feature-content {
    display: flex;
    flex-direction: column;
    padding: 50px 20px;
}

.feature-block-reverse .image_left {
    bottom: 0;
}

.clinic-feature .feature-point2 .image_right ,
.clinic-feature .feature-point3 .image_right ,
.clinic-feature .feature-point4 .image_right ,
.clinic-feature .feature-point5 .image_right ,
.clinic-feature .feature-point6 .image_right ,
.clinic-feature .feature-point7 .image_right ,
.clinic-feature .feature-point8 .image_right{
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

.clinic-feature-focus-point .sb {
    font-size: 16px !important;
    letter-spacing: normal;
}

.feature-point1 .image_right {
    width: 155px;
    height: 155px;
    top: 0;
    padding: 0px;
}
	
.clinic-feature-focus-point .main {
    font-size: 21px;
    padding: 2px 5px;
    letter-spacing: 3px;
}
}

/* - - - point1 デザイン - - - */

.clinic-feature .feature-point1::before {
    background-image: linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://morise-implant.com/wp-content/uploads/2026/01/33622111_m.jpg);
    right: -150px;
}

.feature-point1 .clinic-feature-content{
	padding: 90px 55px 60px;
}

.feature-point1 .clinic-feature-text {
    width: 60%;
}

.feature-point1 .image_right {
    width: 210px;
    height: 210px;
    border-radius: 50%;
    top: -60px;
    right: 0px;
}

.feature-point1 .image_left {
    bottom: -17px;
    left: 0px;
}

/* - - - point2 デザイン - - - */
.clinic-feature .feature-point2::before {
    background-image: linear-gradient(to left, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
 url(https://morise-implant.com/wp-content/uploads/2026/01/30801498_m.jpg);
}

.feature-point2 .clinic-feature-text {
    width: 60%;
}

.feature-point2 .image_right {
    right: auto;
    left: -44px;
    top: -78px;
}

.feature-point2 .image_left {
    left: auto;
    right: 0px;
    bottom: -100px;
}

/* - - - point3 デザイン - - - */

.clinic-feature .feature-point3::before {
    background-image: linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://morise-implant.com/wp-content/uploads/2026/01/4910691_m.jpg);
}

.feature-point3 .clinic-feature-text {
    width: 70%;
}

.feature-point3 .image_right {
    top: -80px;
    right: -40px;
    width: 220px;
    height: 130px;
}

.feature-point3 .image_left {
    bottom: -100px;
}

/* - - - point4 デザイン - - - */
.clinic-feature .feature-point4::before {
    background-image: linear-gradient(to left, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
 url(https://morise-implant.com/wp-content/uploads/2026/01/5d0c743cbbb32504a7f78f60441cf8f5_t.jpeg);
left: -280px;
}

.feature-point4 .clinic-feature-text {
    width: 80%;
}

.feature-point4 .image_right {
    width: 250px;
    height: 160px;
}

.feature-point4 .image_left {
    width: 250px;
}

/* - - - point5 デザイン - - - */
.clinic-feature .feature-point5::before {
    background-image: linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://morise-implant.com/wp-content/uploads/2026/01/AdobeStock_238151408-scaled.jpeg);
	    right: -170px;
}

/* - - - point6 デザイン - - - */
.clinic-feature .feature-point6::before {
    background-image: linear-gradient(to left, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://morise-implant.com/wp-content/uploads/2026/01/23261186_s.jpg);
left: -90px;
}

.feature-point6 .clinic-feature-text {
    width: 75%;
}

.feature-point6 .image_right {
    width: 250px;
    height: 160px;
    top: -70px;
    left: -35px;
}

.feature-point6 .image_left {
bottom: -90px;
}

.feature-point6 .image_left-mark {
    width: 30%;
}

/* - - - point7 デザイン - - - */
.clinic-feature .feature-point7::before {
    background-image: linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://sakai-kyousei.jp/_p/acre/28399/images/pc/db444f8c.jpg);
}
.feature-point7 .clinic-feature-text {
    width: 60%;
}

.feature-point7 .image_right {
    top: -40px;
}

.feature-point7 .image_left {
    bottom: -60px;

}

/* - - - point8 デザイン - - - */
.clinic-feature .feature-point8::before {
    background-image: linear-gradient(to left, #fff 0%, rgb(255 255 255 / 0%) 60% 40%),
	url(https://sakai-kyousei.jp/_p/acre/28399/images/pc/65ba3137.jpg);
left: -50px;
}

.feature-point8 .clinic-feature-text {
    width: 80%;
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
.clinic-feature-focus-point {
    gap: 6px;
}

/* point1 */
.feature-point1 .clinic-feature-content {
    padding: 90px 25px 60px;
}

.feature-point1 .image_right {
    width: 190px;
    height: 190px;
    top: 0px;
    padding: 0 0;
}
	
.clinic-feature-focus-point .sb {
    font-size: 1.1rem;
}
	
.clinic-feature-focus-point .main {
    font-size: 1.5rem;
    padding: 1px 5px;
}

.feature-point1 .image_left {
    bottom: 30px;
    width: 320px;
}

/* point2 */
.feature-point2 .image_left {
    bottom: -60px;
    height: auto;
    width: 310px;
    left: auto;
    right: 0px;
}
	
.feature-point2 .image_right {
    top: -66px;
    left: -6px;
    width: 50%;
    height: auto;
}
	
.feature-point2  .image_left-mark {
    width: 40%;
}

	/* point3 */
.feature-point3 .clinic-feature-text {
    width: 60%;
}

.feature-point3 .image_left {
    bottom: -70px;
    left: -20px;
}

.feature-point3 .image_right {
    width: 190px;
    height: 130px;
    top: -60px;
    right: -20px;
}

/* point4 */
.feature-point4 .clinic-feature-text {
    width: 60%;
}

.feature-point4 .image_right {
    left: 0;
    top: -60px;
}

.feature-point4 .image_left {
    bottom: -60px;
}
	
/* point6 */
.feature-point6 .clinic-feature-text {
    width: 60%;
}

.feature-point6 .image_left {
    bottom: -40px;
}

.feature-point6 .image_right {
    top: -57px;
    left: -15px;
    width: 50%;
    height: auto;
}

/* point7 */
.feature-point7 .image_left {
    bottom: 0px;
}

.feature-point7 .image_right {
    top: -10px;
}


/* point8 */
.feature-point8 .clinic-feature-text {
    width: 70%;
}

.feature-block-reverse .image_right {
    left: 0;
    top: -60px;
}



}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
/* point1 */
	.feature-point1  .clinic-feature-image{
    display: flex;
    flex-direction: column;
    align-items: center;
	}

.feature-point1 .image_right {
    width: 160px;
    height: 160px;
    top: -60px;
    position: absolute;
}

.feature-point1 .clinic-feature-content {
    padding: 50px 20px;
}

.feature-point1 .clinic-feature-text {
    width: 100%;
}

.feature-point1 .image_left {
    margin-top: 70px;
    bottom: 0px;
    position: relative;
}

	.clinic-feature .text-sbttl{
		text-align:center;
		font-size: 20px !important;
	}
	
	.clinic-feature .text-sbttl span{
		font-size: 26px;
		font-weight: 700;
	}

/* point2 */

.feature-point2 .clinic-feature-text {
    width: 100%;
}

.feature-point2 .image_left {
    bottom: 0;
    height: auto;
    width: auto;
}
.feature-point4 .clinic-feature-text {
    width: 100%;
}

.feature-point6 .clinic-feature-text {
    width: 100%;
}

/* point3 */
.feature-point3 .clinic-feature-text {
    width: 100%;
}

/* point4 */
.feature-point4 .clinic-feature-image {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0;
}

.feature-point4 .image_left {
    width: 100%;
    height: auto;
    padding: 0 0;
}

.feature-point4 .image_right {
    width: 100%;
    height: auto;
    padding: 0 0;
	margin:0 0;
}
	
/* point5 */
.feature-point5 .clinic-feature-image {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0;
}

.feature-point5 .image_left {
    width: 100%;
    height: auto;
    padding: 0 0;
}

.feature-point5 .image_right {
    overflow: hidden;
    width: 100%;
    height: 32vw !important;
    padding: 0 0;
    margin: 0 0;
}

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


/* point7 */
.feature-point7 .clinic-feature-text {
    width: 100%;
}

.feature-point7 .clinic-feature-image {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0;
}

.feature-point7 .image_left {
    width: 100%;
    height: auto;
    padding: 0 0;
}

.feature-point7 .image_right {
    width: 100%;
    height: auto;
    padding: 0 0;
	margin:0 0;
}

/* point8 */

.feature-point8 .clinic-feature-text {
    width: 100%;
}

	.feature-point8 .clinic-feature-image {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0;
}

.feature-point8 .image_left {
    width: 100%;
    height: auto;
    padding: 0 0;
}

.feature-point8 .image_right {
    overflow: hidden;
    width: 100%;
    height: 28vw !important;
    padding: 0 0;
    margin: 0 0;
}

.feature-point8 .image_right img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
	
/* 背景設定 */
.clinic-feature-content {
    background: #fff;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
}

.clinic-feature .feature-point1::before
,.clinic-feature .feature-point2::before
,.clinic-feature .feature-point3::before
,.clinic-feature .feature-point4::before
,.clinic-feature .feature-point5::before
,.clinic-feature .feature-point6::before
,.clinic-feature .feature-point7::before
,.clinic-feature .feature-point8::before
{
    background-image: none;
}


.clinic-feature-block {
background-image: url(https://morise-implant.com/wp-content/uploads/2026/01/feature-block-bg.jpg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
}

	
  /* まず全体を縦並びにする（テキスト→画像の順など） */
  .clinic-feature-content {
    flex-direction: column;
    width: 100%;
    padding: 40px 20px 50px;
  }

  .clinic-feature-text,
  .clinic-feature-image {
    width: 100%;
  }

  /* .clinic-feature-image を縦積みにする */
  .clinic-feature-image {
    position: relative;
    margin-top: 20px;
  }

  /* absolute配置を解除して縦に積む */
  .image_left,
  .image_right {
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
  }

  /* 左右の順番を逆にするため、orderを使用 */
  .image_left {
    order: 2; /* 2に設定 → 下に表示 */
  }

  .image_right {
    order: 1; /* 1に設定 → 上に表示 */
  }

  /* .image_left の見た目調整（SPで自然な箱に） */
  .image_left {
    padding: 16px;
    border-radius: 8px;
  }

  /* .image_right は下に置く（必要なら余白） */
  .image_right {
    margin-top: 12px;
  }

  /* ボタンを縦並びで100%に */
  .clinic-feature-btn {
    width: 100%;
    margin-top: 12px;
  }

  .clinic-feature-btn a {
    width: 100%;
    justify-content: space-between; /* 見やすく */
  }

  /* 画像の比率崩れ防止 */
  .clinic-feature-image img {
    height: auto;
  }


}

/*------------------ モーション ------------------*/
/* 共通：初期状態（まだ表示しない） */
.clinic-feature-block .clinic-feature-content {
  opacity: 0;
  transform: translateX(-40px); /* デフォルト：左→右 */
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}

/* reverse のときだけ初期位置を右側に */
.clinic-feature-block.feature-block-reverse .clinic-feature-content {
  transform: translateX(40px); /* 右→左 */
}

/* 表示状態：元の位置へ */
.clinic-feature-block .clinic-feature-content.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* アクセシビリティ（動きを減らす設定の人） */
@media (prefers-reduced-motion: reduce) {
  .clinic-feature-block .clinic-feature-content {
    transition: none;
    transform: none;
    opacity: 1;
  }
}




/*============================= 院長挨拶 =============================*/
.greeting-sec {
    padding: 7vw 0;
}

.greeting-sec h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 45px;
    font-weight: 700;
    margin: 0 auto;
    padding: 0 0 5px;
    width: 80%;
    color: #131b1c;
}

.greeting-sec h2::before,
.greeting-sec h2::after {
  content: "";
  flex: 1;               
  height: 1px;             
  background:#131b1c;    
}

.greeting-sec h2::before {
    margin-right: 30px;
}

.greeting-sec h2::after {
  margin-left: 30px;       /* 文字と線の間隔（右） */
}

.greeting-sec .ttl-en {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    color: #16778c;
    font-size: 18px;
    letter-spacing: 10px;
    font-weight: 500;
}

.greeting-sec-box {
    width: 80%;
    margin: 30px auto 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
}

.greeting-sec-box p {
    margin: 11px 0;
}

.point {
    color: #16778c;
    font-weight: 700;
}

.greeting-sec-box .line {
    background: #89c6c682;
    padding: 1px;
    margin: 0 2px;
}


.greeting-sec-pic{
	overflow: hidden; 
}

.greeting-sec-pic img{
	    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.greeting-sec {
    padding: 16vw 0;
}

.greeting-sec h2 {
    font-size: 25px;
}

.greeting-sec .ttl-en {
    font-size: 17px;
}

.greeting-sec-box {
    display: flex;
    flex-direction: column-reverse;
    margin: 10px auto;
    gap: 5px;
    width: 90%;
}

.greeting-sec-pic {
    width: 85%;
}

.greeting-sec-box .line {
    padding: 0.5px;
}
}

/*============================= 矯正治療の流れ =============================*/
.orthodontic-process {
    padding: 5vw 0;
    background: #16778c;
}

.orthodontic-process h2 {
    font-size: 3rem;
    color: #fff;
}
.orthodontic-process__layout {
    height: 530px;
    display: flex;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    min-height: 0;
    width: 95%;
    margin: 0 auto;
}

/* 左メニュー */
.orthodontic-process__sidebar {
    width: 18%;
    border-right: 1px solid #eee;
    overflow-y: auto;
    background-color: #ffffff;
}

.orthodontic-process__menu {
    display: grid;
    gap: 0px;
    height: 100%;
}

.orthodontic-process__menu-link {
    color: #bf9782;
    padding: 15px 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    letter-spacing: 1px;
    font-weight: 700;
    border-bottom: 1px solid #b1b1b1;
    justify-content: center;
    gap: 5px;
}

.orthodontic-process__menu-link span {
    color: #fff;
    background: #bf9782;
    padding: 4px 13px 7px;
    font-size: 13px;
    letter-spacing: 1px;
    border-radius: 50px;
    text-shadow: 0 0px 5px #983a0a;
}

.orthodontic-process__menu-link:hover {
  background: #bf9782;
	color:#fff;    
}


.orthodontic-process__menu-link:hover span {
    color:#bf9782;
    background: #fff;
    text-shadow: none;
}

/* 右側 */
.orthodontic-process__main {
  flex: 1;

  /* 横崩れ防止 */
  min-width: 0;

  /* flex内スクロールで崩れにくくする */
  min-height: 0;
}

/* 右側だけスクロールする枠 */
.orthodontic-process__scroll {
    height: 100%;
    overflow-y: auto;
    /* padding: 16px; */
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
}

/* - -  各流れボックス  - - */
.orthodontic-process__section {
    padding-bottom: 50px;
    background: #fff;
}

.orthodontic-process__section h3 {
    font-size: 25px !important;
}

.orthodontic-process__title {
    margin: 0 0;
    scroll-margin-top: 12px;
    background: #f1fcf8;
    padding: 20px 15px;
    color: #3fa6a6;
    border-bottom: 2px dotted #3fa6a6;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}

.orthodontic-process__title span {
    background: linear-gradient(
308deg, rgba(22, 119, 140, 1) 0%, rgba(63, 166, 166, 1) 100%);
    color: #fff;
    padding: 6px 17px 9px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 50px;
}

.orthodontic-process-cont {
    display: grid;
    align-items: start;
    grid-template-columns: 2fr 1.2fr;
}

.orthodontic-process-text {
    margin: 10px 15px 0;
}

.orthodontic-process-pic {
    overflow: hidden;
}

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

/* ------------ タブレットサイズ ------------ */
@media (max-width: 960px) {
	.orthodontic-process__menu-link{
		    text-align: center;
	}
	
.orthodontic-process__menu-link br {
    display: block;
}
	
}

/* スマホ対応（縦並び） */
@media (max-width: 768px) {

.orthodontic-process h2{
    font-size: 2rem;
    letter-spacing: 2px;
}

.orthodontic-process__layout {
    width: 90%;
    height: auto;
    flex-direction: column;
}
	
  .orthodontic-process__scroll {
    height: 500px; /* スマホでは右側の高さを確保（お好みで） */
  }

  .orthodontic-process__sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #eee;
    overflow-x: auto;
  }

/* .orthodontic-process__menu {
    grid-auto-flow: column;
    overflow-x: auto;
    width: 100%;
} */
.orthodontic-process__menu {
    overflow-x: auto;
    display: flex;
    align-items: stretch;
}

	.orthodontic-process__menu a{
        border-right: 1px solid #ebebeb;
	}

.orthodontic-process__menu a:last-child {
  border-right: none; 
}

.orthodontic-process__section {
    padding-bottom: 20px;
}

.orthodontic-process-cont {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 7px;
}

.orthodontic-process-text {
    margin: 0 15px;
    text-align: justify;
}

.orthodontic-process__menu-link {
    font-size: 14px;
    letter-spacing: normal;
    border-bottom: none;
    padding: 15px 18px;
    width: 100%;
    white-space: nowrap;
}

}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.orthodontic-process__section h3 {
    font-size: 16px !important;
}

.orthodontic-process__title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    text-align: left;
    padding: 15px 10px;
}

.orthodontic-process__title span {
    padding: 6px 0;
    width: 23%;
    margin: 0 0;
    text-align: center;
    font-size: 14px;
}

.orthodontic-process-text p {
    letter-spacing: normal;
    line-height: 24px;
    margin: 7px 0;
    font-weight: 400;
    font-size: 15px !important;
}

.orthodontic-process__menu-link {
    padding: 9px 14px;
    letter-spacing: 1px;
    gap: 6px;
}

.orthodontic-process__menu-link span {
    font-size: 12px;
}


}


/*============================= コラム＆バナー =============================*/
.article-block {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    justify-items: center;
    align-items: center;
    padding: 7vw 0 3vw;
    width: 85%;
    gap: 50px;
    margin: 0 auto;
}
/* - - - - - - - コラム - - - - - - -　*/
.column-sec{
	
}

.column-sec h2 {
    font-size: 30px;
    margin-bottom: 40px;
    padding-bottom: 16px;
    border-bottom: 3px dotted #3fa6a6;
}

.column-box {
    margin: 0 auto;
    width: 100%;
    display: flex;
    gap: 16px;
    flex-direction: column;
}

.column-box-item {
    border-bottom: 2px dotted #d5d5d5;
    padding-bottom: 20px;
}

.column-box-link {
    display: grid;
    grid-template-columns: 1fr 3.5fr;
    gap: 10px;
    align-items: center;
}

.column-box-img {
    overflow: hidden;
    width: 100%;
    height: 100px;
}

.column-box-link .is-empty {
    background-image: url(https://morise-implant.com/wp-content/uploads/2025/11/logo2.png);
    background-color: #16778c;
    background-position: center;
    background-size: 80%;
    background-repeat: no-repeat;
}

.column-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.column-box-date {
    color: #868686;
    font-size: 14px !IMPORTANT;
    font-weight: 400;
    letter-spacing: 1px;
}

.column-box-ttl {
    color: #3fa6a6;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 23px;
    margin-top: 1px;
    width: 100%;
}

.column-box-main {
    font-size: 15px !IMPORTANT;
    letter-spacing: normal;
    line-height: normal;
    margin-top: 8px;
}
/* - - - - - - - バナー - - - - - - -　*/
.banner-sec {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.banner-sec a {
    overflow: hidden;
    width: 100%;
    display: block;
    box-shadow: 0 0 4px 1px rgb(0 0 0 / 12%);
}

.banner-sec img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #bebebe;
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {
.article-block {
    display: flex;
    flex-direction: column;
}
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){

.column-box {
    gap: 9px;
}

.column-box-item {
    padding-bottom: 9px;
}

.article-block {
    padding: 15vw 0 5vw;
    gap: 20px;
}
	
.column-sec h2 {
    font-size: 25px;
    margin-bottom: 25px;
}

.column-box-link {
    grid-template-columns: 1fr 2.2fr;
}

.column-box-ttl {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 21px;
}

.column-box-date {
    font-size: 12px !important;
}

	.column-box-main{
	display: none;	
	}

.banner-sec {
    gap: 12px;
}

}


/*============================= アクセス =============================*/
.top-access-sec {
    padding: 3vw 0 7vw;
}
.top-access-sec h2 {
    margin-bottom: 15px;
    text-align: center;
    padding: 16px 0;
    border-bottom: 3px dotted #3fa6a6;
    font-weight: 600;
    font-size: 30px;
}

.access-box {
    width: 85%;
    margin: 0 auto;
    padding: 40px;
    box-sizing: border-box;
    border-radius: 10px;
    background: url('https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-01.jpg') center -260px;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    border: 4px solid #fff;
    box-shadow: 0 0 6px 0px #0000001f;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
}

/* .access-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 3%);
    border-radius: 10px;
}
 */

.access-pic {
    overflow: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
}

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

.access-txt {
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 15px;
}

.access-cont {
    letter-spacing: 1px;
}

.access-cont span {
    background: #3fa6a6;
    color: #fff;
    padding: 8px 20px;
    display: inline-block;
    margin: 0 10px 0 0;
    font-weight: 600;
    letter-spacing: 2px;
    box-shadow: 0 0 4px 0px #00000017;
}

.access-vehicle {
    background: #3fa6a6;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 1.2rem;
    margin-top: 10px;
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {

.access-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}
	
.access-cont {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.access-cont span {
    margin: 0 0;
    font-weight: 500;
}
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){

.top-access-sec {
    padding: 5vw 0 15vw;
}
	
.top-access-sec h2 {
    font-size: 25px;
    padding: 10px 0;
}

.access-txt {
    gap: 20px;
}

.access-cont {
    text-align: center;
    line-height: 20px;
}
	
.access-box {
width: 95%;
        padding: 10px;
    background: url(https://morise-implant.com/wp-content/uploads/2026/01/menu-bg-01.jpg) center top;
    background-size: cover;
}

.access-cont span {
    margin: 0 0 5px 0;
    font-weight: 500;
    text-align: center;
    padding: 10px 0;
}

}


/*=============================  =============================*/