@charset "UTF-8";
/* CSS Document */

/* ---------------------
  項目をコピーしてページ内検索することで目的のセクションに移動できます。
  スマホの各項目には「（SP）」で移動できます。
  - *基本要素
  - *メインビジュアル
  - *共通要素
  - *レイアウト
	- *インプラント
	- *小児矯正
--------------------- */

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

  *基本要素

==================================================================================================================================*/
:root {
  /* メイン色 */
  --rich-main-color: #1c446d;
  /* サブ色 */
  --rich-sub-color: #c1a768;
  /* レイアウト類の背景色 */
  --rich-bg-color: #f0f0f0;
  /* 境界線色 */
  --rich-border-color: #bfbfbf;
	/* タイトル色 */
	--rich-tit-color: #333;
	/* テキスト色 */
	--rich-text-color: #333;
}

body {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.rich_body_inner {
  position: relative;
  overflow: hidden;
}

::-moz-selection {
  background: var(--rich-sub-color);
}

::selection {
  background: var(--rich-sub-color);
}

/* ==============================================
  *基本要素（SP）
============================================== */
@media screen and (max-width: 640px) {
  body {
    font-size: 15px;
  }
}

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

  *メインビジュアル

==================================================================================================================================*/
.rich_head_mv {
  position: relative;
}

.rich_content_mv {
  height: 1000px;
}

.rich_content_mv::before {
  display: block;
  position: absolute;
  top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
  height: 100%;
	margin: auto;
	background: rgba(31, 51, 78, 0.3);
	content: "";
}

.rich_content_mv .header_img {
  position: absolute;
	top: 0;
  bottom: 0;
	left: 0;
	right: 0;
  z-index: -1;
	width: 100%;
  min-height: 100%;
  margin: auto;
	overflow: hidden;
	-o-object-fit: cover;
  object-fit: cover;
}

.rich_content_mv .inner {
	display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
	bottom: 0;
  left: 0;
  right: 0;
	width: 1200px;
  height: 100%;
  margin: auto;
	padding: 0!important;
}

/*---------- キャッチコピー ----------*/
.rich_mv_slogan {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin: auto;
}

.rich_mv_slogan_txt {
  width: -webkit-fit-content;
  width: fit-content;
  color: #fff;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 42px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  white-space: nowrap;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
}

.rich_mv_slogan_txt p {
  position: relative;
}

.rich_mv_slogan_txt span {
  color: #e6b744;
}

.rich_mv_slogan_txt span.fz01 {
  font-size: 140%;
}

.rich_mv_slogan_txt span.fz02 {
  font-size: 148%;
}

.rich_mv_slogan_txt span.fz03 {
  font-size: 131%;
}

.rich_mv_slogan_txt span.fz04 {
  font-size: 119%;
}

.rich_mv_slogan_txt span.ls01 {
	color: #fff;
	letter-spacing: -0.08em;
}

.rich_mv_slogan_txt span.ls02 {
	margin-left: 5px;
	color: #fff;
}

/*---------- ページタイトル ----------*/
.main_headline {
  display: none;
}

/* ==============================================
  *メインビジュアル（SP）
============================================== */
@media screen and (max-width: 640px) {
  #mainvisual {
    margin-top: 55px;
  }
  
  .rich_content_mv {
    height: 400px!important;
  }

  .rich_content_mv .inner {
    width: 100%;
    padding: 0 5%!important;
  }

  /*---------- キャッチコピー ----------*/
  .rich_mv_slogan {
    padding-left: 5%;
  }
  
  .rich_mv_slogan_txt {
    font-size: 16px;
  }
}

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

  *共通要素

==================================================================================================================================*/
.rich_contents_bg {
  position: relative;
}

.wrapper {
	display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
	z-index: 1;
  width: 100%;
  margin: 0;
  background: none;
}

.wrapper main {
  width: 100%;
  padding: 0;
}

/*-------------------- パンくず --------------------*/
#breadcrumb {
  margin: 0;
  background: #1f334e;
}

#breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 0;
  counter-reset: unset;
}

#breadcrumb ol li {
  position: relative;
  margin: 0;
  padding-right: 20px;
  font-size: 100%;
  line-height: 1.5;
}

#breadcrumb ol li::before {
  position: absolute;
  top: 50%;
  left: unset;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 16px;
  margin: 0;
  padding: 0;
  border-radius: none;
  border: none;
  background: none;
  color: inherit;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  content: "›";
}

#breadcrumb ol li:last-child {
  display: inline-block;
  position: relative;
  width: auto;
  margin-right: 0;
  padding-right: 0;
}

#breadcrumb ol li:last-child::before {
  content: normal;
}

#breadcrumb ol li a {
  display: inline-block;
  position: relative;
  width: auto;
  color: #fff;
}

#breadcrumb ol li span {
  color: #fff;
}

#breadcrumb ol li a:hover {
  color: #fff;
}

/*-------------------- 下層ページのレイアウト --------------------*/
.body_single {
  position: relative;
  margin: 0;
}

.body_single p {
  margin-bottom: 1em;
}

.body_single p:last-child {
  margin-bottom: 0;
}

.rich_wrap {
	position: relative;
}

.rich_inner {
	position: relative;
}

.rich_box01 {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/*-------------------- 下層の見出しの上に余白を付ける --------------------*/
.body_single h2:nth-child(n+2),
.cmn_editor h2:nth-child(n+2) {
  margin: 0;
}

.body_single h3:nth-child(n+2),
.body_single h4:nth-child(n+2),
.body_single h5:nth-child(n+2),
.body_single h6:nth-child(n+2),
.cmn_editor h3:nth-child(n+2),
.cmn_editor h4:nth-child(n+2),
.cmn_editor h5:nth-child(n+2),
.cmn_editor h6:nth-child(n+2) {
  margin: 0;
}

/*-------------------- タイトル --------------------*/
.rich_tit {
  position: relative;
  margin-bottom: 80px;
  text-align: center;
}

.rich_tit_en {
	margin-bottom: 0!important;
  color: rgba(255, 255, 255, 1);
  font-size: 150px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-family: "cormorant", sans-serif;
  font-weight: 400;
  font-style: normal;
}

h2 {
  position: relative;
	margin: -60px 0 0!important;
  padding: 0;
  background: none;
  color: var(--rich-tit-color);
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

h2::after {
  display: none;
}

h3 {
	position: relative;
	margin-bottom: 20px;
	padding: 0;
	border: none;
	font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

h3::after {
	display: none;
}

h4 {
	width: fit-content;
	margin: 0 auto 50px;
}

/* ==============================================
  *共通要素（SP）
============================================== */
@media screen and (max-width: 640px) {
  .wrapper {
    display: block;
    padding: 0;
  }

  .wrapper main {
    margin: 0;
  }

  /* パンくず */
  #breadcrumb ol {
    padding: 20px 5%;
  }
  
  #breadcrumb ol li {
    font-size: 12px;
  }
  
  /* タイトル */
  .rich_tit {
    margin-bottom: 50px;
  }

  .rich_tit_en {
    font-size: 70px;
  }
  
  h1 {
    padding: 10px 5%;
    background: var(--bg-color);
    text-align: center;
  }

  h2 {
    margin: -40px 0 0!important;
    font-size: 26px;
  }

  h3 {
    margin-bottom: 20px;
    font-size: 20px;
  }
	
	h4 {
		width: fit-content;
		margin: 0 auto 20px;
	}
}

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

  *レイアウト

==================================================================================================================================*/
/*-------------------- rich_layout01 --------------------*/
.rich_layout01 {
  display: flex;
  flex-flow: wrap;
  gap: 120px 0;
  position: relative;
}

.rich_layout01_item {
	position: relative;
}

.rich_layout01_detail {
  display: flex;
  width: 100%;
  margin-top: 50px;
}

.rich_layout01_img {
	flex-shrink: 0;
	position: relative;
  width: 500px;
  margin-top: -50px;
}

.rich_layout01_img figure {
	position: relative;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
}

.rich_layout01_img figure::before {
  position: absolute;
  top: 20px;
	left: -20px;
  z-index: -2;
  width: 100%;
  height: 100%;
	background: rgba(28, 68, 109, 0.3);
  content: "";
}

.rich_layout01_img figure::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 96%;
  height: 94%;
  margin: auto;
  border: 1px solid rgba(193, 167, 104, 0.55);
  content: "";
}

