@charset "UTF-8";

/* CSS Document */
html {
  font-size: 62.5%;
  /* 16px * 62.5% = 10px */
  width: 100%;
  scroll-behavior: smooth;
}

:root {
  --text-color: #482E1E;
  --text-blue: #1EA7B1;
  --def: : "Noto Sans JP", serif;
  --ja: "Sawarabi Mincho", serif;
  --en: "Cormorant Garamond", serif;
}

body {
  color: var(--text-color);
  background-color: #ffffff;
  font-family: var(--def);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(1.4rem, 3.7vw, 2rem);
  letter-spacing: 0.02rem;
  line-height: 1.8;
  text-align: center;

}

.ja {
  font-family: var(--ja);
  font-weight: 500;
}

h2,
h3,
h4,
h5 {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: var(--ja);
}

a {
  color: var(--text-color);
}

a:hover {
  opacity: 0.7;
}

.clarity a:hover {
  opacity: 1;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

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

.pc_none {
  display: block;
}

.sp_none {
  display: none;
}

.sp_none.flex {
  display: none;
}

.is-hide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.blue {
  color: var(--text-blue);
}

.white {
  color: #ffffff;
}

.left {
  text-align: justify;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

.vertical {
  position: static;
  display: inline-block;
  writing-mode: vertical-rl;
  /* 縦書き */
  letter-spacing: 0.1em;
  /* 縦書きに合う適度な間隔 */
  line-height: 1.8;
  /* 縦書きに適した行間 */
  text-align: start;
  /* 縦書きの開始位置に沿う */
}

.bold {
  font-weight: 700;
}

.flex {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
}

.flex.row {
  flex-direction: row;
}

.fadeInUpTrigger,
.fadeInleftTrigger,
.fadeInRightTrigger {
  opacity: 0;
}

/* header */
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.header_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2%;
  height: 100%;
}

.header_left {
  width: 80%;
  max-width: 460px;
}

header .logo {
  width: 100%;
  max-width: 460px;
}

.header_btnWrap {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
}

/* ham_menu */
.ham_btn {
  position: relative;
  cursor: pointer;
  width: 60px;
  height: 60px;
  z-index: 999;
  margin: 0;
  background: linear-gradient(180deg, #b18d59 10%, #e6d2b3 90%);
}

.ham_btn span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  background: #ffffff;
  width: 30px;
  top: 28px;
}

.ham_btn span:nth-of-type(1) {
  top: 12px;
}

.ham_btn span:nth-of-type(2) {
  top: 20px;
}

.ham_btn.active span:nth-of-type(1) {
  top: 19px;
  left: 16px;
  transform: translateY(6px) rotate(-45deg);
  width: 26px;
}

.ham_btn.active span:nth-of-type(2) {
  opacity: 0;
}

.ham_btn.active span:nth-of-type(3) {
  top: 30px;
  left: 16px;
  transform: translateY(-6px) rotate(45deg);
  width: 26px;
}

.ham_btn span:nth-of-type(3)::after {
  content: "Menu";
  position: absolute;
  top: 14px;
  left: -5px;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}

.ham_btn.active span:nth-of-type(3)::after {
  content: "Close";
  transform: translateY(0) rotate(-45deg);
  top: 11px;
  left: 10px;
}

.overlay {
  content: "";
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  transition: all 0.6s;
  visibility: hidden;
  opacity: 0;
}

.overlay.show {
  visibility: visible;
  opacity: 1;
}

.nav_wrap {
  position: fixed;
  z-index: 100;
  top: 0;
  right: -120%;
  width: 90%;
  height: 100%;
  max-width: 800px;
  transition: all 0.6s;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  background-color: #ffffff;
  overflow-y: auto;
  padding: 60px min(5%, 20px);
}

.nav_wrap.show {
  right: 0;
}

.nav_wrap nav {
  width: 100%;
}

.nav_wrap .big_cat {
  gap: 20px;
}

.nav_wrap h2 {
  font-size: 22px;
  border-bottom: 1px solid var(--text-color);
  width: 100%;
  text-align: left;
}

.nav_wrap ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.nav_wrap ul li {
  width: 100%;
  text-align: left;
}

.nav_wrap .big_cat ul {
  padding: min(5%, 20px) 0 0 min(5%, 20px);
}

.nav_wrap .big_cat ul li {
  list-style: none;
  font-size: 1.6rem;
  border-bottom: 1px dashed var(--text-color);
}

.nav_wrap li a {
  text-decoration: none;
  position: relative;
  text-align: left;
}

.nav_wrap .big_cat>li:nth-child(2) h2 {
  color: var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
}

.nav_wrap .big_cat>li:nth-child(2) ul li {
  border-bottom: 1px dashed var(--text-blue);
}

.nav_wrap .big_cat>li:nth-child(2) ul li a {
  color: var(--text-blue);
}

/* MV */
.MV {
  position: relative;
  height: 95vh;
}

.MV:before {
  content: "";
  width: 50%;
  height: 80%;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background-color: rgba(208, 195, 151, 0.95);
}

.MV_text {
  position: absolute;
  width: 96%;
  left: 2%;
  bottom: 2%;
  text-align: left;
  color: #ffffff;
  padding-bottom: 2%;
  display: flex;
  flex-direction: column;
  line-height: 1.5;
  z-index: 3;
}

.MV_text {
  display: flex;
  flex-direction: column;
  gap: min(1vh, 20px);
  font-size: clamp(1.6rem, 5vw, 5.0rem);
  text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.25);
}

.MV_text h2 {
  font-size: clamp(2.0rem, 7vw, 8.0rem);
  color: #ffffff;

  letter-spacing: 0.05em;
}

.MV-icon_wrap {
  display: flex;
}

.mv_video-area {
  width: 100%;
  max-height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mv_video-area video {
  display: block;
  height: 100%;
}

/* 共通 */
section {
  position: relative;
  overflow: hidden;
}

.inner {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(10vw, 100px);
}

.section_ttl {
  font-size: clamp(3.2rem, 12vw, 14rem);
  display: flex;
  flex-direction: column;
}

.section_ttl span {
  font-size: clamp(1.6rem, 5vw, 6rem);
  letter-spacing: 0.08em;
}

.anchor_area {
  background-image: url(../img/anchor_bg.webp);
  background-size: cover;
  background-position: center;
  padding: min(10vw, 100px) 0;
}

.anchor_area .inner {
  width: 80%;
  max-width: 560px;
  gap: min(5vw, 80px);
}

#implant {
  margin-top: min(5vw, 20px);
}