.rich_layout01_desc {
	display: flex;
  flex-flow: column;
	justify-content: center;
  position: relative;
  width: calc(100% + 50px);
  height: 100%;
  min-height: 400px;
  margin: 0 0 0 -100px;
  padding: 50px 70px;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.98);
}

.rich_layout01_desc::before {
  position: absolute;
  top: 20px;
	right: -20px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(193, 167, 104, 0.3);
  content: "";
}

.rich_layout01_desc::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 97%;
  height: 94%;
  margin: auto;
  border: 1px solid rgba(193, 167, 104, 0.55);
  content: "";
}

.rich_layout01_num {
	position: absolute;
	top: 50%;
	right: -75px;
  z-index: 1;
	transform: translateY(-50%);
}

.rich_layout01_num p {
  color: #c1a768;
	font-family: "cormorant", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 40px;
	letter-spacing: 0.08em;
	line-height: 1;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.rich_layout01_num p span {
	display: inline-block;
	margin-top: 10px;
  color: #1c436d;
	font-size: 300%;
	vertical-align: super;
}

.rich_layout01_txt {
	position: relative;
}

.rich_layout01_tit {
  margin-bottom: 20px;
}

.rich_layout01_tit h3 {
	margin-bottom: 0;
  color: #131a3b;
  font-weight: 500;
  font-size: 20px;
}

.rich_layout01_txt p {
	color: var(--rich-text-color);
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

/* 左右 */
.rich_layout01_item:nth-child(even) .rich_layout01_detail {
  flex-flow: row-reverse;
}

.rich_layout01_item:nth-child(even) .rich_layout01_img figure::before {
  left: auto;
	right: -20px;
}

.rich_layout01_item:nth-child(even) .rich_layout01_desc {
  margin: 0 -50px 0 0;
}

.rich_layout01_item:nth-child(even) .rich_layout01_desc::before {
  left: -20px;
  right: auto;
}

.rich_layout01_item:nth-child(even) .rich_layout01_num {
	left: -75px;
	right: auto;
	transform: translateY(-50%) scale(-1, -1);
}

/*-------------------- rich_layout02 --------------------*/
.rich_layout02 {
  position: relative;
}

.rich_layout02_item {
  position: relative;
  padding: 12px;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  background: #fff;
}

.rich_layout02_item::before {
  opacity: 0.7;
	position: absolute;
  top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	background: url("images/rich/marble_white02.jpg") no-repeat center / cover;
	content: "";
}

.rich_layout02_item::after {
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	width: 160px;
	height: 60px;
	margin: auto;
	background: #ddcfac;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}

.rich_layout02_item:last-child::after {
  display: none;
}

.rich_layout02_item:not(:last-child) {
  margin-bottom: 160px;
}

.rich_layout02_num {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -70px;
  left: 0;
  right: 0;
  z-index: 1;
  width: 140px;
  height: 140px;
  margin: auto;
  border-radius: 50%;
  background: -webkit-linear-gradient(-45deg, #1a2645 0%, #1a2645 50%, #1c436d 50%, #1c436d 100%);
  background: linear-gradient(-45deg, #1a2645 0%, #1a2645 50%, #1c436d 50%, #1c436d 100%);
}

.rich_layout02_num::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 92%;
  height: 92%;
  margin: auto;
  border-radius: 50%;
  border: 1px solid #f3c993;
  content: "";
}

.rich_layout02_num p {
  position: relative;
  color: #f3c993;
	font-family: "cormorant", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 25px;
	letter-spacing: 0.08em;
	line-height: 1;
  text-align: center;
}

.rich_layout02_num p span {
	display: block;
  margin-top: -8px;
  color: #fff;
  font-weight: 400;
  font-size: 220%;
}

.rich_layout02_detail {
  display: flex;
  flex-flow: wrap;
  gap: 20px;
  padding: 20px;
  border: 1px solid rgba(193, 167, 104, 0.55);
}

.rich_layout02_img {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(40% - 10px);
}

.rich_layout02_img figure {
  position: relative;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
}

.rich_layout02_desc {
  display: flex;
  flex-flow: column;
	justify-content: center;
  position: relative;
  width: calc(60% - 10px);
  padding: 120px 20px;
}

.rich_layout02_tit {
  margin-bottom: 20px;
}

.rich_layout02_tit h3 {
	margin-bottom: 0;
  color: #131a3b;
  font-weight: 500;
  font-size: 22px;
}

.rich_layout02_txt p {
	color: var(--rich-text-color);
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

/*-------------------- rich_layout03 --------------------*/
.rich_layout03 {
  position: relative;
}

.rich_layout03::before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--rich-border-color);
  content: "";
}

.rich_layout03_item {
  display: flex;
  flex-wrap: wrap;
	position: relative;
  margin: 5px 0;
}

.rich_layout03_item::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--rich-border-color);
  content: "";
}

.rich_layout03_tit {
	display: flex;
	flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 30%;
	padding: 20px;
	border-right: 1px solid var(--rich-border-color);
  background: #fff;
  font-family: "shippori-mincho", sans-serif;
	font-weight: 500;
	font-style: normal;
  color: var(--rich-text-color);
  font-size: 18px;
  line-height: 1.5;
	letter-spacing: 0.1em;
  text-align: center;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_layout03_tit::before {
  opacity: 0.7;
	position: absolute;
  top: 0;
	bottom: 0;
	left: 0;
	right: 0;
  z-index: -1;
	width: 100%;
	height: 100%;
	margin: auto;
	background: url("images/rich/marble_white02_sp.jpg") no-repeat center / cover;
	content: "";
}
.rich_layout03_tit span {
  display: block;
	margin-bottom: 5px;
  width: 100%;
	color: var(--rich-sub-color);
  font-family: "cormorant", sans-serif;
	font-weight: 400;
	font-style: normal;
  font-size: 250%;
	line-height: 1;
}

.rich_layout03_desc {
	display: flex;
  flex-flow: column;
  justify-content: center;
  width: 70%;
  padding: 3%;
	background: rgba(255, 255, 255, 0.98);
}

/*-------------------- rich_layout04 --------------------*/
.rich_layout04 {
  position: relative;
}

.rich_layout04_item {
  position: relative;
}

.rich_layout04_tit {
  margin-bottom: 20px;
}

.rich_layout04_tit h3 {
	margin-bottom: 0;
  color: #131a3b;
  font-size: 22px;
}

.rich_layout04_tit h3::before {
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid var(--rich-main-color);
  content: "";
}

.rich_layout04_tit h3 span {
  position: relative;
  margin-right: 30px;
  padding: 8px 18px;
  background: var(--rich-main-color);
  color: #fff;
  font-family: "cormorant", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 110%;
  line-height: 1;
}

.rich_layout04_tit h3 span::before {
  position: absolute;
  top: 50%;
  right: -10px;
  transform: translateY(-50%);
  width: 10px;
	height: 20px;
  background: var(--rich-main-color);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
}

.rich_layout04_tit h3 span em {
  margin-left: 8px;
  font-style: normal;
  font-size: 160%;
}

.rich_layout04_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 60px;
}

.rich_layout04_img div {
  position: relative;
  width: calc(95% / 2);
}

.rich_layout04_img div:nth-child(odd)::before {
  position: absolute;
  top: 50%;
  right: -45px;
  transform: translateY(-50%);
  width: 25px;
	height: 35px;
  background: #ddcfac;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
}

.rich_layout04_img div figure {
  position: relative;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
}

.rich_layout04_desc {
  position: relative;
  margin-top: 15px;
}

.rich_layout04_desc dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.rich_layout04_desc dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 23%;
  margin-bottom: 2px;
  padding: 20px;
  border: 1px solid var(--rich-main-color);
  background: var(--rich-main-color);
  color: #fff;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.rich_layout04_desc dl dd {
  width: 77%;
  margin-bottom: 2px;
  padding: 20px;
  border: 1px solid var(--rich-border-color);
  border-left: none;
  background: rgba(255, 255, 255, 0.98);
}