.implant_ttlWrap {
  padding: min(8vw, 135px) 0;
  background: linear-gradient(-70deg, #d6cebe 10%, rgba(255, 255, 255, 0.3)90%);
  position: relative;
}

.implant_ttlWrap::before {
  content: "";
  height: 100%;
  aspect-ratio: 960/400;
  background-image: url(../img/i_ttl-deco.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.implant_ttl {
  font-size: clamp(3.2rem, 9vw, 12rem);
  position: relative;
}

.implant_ttl::before {
  content: "IMPLANT";
  color: #B18D59;
  opacity: 0.2;
  font-size: clamp(5rem, 14vw, 20rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#implant .bg_01 {
  padding: min(10vw, 100px) 0;
  background-image: url(../img/implant_trouble-bg.webp);
  background-size: cover;
  background-position: center;
  color: #ffffff;
}

.trouble_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 10px;
}

.trouble_wrap {
  list-style-position: outside;
  counter-reset: number 0;
}

.trouble_wrap li {
  padding: min(5%, 60px) min(3%, 20px) min(3%, 20px);
  background-color: #ffffff;
  color: var(--text-color);
  position: relative;
  counter-increment: number 1;
  font-family: var(--ja);
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: calc((100% - 10px)/ 2);
  height: 200px
}

.trouble_wrap li::before {
  content: "0" counter(number) "";
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 6rem;
  color: var(--text-color);
  font-family: var(--ja);
  line-height: 1;
  opacity: 0.16;
}

.trouble_wrap li p {
  position: relative;
  padding-top: min(30%, 60px);
  display: flex;
  align-items: center;
}

.trouble_wrap li p::before {
  content: "";
  width: min(20%, 50px);
  aspect-ratio: 1;
  background-image: url(../img/check01.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#implant .bg_02 {
  position: relative;
  background-color: rgba(177, 141, 89, 0.3);
  font-size: clamp(1.4rem, 3.7vw, 2rem);
}

.path {
  position: absolute;
  width: 100%;
  height: min(30vw, 365px);
  background: linear-gradient(0deg, #784d0b 10%, #b18d59 90%);
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
}

#implant .bg_02 .inner {
  position: relative;
  z-index: 2;
  padding: min(5vw, 40px) 0 min(30vw, 220px);
  gap: min(5vw, 40px);
}

.section_lead {
  font-size: clamp(1.4rem, 3.4vw, 4.5rem);
  line-height: 1.5;
  font-family: var(--ja);
  color: #ffffff;
  padding-bottom: min(10vw, 120px);
}

#implant .bg_02::before,
#implant .bg_02::after {
  content: "";
  width: 50%;
  aspect-ratio: 800/415;
  background-image: url(../img/implant_treatent-bg1.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#implant .bg_02::after {
  width: 50%;
  aspect-ratio: 960/700;
  background-image: url(../img/implant_treatent-bg2.webp);
  bottom: 0;
  left: auto;
  right: 0;
}

.content_ttl {
  display: flex;
  flex-direction: column;
  font-size: clamp(1.8rem, 4vw, 4.0rem);
  gap: min(3vw, 20px);
}

.content_ttl span {
  display: flex;
  flex-direction: column;
  font-size: clamp(1.8rem, 4.4vw, 5.0rem);
}

.merit {
  font-size: clamp(1.4rem, 3.7vw, 2rem);
}

.merit .bg_01 {
  padding: min(10vw, 100px) 0 min(20vw, 200px);
  position: relative;
}

.merit .content_ttl {
  line-height: 3;
  max-width: 1200px;
  font-size: clamp(2.0rem, 5vw, 5.0rem);
  border-top: 1px solid var(--text-color);
  border-bottom: 1px solid var(--text-color);
  margin: 0 auto;
  width: 100%;
}

.merit .content_itemWrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  list-style-position: outside;
  counter-reset: number 0;
}

.merit .content_itemWrap li {
  position: relative;
  counter-increment: number 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(3vw, 10px);
  width: 100%;
  max-width: 480px;
  text-align: justify;
  margin: 40px auto 0;
}

.merit .content_itemWrap li::before {
  content: "0" counter(number) "";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 8rem;
  color: #B18D59;
  font-family: var(--ja);
  line-height: 1;
  transform: translate(-20%, -50%);
}

.merit .content_itemWrap li h4 {
  font-size: clamp(2.0rem, 3vw, 3.5rem);
}

.merit .bg_01::before {
  content: "";
  width: min(50%, 500px);
  aspect-ratio: 5/6;
  background: #B18D59;
  clip-path: polygon(0 0, 0 0, 100% 100%, 0 100%, 0 0);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.3;
}

.merit .bg_01::after {
  content: "MERIT";
  font-size: min(15vw, 150px);
  line-height: 1;
  font-family: var(--ja);
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0.2;
}

.merit .bg_02 {
  padding: min(10vw, 100px) 0 min(20vw, 200px);
  position: relative;
  background-color: #E1DCD7;
}

.merit .bg_02::before {
  content: "";
  width: min(50%, 500px);
  aspect-ratio: 5/6;
  background: #C4B9B0;
  clip-path: polygon(0 0, 0 0, 100% 100%, 0 100%, 0 0);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.3;
}

.merit .bg_02::after {
  content: "DEMERIT";
  font-size: min(15vw, 150px);
  line-height: 1;
  font-family: var(--ja);
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0.2;
}

.CTA_area {
  background-image: url(../img/CTA_bg.webp);
  background-position: center;
  background-size: cover;
  padding: min(10vw, 100px) 0 min(15vw, 120px);
  color: #ffffff;
  display: flex;
  font-size: clamp(1.4rem, 3.7vw, 2rem);
  position: relative;
}

.CTA_area .deco_area {
  position: absolute;
  bottom: 0;
  background-color: #C8BDB1;
  height: 15%;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
}

.CTA_area .deco_area .deco {
  width: 50%;
}

.CTA_area .inner {
  gap: min(5vw, 40px);
  position: relative;
  z-index: 2;
}

.cta_lead {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-family: var(--ja);
}

.cta_lead span {
  font-size: clamp(2rem, 6vw, 4rem);
}

.cta_btn-Wrap {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 20px);
}

.cta_btn a {
  position: relative;
  display: inline-block;
  width: 100%;
  aspect-ratio: 400/135;
}

.cta_btn a::before {
  content: "";
  width: 100%;
  aspect-ratio: 400/135;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s;
}

.cta_btn a:hover {
  opacity: 1;
}

.cta_btn a:hover::before {
  opacity: 0.3;
}

#i-feature .section_ttlWrap {
  padding: min(8vw, 150px) 0;
  position: relative;
  background-image: url(../img/feature_deco01.webp);
  background-size: cover;
  background-position: right center;
}

#i-feature .section_ttl span {
  font-size: clamp(1.6rem, 4vw, 4.5rem);
}

#i-feature .content_ttl-area {
  background-image: url(../img/feature_bg01.webp);
  background-size: cover;
  background-position: center;
  color: #ffffff;
  position: relative;
  height: min(55vw, 750px);
}

#i-feature .content_ttl-area:before {
  content: "";
  width: 100%;
  height: min(0.5vw, 5px);
  background-color: #ffffff;
  position: absolute;
  bottom: 8%;
  left: 0;
}

#i-feature .content_ttl {
  position: absolute;
  width: min(20%, 270px);
  top: max(-5vw, -60px);
  right: 15%;
}

#i-feature .num {
  position: absolute;
  bottom: 8%;
  right: 2%;
  font-size: clamp(7rem, 14vw, 20rem);
  line-height: 1;
  font-family: var(--ja);
}

#i-feature .content_body {
  background-image: url(../img/feature_deco02.webp);
  background-size: cover;
  background-position: center;
  padding: min(8vw, 150px) 0;
}

#i-feature .content_itemWrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

#i-feature .content_itemWrap li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(3vw, 10px);
  width: 100%;
  max-width: 580px;
  text-align: justify;
  padding: min(2vw, 60px) min(2vw, 50px);
  border: 1px solid #7D5A3F;
  background-color: #ffffff;
}

#i-feature .content_itemWrap li h5 {
  font-size: clamp(2.0rem, 3vw, 4rem);
  line-height: 2;
}

#i-feature .content02 .content_ttl-area {
  background-image: url(../img/feature_bg02.webp);
}

#i-feature .content02 .content_ttl {
  left: 10%;
}

#i-feature .content02 .content_ttl-area .num {
  right: auto;
  left: 10%;
}

#i-feature .content_body {
  background-image: url(../img/feature_deco02.webp);
  background-size: cover;
  background-position: center;
  padding: min(5vw, 100px) 0 min(8vw, 100px);
}

#i-feature .content02 .content_leadWrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

#i-feature .content02 .content_lead {
  font-family: var(--def);
  font-size: clamp(2.0rem, 4vw, 6rem);
  padding-right: min(10%, 80px);
  letter-spacing: 0.3em;
}

#i-feature .content02 .content_lead div:last-of-type {
  margin-top: min(5vw, 40px);
}

#i-feature .content02 .content_lead-img {
  width: 100%;
  margin: 30% -50% 0 0;
}

#i-feature .content02 .content_item {
  padding-bottom: min(5vw, 100px);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#i-feature .bg {
  background-image: url(../img/feature_deco04.webp);
  background-size: cover;
  background-position: center;
}

#i-feature .content03 .content_textWrap {
  background-color: #B18D59;
  color: #ffffff;
  padding: min(5vw, 100px) min(5vw, 100px);
  position: relative;
}

#i-feature .content03 .content_ttl {
  position: static;
  width: 100%;
  word-break: keep-all;
  font-size: clamp(2.0rem, 3vw, 4.5rem);
  padding: min(2%, 20px) min(2%, 40px);
  border-bottom: 1px solid #ffffff;
}

#i-feature .content03 .num {
  top: 0;
  right: 0;
  opacity: 0.3;
}

#i-feature .content03 p {
  padding: min(2%, 20px);
}

#i-feature .content04 .content_ttlWrap {
  padding: min(8vw, 150px) 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#i-feature .content04 .content_ttl {
  position: static;
  width: 100%;
  word-break: keep-all;
  font-size: clamp(2.0rem, 5vw, 4.5rem);
}

#i-feature .content04 .num {
  position: static;
  color: #B18D59;
}

#i-feature .content04 .num span {
  color: #A25928;
}





#i-feature .content04 ol {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

#i-feature .content04 ol li {
    width: 90%;
    margin: 40px auto;
    display: block;
}