/* ver02 */
.rich_layout04.ver02 .rich_layout04_img div{
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 20px;
}
.rich_layout04.ver02 .rich_layout04_img div:nth-child(odd)::before{
	display: none;
}

/*-------------------- rich_layout05 --------------------*/
.rich_layout05 {
  position: relative;
}

.rich_layout05:not(:last-child) {
  margin-bottom: 50px;
}

.rich_layout05_tit h3 {
  margin-bottom: 0;
  padding: 20px;
  background: url("images/rich/tit_logo.png") right -10px top 2px / 154px auto no-repeat, -webkit-linear-gradient(90deg, #1c436d 0%, #1a2645 100%);
  background: url("images/rich/tit_logo.png") right -10px top 2px / 154px auto no-repeat, linear-gradient(90deg, #1c436d 0%, #1a2645 100%);
  color: #fff;
  font-size: 22px;
	text-align: center;
}

.rich_layout05_tit h3::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 1px solid var(--rich-sub-color);
  pointer-events: none;
  content: "";
}

.rich_layout05_desc {
  position: relative;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  background: url("images/rich/frame_deco01.svg") no-repeat left 10px top 10px / 9%, url("images/rich/frame_deco02.svg") no-repeat left 10px bottom 10px / 9%, url("images/rich/frame_deco03.svg") no-repeat right 10px top 10px / 9%, url("images/rich/frame_deco04.svg") no-repeat right 10px bottom 10px / 9% rgba(255, 255, 255, 0.98);
}

.rich_layout05_txt {
  padding: 80px 80px;
}

.rich_layout05_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.rich_layout05_flex_img {
  width: 40%;
}

.rich_layout05_flex_txt {
  flex: 1;
  padding-left: 50px;
}

/*-------------------- rich_layout06 --------------------*/
.rich_layout06 {
  position: relative;
}

.rich_layout06_item {
  position: relative;
  padding: 12px;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.98);
}

.rich_layout06_item:not(:last-child) {
  margin-bottom: 50px;
}

.rich_layout06_detail {
  display: flex;
  flex-flow: wrap;
  gap: 20px;
  padding: 20px;
  border: 1px solid rgba(193, 167, 104, 0.55);
}

.rich_layout06_img {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(35% - 10px);
}

.rich_layout06_img figure {
  position: relative;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
}

.rich_layout06_desc {
  display: flex;
  flex-flow: column;
	justify-content: center;
  position: relative;
  width: calc(65% - 10px);
  padding: 20px 20px;
}

.rich_layout06_txt p {
	color: var(--rich-text-color);
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.rich_layout06_tit {
	position: relative;
  margin-bottom: 20px;
}

.rich_layout06_tit p {
  color: #131a3b;
  font-family: "shippori-mincho", sans-serif;
	font-weight: 500;
	font-style: normal;
  font-size: 22px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

/*-------------------- rich_layout07 --------------------*/
.rich_layout07 {
  position: relative;
	padding: 40px 40px;
	background: rgba(255, 255, 255, 0.98);
}

.rich_layout07:not(:last-child) {
  margin-bottom: 20px;
}

.rich_layout07::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 98.1%;
	height: 91%;
	margin: auto;
	border: 1px solid rgba(193, 167, 104, 0.55);
	content: "";
}

.rich_layout07_tit {
	position: relative;
	margin-bottom: 20px;
}

.rich_layout07_tit p {
 	font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
	font-size: 22px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.rich_layout07_txt {
	color: var(--rich-text-color);
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

/*-------------------- rich_list01 --------------------*/
.rich_list01 {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
  position: relative;
}

.rich_list01 li {
	position: relative;
	padding-left: 40px;
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 2;
}

.rich_list01 li::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 30px;
	height: 28px;
	background: url("images/rich/check01.svg") no-repeat center / contain;
	content: "";
}

/*-------------------- rich_list02 --------------------*/
.rich_list02 {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
  position: relative;
}

.rich_list02 li {
	position: relative;
	padding-left: 40px;
	color: #fff;
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 2;
}

.rich_list02 li::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 30px;
	height: 28px;
	background: url("images/rich/check02.svg") no-repeat center / contain;
	content: "";
}

/*-------------------- rich_list03 --------------------*/
.rich_list03 {
  position: relative;
}

.rich_list03 li {
	position: relative;
	padding-left: 20px;
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
}

.rich_list03 li::before {
	position: absolute;
	top: 13px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
  background: var(--main-color);
	content: "";
}

/*-------------------- rich_list04 --------------------*/
.rich_list04 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
  position: relative;
}

.rich_list04  li {
	position: relative;
	padding-left: 20px;
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
}

.rich_list04 li::before {
	position: absolute;
	top: 13px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
  background: var(--main-color);
	content: "";
}

/*-------------------- rich_table01 --------------------*/
.rich_table01 {
  position: relative;
}

.rich_table01 table {
  table-layout: fixed;
  width: 100%;
  border-spacing: 1px;
  border-collapse: collapse;
  background: var(--rich-bg-color);
}

.rich_table01 th,
.rich_table01 td {
  padding: 20px;
  border: 1px solid var(--rich-border-color);
  text-align: center;
}

.rich_table01 th {
  background: var(--rich-main-color);
  color: #fff;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.rich_table01 td {
  background: rgba(255, 255, 255, 0.98);
  font-size: 18px;
}

.rich_table_txt {
  margin-top: 5px;
  color: var(--rich-text-color);
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: right;
}