#i-feature .content04 ol li .content_item-img {
  aspect-ratio: 480/300;
  background-image: url(../img/feature_img04.webp);
  background-size: cover;
  background-position: center;
}

#i-feature .content04 ol li:nth-child(2) .content_item-img {
  aspect-ratio: 480/300;
  background-image: url(../img/feature_img05.webp);
}

#i-feature .content04 ol li:nth-child(3) .content_item-img {
  aspect-ratio: 480/300;
  background-image: url(../img/feature_img06.webp);
}

#i-feature .content04 ol li:nth-child(4) .content_item-img {
  aspect-ratio: 480/300;
  background-image: url(../img/feature_img07.webp);
}

#i-feature .content04 .content_textWrap {
  background-color: #B18D59;
  color: #ffffff;
  padding: min(3vw, 50px) min(2vw, 30px);
  display: flex;
  flex-direction: column;
  gap: min(2vw, 40px);
  font-size: clamp(1.2rem, 3vw, 1.8rem);
}

#i-feature .content04 ol li:nth-child(even) .content_textWrap {
  background-color: #482E1E
}

#i-feature .content04 .content_textWrap h4 {
  font-family: var(--def);
  font-size: clamp(1.4rem, 3.4vw, 3.5rem);
  letter-spacing: 0.05em;
}

#i-feature .content04 .content_textWrap p {
  text-align: justify;
}

#i-feature .content05 .content_textWrap {
  background-color: #B18D59;
  color: #ffffff;
  padding: min(5vw, 100px) min(5vw, 100px);
  position: relative;
}

#i-feature .content05 .content_ttl {
  position: static;
  width: 100%;
  word-break: keep-all;
  font-size: clamp(2.0rem, 5vw, 4.5rem);
  padding: min(2%, 20px) min(2%, 40px);
  border-bottom: 1px solid #ffffff;
}

#i-feature .content05 .num {
  top: 0;
  right: auto;
  left: 0;
  opacity: 0.3;
}

#i-feature .content05 p {
  text-align: justify;
  padding: min(2%, 20px);
}

#i-lost {
  margin-top: min(5vw, 100px);
}

#i-lost .bg_01 {
  background-image: url(../img/concept_bg.webp);
  background-size: cover;
  background-position: 20% 80%;
}

#i-lost .inner {
  position: relative;
  z-index: 2;
  padding: min(5vw, 40px) 0;
  gap: min(5vw, 40px);
}

#i-lost .section_lead {
  word-break: keep-all;
}

#i-lost .section_lead span {
  font-size: clamp(2rem, 4.6vw, 5.5rem);
}

#i-lost .content_textWrap {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
}

#i-lost .content_ttl {
  font-size: clamp(2.0rem, 6vw, 6rem);
}

#i-lost .bg_02 {
  background-color: #D8C6AB;
  padding-bottom: min(16vw, 170px);
}

#i-lost .bg_02 .path {
  background: rgba(177, 141, 89, 0.5);
}

#i-lost .bg_02 .section_ttl {
  font-size: clamp(3.2rem, 10vw, 10rem);
  padding: min(2%, 20px) 0;
  margin-bottom: min(10vw, 100px);
  position: relative;
  z-index: 2;
}

#i-lost .bg_02 .section_ttl span {
  font-size: clamp(1.6rem, 4vw, 4.5rem);
}

#i-lost .bg_02 .content_textWrap {
  background-color: #B18D59;
  color: #ffffff;
  padding: min(5vw, 100px) min(5vw, 100px);
  position: relative;
}

#i-lost .bg_02 .content_ttl {
  position: static;
  width: 100%;
  word-break: keep-all;
  font-size: clamp(2.0rem, 3vw, 4.5rem);
  padding: min(2%, 20px) 0;
  border-bottom: 1px solid #ffffff;
}

#i-lost .bg_02 .num {
  top: 0;
  right: 0;
  opacity: 0.3;
}

#i-lost .bg_02 p {
  text-align: justify;
  padding: min(2%, 20px) 0;
}

#i-lost .bg_02 ul.check {
  padding: min(2%, 20px) 0;
}

.check li {
  text-align: left;
  position: relative;
  padding-left: min(5vw, 55px);
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  line-height: 2.4;
}

.check li::before {
  content: "";
  width: min(4vw, 4.0rem);
  aspect-ratio: 1;
  background-image: url(../img/check.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: min(4vw, 24px);
  left: 0;
  transform: translateY(-26%);
}


#i-lost .bg_03 {
  background-color: #B18D59;
  position: relative;
  padding-bottom: min(16vw, 170px);
}

#i-lost .bg_03 .deco {
  width: 70%;
  max-width: 800px;
  margin: 0 auto;
  transform: translateY(-40%);
}

#i-lost .bg_03 .content {
  background-color: #ffffff;
  padding: min(5%, 50px);
  display: flex;
  flex-direction: column;
  gap: min(2vw, 20px);
  text-align: justify;
}

#i-type {
  background-image: url(../img/type_bg.webp);
  background-size: cover;
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

.i-type_head {
  display: flex;
  flex-direction: column;
  gap: min(4vw, 20px);
}

.i-type_head .section_ttl span {
  word-break: keep-all;
  font-size: clamp(2.0rem, 5vw, 4.5rem);
}

.i-type_head p {
  text-align: justify;
}

.i-type_body .content_ttl {
  padding: min(2%, 20px) 0;
  font-size: clamp(2.0rem, 5vw, 3.5rem);
  border-top: 1px dashed var(--text-color);
  border-bottom: 1px dashed var(--text-color);
}

.i-type_body .content_wrap {
  margin: min(5vw, 60px) 0;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 100px);
}

.i-type_body .content {
  background-color: #E8E4DF;
  padding: min(5%, 50px);
  display: flex;
  flex-direction: column;
  gap: min(5vw, 60px);
}

.i-type_body .content_item-head {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 60px);
}

.i-type_body .item-head_img {
  width: 80%;
  max-width: 430px;
  margin: 0 auto;
}

.i-type_body .item-head_text {
  display: flex;
  flex-direction: column;
  text-align: justify;
}

.i-type_body .item-head_text h5 {
  text-align: center;
  font-size: clamp(2.0rem, 6vw, 4rem);
  font-family: var(--def);
  font-weight: 500;
  line-height: 2;
}

.i-type_body .content_wrap ol {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  text-align: left;
}

.i-type_body .content_wrap ol li {
  width: calc((100% - 10px)/ 2);
  font-size: clamp(1.2rem, 1.4vw, 2rem);
}

.case {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

.case .section_ttl {
  font-size: clamp(2.0rem, 9vw, 12rem);
  letter-spacing: 0.05em;
}

.case .content_ttl {
  padding: min(2%, 20px) 0;
  font-size: clamp(2.0rem, 5vw, 3.5rem);
  border-top: 1px dashed var(--text-color);
  border-bottom: 1px dashed var(--text-color);
}

.content_item-container {
  margin: min(5vw, 60px) 0;
  background-color: #E8E4DF;
  padding: min(5vw, 50px) min(5vw, 65px);
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
}

.content_item-container .item_ttl {
  padding: min(2%, 26px);
  background-color: #482E1E;
  color: #ffffff;
  font-family: var(--def);
  font-size: clamp(2.0rem, 4vw, 2.8rem);
}
.content_item-img-single{
  width: 80%;
  margin: 0 auto;
}

.accordion {
  padding-bottom: 2%;
}

.toggle {
  display: none;
}

.Label {
  padding: min(4%, 20px);
  background-color: #482E1E;
  color: #ffffff;
  display: block;
  width: 80%;
  max-width: 460px;
  margin: 0 auto;
  font-size: clamp(2rem, 4vw, 2.8rem);
  position: relative;
}

.Label::before {
  content: "";
  width: min(4vw, 30px);
  aspect-ratio: 30/32;
  background-image: url(../img/accordion_open.png);
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  z-index: 1;
  transition: all 0.5s;
}

.toggle:checked+.Label::before {
  background-image: url(../img/accordion_close.png);
}

.Label,
.a_content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s;
}

.a_content {
  /*本文*/
  height: 0;
  margin: 0 2%;
  overflow: hidden;
  text-align: left;
}

.toggle:checked+.accordion {
  padding-bottom: 10px;
}

.toggle:checked+.Label+.a_content {
  height: auto;
  margin-top: min(4vw, 30px);
  transition: all 0.5s;
}

.a_content table {
  border: 1px solid var(--text-color);
  border-bottom: none;
}

.a_content table tr {
  display: flex;
  flex-direction: column;
}