/* ==============================================
  *レイアウト（SP）
============================================== */
@media screen and (max-width: 640px) {
  /* rich_layout01 */
  .rich_layout01 {
    gap: 50px 0;
  }

  .rich_layout01_detail {
    flex-flow: column;
    margin: 0;
  }

  .rich_layout01_img {
    width: 100%;
    margin: 0 auto 20px;
  }

  .rich_layout01_img figure::before {
    top: 10px;
    left: -10px;
  }

  .rich_layout01_img figure::after {
    width: 96%;
    height: 94%;
  }

  .rich_layout01_desc {
    width: 100%;
    min-height: auto;
    margin: 0;
    padding: 20px 30px 50px;
  }

  .rich_layout01_desc::before {
    top: 10px;
    right: -10px;
  }

  .rich_layout01_desc::after {
    width: 95%;
    height: 95%;
  }

  .rich_layout01_num {
    position: static;
    transform: initial;
    margin-bottom: 30px;
    text-align: center;
  }

  .rich_layout01_num p {
    font-size: 25px;
    -webkit-writing-mode: initial;
    writing-mode: initial;
  }

  .rich_layout01_num p span {
    margin: 0 0 0 5px;
    font-size: 250%;
    vertical-align: baseline;
  }

  .rich_layout01_tit {
    margin-bottom: 20px;
  }

  .rich_layout01_tit h3 {
    font-size: 18px;
  }

  .rich_layout01_txt p {
    font-size: 15px;
  }

  /* 左右 */
  .rich_layout01_item:nth-child(even) .rich_layout01_detail {
    flex-flow: column;
  }

  .rich_layout01_item:nth-child(even) .rich_layout01_img figure::before {
    right: -10px;
  }

  .rich_layout01_item:nth-child(even) .rich_layout01_desc {
    margin: 0;
  }

  .rich_layout01_item:nth-child(even) .rich_layout01_desc::before {
    left: -10px;
  }

  .rich_layout01_item:nth-child(even) .rich_layout01_num {
    transform: initial;
  }
  
  /* rich_layout02 */
  .rich_layout02_item {
    padding: 10px;
  }

  .rich_layout02_item::after {
    bottom: -15px;
    width: 120px;
    height: 40px;
  }

  .rich_layout02_item:not(:last-child) {
    margin-bottom: 80px;
  }
  
  .rich_layout02_num {
    top: -50px;
    width: 100px;
    height: 100px;
  }

  .rich_layout02_num::before {
    width: 92%;
    height: 92%;
    margin: auto;
  }

  .rich_layout02_num p {
    font-size: 20px;
  }

  .rich_layout02_num p span {
    margin-top: -4px;
    font-size: 200%;
  }

  .rich_layout02_detail {
    gap: 30px 0;
    padding: 20px;
  }

  .rich_layout02_img {
    width: 100%;
  }

  .rich_layout02_desc {
    width: 100%;
    padding: 0 0 20px;
  }

  .rich_layout02_tit {
    margin-bottom: 20px;
    text-align: center;
  }

  .rich_layout02_tit h3 {
    font-size: 20px;
  }

  .rich_layout02_txt p {
    font-size: 15px;
  }
  
  /* rich_layout03 */
  .rich_layout03_item {
    margin: 5px 0;
  }

  .rich_layout03_tit {
    width: 100%;
    border-bottom: 1px solid var(--rich-border-color);
    border-right: none;
    font-size: 17px;
  }

  .rich_layout03_tit span {
    margin-bottom: 5px;
  }

  .rich_layout03_desc {
    width: 100%;
    padding: 5%;
  }
  
  /* rich_layout04 */
  .rich_layout04_tit {
    margin-bottom: 30px;
  }

  .rich_layout04_tit h3 {
    font-size: 18px;
  }

  .rich_layout04_tit h3::before {
    bottom: -5px;
  }

  .rich_layout04_tit h3 span {
    display: block;
    width: fit-content;
    margin: 0 auto 20px;
    padding: 0 18px 8px;
    font-size: 110%;
  }

  .rich_layout04_tit h3 span::before {
    top: auto;
    bottom: -9px;
    left: 0;
    right: 0;
    transform: initial;
    width: 20px;
    height: 10px;
    margin: auto;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  .rich_layout04_tit h3 span em {
    font-size: 170%;
  }

  .rich_layout04_img {
    gap: 50px 0;
  }

  .rich_layout04_img div {
    width: 100%;
  }

  .rich_layout04_img div:nth-child(odd)::before {
    top: auto;
    bottom: -47px;
    left: 0;
    right: 0;
    width: 30px;
    height: 20px;
    margin: auto;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  .rich_layout04_desc {
    margin-top: 25px;
  }

  .rich_layout04_desc dl dt {
    width: 100%;
    margin: 0;
    padding: 15px;
    font-size: 16px;
  }

  .rich_layout04_desc dl dd {
    width: 100%;
    padding: 15px;
    border-top: none;
    border-left: 1px solid var(--rich-border-color);
  }
  
  .rich_layout04_desc dd:last-child {
    margin: 0;
  }
  
  /* rich_layout05 */
  .rich_layout05:not(:last-child) {
    margin-bottom: 30px;
  }

  .rich_layout05_tit h3 {
    padding: 15px;
    background: url("images/rich/tit_logo.png") right -10px center / 125px auto no-repeat, -webkit-linear-gradient(90deg, #1c436d 0%, #1a2645 100%);
    background: url("images/rich/tit_logo.png") right -10px center / 125px auto no-repeat, linear-gradient(90deg, #1c436d 0%, #1a2645 100%);
    font-size: 18px;
  }

  .rich_layout05_desc {
    background: url("images/rich/frame_deco01.svg") no-repeat left 10px top 10px / 12%, url("images/rich/frame_deco02.svg") no-repeat left 10px bottom 10px / 12%, url("images/rich/frame_deco03.svg") no-repeat right 10px top 10px / 12%, url("images/rich/frame_deco04.svg") no-repeat right 10px bottom 10px / 12% rgba(255, 255, 255, 0.98);
  }

  .rich_layout05_txt {
    padding: 40px 40px;
  }

  .rich_layout05_flex_img {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  .rich_layout05_flex_txt {
    width: 100%;
    padding: 0;
  }
	
	/* rich_layout06 */
  .rich_layout06_item {
    padding: 10px;
  }

  .rich_layout06_item:not(:last-child) {
    margin-bottom: 20px;
  }

  .rich_layout06_detail {
    gap: 30px 0;
    padding: 20px;
  }

  .rich_layout06_img {
    width: 100%;
  }

  .rich_layout06_desc {
    width: 100%;
    padding: 0 0 20px;
  }
	
	.rich_layout06_txt p {
    font-size: 15px;
  }

  .rich_layout06_tit {
    margin-bottom: 20px;
    text-align: center;
  }

	.rich_layout06_tit p {
    font-size: 20px;
  }
	
	/* rich_list07 */
	.rich_layout07 {
		padding: 40px 30px;
	}

	.rich_layout07:not(:last-child) {
		margin-bottom: 20px;
	}

	.rich_layout07::before {
		width: 95%;
		height: 96%;
	}

	.rich_layout07_tit {
		text-align: center;
	}

	.rich_layout07_tit p {
		font-size: 18px;
	}

	.rich_layout07_txt {
		font-size: 15px;
	}

  /* rich_list01 */
  .rich_list01 {
    gap: 20px 20px;
  }

  .rich_list01 li {
    padding-left: 35px;
    font-size: 16px;
  }

  .rich_list01 li::before {
    top: 4px;
    width: 25px;
    height: 23px;
  }
  
  /* rich_list02 */
  .rich_list02 {
    gap: 20px 20px;
  }

  .rich_list02 li {
    padding-left: 35px;
    font-size: 16px;
  }

  .rich_list02 li::before {
    top: 4px;
    width: 25px;
    height: 23px;
  }
  
  /* rich_table01 */
  .rich_table01 th,
  .rich_table01 td {
    padding: 15px;
  }

  .rich_table01 th {
    font-size: 15px;
  }

  .rich_table01 td {
    font-size: 16px;
  }

  .rich_table_txt {
    font-size: 15px;
  }
}

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

  *インプラント

==================================================================================================================================*/
/*---------- キャッチコピー ----------*/
.rich_content_mv_implant .rich_mv_slogan_txt p::before {
  display: block;
  position: absolute;
  bottom: -36px;
  right: -46px;
  width: 444px;
  background: url("images/rich/implant/mv_slogan_deco.png") no-repeat left top / cover;
  aspect-ratio: 444/84;
  content: "";
}

.rich_content_mv_implant .rich_mv_slogan_txt span:nth-of-type(5) {
  letter-spacing: -0.08em;
}

/*---------- バナー ----------*/
.rich_content_mv_implant .rich_mv_bnr01 {
	position: absolute;
	bottom: 50px;
	left: 0;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.35));
}

.rich_content_mv_implant .rich_mv_bnr01_txt {
  margin: 18px 30px 0 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: right;
}

.rich_content_mv_implant .rich_mv_bnr02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0 20px;
	position: absolute;
	bottom: 50px;
	right: 0;
}

/*-------------------- バナー（コンテンツ共通） --------------------*/
.rich_implant_bnr {
	text-align: center;
}

.rich_implant_bnr img {
	border: 1px solid #fff;
}

/*---------- こんなお悩みありませんか？ ----------*/
.rich_contents_bg_implant .rich_trouble {
	position: relative;
  overflow: hidden;
  background: url("images/rich/implant/rich_trouble_bg.jpg") no-repeat center / cover;
}

.rich_contents_bg_implant .rich_trouble::before {
	position: absolute;
  bottom: 0;
  /*right: 0;*/
	right: min(0px, calc(50% - 950px));
	z-index: 1;
  width: 618px;
  height: 830px;
  background: url("images/rich/implant/rich_trouble_woman.png") no-repeat center / cover;
  content: "";
}

.rich_contents_bg_implant .rich_trouble .rich_box01 {
	z-index: auto;
	max-width: none;
  padding: 100px 0 150px;
}

.rich_contents_bg_implant .rich_trouble .rich_tit {
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 50px;
}

.rich_contents_bg_implant .rich_trouble .rich_tit_en {
  margin-bottom: 10px;
	color: rgba(198, 171, 105, 0.7);
  font-size: 48px;
  text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_implant .rich_trouble h2 {
  margin: 0!important;
	font-size: 50px;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_implant .rich_trouble h2 span {
	font-size: 130%;
}

.rich_contents_bg_implant .rich_trouble_item {
	position: relative;
	padding: 100px 0;
}

.rich_contents_bg_implant .rich_trouble_item::before {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - (50% - 720px));
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  content: "";
}

.rich_contents_bg_implant .rich_trouble_item .rich_list01 {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 50px;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_implant .rich_trouble_txt {
	position: relative;
	z-index: 4;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.rich_contents_bg_implant .rich_trouble_txt p {
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

/*---------- 当院のインプラント治療で改善できます ----------*/
.rich_contents_bg_implant .rich_improvement {
	position: relative;
	background: #1f334e url("images/rich/implant/rich_improvement_bg.png") no-repeat right bottom;
}

.rich_contents_bg_implant .rich_improvement::before {
	position: absolute;
	top: -80px;
	left: 0;
	right: 0;
  z-index: 1;
	width: 500px;
	height: 150px;
	margin: auto;
	background: -webkit-linear-gradient(to right, rgba(221, 207, 172, 0.9) 0, rgba(221, 207, 172, 0.95) 45%, transparent 100%);
  background: linear-gradient(to right, rgba(221, 207, 172, 0.9) 0, rgba(221, 207, 172, 0.95) 45%, transparent 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}

.rich_contents_bg_implant .rich_improvement .rich_box01 {
	padding: 180px 0 100px;
}

.rich_contents_bg_implant .rich_improvement .rich_tit {
	margin-bottom: 80px;
}

.rich_contents_bg_implant .rich_improvement h2 {
	margin-top: 0;
	color: #fff;
	font-size: 30px;
}

.rich_contents_bg_implant .rich_improvement_item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 50px;
	margin-bottom: 80px;
}

.rich_contents_bg_implant .rich_improvement_img {
	width: 420px;
}

.rich_contents_bg_implant .rich_improvement_desc {
	flex: 1;
}

.rich_contents_bg_implant .rich_improvement_txt:not(:last-child) {
	margin-bottom: 50px;
}

.rich_contents_bg_implant .rich_improvement_txt {
	color: #fff;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.rich_contents_bg_implant .rich_improvement_desc h3 {
	margin-bottom: 30px;
	color: #fff;
	font-size: 30px;
}

.rich_contents_bg_implant .rich_improvement_desc h3 span {
	font-size: 190%;
}

.rich_contents_bg_implant .rich_improvement_txt p span {
	display: block;
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 110%;
}

/*---------- 当院が選ばれる理由 ----------*/
.rich_contents_bg_implant .rich_reason {
	background: url("images/rich/marble_white01.jpg") no-repeat center / cover;
}

.rich_contents_bg_implant .rich_reason .rich_box01 {
	padding: 100px 0;
}

.rich_contents_bg_implant .rich_reason .rich_tit {
  margin-bottom: 120px;
}

.rich_contents_bg_implant .rich_layout01_reason {
	margin-bottom: 100px;
}

/*---------- 治療の流れ ----------*/
.rich_contents_bg_implant .rich_flow {
  position: relative;
  background: rgba(230, 230, 230, 1);
}

.rich_contents_bg_implant .rich_flow::before,
.rich_contents_bg_implant .rich_flow::after {
  position: absolute;
  width: 100%;
  height: 50%;
  background: rgba(240, 240, 240, 0.5);
  content: "";
}

.rich_contents_bg_implant .rich_flow::before {
  top: 0;
  left: 0;
  background: rgba(240, 240, 240, 0.5);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.rich_contents_bg_implant .rich_flow::after {
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.rich_contents_bg_implant .rich_flow .rich_box01 {
	padding: 100px 0 120px;
}

.rich_contents_bg_implant .rich_flow .rich_tit {
  margin-bottom: 120px;
}

/*---------- インプラントはメンテナンスが重要です ----------*/
.rich_contents_bg_implant .rich_important {
	position: relative;
	background: #1f334e url("images/rich/implant/rich_important_bg.png") no-repeat right bottom;
}

.rich_contents_bg_implant .rich_important .rich_box01 {
	padding: 150px 0 100px;
}

.rich_contents_bg_implant .rich_important .rich_tit {
	margin-bottom: 80px;
}

.rich_contents_bg_implant .rich_important h2 {
	margin-top: 0;
	color: #fff;
	font-size: 30px;
}

.rich_contents_bg_implant .rich_important h2 span {
	font-size: 190%;
}

.rich_contents_bg_implant .rich_important_item:not(:last-child) {
	margin-bottom: 80px;
}

.rich_contents_bg_implant .rich_important_item h3 {
  margin-bottom: 30px;
	color: #fff;
	font-size: 30px;
  text-align: center;
}

.rich_contents_bg_implant .rich_important_item h3 span {
	font-size: 190%;
}

.rich_contents_bg_implant .rich_important_item01 p {
	margin-bottom: 50px;
  color: #fff;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
  text-align: center;
}

/*---------- 症例 ----------*/
.rich_contents_bg_implant .rich_case {
	background: url("images/rich/marble_white01.jpg") no-repeat center / cover;	
}

.rich_contents_bg_implant .rich_case .rich_box01 {
	padding: 100px 0;
}

.rich_contents_bg_implant .rich_case .rich_layout04 {
  margin-bottom: 80px;
}

/*---------- 治療費 ----------*/
.rich_contents_bg_implant .rich_price {
  position: relative;
	background: rgba(230, 230, 230, 1);
}

.rich_contents_bg_implant .rich_price::before,
.rich_contents_bg_implant .rich_price::after {
  position: absolute;
  width: 100%;
  height: 50%;
  background: rgba(240, 240, 240, 0.5);
  content: "";
}

.rich_contents_bg_implant .rich_price::before {
  top: 0;
  left: 0;
  background: rgba(240, 240, 240, 0.5);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.rich_contents_bg_implant .rich_price::after {
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.rich_contents_bg_implant .rich_price .rich_box01 {
	padding: 100px 0;
}

.rich_contents_bg_implant .rich_price_item {
  margin-bottom: 80px;
}

.rich_contents_bg_implant .rich_price_tit {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rich-border-color);
  border-bottom: none;
  background: #1f334e;
  color: #fff;
  font-size: 20px;
  text-align: center;
}

/* ==============================================
  *インプラント（SP）
============================================== */
@media screen and (max-width: 640px) {
  /* キャッチコピー */
  .rich_content_mv_implant .rich_mv_slogan_txt p::before {
    bottom: -1em;
    right: 0;
    width: 51%;
  }
  
  .rich_contents_bg_implant .rich_sp {
    background: #1f334e;
  }
  
  .rich_contents_bg_implant .rich_sp .rich_box01 {
    padding: 20px 5% 40px;
  }

  /* バナー */
  .rich_contents_bg_implant .rich_sp .rich_mv_bnr01 {
    margin-bottom: 40px;
    text-align: center;
  }
  
  .rich_contents_bg_implant .rich_sp .rich_mv_bnr01_txt {
    margin-top: 20px;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-align: center;
  }

  .rich_contents_bg_implant .rich_sp .rich_mv_bnr02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
  }
  
  .rich_contents_bg_implant .rich_sp .rich_mv_bnr02 p {
    width: 140px;
    height: 140px;
  }

  /* こんなお悩みありませんか？*/
  .rich_contents_bg_implant .rich_trouble {
    background: url("images/rich/implant/rich_trouble_bg.jpg") no-repeat center / cover;
  }

  .rich_contents_bg_implant .rich_trouble::before {
    display: none;
  }

  .rich_contents_bg_implant .rich_trouble .rich_box01 {
    padding: 50px 5% 50px;
  }

  .rich_contents_bg_implant .rich_trouble .rich_tit {
    margin: 0 auto 30px;
  }

  .rich_contents_bg_implant .rich_trouble .rich_tit_en {
    margin-bottom: 10px!important;
    font-size: 20px;
  }

  .rich_contents_bg_implant .rich_trouble h2 {
    font-size: 20px;
  }

  .rich_contents_bg_implant .rich_trouble h2 span {
    font-size: 130%;
  }

  .rich_contents_bg_implant .rich_trouble_item {
    padding: 30px 5% 40px;
    background: rgba(255, 255, 255, 0.5);
  }

  .rich_contents_bg_implant .rich_trouble_item::before {
    display: none;
  }

  .rich_contents_bg_implant .rich_trouble_item .rich_list01 {
    margin: 0 auto 20px;
  }

  .rich_contents_bg_implant .rich_trouble_txt p {
    font-size: 15px;
  }
  
  /* 当院のインプラント治療で改善できます */
  .rich_contents_bg_implant .rich_improvement {
    background: #1f334e url("images/rich/implant/rich_improvement_bg_sp.png") no-repeat right bottom / 120%;
  }
  
  .rich_contents_bg_implant .rich_improvement::before {
    top: -20px;
    width: 200px;
    height: 50px;
  }

  .rich_contents_bg_implant .rich_improvement .rich_box01 {
    padding: 120px 5% 80px;
  }

  .rich_contents_bg_implant .rich_improvement .rich_tit {
    margin-bottom: 30px;
  }

  .rich_contents_bg_implant .rich_improvement h2 {
    font-size: 20px;
  }

  .rich_contents_bg_implant .rich_improvement_item {
    display: block;
    margin-bottom: 50px;
  }

  .rich_contents_bg_implant .rich_improvement_img {
    width: 60%;
    margin: 0 auto 20px;
    text-align: center;
  }

  .rich_contents_bg_implant .rich_improvement_desc {
    width: 100%;
  }

  .rich_contents_bg_implant .rich_improvement_txt:not(:last-child) {
    margin-bottom: 20px;
  }

  .rich_contents_bg_implant .rich_improvement_txt {
    font-size: 15px;
  }

  .rich_contents_bg_implant .rich_improvement_desc h3 {
    margin-bottom: 30px;
    font-size: 20px;
    text-align: center;
  }

  .rich_contents_bg_implant .rich_improvement_desc h3 span {
    display: block;
    font-size: 190%;
  }

  .rich_contents_bg_implant .rich_improvement_txt p span {
    font-size: 110%;
  }
  
  /* 当院が選ばれる理由 */
  .rich_contents_bg_implant .rich_reason {
    background: url("images/rich/marble_white01_sp.jpg") no-repeat center / cover;
  }

  .rich_contents_bg_implant .rich_reason .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_implant .rich_reason .rich_tit {
    margin-bottom: 50px;
  }

  .rich_contents_bg_implant .rich_layout01_reason {
    margin-bottom: 50px;
  }

  /* 治療の流れ */
  .rich_contents_bg_implant .rich_flow .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_implant .rich_flow .rich_tit {
    margin-bottom: 80px;
  }
  
  /*---------- インプラントはメンテナンスが重要です ----------*/
  .rich_contents_bg_implant .rich_important {
    background: #1f334e url("images/rich/implant/rich_important_bg_sp.png") no-repeat right bottom / 120%;
  }

  .rich_contents_bg_implant .rich_important .rich_box01 {
    padding: 80px 5% 80px;
  }

  .rich_contents_bg_implant .rich_important .rich_tit {
    margin-bottom: 30px;
  }

  .rich_contents_bg_implant .rich_important h2 {
    font-size: 20px;
  }

  .rich_contents_bg_implant .rich_important h2 span {
    display: block;
    font-size: 190%;
  }

  .rich_contents_bg_implant .rich_important_item:not(:last-child) {
    margin-bottom: 50px;
  }

  .rich_contents_bg_implant .rich_important_item h3 {
    margin-bottom: 20px;
    font-size: 20px;
  }

  .rich_contents_bg_implant .rich_important_item h3 span {
    font-size: 190%;
  }

  .rich_contents_bg_implant .rich_important_item01 p {
    margin-bottom: 30px;
    font-size: 15px;
    text-align: left;
  }

  /*---------- 症例 ----------*/
  .rich_contents_bg_implant .rich_case {
    background: url("images/rich/marble_white01_sp.jpg") no-repeat center / cover;	
  }

  .rich_contents_bg_implant .rich_case .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_implant .rich_case .rich_layout04 {
    margin-bottom: 50px;
  }

  /*---------- 治療費 ----------*/
  .rich_contents_bg_implant .rich_price {
    position: relative;
    background: rgba(230, 230, 230, 1);
  }

  .rich_contents_bg_implant .rich_price::before,
  .rich_contents_bg_implant .rich_price::after {
    position: absolute;
    width: 100%;
    height: 50%;
    background: rgba(240, 240, 240, 0.5);
    content: "";
  }

  .rich_contents_bg_implant .rich_price::before {
    top: 0;
    left: 0;
    background: rgba(240, 240, 240, 0.5);
    -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }

  .rich_contents_bg_implant .rich_price::after {
    bottom: 0;
    right: 0;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
  }

  .rich_contents_bg_implant .rich_price .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_implant .rich_price_item {
    margin-bottom: 50px;
  }
}

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

  *小児矯正

==================================================================================================================================*/
/*---------- キャッチコピー ----------*/
.rich_content_mv_orthodontics .rich_mv_slogan_txt {
  margin: 0 auto;
}

/*---------- バナー ----------*/
.rich_content_mv_orthodontics .rich_mv_bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0 20px;
	position: absolute;
	bottom: 50px;
	right: 0;
}

.rich_content_mv_orthodontics .rich_mv_bnr p {
	width: 20%;
}

.rich_content_mv_orthodontics .rich_mv_bnr a {
	display: block;
}

.rich_content_mv_orthodontics .rich_mv_bnr a:hover {
	opacity: 0.9;
}

/*---------- こんなお悩みありませんか？ ----------*/
.rich_contents_bg_orthodontics .rich_trouble {
	position: relative;
  overflow: hidden;
  background: url("images/rich/implant/rich_trouble_bg.jpg") no-repeat center / cover;
}

.rich_contents_bg_orthodontics .rich_trouble::before {
	position: absolute;
  bottom: 0;
  /*right: 0;*/
	right: min(0px, calc(50% - 840px));
	z-index: 1;
  width: 563px;
  height: 956px;
  background: url("images/rich/orthodontics/rich_trouble_child.png") no-repeat center / cover;
  content: "";
}

.rich_contents_bg_orthodontics .rich_trouble .rich_box01 {
	z-index: auto;
	max-width: none;
  padding: 100px 0 150px;
}

.rich_contents_bg_orthodontics .rich_trouble .rich_tit {
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 50px;
}

.rich_contents_bg_orthodontics .rich_trouble .rich_tit_en {
  margin-bottom: 10px;
	color: rgba(198, 171, 105, 0.7);
  font-size: 48px;
  text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_orthodontics .rich_trouble h2 {
  margin: 0!important;
	font-size: 50px;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_orthodontics .rich_trouble h2 span {
	font-size: 130%;
}

.rich_contents_bg_orthodontics .rich_trouble_item {
	position: relative;
	padding: 100px 0;
}

.rich_contents_bg_orthodontics .rich_trouble_item::before {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - (50% - 720px));
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  content: "";
}

.rich_contents_bg_orthodontics .rich_trouble_item h3 {
	margin-bottom: 30px;
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_orthodontics .rich_trouble_list {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.rich_contents_bg_orthodontics .rich_trouble_list ul {
	text-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 6px #fff, 0 0 9px #fff, 0 0 12px #fff;
}

.rich_contents_bg_orthodontics .rich_trouble_list01 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 50px;
	margin: 0 auto 50px;
}

/*---------- 当院でできる矯正方法 ----------*/
.rich_contents_bg_orthodontics .rich_type {
	background: #1f334e url("images/rich/marble_white01.jpg") no-repeat center/ cover;
}

.rich_contents_bg_orthodontics .rich_type::before {
	position: absolute;
	top: -80px;
	left: 0;
	right: 0;
  z-index: 1;
	width: 500px;
	height: 150px;
	margin: auto;
	background: -webkit-linear-gradient(to right, rgba(221, 207, 172, 0.9) 0, rgba(221, 207, 172, 0.95) 45%, transparent 100%);
  background: linear-gradient(to right, rgba(221, 207, 172, 0.9) 0, rgba(221, 207, 172, 0.95) 45%, transparent 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}

.rich_contents_bg_orthodontics .rich_type .rich_box01 {
	padding: 120px 0 100px;
}

.rich_contents_bg_orthodontics .rich_type_note {
	margin-bottom: 50px;
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: center;
}

.rich_contents_bg_orthodontics .rich_type_heading {
	margin-bottom: 50px;
	color: var(--rich-text-color);
	font-family: "shippori-mincho", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 26px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

.rich_contents_bg_orthodontics .rich_type_item:not(:last-child) {
	margin-bottom: 80px;
}

.rich_contents_bg_orthodontics .rich_type_sub_tit {
	margin-bottom: 40px;
}

.rich_contents_bg_orthodontics .rich_type_sub_tit p {
	position: relative;
	padding: 20px;
	background: -webkit-linear-gradient(-45deg, #1a2645 0%, #1a2645 50%, #1c436d 50%, #1c436d 100%);
  background: linear-gradient(-45deg, #1a2645 0%, #1a2645 50%, #1c436d 50%, #1c436d 100%);
	color: #fff;
  font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

.rich_contents_bg_orthodontics .rich_type_sub_tit p::before {
  position: absolute;
  bottom: -24px;
	left: 0;
  right: 0;
  width: 55px;
	height: 25px;
	margin: auto;
  background: #1a2645;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}

.rich_contents_bg_orthodontics .rich_type_sub_tit p span {
	display: block;
	font-size: 115%;
}

.rich_contents_bg_orthodontics .rich_type_tit {
	margin-bottom: 20px;
}

.rich_contents_bg_orthodontics .rich_type_tit h3 {
  margin-bottom: 0;
  padding: 20px;
  background: url("images/rich/tit_logo.png") right -10px top 2px / 154px auto no-repeat, -webkit-linear-gradient(90deg, #c1a768 0%, #ddcfac 100%);
  background: url("images/rich/tit_logo.png") right -10px top 2px / 154px auto no-repeat, linear-gradient(90deg, #c1a768 0%, #ddcfac 100%);
  color: #fff;
  font-size: 22px;
	text-align: center;
}

.rich_contents_bg_orthodontics .rich_type_tit h3::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 1px solid #fff;
  pointer-events: none;
  content: "";
}

.rich_contents_bg_orthodontics .rich_type_tit p {
	margin-top: 1em;
  color: var(--rich-text-color);
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

.rich_contents_bg_orthodontics .rich_layout06 {
	margin-bottom: 20px;
}

.rich_contents_bg_orthodontics .rich_type_item02 .rich_layout07_txt p {
	margin-top: 1em;
}

/*---------- 治療の流れ ----------*/
.rich_contents_bg_orthodontics .rich_flow {
  position: relative;
  background: rgba(230, 230, 230, 1);
}

.rich_contents_bg_orthodontics .rich_flow::before,
.rich_contents_bg_orthodontics .rich_flow::after {
  position: absolute;
  width: 100%;
  height: 50%;
  background: rgba(240, 240, 240, 0.5);
  content: "";
}

.rich_contents_bg_orthodontics .rich_flow::before {
  top: 0;
  left: 0;
  background: rgba(240, 240, 240, 0.5);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.rich_contents_bg_orthodontics .rich_flow::after {
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.rich_contents_bg_orthodontics .rich_flow .rich_box01 {
	padding: 100px 0 120px;
}

.rich_contents_bg_orthodontics .rich_flow .rich_tit {
  margin-bottom: 120px;
}

/*---------- 症例 ----------*/
.rich_contents_bg_orthodontics .rich_case {
	background: url("images/rich/marble_white01.jpg") no-repeat center / cover;	
}

.rich_contents_bg_orthodontics .rich_case .rich_box01 {
	padding: 100px 0;
}

.rich_contents_bg_orthodontics .rich_case .rich_layout04 {
  margin-bottom: 80px;
}

/*---------- 治療費 ----------*/
.rich_contents_bg_orthodontics .rich_price {
  position: relative;
	background: rgba(230, 230, 230, 1);
}

.rich_contents_bg_orthodontics .rich_price::before,
.rich_contents_bg_orthodontics .rich_price::after {
  position: absolute;
  width: 100%;
  height: 50%;
  background: rgba(240, 240, 240, 0.5);
  content: "";
}

.rich_contents_bg_orthodontics .rich_price::before {
  top: 0;
  left: 0;
  background: rgba(240, 240, 240, 0.5);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.rich_contents_bg_orthodontics .rich_price::after {
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.rich_contents_bg_orthodontics .rich_price .rich_box01 {
	padding: 100px 0;
}

.rich_contents_bg_orthodontics .rich_price_item {
  margin-bottom: 80px;
}

.rich_contents_bg_orthodontics .rich_price_tit {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rich-border-color);
  border-bottom: none;
  background: #1f334e;
  color: #fff;
  font-size: 20px;
  text-align: center;
}

/* ==============================================
  *小児矯正（SP）
============================================== */
@media screen and (max-width: 640px) {
  .rich_contents_bg_orthodontics .rich_sp {
    background: #1f334e;
  }
  
  .rich_contents_bg_orthodontics .rich_sp .rich_box01 {
    padding: 20px 5% 40px;
  }
	
	/*---------- バナー ----------*/
	.rich_contents_bg_orthodontics .rich_mv_bnr {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 20px 20px;
	}

	.rich_contents_bg_orthodontics .rich_mv_bnr p {
		width: 40%;
	}

	.rich_contents_bg_orthodontics .rich_mv_bnr a {
		display: block;
	}

	.rich_contents_bg_orthodontics .rich_mv_bnr a:hover {
		opacity: 0.9;
	}

  /* こんなお悩みありませんか？*/
  .rich_contents_bg_orthodontics .rich_trouble {
    background: url("images/rich/implant/rich_trouble_bg.jpg") no-repeat center / cover;
  }

  .rich_contents_bg_orthodontics .rich_trouble::before {
    display: none;
  }

  .rich_contents_bg_orthodontics .rich_trouble .rich_box01 {
    padding: 50px 5% 50px;
  }

  .rich_contents_bg_orthodontics .rich_trouble .rich_tit {
    margin: 0 auto 30px;
  }

  .rich_contents_bg_orthodontics .rich_trouble .rich_tit_en {
    margin-bottom: 10px!important;
    font-size: 20px;
  }

  .rich_contents_bg_orthodontics .rich_trouble h2 {
    font-size: 20px;
  }

  .rich_contents_bg_orthodontics .rich_trouble h2 span {
    font-size: 130%;
  }

  .rich_contents_bg_orthodontics .rich_trouble_item {
    padding: 30px 5% 40px;
    background: rgba(255, 255, 255, 0.5);
  }

  .rich_contents_bg_orthodontics .rich_trouble_item::before {
    display: none;
  }
	
	.rich_contents_bg_orthodontics .rich_trouble_item h3 {
		margin-bottom: 20px;
		text-align: center;
	}

	.rich_contents_bg_orthodontics .rich_trouble_list01 {
		gap: 10px 0;
		margin: 0 auto 20px;
	}

  .rich_contents_bg_orthodontics .rich_trouble_item .rich_list01 {
    margin: 0 auto 20px;
  }
	
	/* 当院でできる矯正方法 */
	.rich_contents_bg_orthodontics .rich_type {
		background: #1f334e url("images/rich/marble_white01_sp.jpg") no-repeat center/ cover;
	}

	.rich_contents_bg_orthodontics .rich_type::before {
		top: -20px;
    width: 200px;
    height: 50px;
	}

	.rich_contents_bg_orthodontics .rich_type .rich_box01 {
		padding: 60px 5% 80px;
	}

	.rich_contents_bg_orthodontics .rich_type_note {
		margin-bottom: 30px;
		font-size: 16px;
	}

	.rich_contents_bg_orthodontics .rich_type_heading {
		margin-bottom: 30px;
		font-size: 18px;
	}
	
	.rich_contents_bg_orthodontics .rich_tit_en {
		font-size: 55px;
	}
	
	.rich_contents_bg_orthodontics h2 {
		margin: -28px 0 0!important;
	}

	.rich_contents_bg_orthodontics .rich_type_item:not(:last-child) {
		margin-bottom: 80px;
	}

	.rich_contents_bg_orthodontics .rich_type_sub_tit {
		margin-bottom: 30px;
	}

	.rich_contents_bg_orthodontics .rich_type_sub_tit p {
		padding: 15px;
		font-size: 18px;
	}

	.rich_contents_bg_orthodontics .rich_type_sub_tit p::before {
		bottom: -14px;
		width: 45px;
		height: 15px;
	}

	.rich_contents_bg_orthodontics .rich_type_tit h3 {
		padding: 15px;
    background: url("images/rich/tit_logo.png") right -10px top 2px / 125px auto no-repeat, -webkit-linear-gradient(90deg, #c1a768 0%, #ddcfac 100%);
		background: url("images/rich/tit_logo.png") right -10px top 2px / 125px auto no-repeat, linear-gradient(90deg, #c1a768 0%, #ddcfac 100%);
    font-size: 18px;
	}

	.rich_contents_bg_orthodontics .rich_type_tit h3::after {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		border: 1px solid #fff;
		pointer-events: none;
		content: "";
	}

	.rich_contents_bg_orthodontics .rich_layout06 {
		margin-bottom: 20px;
	}

	.rich_contents_bg_orthodontics .rich_type_item02 .rich_layout07_txt p {
		margin-top: 1em;
	}
	
	/* 治療の流れ */
  .rich_contents_bg_orthodontics .rich_flow .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_orthodontics .rich_flow .rich_tit {
    margin-bottom: 50px;
  }
 
  /* 症例 */
  .rich_contents_bg_orthodontics .rich_case {
    background: url("images/rich/marble_white01_sp.jpg") no-repeat center / cover;	
  }

  .rich_contents_bg_orthodontics .rich_case .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_orthodontics .rich_case .rich_layout04 {
    margin-bottom: 50px;
  }
	
.rich_layout04.ver02 .rich_layout04_img div{
	flex-direction: column;
}

  /* 治療費 */
  .rich_contents_bg_orthodontics .rich_price {
    position: relative;
    background: rgba(230, 230, 230, 1);
  }

  .rich_contents_bg_orthodontics .rich_price::before,
  .rich_contents_bg_orthodontics .rich_price::after {
    position: absolute;
    width: 100%;
    height: 50%;
    background: rgba(240, 240, 240, 0.5);
    content: "";
  }

  .rich_contents_bg_orthodontics .rich_price::before {
    top: 0;
    left: 0;
    background: rgba(240, 240, 240, 0.5);
    -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }

  .rich_contents_bg_orthodontics .rich_price::after {
    bottom: 0;
    right: 0;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
  }

  .rich_contents_bg_orthodontics .rich_price .rich_box01 {
    padding: 50px 5% 80px;
  }

  .rich_contents_bg_orthodontics .rich_price_item {
    margin-bottom: 50px;
  }
}

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

  *スマホ設定

==================================================================================================================================*/
/*-------------------- *基礎 --------------------*/
@media screen and (max-width: 640px) {

}

@media screen and (max-width: 320px) {
/*-------------------- common --------------------*/
  .sp_inline_iP {
    display: inline!important;
  }
}