.a_content table th {
  padding: min(3%, 20px);
  background-color: var(--text-color);
  color: #ffffff;
  border-bottom: 1px solid var(--text-color);
  font-weight: 400;
}

.a_content table td {
  padding: min(3%, 20px);
  border-bottom: 1px solid var(--text-color);
}

.flow {
  background-color: #E8E4DF;
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

.flow .content_itemWrap {
  display: flex;
  flex-direction: column;
  gap: min(10vw, 100px);
}

.flow .content_item {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
  border: 1px solid var(--text-color);
  padding: min(5%, 70px) min(5%, 50px);
  position: relative;
}

.flow .content_item:before {
  content: "";
  aspect-ratio: 46/100;
  height: min(10vw, 100px);
  background-image: url(../img/flow_deco.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.flow .content_item:nth-last-of-type(1)::before {
  display: none;
}

.flow .content_inner {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
}

.flow .content_item .item_ttl {
  flex-direction: row;
  align-items: center;
  gap: min(4vw, 40px);
  font-size: clamp(1.6rem, 4.4vw, 3rem);
  border-bottom: 1px solid var(--text-color);
  padding-bottom: min(4%, 20px);
  margin-bottom: min(4%, 20px);
}

.flow .content_item .item_ttl img {
  width: 15%;
  max-width: 83px;
}

.flow .content_item .item_ttl h4 {
  font-size: clamp(1.6rem, 4.6vw, 3rem);
}

.flow .content_textWrap>p {
  text-align: justify;
}

.flow .note {
  background-image: url(../img/bg02.webp);
  background-size: cover;
  background-position: center;
  padding: min(10%, 100px) 5%;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: min(4vw, 45px);
}

.flow .note h4 {
  font-size: clamp(1.8rem, 5.4vw, 4rem);
  word-break: keep-all;
}

#i-comparison {
  background-color: #D8C6AB;
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#i-comparison .inner {
  gap: min(5vw, 40px);
}

#i-comparison .section_ttl {
  font-size: clamp(2.0rem, 10vw, 12rem);
  letter-spacing: 0.05em;
  margin-bottom: min(5vw, 40px);
}

#i-comparison .section_lead {
  color: var(--text-color);
  text-align: justify;
  font-family: var(--def);
  padding-bottom: 0;
  font-size: clamp(1.4rem, 3.7vw, 2rem);
}

#i-comparison .content {
  position: relative;

  margin-bottom: min(5vw, 60px);
}

#i-comparison .content table {
  width: 100%;
  border: 1px solid #D8C6AB;
  border-bottom: none;

}

#i-comparison .content table tr:first-child th {
  background-color: var(--text-color);
  color: #ffffff;
  font-size: 3rem;
  line-height: 3;
  border-bottom: 1px solid #D8C6AB;
}

#i-comparison .content table th:first-of-type {
  background-color: #7D5A3F;
  color: #ffffff;
  font-weight: 500;
  text-wrap: nowrap;
  padding: 20px;
  border-right: 1px solid #D8C6AB;
  border-bottom: 1px solid #D8C6AB;
}

#i-comparison .content table td {
  text-align: left;
  padding: 20px;
  border-right: 1px solid #D8C6AB;
  border-bottom: 1px solid #D8C6AB;
     text-wrap: auto;
}

#i-comparison .content table tr td:nth-child(2) {
  background-color: #E9C38B;
  text-wrap: auto;
}

#i-comparison .content table tr td:nth-child(3) {
  background-color: #F3E7D5;
  text-wrap: auto;
}

#i-comparison .content table tr td:nth-child(4) {
  background-color: #FFFFFF;
  text-wrap: auto;
}

#i-comparison .content table tr:nth-child(2) td {
  font-family: var(--ja);
  font-size: 2.0rem;
  text-align: center;
}

#i-comparison .content>.ps-scrollbar-x-rail>.ps-scrollbar-x {
  background: var(--text-color);
  border-radius: 8px;
  right: 5px;
  height: 4px;
}

#i-comparison .content>.ps-scrollbar-x-rail {
  background: transparent;
  right: 0;
  height: 4px;
  opacity: 1;
}
.type01 img{
		width: 240px;
	   margin: 0 auto;

	}
#i-comparison .content>.ps-scrollbar-x-rail>.ps-scrollbar-x {
  background: var(--text-color);
  border-radius: 8px;
  height: 4px;
}

#i-comparison .content02 {
  background-color: #7D5A3F;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
  padding: min(5%, 80px) min(5%, 60px);
  position: relative;
  color: #ffffff;
  text-align: justify;
}

#i-comparison .content02 h4 {
  gap: min(4vw, 40px);
  font-size: clamp(1.6rem, 5vw, 3.5rem);
  border-bottom: 1px solid #ffffff;
  padding-bottom: min(4%, 20px);
  margin-bottom: min(4%, 20px);
  word-break: keep-all;
  text-align: center;
}
.table-compare {
    width: 100%;
    font-size: 1.2rem;
}
	.table-compare tr td img{
		max-width: 80%;
	}
    .scroll {
    width: 100%;
    border-collapse: collapse;

}
	.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
}
	.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8;
}
	.scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    margin-top: 5px;
}	
.type01　img{
		width: 240px;
	   margin: 0 auto;

	}
@media (max-width: 784px) {
    .scroll-hint-icon {
        position: absolute;
        top: 50%;
        right: 50%;
        left: auto;
        transform: translate(50%, -50%);
        box-sizing: border-box;
        background:url("image/scroll.svg");
        background-size: contain;
        width: calc(350 / 750* 100vw);
        height: calc(350 / 750* 100vw);
        border-radius: 0;
        transition: none;
        opacity: 0;
        text-align: center;
        padding: 0;
    }
}
	@media (max-width: 784px) {
    .scroll-hint-text, .scroll-hint-icon:before, .scroll-hint-icon:after {
        display: none;
    }
}
	   
	 
.fee {
  padding: min(10vw, 100px) 0 0;
}

.fee table {
  border: 1px solid var(--text-color);
  border-bottom: none;
  width: 100%;
  margin: 0 auto;
}

.fee table tr {
  display: flex;
  flex-direction: column;
}

.fee table th {
  padding: min(3%, 20px);
  background-color: #B18D59;
  color: #ffffff;
  border-bottom: 1px solid var(--text-color);
  font-weight: 400;
  text-align: left;
}

.fee table td {
  padding: min(3%, 20px);
  border-bottom: 1px solid var(--text-color);
  text-align: right;
}

.fee .content.card {
  background-color: #E8E4DF;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
  padding: min(8%, 80px) min(8%, 100px);
  position: relative;
  font-size: clamp(2rem, 4vw, 2.8rem);
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.fee .content.card h4 {
  background-color: #ffffff;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 2.8;
}

.fee .content.card p:last-of-type {
  font-size: clamp(2rem, 4vw, 2.4rem);
}

.fee .content.loan {
  background-color: #C7C0BB;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
  padding: min(5%, 100px) min(5%, 50px);
  position: relative;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}

.fee .content.loan::before {
  content: "";
  width: 100%;
  height: 70%;
  position: absolute;
  bottom: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: rgba(243, 216, 199, 0.3);
}

.fee .content.loan::after {
  content: "";
  width: 100%;
  height: 70%;
  position: absolute;
  bottom: 0;
  left: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: rgba(72, 46, 30, 0.3);
}

.fee .content.loan .content_ttl {
  padding: min(2%, 20px) 0;
  font-size: clamp(2.0rem, 5vw, 3.5rem);
  border-top: 1px dashed var(--text-color);
  border-bottom: 1px dashed var(--text-color);
  word-break: keep-all;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.fee .content.loan .content_lead {
  font-size: clamp(2rem, 4vw, 2.8rem);
  word-break: keep-all;
}

.fee .content.loan ul {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 24px);
  position: relative;
  z-index: 2;
}

.fee .content.loan ul li {
  background-color: #ffffff;
  border: 1px solid var(--text-color);
  padding: min(4%, 40px) 0;
}

.fee .content.loan .white {
  z-index: 2;
  text-align: justify;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.fee .content.guarantee {
  background-color: #7D5A3F;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 50px);
  padding: min(5%, 100px) min(5%, 50px);
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.fee .content.guarantee::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 0;
}

.fee .content.guarantee .content_img {
  z-index: 2;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}

.fee .content.guarantee .content_textWrap {
  z-index: 2;
  color: #ffffff;
  text-align: center;
}

.fee .content.guarantee h4 {
  text-align: center;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 2.8;
}

.fee .inner {
  margin-bottom: min(10vw, 100px);
}

.fee .bg {
  background-image: url(../img/bg03.webp);
  background-size: cover;
  background-position: center;
  padding: min(15vw, 100px) 0;
  color: #ffffff;
}

.fee .bg .inner {
  gap: min(10vw, 50px);
  text-align: justify;
  margin-bottom: 0;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
}

.fee .bg h4 {
  text-align: center;
  font-size: clamp(3rem, 6vw, 4.5rem);
  line-height: 1;
}

.fee .bg .btn {
  width: 80%;
  max-width: 380px;
  margin: 0 auto;
  background-color: #ffffff;
  border: 1px solid var(--text-color);
}

.fee .bg .btn a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(4vw, 40px);
}

#i-risk {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#i-risk .inner {
  padding: 38px 5% 40px;
  height: 200px;
  overflow-y: scroll;
  gap: 20px;
  text-align: justify;
  border: 1px solid var(--text-color);
  position: relative;
}

#i-risk h3 {
  text-align: center;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
}

#i-risk .inner>.ps-scrollbar-y-rail>.ps-scrollbar-y {
  background: var(--text-color);
  border-radius: 8px;
  right: 5px;
  width: 4px;
}

#i-risk .inner>.ps-scrollbar-y-rail {
  background: transparent;
  right: 0;
  width: 4px;
  opacity: 1;
}

#i-risk .inner>.ps-scrollbar-x-rail>.ps-scrollbar-x {
  background: var(--text-color);
  border-radius: 8px;
  height: 4px;
}
@media screen and (max-width: 559px) {
    .scroll {
        width: 100%;
        border-collapse: collapse;
        white-space: nowrap;
        overflow-x: scroll;
    }
.type01　img{
		width: 240px;
	   margin: 0 auto;

	}
}
/* pcスタイル */
@media screen and (min-width: 960px) {
  .sp_none {
    display: block;
  }

  .pc_none {
    display: none;
  }

  .flex {
    display: flex;
    flex-direction: row;
    gap: 40px;
  }

  .flex.reverse {
    flex-direction: row-reverse;
  }

  header {
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
  }

  .header_inner {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 2vw 0;
  }

  .header_left {
    width: calc(100% - 500px);
  }

  .header_inner .logo {
    max-width: 460px;
  }

  .header_btnWrap {
    display: flex;
    justify-content: flex-end;
    width: calc(100% - 500px);
    max-width: 800px;
    height: 100px
  }

  .header_btnWrap .tel {
    width: auto;
    height: 100%;
  }

  .header_btnWrap .web {
    width: auto;
    height: 100%;
  }

  .header_btnWrap a {
    display: inline-block;
    height: 100px
  }

  .header_btnWrap a img {
    width: auto;
    max-height: 100%;
  }

  /* ham_menu */
  .ham_btn {
    width: 100px;
    height: 100px;
  }

  .ham_btn span {
    left: 20px;
    height: 5px;
    width: 60px;
    top: 52px;
  }

  .ham_btn span:nth-of-type(1) {
    top: 16px;
    width: 60px;
  }

  .ham_btn span:nth-of-type(2) {
    top: 34px;
    width: 60px;
  }

  .ham_btn.active span:nth-of-type(1) {
    top: 35px;
    left: 22px;
    width: 60px;
  }

  .ham_btn.active span:nth-of-type(3) {
    top: 48px;
    left: 23px;
    width: 60px;
  }

  .ham_btn span:nth-of-type(3)::after {
    top: 14px;
    font-size: 2.4rem;
  }

  .ham_btn.active span:nth-of-type(3)::after {
    top: 18px;
    left: 25px;
  }

  .nav_wrap {
    padding-top: 150px;
  }

  .nav_wrap .big_cat {
    gap: 5vh;
  }

  .nav_wrap h2 {
    font-size: 24px;
  }

  .nav_wrap .big_cat ul li {
    font-size: 2rem;
  }

  .MV_text {
    width: 65%;
    padding-bottom: 0;
    bottom: -2%;
    font-size: clamp(2.0rem, 3vw, 5.0rem);
  }

  .MV_text h2 {
    font-size: clamp(2.0rem, 4.6vw, 8.0rem);
  }

  .MV-icon_wrap {
    width: 60%;
    margin-top: 5vh;
  }

  .inner {
    max-width: 1200px;
  }

  .anchor_area {
    margin: 50px 0;
  }

  .anchor_area .inner {
    flex-direction: row;
    max-width: 1200px;
  }

  #implant .bg_01 .inner {
    max-width: 1300px;
  }

  #implant .trouble_wrap {
    gap: 50px;
  }

  #implant .trouble_wrap li {
    width: calc((100% - 100px)/3);
    height: auto;
    aspect-ratio: 4/3;
  }

  .trouble_wrap li::before {
    font-size: 12rem;
  }

  .trouble_wrap li p {
    font-size: min(2vw, 2.8rem);
    line-height: 1.5;
  }

  #implant .bg_02 .inner {
    padding: 4vw 0 80px;
  }

  .merit .inner {
    max-width: 1620px;
  }

  .merit .content_itemWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(5vw, 90px);
  }

  .merit .content_itemWrap li {
    margin: 40px 0 0;
  }

  .merit .content_itemWrap li::before {
    font-size: 12rem;
  }

  .CTA_area {
    padding: min(10vw, 100px) 0 min(15vw, 110px);
  }

  .CTA_area .deco_area {
    width: 100%;
    justify-content: space-between;
    height: 34%;
  }

  .CTA_area .deco_area .deco {
    width: 30%;
    max-width: 500px;
  }

  .CTA_area .inner {
    letter-spacing: 0.08rem;
  }

  .cta_btn-Wrap {
    width: 100%;
    max-width: 830px;
    flex-direction: row;
    gap: min(3vw, 30px);
  }

  #i-feature .content_ttl {
    top: -95px;
  }

  #i-feature .content_body {
    padding: min(5vw, 100px) 0 min(8vw, 150px);
  }

  #i-feature .content_body .inner {
    width: 96%;
    max-width: 1820px;
  }

  #i-feature .content_itemWrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: min(2vw, 40px);
    justify-content: center;
    align-items: center;
  }

  #i-feature .content_itemWrap li {
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  #i-feature .content_itemWrap li h5 {
    font-size: clamp(3.2rem, 2vw, 4.0rem);
    line-height: 2;
  }

  #i-feature .content02 .inner {
    max-width: 1600px;
    padding-left: 10%;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 5vw;
  }

  #i-feature .content02 .content_leadWrap {
    gap: 0;
    position: relative;
    width: 20%;
    max-width: 400px;
  }

  #i-feature .content02 .content_lead {
    font-family: var(--def);
    font-size: clamp(2.0rem, 4vw, 6rem);
    padding-right: min(10%, 80px);
    justify-content: center;
  }

  #i-feature .content02 .content_lead-img {
    width: 250%;
    max-width: 700px;
    margin: 0;
    position: absolute;
    bottom: 0;
  }

  #i-feature .content02 .content_item {
    width: 80%;
  }

  #i-feature .content02 .content_item p {
    width: 60%;
    max-width: 600px;
  }

  #i-feature .bg {
    width: 100%;
    padding: 10vw 0;
  }

  #i-feature .content03 {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
  }

  #i-feature .content03 .content_textWrap {
    width: 50%;
    padding: min(5vw, 100px) min(5vw, 100px) min(5vw, 100px) min(8vw, 200px);
  }

  #i-feature .content03 .content_ttl {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }

  #i-feature .content03 .content_img {
    width: 55%;
    margin: -5vw -5% 0 0;
    z-index: 2;
  }
	#i-feature .content04 ol li {
    width: 45%;
    margin: 40px auto;
    display: block;
}
  @media screen and (min-width: 960px) {
    #i-feature .content04 ol{
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
    } 
  }
  @media screen and (min-width: 1400px) min-width: 1400px{
   
    #i-feature .content04 ol li {
      width: 50%;
      display: flex;
      flex-direction: row;
    }

    #i-feature .content04 ol li .content_item-img {
      width: 50%;
      height: 100%;
    }

    #i-feature .content04 ol li .content_textWrap {
      width: 50%;
      height: 100%;
    }

    #i-feature .content04 .content_textWrap h4 {
      font-size: clamp(1.8rem, 1.8vw, 3.5rem);
    }
  }

  #i-feature .content05 {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    margin: min(10vw, 200px) 0 0;
  }

  #i-feature .content05 .content_textWrap {
    width: 50%;
    padding: min(5vw, 100px) min(8vw, 200px) min(5vw, 100px) min(5vw, 100px);
  }

  #i-feature .content05 .content_ttl {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }

  #i-feature .content05 .content_img {
    width: 55%;
    margin: -5vw 0 0 -5%;
    z-index: 2;
  }

  #i-lost .bg_01 .inner {
    padding: 5vw 0 80px;
    max-width: 1800px;
  }

  #i-lost .bg_01 .content_textWrap {
    max-width: 800px;
    margin: 3vw 0 0 auto;
    text-align: justify;
  }

  #i-lost .bg_02 .path {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    height: auto;
    aspect-ratio: 1920/400;
  }

  #i-lost .bg_02 .section_ttl {
    padding-top: 2vw;
  }

  #i-lost .bg_02 .content {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    margin: min(10vw, 200px) 0 0;
  }

  #i-lost .bg_02 .content .content_textWrap {
    width: 50%;
    padding: min(5vw, 40px) min(8vw, 200px) min(5vw, 40px) min(5vw, 100px);
  }

  #i-lost .bg_02 .content .content_ttl {
    padding-bottom: 40px;
  }

  #i-lost .bg_02 .content .content_img {
    width: 55%;
    margin: -5vw 0 0 -5%;
    z-index: 2;
  }

  #i-lost .bg_02 .content.content01 {
    flex-direction: row;
    margin: min(10vw, 200px) 0 min(15vw, 300px);
    position: relative;
  }

  #i-lost .bg_02 .content.content01::before {
    content: "";
    width: 100%;
    aspect-ratio: 1920/400;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    background-color: rgba(177, 141, 89, 0.5);
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(20%);
  }

  #i-lost .bg_02 .content.content01 .content_textWrap {
    padding: min(5vw, 40px) min(5vw, 100px) min(5vw, 40px) min(8vw, 200px);
  }

  #i-lost .bg_02 .content.content01 .content_ttl {
    text-wrap: nowrap;
  }

  #i-lost .bg_02 .content.content01 .content_img {
    margin: -5vw -5% 0 0;
  }

  #i-lost .bg_03 .inner {
    flex-direction: row;
  }

  .i-type_head p {
    text-align: center;
  }

  #i-type ul {
    max-width: 1100px;
    margin: min(5vw, 60px) auto;
  }

  #i-type .content_item-head {
    flex-direction: row-reverse;
  }

  #i-type .item-head_text {
    width: 50%;
    gap: 20px;
    justify-content: center;
  }

  #i-type .item-head_text h5 {
    text-align: left;
  }

  .i-type_body .content_wrap ol {
    gap: min(1vw, 30px);
    justify-content: space-between;
  }

  .i-type_body .content_wrap ol li {
    width: calc((100% - max(2vw, 60px))/3);
  }

  .content_item-container {
    width: 100%;
    max-width: 1100px;
    margin: min(5vw, 60px) auto;
    flex-direction: row;
  }

  .a_content table {
    width: 100%;
    max-width: 1100px;
    margin: min(5vw, 20px) auto;
  }

  .a_content table tr {
    flex-direction: row;
  }

  .a_content table th {
    width: 35%;
  }

  .a_content table td {
    width: 65%;
  }

  .flow .content_item .content_inner {
    flex-direction: row-reverse;
  }

  .flow .content_item .content_img {
    width: 35%;
  }

  .flow .content_item .content_textWrap {
    width: 65%;
  }

  .flow .content_item .CTA_area {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 0;
  }

  .flow .content_item .inner {
    gap: min(5vw, 20px);
  }

  .flow .content_item .CTA_area .cta_lead {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
  }

  #i-comparison .inner {
    max-width: 1500px;
  }

  #i-comparison .comparison_head {
    max-width: 1200px;
    margin: 0 auto;
  }

  #i-comparison .section_lead {
    text-align: center;
  }

  #i-comparison .content table {
    width: 1200px;
    margin: 0 auto 60px;
  }
 .container{
    padding: 3%;
    max-width: calc(1460px + 6%);
    margin: 0 auto;
}
  #i-comparison .content02 {
    flex-direction: row-reverse;
    gap: min(5vw, 80px);
  }

  #i-comparison .content02 .content_img {
    width: 40%;
  }

  #i-comparison .content02 .content_textWrap {
    width: 60%;
  }

  #i-comparison .content02 .content_textWrap h4 {
    text-align: left;
    margin-bottom: 40px;
  }

  .fee .inner {
    max-width: 1500px;
  }

  .fee .table_wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .fee table {
    max-width: 1200px;
  }

  .fee table tr {
    flex-direction: row;
  }

  .fee table th {
    width: 50%;
  }

  .fee table td {
    width: 50%;
  }

  @media screen and (min-width: 1200px) {
    .fee .content.loan ul {
      flex-direction: row;
    }

    .fee .content.loan ul li {
      width: 100%;
      font-size: clamp(2rem, 1.6vw, 2.4rem);
    }
  }

  .fee .content.loan .white {
    text-align: center;
  }

  .fee .content.guarantee {
    flex-direction: row;
    align-items: center;
  }

  .fee .content.guarantee .content_img {
    width: 40%;
  }



  .fee .bg .inner {
    max-width: 1200px;
  }

  #i-risk .inner {
    padding: 38px 3% 40px;
    height: 300px;
    gap: 40px;
  }
}

#ceramic_wrapper {
  color: #333333;
}

#ceramic {
  margin-top: min(5vw, 40px);
  overflow: hidden;
}

.ceramic_ttlWrap {
  padding: min(8vw, 135px) 0;
  background: linear-gradient(-70deg, #7AEEDE 10%, rgba(255, 255, 255, 0.3)70%);
  position: relative;
}

.ceramic_ttlWrap::before {
  content: "";
  height: 100%;
  aspect-ratio: 960/400;
  background-image: url(../img/c_ttl-deco.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.ceramic_ttl {
  font-size: clamp(3.2rem, 9vw, 12rem);
  position: relative;
  color: var(--text-blue);
}

.ceramic_ttl::before {
  content: "CERAMIC";
  color: #146563;
  opacity: 0.2;
  font-size: clamp(5rem, 14vw, 20rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#ceramic .bg_01 {
  padding: min(10vw, 100px) 0 0;
  background-image: url(../img/c_trouble-bg.webp);
  background-size: cover;
  background-position: center;
}

#ceramic .section_ttl {
  color: #AB9E78;
  position: relative;
  margin: min(8vw, 60px) 0;
}

#ceramic .section_ttl span {
  z-index: 2;
  color: #333333
}

#ceramic .section_ttl span.blue {
  color: var(--text-blue)
}

#ceramic .section_ttl::before {
  content: "";
  width: 20%;
  max-width: 210px;
  aspect-ratio: 1;
  background-image: url(../img/c_trouble-deco01.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(-20%, -20%);
}

#ceramic .section_ttl::after {
  content: "";
  width: 20%;
  max-width: 210px;
  aspect-ratio: 1;
  background-image: url(../img/c_trouble-deco02.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  bottom: 90%;
  right: 0;
  transform: translate(20%, 10%);
}

#ceramic .trouble_wrap li {
  font-family: var(--def);
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #AB9E78;
}

#ceramic .trouble_wrap li::before {
  display: none;
}

#ceramic .trouble_wrap li::after {
  content: "";
  width: 94%;
  height: 94%;
  border-radius: 50%;
  position: absolute;
  top: 3%;
  left: 3%;
  border: 1px dashed #AB9E78;
}

#ceramic .trouble_wrap li p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: min(20%, 40px);
  width: 100%;
  z-index: 2;
  font-size: clamp(1.4rem, 3.7vw, 2.2rem);
}

#ceramic .trouble_wrap li p span {
  font-size: clamp(1.6rem, 4vw, 3.2rem);
  color: #AB9E78
}

#ceramic .trouble_wrap li p::before {
  content: "";
  width: min(20%, 50px);
  aspect-ratio: 75/60;
  background-image: url(../img/check02.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-30%);
  z-index: 1;
}

#ceramic .bg_01-bottom {
  padding: 20vw 0 0;
  clip-path: polygon(0 0, 50% 20%, 100% 0, 100% 100%, 0 100%);
  background-color: #DCD9D0;
}

#ceramic .bg_01-bottom .inner {
  gap: 0;
  position: relative;
  padding-bottom: min(8vw, 70px);
}

#ceramic .bg_01-bottom .inner::before {
  content: "";
  width: 50%;
  max-width: 417px;
  aspect-ratio: 846/239;
  background-image: url(../img/treatment.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

#ceramic .bg_01-bottom .section_lead {
  padding-bottom: 0;
  color: #333333;
  font-size: clamp(1.8rem, 4.6vw, 3.6rem);
  border-bottom: 1px solid #AB9E78;
  padding-bottom: min(3vw, 20px);
  max-width: 750px;
  margin: 0 auto min(3vw, 40px);
}

#c-merit.merit .content_itemWrap li::before {
  content: "0";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 8rem;
  color: #DCD9D0;
  /* 1文字目の色 */
  font-family: var(--ja);
  line-height: 1;
  transform: translate(-40%, -50%);
}

#c-merit.merit .content_itemWrap li::after {
  content: counter(number);
  position: absolute;
  top: 0;
  left: 5rem;
  font-size: 8rem;
  color: var(--text-blue);
  /* 2文字目の色 */
  font-family: var(--ja);
  line-height: 1;
  transform: translate(-40%, -50%);
}

#c-about {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#c-about .section_ttlWrap h3 {
  color: #AB9E78;
  width: 90%;
  max-width: 1125px;
  margin: 0 auto;
}

#c-about .section_ttlWrap h3 span {
  color: #333333;
  position: relative;
}

#c-about .section_ttlWrap h3 span::before,
#c-about .section_ttlWrap h3 span::after {
  content: "";
  width: calc(100% - max(75vw, 200px));
  height: min(0.5vw, 5px);
  background-color: #1EA7B1;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
}

#c-about .section_ttlWrap h3 span::after {
  left: auto;
  right: 0;
}

#c-about .content {
  padding: min(10vw, 100px) 0 min(15vw, 100px);
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
}

#c-about .content01 {
  gap: min(5vw, 100px);
  border-bottom: 2px solid var(--text-blue);
  position: relative;
}

#c-about .content01::before {
  content: "";
  width: 52%;
  max-width: 1000px;
  height: 20%;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: var(--text-blue);
  opacity: 0.5;
  position: absolute;
  bottom: 1vw;
  right: 0;
  z-index: 2;
}

#c-about .content01::after {
  content: "";
  width: 90%;
  max-width: 1500px;
  height: 50%;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #DCD9D0;
  opacity: 0.5;
  position: absolute;
  bottom: 1vw;
  left: 0;
}

#c-about .content_textWrap {
  width: 90%;
  margin: 0 auto;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
}

#c-about .content_ttlWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#c-about .content_ttlWrap .num {
  width: 25%;
  max-width: 145px;
}

#c-about .content_wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 100px);
  border-bottom: 2px solid var(--text-blue);
  padding-bottom: min(15vw, 150px);
}

#c-about .content_wrapper::before {
  content: "";
  width: 52%;
  max-width: 1000px;
  height: 20%;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: var(--text-blue);
  opacity: 0.5;
  position: absolute;
  bottom: 1vw;
  left: 0;
  z-index: 2;
}

#c-about .content_wrapper::after {
  content: "";
  width: 90%;
  max-width: 1500px;
  height: 50%;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: #DCD9D0;
  opacity: 0.5;
  position: absolute;
  bottom: 1vw;
  right: 0;
}

#c-about .content_wrapper .content {
  padding-bottom: min(8vw, 80px);
}

#c-about .content_wrapper .content_imgWrap {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
  width: 90%;
  margin: 0 auto;
  z-index: 2;
}

#c-about .content_wrapper .content_imgWrap .content_img {
  width: 100%;
}



#ceramic_wrapper .CTA_area {
  background-image: url(../img/c-cta_bg.webp);
  padding: min(10vw, 100px) 0 min(8vw, 70px);
  color: #333333;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 40px);
  position: relative;
  border-bottom: min(1vw, 5px) solid var(--text-blue);
}

#ceramic_wrapper .CTA_area .section_ttl {
  color: var(--text-blue);
}

#ceramic_wrapper .cta_lead {
  border-bottom: 1px solid #333333;
  position: relative;
  margin: 0 auto min(4vw, 20px);
}

#ceramic_wrapper .cta_lead::before {
  content: "";
  width: 0;
  height: 0;
  border-left: min(3vw, 30px) solid transparent;
  border-right: min(3vw, 30px) solid transparent;
  border-top: min(4vw, 20px) solid #333333;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

#ceramic_wrapper .cta_lead span {
  font-size: clamp(2rem, 6vw, 4rem);
}

#ceramic_wrapper .cta_btn-Wrap {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 20px);
}

#ceramic_wrapper .cta_btn a {
  position: relative;
  display: inline-block;
  width: 100%;
  aspect-ratio: 400/135;
}

#ceramic_wrapper .cta_btn a::before {
  content: "";
  width: 100%;
  aspect-ratio: 400/135;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s;
}

#ceramic_wrapper .cta_btn a:hover {
  opacity: 1;
}

#ceramic_wrapper .cta_btn a:hover::before {
  opacity: 0.3;
}

#c-merit.merit .content_ttl {
  border-top: 1px solid var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
}

#c-merit.merit .bg_01::before {
  background: #DCD9D0;
}

#c-merit.merit .bg_01::after {
  color: #B18D59;
}

#c-merit.merit .bg_02 {
  background-color: #E7ECEB;
  margin-bottom: min(5vw, 40px);
}

#c-case .section_ttl {
  color: var(--text-blue);
}

#c-case .section_ttl span {
  color: #333333;
}

#c-case .content_item-container {
  background-color: #E7ECEB;
}

#c-case .content_item-container .item_ttl {
  background-color: var(--text-blue);
}

#c-case .Label {
  background-color: var(--text-blue);
}

#c-case .a_content table {
  border: 1px solid var(--text-blue);
  border-bottom: none;
}

#c-case .a_content table th {
  background-color: var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
}

#c-case .a_content table td {
  border-bottom: 1px solid var(--text-blue);
}

#c-flow .a_content table th {
  background-color: #E7ECEB;
}

#c-flow .section_ttl {
  color: var(--text-blue);
}

#c-flow .section_ttl span {
  color: #333333;
}

#c-flow li {
  border: 1px solid var(--text-blue);
}

#c-fee .section_ttl {
  color: var(--text-blue);
}

#c-fee .section_ttl span {
  color: #333333;
}

#c-fee table {
  border: 1px solid var(--text-blue);
  border-bottom: none;
}

#c-fee tr {
  flex-direction: row;
}

#c-fee th {
  background-color: var(--text-blue);
  border-bottom: 1px solid #ffffff;
  width: 68%;
}

#c-fee th[colspan="2"] {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #ffffff;
}

#c-fee td {
  width: 32%;
  border-bottom: 1px solid var(--text-blue);
}

#doctor {
  border-bottom: 1px solid var(--text-blue);
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#doctor .inner {
  width: 94%;
  max-width: 1500px;
}

#doctor .section_ttl {
  color: var(--text-blue);
}

#doctor .section_ttl span {
  color: #333333;
}

#doctor .content {
  background: url(../img/doctor_bg.webp) center / cover no-repeat;
  position: relative;
  padding: min(5vw, 80px) min(5vw, 80px) min(8vw, 100px);
  display: flex;
  flex-direction: column;
  gap: min(5vw, 70px);
  margin-left: min(2vw, 15px);
  padding-right: min(7vw, 95px);
}

#doctor .content::before {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #482E1E;
  position: absolute;
  top: max(-2vw, -30px);
  left: max(-2vw, -30px);
}

#doctor .content .flex {
  z-index: 2;
}

#doctor .content .content_imgWrap {
  position: relative;
  padding-bottom: min(3vw, 40px);
}

#doctor .content .content_img {
  width: 95%;
}

#doctor .content .doctor_name {
  width: 60%;
  max-width: 250px;
  position: absolute;
  bottom: 0;
  right: 0;
}

#doctor .content_textWrap {
  text-align: justify;
  display: flex;
  flex-direction: column;
  gap: min(2vw, 20px);
}

#doctor .content_textWrap h4 {
  font-size: clamp(2rem, 6vw, 3.6rem);
}

#doctor .content_textWrap .content_lead {
  font-size: clamp(1.8rem, 5vw, 2.8rem);
}

.cv {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background-color: #ffffff;
  padding: min(2vw, 60px) min(2vw, 50px);
  z-index: 2;
}

.cv h4 {
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 2;
}

.cv dl .dl_item {
  display: flex;
  flex-direction: column;
  text-align: left;
  border-bottom: 1px solid var(--text-blue);
}

.cv p {
  text-align: left;
  border-bottom: 1px solid var(--text-blue);
}

#doctor .bnr {
  width: 80%;
  max-width: 600px;
  margin: 0 auto;
}

#clinic .bg01 {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#clinic .inner {
  gap: min(5vw, 50px)
}

#clinic .section_ttl {
  color: var(--text-blue);
}

#clinic .section_ttl span {
  color: #333333;
}

#clinic .logo {
  width: 80%;
  max-width: 460px;
  margin: 0 auto;
}

#clinic .content {
  gap: min(5vw, 50px)
}

.address {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  margin: 0 auto min(3vw, 15px);
  position: relative;
  padding-left: min(5vw, 50px);
  display: inline-block;
}

.address::before {
  content: "";
  width: min(4vw, 40px);
  aspect-ratio: 4/5;
  background-image: url(../img/map.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#clinic .map {
  aspect-ratio: 58/33;
}

.time-table {
  width: 100%;
  max-width: 580px;
  margin: 0 auto 10px;
  border: 1px solid var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
  vertical-align: middle;
  padding: min(2vw, 20px);
}

.time-table table {
  width: 100%;
}

.time-table .U_line {
  border-bottom: 1px solid var(--text-blue);
}

.time-table table th:first-of-type {
  width: 30vw;
  max-width: 180px;
}

.time-table table th {
  padding: 4px 0;
}

.time-table table td {
  vertical-align: middle;
  font-size: 1.6rem;
  padding: 4px 0;
}

.biz-txt {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  font-size: 1.4rem;
}

#clinic .bg02 {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
  background-color: #E7ECEB;
}

#clinic .bg02 h4 {
  font-size: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
  display: inline-block;
  width: 100%;
  line-height: 2.5;
}

#clinic .bg02 .access_map {
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
}

.train {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  margin: 0 auto min(3vw, 30px);
  position: relative;
  padding-left: min(10vw, 120px);
  display: inline-block;
}

.train::before {
  content: "";
  width: min(8vw, 100px);
  aspect-ratio: 1;
  background-image: url(../img/train.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#clinic .bg03 {
  padding: min(10vw, 100px) 0 min(15vw, 120px);
}

#clinic .bg03 h4 {
  font-size: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--text-blue);
  border-bottom: 1px solid var(--text-blue);
  display: inline-block;
  width: 100%;
  line-height: 2.5;
}

#clinic .bg03 .content_img {
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
}

.car {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  margin: 0 auto min(3vw, 30px);
  position: relative;
  padding-left: min(10vw, 120px);
  display: inline-block;
}

.car::before {
  content: "";
  width: min(8vw, 100px);
  aspect-ratio: 1;
  background-image: url(../img/car.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

footer {
  background-color: #F9FAFA;
  color: #333333;
}

footer .inner {
  padding: min(5vw, 100px) 0;
  gap: min(5vw, 50px);
}

.footer_left {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 40px);
}

footer .logo {
  width: 80%;
  max-width: 460px;
  margin: 0 auto;
}

footer .cta_btn {
  width: 80%;
  max-width: 400px;
  margin: 0 auto;
}

.footer_right-topper {
  gap: 10px;
}

.footer_right-topper p {
  background-color: #AAE2E2;
  width: 80%;
  max-width: 400px;
  margin: 0 auto;
}

.footer_right {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 40px);
}

footer .main_link {
  width: 90%;
  max-width: 800px;
  margin: 0 auto 40px;
}

footer .map {
  height: min(70vw, 500px);
}

footer .map iframe {
  vertical-align: bottom;
}

.cr {
  padding: 16px 0;
  background-color: var(--text-blue);
  color: #ffffff;
  font-size: 1.6rem;
  text-align: center;
}

#go_top {
  width: 40px;
  position: fixed;
  bottom: 10px;
  right: 5px;
  z-index: 900;
}

/* pcスタイル */
@media screen and (min-width: 960px) {
  #ceramic .section_ttl {
    margin: 0;
  }

  #ceramic .section_ttl::after {
    bottom: 50%;
    transform: translate(50%, 50%);
  }

  #ceramic .section_ttl::before {
    top: 100%;
    left: 0;
    transform: translate(-60%, -80%);
  }

  #ceramic .trouble_wrap {
    gap: 30px;
    z-index: 2;
  }

  #ceramic .trouble_wrap li {
    width: calc((100% - 60px) / 3);
  }

  #ceramic .bg_01-bottom {
    padding: 12vw 0 0;
    clip-path: polygon(0 0, 50% 30%, 100% 0, 100% 100%, 0 100%);
    background-color: #DCD9D0;
    margin-top: -8vw;
  }

  #c-about .content_ttl {
    font-size: min(3vw, 4.0rem)
  }

  #c-about .section_ttlWrap h3 span::before,
  #c-about .section_ttlWrap h3 span::after {
    height: 5px;
    width: calc(50% - 400px);
  }

  #c-about .content01 {
    flex-direction: row-reverse;
    align-items: center;
    padding-left: 5%;
  }

  #c-about .content01 .content_img {
    width: 50%;
  }

  #c-about .content01 .content_textWrap {
    width: 50%;
    max-width: 600px;
    margin: 0 0 0 auto;
  }

  #c-about .content02 {
    flex-direction: row;
    align-items: center;
    padding-right: 5%;
  }

  #c-about .content01 .content_img {
    width: 50%;
  }

  #c-about .content01 .content_textWrap {
    width: 50%;
    max-width: 600px;
    margin: 0 auto 0 0;
  }

  #c-about .content_wrapper .content_imgWrap {
    flex-direction: row;
    max-width: 1200px;
  }

  #c-about .content_wrapper .content_img {
    margin: 0;
  }

  #c-about .content_wrapper .content_imgWrap .content_img:nth-of-type(2) {
    margin: 40px 0 0 0;
  }

  #c-about .content_wrapper::after {
    height: 60%;
  }

  #c-about .bg {
    display: flex;
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
  }

  #c-about .bg .content {
    width: 50%;
  }

  #c-about .bg .content .content_img {
    width: 96%;
    margin: 0 auto;
  }

  #c-about .bg .content .content_textWrap {
    width: 96%;
    max-width: 600px;
    margin: 0 auto;
  }

  #ceramic_wrapper .CTA_area .section_ttl {
    position: relative;
  }

  #ceramic_wrapper .CTA_area .section_ttl:before,
  #ceramic_wrapper .CTA_area .section_ttl:after {
    content: "";
    width: calc(50% - 500px);
    height: 10px;
    border-top: 1px solid var(--text-blue);
    border-bottom: 1px solid var(--text-blue);
    position: absolute;
    top: 50%;
    left: 0;
  }

  #ceramic_wrapper .CTA_area .section_ttl:after {
    left: auto;
    right: 0;
  }

  #ceramic_wrapper .cta_btn-Wrap {
    width: 100%;
    max-width: 830px;
    flex-direction: row;
    gap: min(3vw, 30px);
  }

  #c-merit .inner {
    max-width: 1200px;
  }

  #c-flow .inner {
    max-width: 1500px;
  }

  #c-flow.flow .content_itemWrap {
    max-width: 1200px;
    margin: 0 auto;
  }

  #c-fee th {
    background-color: var(--text-blue);
    border-bottom: 1px solid #ffffff;
    width: 50%;
  }

  #c-fee td {
    width: 50%;
    border-bottom: 1px solid var(--text-blue);
  }

  #doctor .content .flex .content_imgWrap {
    width: 50%;
  }

  #doctor .content .flex .content_textWrap {
    width: 50%;
  }

  #doctor .content_textWrap .content_lead {
    font-size: clamp(1.8rem, 2vw, 2.8rem);
    word-break: keep-all;
    text-align: left;
  }

  .cv dl .dl_item {
    flex-direction: row;
  }

  .cv dl .dl_item dt {
    width: 240px;
  }

  .cv dl .dl_item dd {
    width: calc(100% - 240px);
  }

  #clinic .content_img {
    max-width: 900px;
    margin: 0 auto;
  }

  #clinic .content {
    justify-content: space-between;
    align-items: flex-end;
  }

  #clinic .gmap_area {
    width: calc(100%- 580px)
  }

  footer .content {
    gap: 20px;
  }

  .footer_left {
    width: 50%;
  }

  footer .logo {
    width: 80%;
    max-width: 460px;
    margin: 0 auto;
  }

  .footer_right {
    gap: 10px;
    width: 580px;
  }

  .footer_right-topper p {
    width: 170px;
    height: 135px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 2%;
  }

  #go_top {
    width: 60px;
    position: fixed;
    bottom: 20px;
    right: 2vw;
    z-index: 900;
  }
	
}