@charset "UTF-8";
/* CSS Document */
/*mv*/
.mv {
  position: relative;
}
.mv::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg,rgba(34,28,24,.55) 0%,rgba(34,28,24,.35) 45%,rgba(34,28,24,.2) 100%);
  animation: mvbright 1.8s ease-out forwards;
  z-index:1;
}
.mv_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 20% 0%;
  inset: 0;
  z-index: -1;
}
@keyframes mvbright{
  from{
    opacity: 1;
  }
  to{
    opacity: 0.03;
  }
}
.mv_person {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 58%;
  object-position: 0 60%;
  object-fit: cover;
  z-index: -1;
}
.mv_person img {
  width: 100%;
  height: auto;
}
/*コピーエリア*/
.mv_content {
  padding-top: 12rem;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}
.main_content {
  width: min(1400px, 90%);
  margin-inline: auto;
}
/*キャッチコピー*/
.catchcopy {
  font-size: clamp(1.563rem, 0.921rem + 2.57vw, 4rem);
  line-height: 1.3;
  margin-bottom: 1.8rem;
}
.catchcopy span {
  font-size: clamp(1.313rem, 0.889rem + 2.07vw, 3.375rem);
}
.sub_catchcopy {
  font-size: clamp(1.25rem, 1.07rem + 0.88vw, 2.125rem);
  line-height: 1.2;
}
.sub_size {
  font-size: clamp(1.5rem, 1.115rem + 1.88vw, 3.375rem);
}
/*cvb*/
.cvb_warap{
  width: min(1400px, 90%);
  margin-inline: auto;
}
.cvb {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  transition: .25s ease;
}
.cvb_message {
  position: relative;
  font-size: clamp(0.875rem, 0.937vw, 1.125rem);
  color: #E27D7D;
  font-family: var(--font-shippori);
  font-weight: 700;
  letter-spacing: 0.03em;
}
.cvb_message::before, .cvb_message::after {
  content: "";
  position: absolute;
  background-color: #E27D7D;
  border-radius: 3px;
  width: 25px;
  height: 2px;
}
.cvb_message::before {
  left: -2rem;
  bottom: 50%;
  transform: rotate(50deg);
}
.cvb_message::after {
  right: -2rem;
  bottom: 50%;
  transform: rotate(-50deg);
}
.cvb a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  padding: 0.8em 6em;
  color: #fff;
  background-color: #E27D7D;
  border-radius: 40px;
  box-shadow: 0 6px 18px rgba(103, 79, 85, 0.4);
}
.cvb:hover{
  transform: translateY(-3px);
}
.cvb a:hover{
  box-shadow: 0 14px 30px rgba(0,0,0,0.2);
  filter: brightness(1.03);
  background-color: #D86B6B;
}
.cvb_reserve {
  font-family: var(--font-shippori);
  font-weight: 700;
  font-size: clamp(1.125rem, 1.111vw, 1.25rem);
  letter-spacing: 0.03em;
}
.triangle {
  width: clamp(16px, 0.937vw, 18px);
  height: clamp(16px, 0.937vw, 18px);
  background-color: #fff;
  clip-path: polygon(35% 0%, 100% 50%, 35% 100%);
  margin-left: 1rem;
}
.banner_area {
  display: flex;
  gap: 1.5rem;
  width: min(1400px, 90%);
  margin-inline: auto;
  align-items: center;
  transform: scale(0.9);
  transform-origin: left;
  padding-bottom: 0.5rem;
}
/*インビザラインバナー*/
.invisalign_banner {
  width: min(560px, 100%);
  height: auto;
  z-index: 3;
}
.invisa_inner {
  background-color: #fff;
  border: solid 1px #D9CFC7;
  display: grid;
  grid-template-areas:
    "invisa_sub ."
    "invisa_ttl ."
    "invisa_plice ."
    "invisa_plice ."
    "invisa_loan .";
  grid-template-columns: 65% 35%;
  grid-template-rows: 2rem auto minmax(0, 1fr) auto auto;
  padding: 6px 10px 8px 0;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
.invisa_inner::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 2rem;
  background-color: #AA8E72;
  top: 6px;
  left: -11px;
  z-index: 2;
}
.invisa_inner::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 8px;
  background-color: #4D3621;
  clip-path: polygon(0 0, 100% 0, 100% 18%, 100% 100%, 0 18%);
  top: 38px;
  left: -11px;
  z-index: -1;
}
.invisa_bg {
  position: absolute;
  background-color: #F9F8F6;
  width: 100%;
  height: 100%;
  clip-path: polygon(70% 0%, 100% 0%, 100% 100%, 60% 100%);
  z-index: -1;
}
.invisa_sub {
  grid-area: invisa_sub;
  font-family: var(--font-shippori);
  font-weight: 800;
  font-size: clamp(0.8125rem, 0.833vw, 1rem);
  background-color: #AA8E72;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.invisa_sub::after {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 50% 0%, 100% 50%, 50% 100%, 0 100%);
  width: 40px;
  height: 2rem;
  background-color: #AA8E72;
  right: -30px;
  z-index: -1;
}
.invisa_ttl {
  grid-area: invisa_ttl;
  font-family: var(--font-shippori);
  font-weight: 600;
  font-size: clamp(1rem, 1.714vw, 1.5rem);
  text-align: center;
  margin-block: 5px;
}
.invisa_plice {
  grid-area: invisa_plice;
  font-family: var(--font-cormorant);
  font-weight: 700;
  font-size: clamp(0.813rem, 1.041vw, 1.25rem);
  line-height: 1;
  color: #597E98;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1px #C5AE98;
  margin: 0 10px 6px 10px;
  padding-bottom: 2px;
}
.gaku {
  background-color: #597E98;
  color: #fff;
  border-radius: 50%;
  font-size: clamp(0.688rem, 0.729vw, 0.875rem);
  width:clamp(1.875rem, 1.75rem + 0.5vw, 2.188rem);
  height:clamp(1.875rem, 1.75rem + 0.5vw, 2.188rem);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  padding-bottom: 5px;
}
.gaku_down {
  margin-top: 10px;
  margin-left: 1px;
}
.plice {
  font-size: clamp(1.875rem, 1.175rem + 2.8vw, 3.625rem);
}
.invisa_loan {
  grid-area: invisa_loan;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
}
.invisa_loan-comment{
  font-size: clamp(0.625rem, 0.587rem + 0.19vw, 0.813rem);
}
.private-room{
  font-size: clamp(0.625rem, 0.587rem + 0.19vw, 0.813rem);
  color: #fff;
  padding: 3px 8px;
  background-color: #AA8E72;
  display: flex;
  align-items: center;
  white-space: nowrap; 
  flex-shrink: 0;      
  column-gap: 4px;
}
.private-room img{
  width: clamp(8px,1.2vw,12px);
  height: auto;
  flex-shrink: 0;
}
.invisa_img {
  position: absolute;
  right: 10px;
  top: 10%;
  width: 30%;
}
.invisa_logo {
  position: absolute;
  right: 10px;
  bottom: 6%;
  width: 30%;
}
/*mv_badge*/
.mv_badge_container{
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
  flex: 1;
}
.mv_badge_item{
  width: clamp(150px,16.2vw,162px);
  height: clamp(150px,16.2vw,162px);
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  align-items: center;
  flex-shrink: 0;
}
.mv_badge_item::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  padding: 1px; 
  border-radius: 50%;
  background: linear-gradient(135deg, #DFBD9C 0%, #EED2A1 63%, #C09088 80%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.mv_badge_item::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  padding: 1px; 
  background: linear-gradient(135deg, rgba(223, 189, 156, 0.7) 0%, rgba(238, 210, 161, 0.7) 63%, rgba(192, 144, 136, 0.7) 80%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.mv_badge_inner{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: 34px 20px 38px 26px;
  align-items: center;
  justify-content: center;
  text-align: center;
  row-gap: 2px;
  width: 100%;
  height: 100%;
  padding: 16px 10px;
  font-family: var(--font-shippori);
}
.mv_badge_icon {
  height: 30px; 
  width: auto;
  object-fit: contain;
  margin: 0 auto;
}
.mv_badge_sub {
  font-size: clamp(0.875rem, 0.825rem + 0.2vw, 1rem);
  font-weight: 700;
  line-height: 1;
}
.mv_badge_main {
  font-size: clamp(2.625rem, 2.475rem + 0.6vw, 3rem); 
  color: #C88E55; 
  font-weight: 700;
  line-height: 1;
}
.cert_title {
  font-size: clamp(1.438rem, 1.387rem + 0.2vw, 1.563rem);
  color: #C88E55; 
  line-height: 1;
}
.badge_unit {
  font-size: clamp(1.125rem, 1.075rem + 0.2vw, 1.25rem);
  margin-left: 1px;
}
.mv_badge_desc {
  font-size: clamp(1.125rem, 1.075rem + 0.2vw, 1.25rem);
  line-height: 1;
  font-weight: 700;
  margin-top: 5px;
}
.font_mid {
  font-size: clamp(1.438rem, 1.387rem + 0.2vw, 1.563rem);
  color: #C88E55; 
  margin-top: 0;
}
.badge_overlap_label {
  position: absolute;
  width: 80%;
  text-align: center;
  bottom: -16px;              
  left: 50%;
  transform: translateX(-50%); 
  z-index: 2;                
  background: linear-gradient(145deg,#DFBD9C 25%,#EED2A1 35%,#C09088 100%);  
  font-family: var(--font-shippori);
  font-weight: 700;
  font-size: clamp(0.813rem, 0.762rem + 0.2vw, 0.938rem); 
  padding-block: 2px;       
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 12px) 50%, 100% 100%, 0% 100%, 12px 50%);
  white-space: nowrap;          
}
.private{
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.07rem + 0.88vw, 2.125rem);
  font-weight: 600;
  text-align: center;
  color: #AA8E72;
  background-color: rgba(255,255,255,0.6);
  padding-block: 1rem;
}
.private_txt1{
  background-color: #AA8E72;
  padding: 3px 1rem;
  outline: 1px solid #fff;
  outline-offset: -5px;
  position: relative;
  z-index: 0;
  display: inline-block;
  color: #fff;
}
.private_txt2{
  text-shadow: 
  0 0 20px rgba(255, 255, 255, 1), 
  0 0 10px rgba(255, 255, 255, 0.7);
}
@media(max-width:960px) {
  .mv_person {
    height: auto;
    width: 100%;
    top: 7%;
  }
  .mv_content{
    padding-top: 8rem;
    padding-bottom: 5rem;
  }
  .main_content {
    width: 96%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  .copy_area {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff;
    row-gap: 25rem;
  }
  .catchcopy {
    line-height: 1.5;
    font-size: clamp(1.5625rem, 7.5vw, 2.8125rem);
  }
  .catchcopy span{
    font-size: clamp(1.3125rem,6.333vw, 2.375rem);
  }
  .sub_catchcopy{
    line-height: 1.5;
    font-size: clamp(1.125rem, 5.666vw, 2.125rem);
  }
  .sub_size {
  font-size: clamp(1.25rem, 6.333vw, 2.375rem);
  }
  .sub_catchcopy .pc_br{
    display: none;
  }
  .cvb_warap{
    order: 1;
  }
  .cvb {
    margin-inline: auto;
    width: 100%;
  }
  .cvb a {
    width: min(450px, 100%);
    padding: 0.8rem 1rem;
  }
  .banner_area {
    transform: scale(1);
    flex-wrap: wrap;
    justify-content: center;
    order: 0;
  }
  .invisalign_banner {
    width: min(480px, 100%);
  }
  .pc_br_b{
    display: none;
  }
  .mv_badge_container{
    justify-content: center;
  }
  .mv_badge_inner{
    row-gap: 0;
  }
  .private{
    background-color: unset;
    width: 96%;
    margin-inline: auto;
  }
  .private_txt2{
  text-shadow: none;
}
}
@media(max-width:600px) {
  .mv_person{
    top: 12%;
  }
  .logo_area{
    width: 80%;
  }
  .copy_area{
    row-gap: 15rem;
  }
  .invisa_inner{
    grid-template-columns: 75% 25%;
    padding: 6px 8px 10px 0;
  }
  .invisa_loan{
    column-gap: 2%;
  }
  .invisa_loan-comment{
    padding-left: 3%;
  }
  .invisa_img {
    top: 30%;
    right: 6px;
  }
  .invisa_logo {
    bottom: 3%;
    right: 8px;
    width: 25%;
  }
  .mv_badge_container{
    justify-content: space-around;
    column-gap: 1rem;
  }
}
/*trouble*/
.trouble {
  position: relative;
  background: linear-gradient(rgba(200, 216, 228, 0.5)60%, rgba(244, 242, 247, 0.5)90%), url("../images/trouble_bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.trouble::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 150px;
  background: linear-gradient(rgba(255, 255, 255, 0), #F4F2F7);
  bottom: 0;
}
.trouble::after {
  content: "TROUBLE";
  position: absolute;
  font-family: var(--font-cormorant);
  font-size: clamp(3.625rem, 2.342rem + 6.28vw, 9.875rem);
  font-weight: 500;
  color: rgba(143, 115, 94, 0.1);
  letter-spacing: 0.1em;
  right: 0;
  bottom: 3rem;
}
.trouble_inner {
  width: min(1240px, 90%);
  margin-inline: auto;
  font-family: var(--font-shippori);
  font-weight: 500;
}
.trouble_inner h2 {
  border-bottom: solid 1px #9F9F9F;
  padding-top: 6.875rem;
  letter-spacing: 0.05em;
}
.trouble_ttl {
  font-size: clamp(1.625rem, 1.197rem + 1.71vw, 3.25rem);
  color: #656464;
}
.trouble_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
  list-style: none;
  margin-top: 5rem;
  padding-left: 40px;
}
.trouble_check {
  position: relative;
  width: calc((100% / 2) - 2rem);
  font-size: clamp(1rem, 0.949rem + 0.25vw, 1.25rem);
}
.trouble_check::before {
  content: "";
  position: absolute;
  left: -35px;
  top: 4px;
  width: 20px;
  height: 20px;
  border: 1px solid #393327;
}
.t_message {
  font-size: var(--fs-22);
  text-align: center;
  margin-top: 7rem;
  padding-bottom: 8rem;
}
.scroll_down{
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: .4rem;
  z-index: 10;
}
.scroll_down span{
  width: 18px;
  height: 18px;
  border-right: 4px solid rgba(201,197,214,.8);
  border-bottom: 4px solid rgba(201,197,214,.8);
  transform: rotate(45deg);
  opacity: 0;
  animation: arrowAnim 1.8s infinite;
}
.scroll_down span:nth-child(2){
  animation-delay: .2s;
}
.scroll_down span:nth-child(3){
  animation-delay: .4s;
}
@keyframes arrowAnim{
  0%{
    opacity: 0;
    transform: rotate(45deg) translate(0,0);
  }
  40%{
    opacity: .8;
  }
  100%{
    opacity: 0;
    transform: rotate(45deg) translate(6px,6px);
  }
}
@media(max-width:960px) {
  .trouble::after {
    bottom: 10rem;
  }
  .trouble_inner h2 {
    padding-top: 3.5rem;
  }
  .trouble_list {
    margin-top: 1.125rem;
  }
}
@media(max-width:600px) {
  .trouble_check {
    width: 100%;
  }
}
.solution {
  position: relative;
}
.solution h3 {
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.5;
  padding-block: 3rem 16rem;
}
.solution::before, .solution::after {
  content: "";
  position: absolute;
  background-color: rgba(237, 235, 242, 0.4);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.solution::before {
  clip-path: polygon(0 0, 100% 0, 0% 100%);
}
.solution::after {
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.recommendation {
  font-weight: 800;
  font-size: clamp(2rem, 1.666rem + 1.63vw, 3.625rem);
  background: linear-gradient(0deg, #C88E55 0%, #E7B88A 50%, #C88E55 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media(max-width:960px) {
  .solution h3 {
    width: 96%;
    margin-inline: auto;
    padding-block: 0 7rem;
  }
}
/*invisalignとは*/
.invisalign {
  width: min(1200px, 90%);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10rem;
  scroll-margin-top: 6.5rem;
}
.invisalign h2 {
  margin-bottom: 3rem;
}
.invisalign_warap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.invisa-area_logo {
  width: clamp(166px, 18.125vw, 348px);
  height: 100%;
}
.invisa-area_mouth {
  width: clamp(214px, 20.572vw, 395px);
  height: auto;
}
.invisalign_warap h3 {
  margin-bottom: 0.8rem;
}
.invisalign_warap h3 span {
  font-size: clamp(1rem, 0.795rem + 1vw, 2rem);
}
.invisalign_warap p {
  font-size: clamp(0.938rem, 0.899rem + 0.19vw, 1.125rem);
  width: min(826px, 85%);
  line-height: 1.8;
}
@media(max-width:960px) {
  .invisalign {
    margin-bottom: 5.5rem;
    scroll-margin-top: 5rem;
  }
  .invisalign_warap h3 {
    width: 80%;
    text-align: center;
    line-height: 1.1em;
  }
}
@media(max-width:600px) {
  .invisalign h2 {
    text-align: center;
  }
  .invisalign_warap{
    outline-offset: -8px;
  }
}

/*invisalign_reason*/
.invisalign_reason {
  width: min(1200px, 90%);
  margin: 0 auto 15%;
  scroll-margin-top: 7.5rem; 
}
.invisalign_reason h3 {
  color: #D78E82;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.5rem;
}
.r_color {
  color: #56AEE8;
  position: relative;
  display: inline-block;
  line-height: 1;
}
.r_color::before {
  content: "";
  position: absolute;
  width: 70%;
  height: 100%;
  border-top: solid 1px #D78E82;
  right: 0;
  top: 33px;
}
.r_color::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-bottom: solid 1px #D78E82;
  bottom: -5px;
  right: 0;
}
.r_1 {
  font-size: clamp(4.375rem, 3.926rem + 2.2vw, 6.563rem);
}
.r_2 {
  font-size: clamp(1.75rem, 1.391rem + 1.76vw, 3.5rem);
}
.reason_list {
  counter-reset: my-counter;
  list-style: none;
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(320px, 350px)); 
  justify-content: center; 
  gap: 2rem;
  margin-bottom: 6rem;
}
.reason_list li {
  counter-increment: my-counter;
  width: 100%; 
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  position: relative;
}
.reason_list li::before {
  content: counter(my-counter, decimal-leading-zero);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(1.875rem, 1.772rem + 0.5vw, 2.375rem);
  font-family: var(--font-cormorant);
  font-weight: 500;
  color: #fff;
  background-color: #D78E82;
  height: 46px;
  width: 66px;
  z-index: 3;
  top: 5px;
  left: -10px;
}
.reason_list li::after {
  content: "";
  position: absolute;
  background-color: #4D3621;
  width: 10px;
  height: 5px;
  clip-path: polygon(0 0, 100% 0%, 100% 100%);
  left: -10px;
  top: 51px;
}
.reason_list li:nth-child(3n+1){
  transition-delay: .1s;
}
.reason_list li:nth-child(3n+2){
  transition-delay: .2s;
}
.reason_list li:nth-child(3n+3){
  transition-delay: .3s;
}
.reason_line {
  position: absolute;
  width: 100%;
  height: 100%;
  border: solid 1px #C5AE98;
  top: 5px;
  left: 5px;
}
.reason_photo img {
  width: 100%;
  height: 213px;
  object-fit: cover;
}
.reason_txt {
  flex-grow: 1;
  padding: 1.25rem 1.5rem;
}
.reason_txt h4 {
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
.reason_txt p {
  margin-top: 0.625rem;
  flex-grow: 1;
}
/*cvb2*/
.cvb2 {
  margin-inline: auto;
}
.cvb2 .cvb_message{
  font-size: var(--fs-18);
}
@media(max-width:960px) {
  .invisalign_reason {
    margin: 2.5rem auto 15%;
    scroll-margin-top: 0; 
  }
  .reason_list{
    margin-bottom: 3rem;
  }
  /*cvb2*/
  .cvb2 {
    width: 90%;
  }
  .cvb_message {
    text-align: center;
  }
}
@media(max-width:600px) {
  .invisalign_reason h3{
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .r_color{
    line-height: 0.8;
  }
  .r_color::before{
    top: 25px;
  }
  .r_color::after {
    bottom: -10px;
  }
  .reason_list li {
    width: 95%;
    min-width: unset;
    margin-inline: auto;
  }
  .reason_txt h4{
    font-weight: 700;
  }
  /*cvb2*/
  .cvb2 .cvb_message::before, .cvb2 .cvb_message::after {
    width: 40px;
  }
  .cvb_message::before{
    left: -3rem;
  }
  .cvb_message::after{
    right: -3rem;
  }
}
/*features*/
.features{
  margin-bottom: 12rem;
}
.features .sub_ttl{
  margin-bottom: 30px;
}
.features h2{
  width: 96%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 4%;
  text-align: center;
  gap: 5px;
}
.features_ttl_sub{
  font-size: clamp(1.063rem, 0.798rem + 1.06vw, 1.75rem);
}
.features_ttl{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: center;
}
.features_ttl_num{
  font-size: clamp(3.438rem, 3.271rem + 0.82vw, 4.25rem);
  line-height: 1;
  color: #fff;
  background-color: #D78E82;
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  display: inline-flex; 
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-inline: 5px 3px;
  padding-bottom: 5px;
}
.features_list_p, .features_list_g {
  position: relative;
  margin-bottom: 5rem;
  padding-bottom: 3rem;
}
.features_list_p::before, .features_list_g::before {
  content: "";
  position: absolute;
  width: 65%;
  height: 70%;
  z-index: -1;
}
.features_list_p::before {
  background-color: #F4ECE5;
  left: 0;
  bottom: 0;
}
.features_list_g::before {
  background-color: #F2F2F2;
  right: 0;
  bottom: 0;
}
.features_list-warap {
  width: min(1550px, 90%);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.features_list_g .features_list-warap {
  flex-direction: row-reverse;
}
.fearures_image {
  width: 50%;
  max-width: 700px;
  flex: 1;
  position: relative;
  z-index: 1;
}
.fearures_image img{
  height: auto;
  object-fit: cover;
}
.fearures_image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: solid 1px #C5AE98;
  z-index: -1;
}
.features_list_p .fearures_image::before {
  right: -15px;
  bottom: -15px;
}
.features_list_g .fearures_image::before {
  left: -15px;
  bottom: -15px;
}
.features_txt_area {
  width: 50%;
  margin: 2rem;
  max-width: 640px;
}
.features_num {
  text-align: center;
  font-size: clamp(3.438rem, 3.271rem + 0.82vw, 4.25rem);
  font-family: var(--font-cormorant);
  font-weight: 500;
  color: #D78E82;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.features_num::before {
  content: "FEATURE";
  position: absolute;
  font-weight: 600;
  font-size: clamp(0.813rem, 0.748rem + 0.31vw, 1.125rem);
  border-bottom: solid 1px #D78E82;
  top: -5px;
}
.features_txt_area h3 {
  margin-bottom: 1.25rem;
}
.sp2_br{
  display: none;
}
.features_txt_bg {
  font-size: var(--fs-30);
  letter-spacing: 0.03em;
  background-color: #D78E82;
  color: #fff;
  text-align: center;
  line-height: 3;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0.5rem 1rem;
  position: relative;
  box-shadow: 5px 5px 10px rgba(81,39,32,0.2);
}
.features_txt {
  margin-bottom: 1.25rem;
  line-height: 2;
}
.features_included {
  background-color: #fff;
  border: solid 1px #C5AE98;
  padding: 1rem;
}
.features_included_warap{
  margin-bottom: 1rem;
  border-bottom: solid 1px #C5AE98;
}
.features_included-price{
  text-align: center;
  margin-bottom: 20px;
  letter-spacing: 0.03em;
  font-size: var(--fs-18);
  background-color: #F4ECE5;
}
.included-price_size{
  font-size: var(--fs-30)
}
.features_included-list {
  width: fit-content;
  margin-inline: auto;
}
.features_included-list li {
  font-size: clamp(1rem, 0.987rem + 0.06vw, 1.063rem);
  margin-bottom: 0.35rem;
  position: relative;
  padding-left: 40px;
}
.features_included-list li::before {
  content: "";
  position: absolute;
  left: 0.4em;
  top: 0.4em;
  width: 18px;
  height: 6px;
  border-left: 2px solid #D78E82;
  border-bottom: 2px solid #D78E82;
  transform: rotate(-45deg);
}
.features_included-txt {
  width: 90%;
  margin-inline: auto;
}
.features_comment {
  font-size: clamp(0.625rem, 0.599rem + 0.13vw, 0.75rem);
}
@media(max-width:960px) {
  /* features*/
  .features{
    margin-bottom: 5rem;
  }
  .features h2{
    margin-bottom: 8%;
  }
  .features_list_p, .features_list_g {
    padding-bottom: 0;
  }
  .features_list-warap {
    width: 100%;
    flex-direction: column;
    margin-inline: unset;
  }
  .features_list_g .features_list-warap {
    flex-direction: column;
  }
  .features_list_p::before, .features_list_g::before {
    top: 5%;
    width: min(650px, 95%);
    height: 400px;
  }
  .features_list_p .fearures_image {
    width: 100%;
    max-width: 500px;
    margin-inline: clamp(1rem, -0.667rem + 4.44vw, 2rem) auto;
  }
  .features_list_g .fearures_image {
    width: 90%;
    max-width: 500px;
    margin-inline: auto clamp(1rem, -0.667rem + 4.44vw, 2rem);
  }
  .features_txt_area {
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .features_num{
    bottom: -20px;
  }
  .features_list_p .features_num {
    justify-content: flex-end;
    margin-right: 1rem;
  }
  .features_list_g .features_num {
    justify-content: flex-start;
    margin-left: 1rem;
  }
  .features_txt_area h3{
    margin-bottom: 1rem;
  }
  .features_list_p .features_txt_area h3 {
    margin-right: 0;
    text-align: right;
  }
  .features_list_g .features_txt_area h3 {
    margin-left: 0;
  }
  .features_txt_bg {
    box-shadow: 2px 2px 4px rgba(81,39,32,0.2);
  }
  .features_txt, .features_included, .features_comment {
    width: 90%;
    margin-inline: auto;
  }
  
}
@media(max-width:600px){
/* features */ 
  .features {
    padding-top: 3.5rem;
  }
  .features_ttl_num-area{
  font-size: clamp(1.625rem, 1.481rem + 0.58vw, 2rem);
}
  .features_list_p, .features_list_g {
    margin-bottom: 3rem;
  }
  .features_list_p .fearures_image{
    margin-inline: 0 auto;
    width: 90%;
  }
  .features_list_g .fearures_image{
    margin-inline: auto 0;
  }
  .features_included-list{
    width: 100%;
  }
  .sp2_br{
  display: block;
  }
}
/*provider*/
.provider {
  margin-bottom: 8.5rem;
  scroll-margin-top: 8.5rem;
}
.provider_inner {
  width: min(1400px, 90%);
  margin-inline: auto;
  background-image: linear-gradient(rgba(89, 89, 89, 0.8), rgba(89, 89, 89, 0.8)), url("../images/platina_pc.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  position: relative;
  z-index: 1;
  padding-bottom: 3rem;
  margin-bottom: 6rem;
}
.provider_inner::before, .provider_inner::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.provider_inner::before {
  background-color: rgba(89, 89, 89, 0.5);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.provider_inner::after {
  background-color: rgba(89, 89, 89, 0.4);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.provider_inner-line {
  position: absolute;
  outline: 1px solid #fff;
  outline-offset: -18px;
  width: 100%;
  height: 100%;
  top: 0;
}
.provider_inner-warap {
  position: relative;
  z-index: 3;
  width: 90%;
  margin-inline: auto;
}
.provider_badge {
  position: absolute;
  top: -100px;
  left: -100px;
  width: clamp(180px, 25.833vw, 310px);
  height: clamp(180px, 25.833vw, 310px);
}
.badge_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 0;
}
.badge_txt {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  padding: 10px;
  font-size: clamp(0.688rem, 0.572rem + 0.56vw, 1.25rem);
  font-family: var(--font-shippori);
  font-weight: 700;
}
.badge_lg {
  font-size: clamp(0.938rem, 0.796rem + 0.69vw, 1.625rem);
}
.provider_ttl {
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 2;
  padding-top: 5rem;
  margin-bottom: 2rem;
}
.provider_description {
  color: #fff;
  width: min(800px, 90%);
  margin-inline: auto;
  line-height: 1.8;
  margin-bottom: 6rem;
}
.provider_explanation-warap {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.provider_pyramid {
  width: min(600px, 40%);
  position: relative;
}
.pyramid_bg{
  width: 100%;
  height: auto;
  display: block;
}
.pyramid_txt{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.5));
}
.provider_explanation {
  width: 60%;
}
.explanation_txt {
  max-width: 730px;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 2rem;
  outline: solid 1px #C5AE98;
  outline-offset: -13px;
  position: relative;
}
.explanation_txt::before {
  content: "";
  position: absolute;
  background-image: url("../images/certificate.webp");
  top: 0;
  transform: translateY(-70%);
  right: -30px;
  width: clamp(161px, 18.906vw, 363px);
  height: clamp(102px, 12.031vw, 231px);
  background-size: contain;
  background-repeat: no-repeat;
}
.explanation_txt h4 {
  font-size: clamp(1.125rem, 1.074rem + 0.25vw, 1.375rem);
  font-weight: 600;
  margin-bottom: 1.2rem;
}
.striped-underline {
  background-image: repeating-linear-gradient(-135deg, #C5AE98, #C5AE98 2px, transparent 2px, transparent 5px);
  background-position: bottom;
  background-size: 100% 5px;
  background-repeat: repeat-x;
  padding-bottom: 1.2rem;
}
@media(max-width:960px) {
  .provider {
    margin-bottom: 4.5rem;
    scroll-margin-top: 5rem;
  }
  .provider_inner{
    margin-bottom: 3rem;
    background-image: linear-gradient(rgba(89, 89, 89, 0.8), rgba(89, 89, 89, 0.8)), url("../images/platina_sp.webp");
    background-position: left center;
  }
  .provider h2 {
    margin-bottom: 3rem;
  }
  .provider_badge {
    top: -60px;
    left: -80px;
  }
  .provider_description {
    margin-bottom: 3rem;
  }
  .provider_explanation-warap {
    flex-direction: column;
    row-gap: 6rem;
  }
  .provider_pyramid {
    width: min(500px, 100%);
  }
  .provider_explanation {
    width: 100%;
  }
}
@media(max-width:600px) {
  .provider_inner-line{
    outline-offset: -8px;
  }
  .provider_inner::before, .provider_inner::after{
    width: 100%;
  }
  .provider_badge{
    top: -6%;
    left: unset;
    right: -16%;
  }
  .explanation_txt{
    padding: 2rem 1.5rem;
  }
}
/*treatable-cases*/
.treatable-cases {
  background-color: #F4ECE5;
  position: relative;
  z-index: 1;
  scroll-margin-top: 3.5rem;
}
.treatable-cases::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(50deg, #fdfdfe, #f5e5cf);
  opacity: 0.5;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  z-index: 2;
}
.treatable-cases_inner {
  width: min(1200px, 90%);
  margin-inline: auto;
  position: relative;
  z-index: 3;
  padding-block: 3.5rem;
}
.treatable-cases_ttl-bg {
  background-color: #DBC1A8;
  position: relative;
  z-index: 1;
}
.treatable-cases_inner h3 {
  font-size: clamp(1.375rem, 1.195rem + 0.88vw, 2.25rem);
  text-align: center;
  letter-spacing: 0.03em;
  padding-block: 0.8rem;
  margin-bottom: 3rem;
}
.pattern1, .pattern2 {
  position: absolute;
  background-color: rgba(163, 129, 104, 0.2);
  width: clamp(44px, 7.812vw, 150px);
  height: 100%;
  top: 0;
  z-index: -1;
}
.pattern3, .pattern4 {
  position: absolute;
  background-color: rgba(163, 129, 104, 0.3);
  width: clamp(32px, 2.76vw, 53px);
  height: 100%;
  top: 0;
  z-index: -1;
}
.pattern1 {
  clip-path: polygon(0 0, 0 100%, 100% 0);
  left: 0;
}
.pattern2 {
  clip-path: polygon(0 100%, 100% 0%, 100% 100%);
  right: 0;
}
.pattern3 {
  clip-path: polygon(0 0, 100% 100%, 0% 100%);
  left: 0;
}
.pattern4 {
  clip-path: polygon(0 0%, 100% 0%, 100% 100%);
  right: 0;
}
.treatable-cases_list {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-areas:
    "gatagata deppa sukippa kaikou ukeguchi deepbite"
    "gatagata deppa sukippa kaikou ukeguchi deepbite";
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto auto auto;
  margin-bottom: 3rem;
}
.treatable-cases_list li{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.treatable-cases_list li:nth-child(1){
  transition-delay: .1s;
}
.treatable-cases_list li:nth-child(2){
  transition-delay: .15s;
}
.treatable-cases_list li:nth-child(3){
  transition-delay: .2s;
}
.treatable-cases_list li:nth-child(4){
  transition-delay: .25s;
}
.treatable-cases_list li:nth-child(5){
  transition-delay: .3s;
}
.treatable-cases_list li:nth-child(6){
  transition-delay: .35s;
}
.treatable-cases_list li h4 {
  font-size: var(--fs-18);
  background-color: #fff;
  border-radius: 5px;
  padding: 0.3rem 1rem;
  width: 80%;
  margin: 0.8rem auto 0;
  text-align: center;
}
.treatable-cases_list li p {
  margin: 0.5rem auto 0;
}
.treatable1 {
  grid-area: sukippa;
}
.treatable2 {
  grid-area: ukeguchi;
}
.treatable3 {
  grid-area: gatagata;
}
.treatable4 {
  grid-area: kaikou;
}
.treatable5 {
  grid-area: deppa;
}
.treatable6 {
  grid-area: deepbite;
}
.treatable_img {
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin-inline: auto;
  position: relative;
}
.treatable_img img {
  width: 60%;
}
.treatable_img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: -5px;
  top: -5px;
  border: solid 1px #C5AE98;
  border-radius: 50%;
}
.treatable-cases_message {
  font-family: var(--font-notosans);
  font-size: clamp(0.625rem, 0.599rem + 0.13vw, 0.75rem);
  text-align: center;
  margin-bottom: 2rem;
}
.case_link {
  text-align: center;
  width: min(1200px, 90%);
  margin-inline: auto;
}
.case_link a {
  text-decoration: none;
  color: #fff;
  background-color: #597E98;
  display: inline-flex;
  align-items: center;
  column-gap: 10px;
  font-size: 1rem;
  font-family: var(--font-shippori);
  padding: 0.8rem 4rem;
  position: relative;
}
.case_link a::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 1px;
  background-color: #fff;
  bottom: 8px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transition: .3s ease;
}
.arrow {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
}
.arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 45%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #597E98;
  border-right: 2px solid #597E98;
}
.case_link a:hover{
  background-color: #6888A5;
}
.case_link a:hover .arrow{
  transform: translateX(4px);
  transition: .25s ease;
}
.case_link1{
  width: 100%;
}
@media(max-width:960px) {
  .treatable-cases{
  scroll-margin-top: 0px;
  }
  .treatable-cases_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2rem;
    margin-inline: auto;
  }
  .treatable-cases_list li {
    max-width: 200px;
    width: calc((100% - (2rem * 2)) / 3);
    margin-inline: auto
  }
  .case_link {
    text-align: center;
  }
}
@media(max-width:600px) {
  .treatable-cases_inner h3{
    letter-spacing: 0;
  }
  .treatable-cases_list {
    gap: 1.5rem 0.5rem;
  }
  .treatable-cases_list li {
    width: calc((100% - 1.5rem) / 2);
    max-width: 165px;
  }
  .pc_br {
    display: none;
  }
  .case_link a{
    width: min(280px, 90%);
    padding: 0.6rem 0;
    display: flex;
    justify-content: center;
    margin-inline: auto;
  }
}
/*experienced体験動画*/
.experienced {
  padding-block: 8rem 8rem;
}
.experienced_warap {
  width: min(1240px, 90%);
  margin-inline: auto;
}
.experienced_badge{
  text-align: center;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.camera_icon{
  background-image: url("../images/camera_icon.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(31px,5.9vw,59px);
  height: clamp(25px,4.7vw,47px);
  margin-right: 0.5rem;
}
.experienced_badge_text{
  font-size: clamp(0.938rem, 0.438rem + 2vw, 2.188rem);
  color: #C5AE98;
  font-family: var(--font-cormorant);
  letter-spacing: 0.15em;
}
.experienced_warap h3 {
  font-size: clamp(1.125rem, 0.971rem + 0.75vw, 1.875rem);
  color: #597E98;
  text-align: center;
  margin: 0 auto 1.875rem;
  border-bottom: 1px solid #C5AE98;
  border-top: 1px solid #C5AE98;
  padding-block: 0.5rem;
}
.experienced_lg {
  font-size: var(--fs-36);
}
.experienced_text {
  margin: 0 auto 1.875rem;
  width: min(100%,1000px);
}
.explanation_video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2.5rem; 
  align-items: start;
}
.explanation_video-item {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.explanation_video-item h4 {
  padding: 0.5rem;
  margin-bottom: 0.3rem;
  background-image: repeating-linear-gradient(-135deg, #C5AE98, #C5AE98 2px, transparent 2px, transparent 5px);
  background-position: bottom;
  background-size: 100% 5px;
  background-repeat: repeat-x;
  padding-bottom: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.explanation_video-item h4::before{
  content: "";
  display: inline-block;
  background-image: url("../images/video_icon.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(38px,4vw,40px);
  height: clamp(26px,2.7vw,27px);
  margin-right: 0.5rem;
}
.explanation_video{
  position: relative;
  width: 100%;            
  max-width: 800px;       
  padding-top: 56.25%;   
  height: 0;
}
.explanation_video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media(max-width:960px){
  .experienced {
    padding-block: 5rem;
  }
  .explanation_video-grid {
    grid-template-columns: 1fr;
    gap: 3rem; 
  }
}
@media(max-width:600px){
  /* experienced */
  .experienced{
    padding-block: 1rem;
  }
  .experienced_warap{
    outline-offset: -8px;
    padding-block: 2rem;
  }
  .experienced_badge{
    margin-bottom: 0.5rem;
  }
}
/*itero_simulation*/
.itero_simulation {
  background-color: #F4ECE5;
  padding-block: 5rem;
  position: relative;
  scroll-margin-top: 5.5rem; 
}
.itero_simulation::before, .itero_simulation::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
}
.itero_simulation::before {
  background-color: rgba(217, 207, 199, 0.2);
  clip-path: polygon(100% 0%, 100% 100%, 0 100%);
}
.itero_simulation::after {
  background-color: rgba(197, 174, 152, 0.1);
  clip-path: polygon(0 60%, 100% 100%, 0 100%);
}
.itero_inner {
  width: min(1200px, 90%);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
.itero_ttl1 {
  font-size: var(--fs-18);
  font-family: var(--font-shippori);
  font-weight: 700;
  color: #597E98;
  display: inline-block;
  position: relative;
  margin-bottom: 1.25rem;
}
.itero_ttl1::before, .itero_ttl1::after {
  content: "";
  position: absolute;
  background-color: #597E98;
  width: 4.5rem;
  height: 1px;
  bottom: 50%;
}
.itero_ttl1::before {
  left: -5rem;
}
.itero_ttl1::after {
  right: -5rem;
}
.sp_br {
  display: none;
}
.itero_t1_s {
  font-size: clamp(1.125rem, 1.048rem + 0.38vw, 1.5rem);
}
.itero_t1_check {
  position: relative;
}
.itero_t1_check::before {
  content: "";
  position: absolute;
  background-image: url("../images/itero_check.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: clamp(8px, 0.677vw, 13px);
  height: clamp(9px, 0.781vw, 15px);
  right: -5px;
  top: -0.5rem;
}
.itero_ttl2 {
  font-size: clamp(1.125rem, 0.928rem + 0.79vw, 1.875rem);
  line-height: 1.8;
  position: relative;
  margin-bottom: 5rem;
}
.itero_ttl2::before {
  content: "";
  position: absolute;
  background-image: url("../images/itero_img.webp");
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(143px, 28.714vw, 402px);
  height: clamp(143px, 28.714vw, 402px);
  right: 0;
  bottom: -5rem;
  z-index: 2;
}
.ligth_blue {
  color: #00B8EE;
}
.itero_t2_s1 {
  font-size: clamp(1rem, 0.872rem + 0.63vw, 1.625rem);
}
.itero_t2_s2 {
  font-size: clamp(1.875rem, 1.49rem + 1.88vw, 3.75rem);
  font-weight: 800;
  line-height: 1;
}
.bg_line {
  position: relative;
  display: inline-block;
  z-index: 1;
  line-height: 2.5;
}
.bg_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(50% - 50vw);
  width: calc(100% + 43.1vw);
  height: 1.6em;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0%, 95% 100%, 0 100%);
  z-index: -1;
}
.itero_list {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 5.5rem;
}
.itero_list li {
  width: calc((90% - (4rem * 2)) / 3);
  min-width: 230px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background-color: #fff;
}
.itero_h4-bg {
  height: clamp(65px, 4.427vw, 85px);
  background-color: #DDC8B3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%; 
}
.itero_h4-bg h4 {
  font-size: clamp(1rem, 0.949rem + 0.25vw, 1.25rem);
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.itero_h4-bg::before {
  content: "";
  position: absolute;
  background-color: rgba(244, 236, 229, 0.3);
  width: 100%;
  height: 100%;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.itero_list_icon {
  margin: 1.2rem auto 0;
  height: 80px; 
  display: flex;
  align-items: center;
  justify-content: center;
}
.itero_list_icon img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.itero_list li p {
  flex-grow: 1;
  margin: 1.2rem 0.5rem;
  text-align: center;
}
.itero_message {
  font-size: clamp(1rem, 0.949rem + 0.25vw, 1.25rem);
  font-family: var(--font-shippori);
  font-weight: 600;
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
}
@media(max-width:960px) {
  /* itero960px */
  .itero_simulation {
    padding-block: 4rem;
    scroll-margin-top: 0; 
  }
  .itero_ttl1 {
    width: fit-content;
    display: block;
    margin-inline: auto;
    line-height: 1.8;
  }
  .itero_ttl1::before {
    left: -6rem;
  }
  .itero_ttl1::after {
    right: -6rem;
  }
  .itero_t1_check::before {
    top: -0.15rem;
  }
  .itero_list {
    flex-direction: column;
    gap: 2rem;
  }
  .itero_list li {
    width: min(500px, 90%);
    margin-inline: auto;
  }
  .itero_list li p {
    margin-block: 1rem;
  }
  .sp_br {
    display: block;
  }
}
@media(max-width:600px) {
  /* itero600px */
  .video_ttl{
    padding-block: 0.5rem;
  }
  .video_ttl_bg{
    margin-bottom: 1.5rem;
  }
  .itero_ttl1::before, .itero_ttl1::after {
    width: 2rem;
  }
  .itero_ttl1::before {
    left: -3rem;
  }
  .itero_ttl1::after {
    right: -3rem;
  }
  .bg_line{
    line-height: unset;
  }
  .bg_line_sp {
    display: block;
    position: relative;
  }
  .bg_line_sp::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -2rem;
    width: calc(100% + 3rem);
    height: 1.4em;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0%, 95% 100%, 0 100%);
    z-index: -1;
  }
  .bg_line::before {
    transform: none;
    top: 7%;
    left: -2rem;
    width: calc(100% + 3rem);
  }
  .itero_list{
    margin-bottom: 3.5rem;
  }
  .itero_message{
    text-align: left;
  }
}
.before-treatment {
  background-color: #F9F8F6;
  padding-block: 10.5rem 8rem;
}
.before-treatment_warap {
  width: min(1200px, 90%);
  margin-inline: auto;
}
.before-treatment_flame {
  width: 100%;
  border: solid 1px #C09088;
  background: linear-gradient(rgba(255, 255, 255, 0)5%, #fff 10%);
  position: relative;
  margin-bottom: 6.5rem;
}
.before-treatment_ttl {
  background-color: #F9F8F6;
  text-align: center;
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  top: -3rem;
  width: 80%;
  height: 5%;
  margin-inline: auto;
}
.before-treatment_ttl h2 {
  display: inline-block;
}
.sub_ttl2 {
  font-size: clamp(1.5625rem, 0.303rem + 3.29vw, 4.25rem);
}
.before-treatment_inner {
  margin: 6.5rem auto 0;
  width: min(1050px, 90%);
}
.before-treatment_description {
  width: min(900px, 100%);
  margin: 0 auto 2rem;
}
.treatment_list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1rem;
  padding-block: 15px;
  border-bottom: solid 1px #C5AE98;
  padding-left: 110px;
}
.treatment_list li:last-child {
  border-bottom: none;
  margin-bottom: 3.5rem;
}
.treatment_txt {
  width: min(530px, 90%);
}
.treatment_list h3 {
  font-size: var(--fs-22);
  color: #A38168;
  margin-bottom: 1.125rem;
  position: relative;
}
.tr_num {
  position: absolute;
  font-size: clamp(1.125rem, 0.993rem + 0.53vw, 1.625rem);
  font-family: var(--font-cormorant);
  font-weight: 600;
  color: #fff;
  left: -100px;
  top: 30px;
  z-index: 1;
}
.tr_num::before {
  content: "";
  position: absolute;
  background-color: #C5AE98;
  width: clamp(45px, 4.857vw, 68px);
  height: clamp(45px, 4.857vw, 68px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  outline: solid 1px #fff;
  outline-offset: -6px;
  z-index: -1;
}
.treatment_img {
  width: min(324px, 90%);
  height: auto;
}
.treatment_img img {
  width: 100%;
  height: auto;
}
.before-treatment_message {
  font-size: var(--fs-18);
  font-family: var(--font-shippori);
  font-weight: 500;
  line-height: 1.5;
  background-color: #F4ECE5;
  width: min(1050px, 100%);
  padding: 1rem 1.5rem;
  margin: 0 auto 3.5rem;
  display: flex;
  justify-content: center;
}
@media(max-width:960px) {
  /* 始める前に960px */
  .before-treatment {
    padding-block: 8.5rem 4rem;
  }
  .before-treatment_flame {
    margin-bottom: 3.5rem;
  }
  .treatment_list li {
    flex-direction: column;
    row-gap: 1rem;
    padding-left: 0;
    padding-block: 2.5rem;
  }
  .treatment_list li:last-child {
    margin-bottom: 0;
  }
  .treatment_txt {
    width: min(600px, 100%);
  }
  .treatment_list h3 {
    padding-left: 80px;
    margin-bottom: 2rem;
  }
  .tr_num {
    top: 0;
    left: 0;
  }
}
@media(max-width:600px) {
  /* 始める前に600px  */
  .before-treatment_ttl {
    top: -5rem;
    width: 98%;
  }
  .before-treatment_inner {
    margin: 3.5rem auto 0;
  }
  .treatment_list h3 {
    padding-left: 55px;
    margin-bottom: 1.5rem;
  }
  .tr_num {
    left: 8px;
  }
  .before-treatment_message{
    padding: 1rem 0.5rem;
  }
}
/*comparison_比較*/
.comparison {
  background-color: #fff;
  position: relative;
  padding-top: 8.5rem;
  z-index: 1;
}
.comparison::before, .comparison::after {
  content: "";
  position: absolute;
  background-color: rgba(172, 210, 237, 0.1);
  width: 100%;
  height: 100%;
  top: 0;
}
.comparison::before {
  clip-path: polygon(0 0, 100% 0, 100% 40%);
}
.comparison::after {
  clip-path: polygon(0 0, 100% 0, 0 90%);
}
.comparison_innner {
  width: min(1200px, 90%);
  margin-inline: auto;
}
.comparison_ttl {
  text-align: center;
  margin-bottom: 5rem;
}
.comparison_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  position: relative;
  z-index: 2;
  margin-bottom: 8.5rem;
}
.comparison_table th:nth-child(1) {
  width: 20%;
}
.comparison_table th:nth-child(2), .comparison_table td:nth-child(2), .comparison_table th:nth-child(3), .comparison_table td:nth-child(3) {
  width: 40%;
}
.comparison_table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.comparison_table thead th {
  text-align: center;
  font-size: clamp(1.063rem, 1.024rem + 0.19vw, 1.25rem);
  font-family: var(--font-shippori);
  font-weight: 700;
  padding: 0.5rem;
}
.th_bg_blue {
  background-color: #AFC7D8;
  border-top: solid 1px #9F9F9F;
  border-left: solid 1px #9F9F9F;
}
.th_bg_grey {
  background-color: #BFBFBF;
  border-top: solid 1px #9F9F9F;
  border-left: solid 1px #9F9F9F;
}
.comparison_table thead th:first-child {
  background-color: #F4ECE5;
}
.comparison_table tbody th {
  background-color: #F4ECE5;
  font-weight: 400;
}
.table_w {
  background-color: #f6f6f6;
}
.table_m {
  background-color: #F5FBFF;
}
.table_photo {
  height: clamp(92px, 10vw, 140px);
}
.photo_m {
  height: clamp(72px, 7.857vw, 110px);
}
.table_photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.comparison_table tbody tr {
  border-bottom: solid 1px #9F9F9F;
}
.comparison_table td {
  border-left: solid 1px #9F9F9F;
  text-align: center;
  padding: 1rem;
}
.mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 600;
}
/*risk*/
.risk {
  width: min(1025px, 100%);
  margin: 0 auto 8.5rem;
  padding: 2rem;
  border: solid 1px #656464;
  border-radius: 10px;
}
.risk h3 {
  text-align: center;
  font-size: var(--fs-18);
  font-family: var(--font-notosans);
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.risk_list {
  width: min(670px, 90%);
  margin-inline: auto;
}
.risk_list li {
  margin-bottom: 0.5rem;
  list-style: disc;
  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
}
.risk_list li:last-child {
  margin-bottom: 0;
}
@media(max-width:960px) {
  .comparison {
    padding-top: 3.75rem;
  }
  .comparison_ttl {
    margin-bottom: 2.5rem;
  }
  .comparison_table {
    margin-bottom: 5.5rem;
  }
  .risk {
    margin: 0 auto 5.5rem;
  }
}
@media(max-width:600px){
  .comparison_table th:nth-child(1) {
  width: 25%;
  }
  .comparison_table th:nth-child(2), .comparison_table td:nth-child(2), .comparison_table th:nth-child(3), .comparison_table td:nth-child(3) {
  width: 37.5%;
  }
  .comparison_table td{
    padding: 0.5rem 1rem;
  }
  .mark{
    width: 1.125rem;
    height: 1.125rem;
    font-size: 1.125rem;
  }
  .risk{
    padding: 1rem 0.5rem;
  }
  .risk_list{
    padding-left: 0.5rem;
  }
  .comparison::after {
    clip-path: polygon(0 0, 100% 0, 0 65%);
  }
}
/*dental_facts*/
.dental_facts {
  background-color: #FAF7F4;
  padding-block: 1.875rem 18.5rem;
  scroll-margin-top: 7.5rem; 
}
.sub_ttl3 {
  font-family: var(--font-cormorant);
  font-size: var(--fs-88);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  background: linear-gradient(0deg, #C09088 30%, #EED2A1 50%, #DFBD9C 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: right;
  width: 95%;
  display: block;
  position: relative;
}
.ttl_line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 48%;
  height: 1px;
  background-color: #C5AE98;
}
.fact_inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  width: min(1400px, 90%);
  margin-inline: auto;
}
.fact_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.875rem;
  width: 45%;
}
.fact_inner h2 {
  font-size: clamp(1.125rem, 0.971rem + 0.75vw, 1.875rem);
  letter-spacing: 0.05em;
}
.fact_size {
  font-size: clamp(1.75rem, 1.57rem + 0.88vw, 2.625rem);
  position: relative;
  z-index: 1;
}
.fact_size::before {
  content: "";
  position: absolute;
  background-image: url("../images/fact_underline.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  bottom: -40px;
  z-index: -1;
}
.fact_gragh_img {
  width: clamp(277px, 19.635vw, 377px);
  height: clamp(277px, 19.635vw, 377px);
}
.fact_gragh_img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.fact_txt p {
  width: min(530px, 90%);
  margin-inline: auto;
  line-height: 1.8;
}
.fact_image {
  width: min(800px, 45%);
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1
}
.fact_image::before {
  content: "";
  position: absolute;
  background-color: #EEEEEE;
  width: 100%;
  height: 100%;
  top: -1.875rem;
  left: -1.875rem;
  z-index: -1;
}
.fact_image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media(max-width:960px) {
  .dental_facts{
    scroll-margin-top: 0; 
  }
  .ttl_line {
    width: clamp(28%, 32vw, 40%);
  }
  .fact_size::before {
    bottom: -30px;
  }
  .fact_inner {
    flex-direction: column;
    row-gap: 4rem;
  }
  .fact_txt {
    width: 100%;
  }
  .fact_txt p {
    width: min(550px, 100%);
  }
  .fact_image {
    width: min(550px, 100%);
    margin-left: 1.875rem
  }
}
@media(max-width:600px){
  .sub_ttl3{
    text-align: center;
    margin-inline: auto;
  }
  .ttl_line{
    display: none;
  }
}
/*point*/
.point {
  width: 100%;
  height: 100%;
  background-color: #F4ECE5;
  background-size: cover;
  background-position: center;
  clip-path: polygon(50% 0, 100% 15%, 100% 100%, 0 100%, 0 15%);
  margin-top: -13rem;
  padding-block: 13rem 10rem;
  position: relative;
}
.point::before {
  content: "";
  position: absolute;
  background-image: url("../images/point_bg.webp");
  background-position: center;
  background-size: cover;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  z-index: 1
}
.point_inner {
  position: relative;
  z-index: 2;
  width: min(1240px, 90%);
  margin-inline: auto;
}
.point_inner h2 {
  font-size: clamp(1.125rem, 0.894rem + 1.13vw, 2.25rem);
  text-align: center;
  color: #E27D7D;
  letter-spacing: 0.05em;
  background-color: #fff;
  width: 80%;
  line-height: 0.8;
  padding-bottom: 1rem;
  margin: 0 auto 1.875rem;
}
.point_size {
  font-size: clamp(2.375rem, 2.118rem + 1.26vw, 3.625rem);
}
.point_description {
  width: min(720px, 100%);
  margin: 0 auto 11.5rem;
}
.point_list {
  display: flex;
  justify-content: space-between;
  column-gap: 1.5rem;
}
.point_list li {
  width: calc((100% - (1.5rem * 2)) / 3);
  max-width: 390px;
  position: relative;
  display: flex;
}
.point_num{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--font-cormorant);
  font-size: clamp(1.75rem, 1.647rem + 0.5vw, 2.25rem);
  color: #fff;
  position: absolute;
  top: -105px;
  left: 0;
  right: 0;
  line-height: 1;
}
.point_num-txt{
  font-family: var(--font-shippori);
  font-size: clamp(0.813rem, 0.8rem + 0.06vw, 0.875rem);
}
.point_num::before{
  content: "";
  position: absolute;
  width: clamp(85px, 9vw, 90px);
  height: clamp(85px, 9vw, 90px);
  background-color: #77A08D;
  outline: solid 1px #fff;
  outline-offset: -5px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -54%) rotate(45deg);
  z-index: -1;
}
.point_list li:nth-child(1){
  transition-delay: .1s;
}
.point_list li:nth-child(2){
  transition-delay: .2s;
}
.point_list li:nth-child(3){
  transition-delay: .3s;
}
.point_card-warap{
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
}
.point_card-warap01{
  position: relative;
}
.point_badge {
  position: absolute;
  top: -80px;
  left: -24%;
  width: clamp(180px, 17.5vw, 210px);
  height: clamp(180px, 17.5vw, 210px);
  z-index: 1;
}
.point_badge .badge_txt{
  font-size: clamp(0.813rem, 0.787rem + 0.1vw, 0.875rem);
}
.point_badge .badge_lg{
  font-size: clamp(1rem, 0.85rem + 0.6vw, 1.375rem);
  line-height: 1.3;
}
.point_card {
  position: relative;
}
.point_card img{
  width: 100%;
  height: auto;
}
.point_list h3 {
  font-size: var(--fs-22);
  position: absolute;
  color: #fff;
  background-color: #D78E82;
  width: 90%;
  height: 40px;
  text-align: center;
  bottom: 1rem;
  line-height: 2;
}
.point_h3_square {
  position: absolute;
  background-color: #D78E82;
  clip-path: polygon(0 0, 20% 0, 100% 50%, 20% 100%, 0 100%);
  width: 20px;
  height: 40px;
  left: 89%;
  bottom: 1rem;
}
.point_list_txt {
  width: 90%;
  margin: 1.5rem auto;
  flex-grow: 1;
}
.point_list_txt span{
  font-weight: 600;
}
@media(max-width:960px) {
  .point {
    clip-path: polygon(50% 0, 100% 8%, 100% 100%, 0 100%, 0 8%);
    margin-top: -15rem;
  }
  .point_inner h2 {
    line-height: 1.5;
    padding-block: 0.5rem;
  }
  .point_size {
    line-height: 1;
  }
  .point_description {
    margin: 0 auto 11.5rem;
  }
  .point_list {
    flex-direction: column;
    align-items: center;
    row-gap: 12rem;
  }
  .point_list li {
    width: 100%;
    max-width: 550px;
  }
  .point_badge {
    top: -80px;
    left: -11%;
  }
}
@media(max-width:600px) {
  .point {
    clip-path: polygon(50% 0, 100% 4%, 100% 100%, 0 100%, 0 4%);
    padding-block: 9rem 5rem;
  }
  .point_inner h2 {
    width: 100%;
  }
}
/*greeting*/
.greeting {
  background: linear-gradient(135deg, #fff, #FCF6F0);
  position: relative;
}
.greeting::before {
  content: "";
  position: absolute;
  background-image: url("../images/greeting_bg.webp");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  width: 70%;
  height: 50%;
  top: 0;
  left: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, #000 80%, transparent);
  z-index: 1;
}
.greeting::after {
  content: "";
  position: absolute;
  background-color: #F4ECE5;
  width: 100%;
  height: 50%;
  clip-path: polygon(90% 0%, 100% 0, 100% 100%, 0 100%);
  top: 0;
  right: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, #000 80%, transparent);
  z-index: 2;
}
.greeting_decoration {
  position: relative;
  z-index: 3;
  padding-block: 9rem;
}
.greeting_decoration::before {
  content: "";
  position: absolute;
  background-color: rgba(197, 174, 153, 0.1);
  width: 30%;
  height: 20%;
  top: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0%, 100% 100%);
}
.greeting h2 {
  text-align: center;
  margin-bottom: 5.5rem;
}
.greeting_inner {
  width: min(1450px, 90%);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10rem;
}
.greeting_message {
  width: min(670px, 50%);
  margin-top: clamp(0px, calc((100vw - 1000px) * 0.05), 50px);
}
.greeting_text {
  margin-bottom: 4rem;
  line-height: 2;
}
.name {
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.147rem + 0.5vw, 1.75rem);
  letter-spacing: 0.05em;
  width: 90%;
}
.name_sm {
  font-size: clamp(0.938rem, 0.899rem + 0.19vw, 1.125rem);
  margin-right: 1rem;
}
.en-name {
  font-family: var(--font-cormorant);
  background: linear-gradient(90deg, #A38168 25%, #C59C75 50%, #A38168 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: clamp(0.938rem, 0.707rem + 1.13vw, 2.063rem);
}
.greeting_image_warap {
  width: 50%;
  position: relative;
  padding-bottom: 5rem;
}
.greeting_image {
  width: 80%;
  margin: auto;
  position: relative;
}
.greeting_image img{
  height: auto;
}
.greeting_image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: solid 1px #C5AE98;
  right: -20px;
  top: -20px;
}
.greeting_img2 {
  position: absolute;
  width: 35%;
  bottom: 0;
  left: 0;
  transform: translate(-10%, 40%)
}
.greeting_img3 {
  position: absolute;
  width: 45%;
  bottom: 0;
  right: 0;
  transform: translate(10%, 60%);
}
.greeting_img2 img, .greeting_img3 img {
  width: 100%;
  height: auto;
  display: block;
}
/*greeting_経歴*/
.career {
  position: relative;
  margin-bottom: 5rem;
}
.career::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 5%;
  height: 100%;
  background-color: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.15);
  z-index: 1;
}
.career_inner {
  position: relative;
  z-index: 2;
  width: min(1400px, 90%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto auto;
  gap: 2rem;
  padding-block: 2rem;
  padding-inline: 5px;
}
.career_warap, .qualification_warap {
  min-width: 0;
}
.career_warap dt, .qualification_warap dt {
  font-size: var(--fs-22);
  font-family: var(--font-shippori);
  margin-bottom: 1rem;
}
.career_warap dd, .qualification_warap dd {
  border-left: solid 1px #C5AE98;
}
.career_warap li {
  display: flex;
  margin-bottom: 0.5rem;
}
.career_warap li span {
  padding-left: 10px;
}
.qualification_warap li {
  padding-inline: 10px;
  margin-bottom: 0.5rem;
}
.greeting .fade_up_small{
  transform:translateY(10px);
}
.greeting .fade_up_small.show {
  transform: translateY(0) 
}
@media(max-width:960px) {
  .greeting {
    background: linear-gradient(135deg, #fff 15%, #FCF6F0 35%);
}
  .greeting::before{
    width: 100%;
    height: 100%;
  }
  .greeting_decoration {
    padding-block: 5rem;
  }
  .greeting h2 {
    margin: 0 auto 3rem;
    width: 90%;
  }
  .greeting_inner {
    flex-direction: column;
    align-items: center;
    row-gap: 3rem;
  }
  .greeting_message {
    width: min(550px, 100%);
  }
  .name{
    width: 100%;
    text-align: right;
  }
  .greeting_image_warap {
    width: min(550px, 100%);
    padding-bottom: 2rem;
  }
  .career{
    margin-bottom: 3rem;
  }
  .career::before{
    right: 3%;
  }
  .career_inner {
    width: min(550px, 90%);
    grid-template-rows: auto auto;
    grid-template-columns: none;
    padding-inline: 0 1rem;
  }
}
@media(max-width:600px){
  .greeting_decoration{
    padding-block: 4rem;
  }
  .greeting h2 {
    margin: 0 auto 2rem;
  }
  .greeting_text {
    margin-bottom: 2rem;
  }
  .greeting_inner{
    margin-bottom: 8rem;
  }
}
/*case*/
.case {
  background-color: #F2F2F2;
  padding-block: 5.5rem 9rem;
}
.case_warap {
  width: min(1200px, 90%);
  margin-inline: auto;
  position: relative;
}
.case_badge {
  position: absolute;
  top: -1%;
  right: -6%;
  width: clamp(150px, 20.714vw, 290px);
  height: clamp(150px, 20.714vw, 290px);
  display: flex;          
  align-items: center;     
  justify-content: center; 
  text-align: center;      
  z-index: 1;             
}
.case_badge::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/blue_badge.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; 
  z-index: -1;             
}
.case_badge .badge_txt {
  color: #fff;
  position: relative;
  z-index: 2;
  line-height: 1.4; 
}
.case_badge .badge_lg {
  font-size: clamp(1.375rem, 1.131rem + 1.19vw, 2.563rem);
  display: inline-block;
  margin-block: 0.2em; 
}
.case h2 {
  text-align: center;
  margin-bottom: 1.875rem;
}
.case_description {
  width: min(705px, 90%);
  margin-inline: auto;
  margin-bottom: 3rem;
}
.case_search {
  width: 100%;
  background-color: #fff;
  padding: 3rem 1rem;
  outline: solid 1px #C5AE98;
  outline-offset: -18px;
  position: relative;
  margin-bottom: 2rem;
}
.case_search::before, .case_search::after {
  content: "";
  position: absolute;
  background-color: rgba(165, 180, 191, 0.6);
  width: 10%;
  height: 20%;
}
.case_search::before {
  clip-path: polygon(0 0, 0 100%, 100% 0);
  top: 0;
  left: 0;
}
.case_search::after {
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  bottom: 0;
  right: 0;
}
.search_ttl {
  text-align: center;
  font-size: var(--fs-20);
  font-family: var(--font-shippori);
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.search_list {
  width: min(810px, 90%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  gap: 2rem;
}
.search_list li {
  display: flex;
}
.search_list li a {
  text-decoration: none;
  width: min(210px, 100%);
  height: min(172px, 100%);
  background-color: #EBF9FE;
  color: #393327;
  font-size: var(--fs-18);
  font-family: var(--font-shippori);
  display: flex;
  flex-direction: column;
  row-gap: 6px;
  align-items: center;
  margin: auto;
  padding: 2rem 0.5rem;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.15);
  position: relative;
  transition: transform .3s,box-shadow .3s;
}
.search_list li a:hover{
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 12px 25px rgba(0,0,0,.12);
}
.search_list li a::before {
  content: "";
  position: absolute;
  width: 10%;
  height: 10%;
  background-color: #A5B4BF;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  bottom: 2px;
  right: 2px;
}
.search_list li a img {
  width: 60%;
  height: auto;
  object-fit: contain;
}
.search_list li a span {
  font-size: var(--fs-18);
  font-weight: 500;
  text-align: center;
  flex-grow: 1;
}
/*case_card*/
.case_detail_list {
  width: min(1200px, 90%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  margin-bottom: 5rem;
}
.case_card {
  min-width: 0;
}
.case_card h3 {
  font-size: var(--fs-22);
  color: #656464;
  font-weight: 400;
}
.case_card h3 span {
  font-size: clamp(1.5rem, 1.397rem + 0.5vw, 2rem);
  font-family: var(--font-cormorant);
  margin-right: 2rem;
}
.case_b-a {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.case_b-a img {
  width: 100%;
  height: auto;
  padding-bottom: 10%;
}
.case_before, .case_after {
  position: relative;
  z-index: 0;
}
.case_before::before, .case_after::before {
  position: absolute;
  width: 100%;
  height: 15%;
  bottom: 0;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-cormorant);
  font-size: var(--fs-18);
}
.case_before::before {
  content: "Before";
  background-color: #A5B4BF;
}
.case_after::before {
  content: "After";
  background-color: #D8A7A2;
}
.case_before::after, .case_after::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: -5px;
  bottom: -5px;
  z-index: -1;
}
.case_before::after {
  background-color: #DBE2E7;
}
.case_after::after {
  background-color: #FFE3DD;
}
.case_toggle {
  position: relative;
  background: #C5AE98;
  color: #fff;
  padding: 0.8rem;
  font-family: var(--font-shippori);
  font-size: var(--fs-18);
  font-weight: 600;
  list-style: none;
  text-align: center;
}
.case_toggle::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  border-radius: 1px;
  border-width: 2px;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s;
}
details[open] .case_toggle::before {
  transform: translateY(-50%) rotate(-135deg);
}
.case_content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .5s ease,opacity .3s ease;
}
.case_content_inner{
  overflow: hidden;
}
details[open] .case_content {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 0.5rem;
}
.row {
  display: grid;
  grid-template-columns: 30% minmax(0, 1fr);
  border-bottom: 1px solid #D9D9D9;
  align-items: stretch;
  background-color: #fff;
}
.row:last-child{
  border-bottom: none;
}
.row dt {
  background-color: #C5AE98;
  color: #fff;
  padding: 0.8rem 1rem;
  display: flex;
  align-items: center;
}
.row dd {
  padding: 0.8rem 1rem;
}
.separate-fee {
  font-size: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);
}
.case_price{
  display: inline-flex;
  align-items: center;
}
.case_content_inner .tax{
  margin-inline: 3px 6px;
}
@media(max-width:960px) {
  .case {
    padding-block: 5.5rem 5rem;
  }
  .case_badge {
    top: -8%;
  }
  .case_search::before, .case_search::after {
    width: 15%;
    height: 15%;
  }
  .search_list {
    grid-template-columns: repeat(2, 1fr);
  }
  .case_detail_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }
  .search_list li a img {
    width: 50%;
  }
}
@media(max-width:600px){
  .case_badge{
    top: -11%;
    right: -9%;
  }
  .case_search{
    outline-offset: -8px;
    padding: 1.5rem 1rem;
  }
  .case_search::before, .case_search::after{
    width: 20%;
    height: 10%;
  }
  .search_list{
    gap: 1rem;
  }
  .search_list li a{
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0.8rem 0.5rem;
    justify-content: center;
  }
  .search_list li a:active{
    transform: scale(.97);
  }   
  .search_list li a span{
    flex-grow: unset;
  }
  .case_detail_list{
    gap: 3rem;
  }
  .case_b-a{
    flex-direction: column;
  }
  .case_b-a img{
    padding-bottom: 5%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }
  .row{
    grid-template-columns: 36% minmax(0, 1fr);
  }
  .row dt,.row dd{
    padding: 0.8rem;
  }
}
/*flow*/
.flow {
  width: min(1200px, 90%);
  margin-inline: auto;
  padding-block: 7.5rem;
}
.flow h2 {
  text-align: center;
  margin-bottom: 1.875rem;
}
.flow_description {
  width: 90%;
  margin: 0 auto 2rem;
  text-align: center;
}
.flow_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  list-style: none;
  row-gap: 5rem;
}
.flow_item {
  display: flex;
  gap: 2%;
  background-color: #F6F5F8;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  padding: 1.5rem 2rem;
}
.flow_txt-area {
  width: min(680px, 58%);
}
.flow_h3_warap {
  position: relative;
}
.flow_h3_warap h3 {
  font-size: clamp(1.125rem, 1.099rem + 0.13vw, 1.25rem);
  border-bottom: 1px solid #C5AE98;
  padding-bottom: 0.5rem;
  padding-left: 2.5rem;
}
.flow_counter {
  font-size: clamp(1.125rem, 1.449rem + 0.25vw, 1.75rem);
  font-family: var(--font-cormorant);
  font-weight: 600;
  position: absolute;
  top: 18px;
  left: -30px;
  z-index: 2;
}
.flow_counter::before {
  content: "";
  position: absolute;
  width: 60px;
  height: 60px;
  background: linear-gradient(90deg, #DFBD9C, #F9E4C3, #C09088);
  outline: solid 1px #fff;
  outline-offset: -6px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: -1;
}
.flow_txt {
  margin-block: 1.125rem;
  padding-left: 2.5rem;
}
.counseling_flow {
  width: min(600px, 100%);
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-inline: auto;
}
.counseling_item {
  flex: 1;
  aspect-ratio: 1 / 1;
  background-image: url("../images/flow1_counseling-bg.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: relative;
}
.counseling_item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -29px;
  transform: translateY(-50%);
  width: 2rem;
  height: 2px;
  background-color: #393327;
  border-radius: 9999px;
}
.counseling_item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 14px;
  height: 2px;
  background-color: #393327;
  border-radius: 9999px;
  transform-origin: calc(100% - 1px) 50%;
  transform: translateY(-50%) rotate(35deg);
}
.counseling_item-inner {
  display: grid;
  grid-template-rows: 50% 50%;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-block: 1rem;
  text-align: center;
  position: relative;
}
.counseling_item p {
  position: relative;
  z-index: 2;
  margin-top: 0.5rem;
}
.counseling_item img {
  width: 90%;
  margin-inline: auto;
  position: relative;
}
.flow_img {
  width: 40%;
}
.flow_img img {
  width: min(375px, 90%);
  margin: auto;
  height: auto;
}
.flow_list li:first-child {
  align-items: center;
}
@media(max-width:960px) {
  .flow {
    padding-block: 3.5rem;
  }
  .flow_item {
    flex-direction: column;
    row-gap: 3rem;
  }
  .flow_txt-area, .flow_img {
    width: 100%;
  }
  .flow_img img {
    width: min(550px, 100%);
  }
  .counseling_item img {
    width: 80%;
  }
}
@media(max-width:600px){
  .flow_list{
    row-gap: 3rem;
  }
  .flow_item{
    padding: 1rem;
    row-gap: 1rem;
  }
  .flow_h3_warap h3 {
    padding-left: 3.5rem;
  }
  .flow_counter{
    left: 0;
  }
  .flow_counter::before{
    width: 50px;
    height: 50px;
  }
  .flow_txt{
    margin-block: 3rem 1rem;
    padding-left: 0;
  }
  .counseling_flow{
    flex-direction: column;
  }
  .counseling_item {
    background-image: url("../images/flow1_counseling-bg_sp.svg");
    aspect-ratio: 3 / 1;
    width: 100%;
    max-width: 350px;
  }
  .counseling_item p{
    margin-top: 0;
  }
  .counseling_item img{
    width: clamp(60px,20vw,90px);
  }
  .counseling_item-inner{
    grid-template-rows: unset;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-inline: 1.5rem;
  }
   .counseling_item:not(:last-child)::before{
    top: auto;
    bottom: -33px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 2px;
    height: 2rem;
  }
  .counseling_item:not(:last-child)::after{
    top: auto;
    bottom: -28px;
    left: 50%;
    right: auto;
    width: 14px;
    height: 2px;
    transform:translateX(-24%) rotate(125deg);
    transform-origin: center;
  }
}
/*fee*/
.fee {
  background-color: #F4ECE5;
  position: relative;
  scroll-margin-top: 3.5rem;
}
.fee::before, .fee::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 30%;
  top: 0;
}
.fee::before {
  background-color: rgba(233, 189, 156, 0.1);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  right: 0;
}
.fee::after {
  background-color: rgba(197, 174, 152, 0.1);
  clip-path: polygon(0 0, 100% 0, 0% 100%);
  left: 0;
}
.fee_bg {
  padding-block: 5.5rem 10rem;
  position: relative;
  z-index: 1;
}
.fee_bg::before, .fee_bg::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 30%;
  bottom: 0;
  z-index: -1;
}
.fee_bg::before {
  background-color: rgba(197, 174, 152, 0.1);
  clip-path: polygon(0 0, 100% 100%, 0% 100%);
  left: 0;
}
.fee_bg::after {
  background-color: rgba(233, 189, 156, 0.1);
  clip-path: polygon(100% 0, 100% 100%, 0% 100%);
  right: 0;
}
.fee_inner {
  width: min(1200px, 90%);
  margin-inline: auto;
}
.fee_inner h2 {
  text-align: center;
  margin-bottom: 6rem;
}
/*fee_table*/
.fee_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  position: relative;
  z-index: 2;
  margin-bottom: 3px;
}
.fee_table th:nth-child(1) {
  width: 25%;
}
.fee_table th:nth-child(2), .fee_table td:nth-child(2), .fee_table th:nth-child(3), .fee_table td:nth-child(3) {
  width: 37.5%;
}
.fee_table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.fee_table-head th {
  text-align: center;
  font-size: clamp(1.063rem, 1.024rem + 0.19vw, 1.25rem);
  font-family: var(--font-shippori);
  font-weight: 700;
  padding: 0.5rem;
}
.th_bg_purple {
  background-color: #C9C5D6;
}
.th_bg_beige {
  background-color: #D9CFC7;
  border-left: solid 1px #C5AE98;
}
.fee_table-body th {
  color: #fff;
  background-color: #C5AE98;
  font-weight: 400;
  padding-inline: 5px;
}
.fee_table-body td {
  background-color: #fff;
}
.fee_table_photo {
  height: clamp(52px, 7.142vw, 100px);
}
.fee_table_photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fee_table th {
  border-bottom: solid 1px #fff;
}
.fee_table td {
  border-bottom: solid 1px #C5AE98;
  border-left: solid 1px #C5AE98;
  text-align: center;
  padding: 1rem;
}
.fee_last th, .fee_last td,.fee_table-head th{
  border-bottom: none;
}
.tax{
  font-size: clamp(0.813rem, 0.797rem + 0.06vw, 0.875rem);
  white-space: nowrap;
}
.table_kome{
  font-size: clamp(0.625rem, 0.599rem + 0.13vw, 0.75rem);
  margin-left: 2px;
}
.fee_comment{
  font-size: clamp(0.625rem, 0.599rem + 0.13vw, 0.75rem);
  margin-bottom: 5rem;
}
/*payment*/
.payment {
  background-color: #9F9F9F;
  padding-block: 5.5rem;
  position: relative;
}
.payment::before {
  content: "";
  position: absolute;
  background-image: url("../images/payment_bg.svg");
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: top;
  background-repeat: repeat-y;
  top: 0;
  left: 0;
  right: 0;
}
.payment_inner {
  width: min(1030px, 90%);
  margin-inline: auto;
}
.sub_pay {
  background: #fff;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  text-decoration: underline #fff 1px;
  text-align: center;
}
.payment h2 {
  margin-bottom: 1.875rem;
  color: #fff;
}
.pay_description {
  text-align: center;
  margin-bottom: 5.5rem;
  color: #fff;
}
.payment_list {
  display: flex;
  align-items: stretch;
  gap: clamp(8px, 2.5vw, 35px);
  margin-bottom: 5.5rem;
}
.payment_list li {
  width: calc(100% / 4);
  background-color: #fff;
  padding: 1.125rem;
  flex-grow: 1;
  outline: solid 1px #C5AE98;
  outline-offset: -8px;
  position: relative;
  z-index: 1;
}
.payment_list li::before {
  content: "";
  position: absolute;
  width: 20%;
  height: 25%;
  clip-path: polygon(100% 0%, 100% 100%, 0 100%);
  bottom: 0;
  right: 0;
  z-index: -1;
}
.payment_list li:nth-child(odd)::before {
  background-color: #E9EBEF;
}
.payment_list li:nth-child(even)::before {
  background-color: #F4ECE5;
}
.pay_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  height: 100%;
}
.pay_item span {
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pay_item span img{
  max-height: 60px;
  max-width: 70px;
}
.pay_item p {
  font-size: var(--fs-18);
  font-family: var(--font-shippori);
  margin: 0;
  text-align: center;
}
/*ローン*/
.payment_loan {
  background-color: #fff;
  outline: solid 1px #C5AE98;
  outline-offset: -18px;
  padding-block: 3rem;
  position: relative;
  z-index: 1;
  margin-bottom: 5.5rem;
}
.payment_loan::before, .payment_loan::after {
  content: "";
  position: absolute;
  background-color: #F4ECE5;
  width: 15%;
  height: 25%;
  z-index: -1;
}
.payment_loan::before {
  clip-path: polygon(0 0, 0 100%, 100% 0);
  top: 0;
  left: 0;
}
.payment_loan::after {
  clip-path: polygon(100% 0, 100% 100%, 0% 100%);
  bottom: 0;
  right: 0;
}
.loan_inner {
  width: min(910px, 90%);
  margin-inline: auto;
}
.payment_loan h3 {
  text-align: center;
  font-size: clamp(1.125rem, 1.048rem + 0.38vw, 1.5rem);
  margin-bottom: 1.5rem;
}
.loan_description {
  margin-inline: auto;
  margin-bottom: 2rem;
}
.payment_loan-item {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: min(680px, 100%);
  gap: 1rem;
  margin-inline: auto;
  margin-bottom: 2rem;
}
.payment_loan-item li {
  width: calc(100% / 2);
  max-width: 253px;
  flex-grow: 1;
  outline: solid 1px #C5AE98;
  outline-offset: -8px;
  padding: 2rem;
}
.payment_loan-item li:first-child {
  background-color: #EDEBF2;
}
.payment_loan-item li:last-child {
  background-color: #F4ECE5;
}
.pay_loan-itam {
  font-family: var(--font-shippori);
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
  height: 100%;
}
.pay_loan-itam span {
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pay_loan-itam span img {
  width: auto;
  height: auto;
  object-fit: contain;
}
.loan_item {
  font-size: var(--fs-18);
  text-align: center;
  border-bottom: solid 1px #C5AE98;
  width: 100%;
  padding-bottom: 0.3rem;
}
.loan_txt {
  font-size: clamp(0.875rem, 0.849rem + 0.13vw, 1rem);
  text-align: center;
}
.loan_comment {
  text-align: center;
  font-size: clamp(0.938rem, 0.899rem + 0.19vw, 1.125rem);
  font-family: var(--font-shippori);
}
.loan_bold {
  font-weight: 700;
}
.loan_lg {
  font-size: clamp(1.25rem, 1.199rem + 0.25vw, 1.5rem);
}
.loan_message {
  font-family: var(--font-shippori);
  font-size: clamp(1.125rem, 1.087rem + 0.19vw, 1.313rem);
  color: #fff;
  text-align: center;
}
@media(max-width:960px) {
  .fee{
    scroll-margin-top: 0;
  }
  .fee_bg {
    padding-block: 3.5rem 5rem;
  }
  .fee_inner h2, .pay_description {
    margin-bottom: 1.875rem;
  }
  .fee_comment {
    margin-bottom: 3.5rem;
  }
  .payment {
    padding-block: 2.5rem;
  }
  .payment::before{
    background-size: contain;
  }
  .payment_list {
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .payment_list li {
    width: calc((100% - clamp(15px, 2.5vw, 35px)) / 2);
    max-width: 300px;
  }
  .payment_loan::before, .payment_loan::after {
    width: 20%;
    height: 15%;
  }
}
@media(max-width:600px){
  .fee_table th:nth-child(1) {
    width: 30%;
  }
  .fee_table th:nth-child(2), .fee_table td:nth-child(2), .fee_table th:nth-child(3), .fee_table td:nth-child(3) {
    width: 35%;
  }
  .fee_table-body p{
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
  }
  .fee_table td{
    padding: 1rem 0.5rem;
  }
  .payment_list li{
    outline-offset: -5px;
    padding: 1.125rem 0;
  }
  .pay_item span{
    width: 50%;
    height: 70px;
  }
  .payment_loan{
    outline-offset: -8px;
    margin-bottom: 3rem;
  }
  .payment_loan-item{
    flex-direction: column;
    align-items: center;
  }
  .payment_loan-item li{
    width: 100%;
  }
}
/*FAQ*/
.faq {
  background-color: #DBE2E7;
  padding-block: 10rem;
}
.faq_warap {
  width: min(1200px, 90%);
  margin-inline: auto;
  background-color: #fff;
  padding-block: 3.5rem;
}
.faq h2 {
  text-align: center;
  margin-bottom: 3.5rem;
}
.faq_inner {
  width: min(1100px, 90%);
  margin-inline: auto;
}
.faq_head_title {
  background-color: #DBE2E7;
  font-size: var(--fs-18);
  font-family: var(--font-shippori);
  font-weight: 500;
  padding: 0.5rem 2rem 0.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 1rem;
}
.faq_head_title::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #C5AE98;
}
.faq_head_title::after {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 2px solid #C5AE98;
  border-bottom: 2px solid #C5AE98;
  transform: rotate(45deg);
  transition: 0.3s;
}
.faq_head_title.is-open::after {
  transform: rotate(-135deg);
}
.faq_content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-out;
  overflow: hidden;
}
.faq_q-item {
  padding-bottom: 2rem;
}
.faq_q-ttl {
  border-bottom: solid 1px #C5AE98;
  padding-inline: 4rem 2rem;
  font-size: 1rem;
  font-family: var(--font-shippori);
  font-weight: 500;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.faq_q-ttl::before {
  content: "Q.";
  position: absolute;
  font-size: clamp(1.125rem, 1.099rem + 0.13vw, 1.25rem);
  font-family: var(--font-cormorant);
  font-weight: 500;
  color: #A38168;
  left: 2rem;
}
.faq_arrow {
  width: 10px;
  height: 10px;
  border-right: 2px solid #C5AE98;
  border-bottom: 2px solid #C5AE98;
  transform: rotate(45deg);
  transition: 0.3s;
  display: block;
}
.faq_q-ttl.is-open .faq_arrow {
  transform: rotate(-135deg);
}
.faq_a_content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-out;
  overflow: hidden;
  padding-inline: 4rem 2rem;
  position: relative;
}
.faq_a_content::before {
  content: "A,";
  position: absolute;
  font-size: clamp(1.125rem, 1.099rem + 0.13vw, 1.25rem);
  font-family: var(--font-cormorant);
  font-weight: 500;
  color: #A38168;
  left: 2rem;
}
.is-open + .faq_content, .is-open + .faq_a_content {
  grid-template-rows: 1fr;
}
.faq_content > dl, .faq_a_content > span {
  min-height: 0;
}
.faq_a_content span {
  display: block;
}
@media(max-width:960px) {
  .faq {
    padding-block: 5rem;
  }
  .faq_warap {
    padding-block: 2.5rem;
  }
  .faq h2 {
    margin-bottom: 2rem;
  }
  .faq_head_title {
    padding: 0.5rem 2rem;
  }
}
@media(max-width:600px){
  .faq_head_title{
    padding: 0.5rem 0.5rem 0.5rem 1.2rem;;
  }
  .faq_q-ttl{
    padding-inline: 1.5rem 0.5rem;
  }
  .faq_q-ttl::before,.faq_a_content::before{
    left: 0;
    top: 0;
  }
  .q_ttl{
    width: fit-content;
    margin-right: 5px;
  }
  .faq_a_content{
    padding-inline: 1.5rem 0.5rem;
  }
}
/*area*/
.area {
  padding-block: 8.75rem;
  background: linear-gradient(90deg,rgba(34,28,24,.45) 0%,rgba(34,28,24,.65) 45%,rgba(34,28,24,.70) 100%),url("../images/area_bg.webp");
  background-position:  70% center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 3.5rem;
}
.area_inner {
  width: fit-content;
  margin-inline: auto;
  padding-inline: 2rem;
  color: #fff;
  font-family: var(--font-shippori);
}
.area h2 {
  font-size: clamp(1rem, 0.897rem + 0.5vw, 1.5rem);
  font-weight: 400;
  width: 100%;
  margin: 0 auto 2rem;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 3vw, 2.5rem);
}
.area h2::before,.area h2::after{
  content: "";
  flex: 1;
  max-width: 10rem;
  height: 1px;
  background-color: rgba(255,255,255,.4);
}
.area h2::before{
  left: 0;
}
.area h2::after{
  right: 0;
}
.area_txt {
  font-size: clamp(0.938rem, 0.888rem + 0.2vw, 1.125rem);
  line-height: 2;
}
@media(max-width:960px) {
  .area {
    padding-block: 2.5rem;
    margin-bottom: 1.5rem;
  }
  .area h2 {
    margin-bottom: 1rem;
  }
  .area_txt {
    margin-bottom: 1.5rem;
  }
}
@media(max-width:600px){
  
}
/*cta*/
.cta {
  margin-bottom: 7.5rem;
}
.cta_img {
  position: relative;
}
.cta_img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  padding-bottom: 3rem;
}
.cta_img h2 {
  position: absolute;
  font-size: clamp(1.125rem, 0.766rem + 1.76vw, 2.875rem);
  letter-spacing: 0.03em;
  left: 0;
  right: 0;
  margin_inline: auto;
  text-align: center;
  bottom: 0;
}
.cta_lg {
  font-size: clamp(1.563rem, 1.178rem + 1.88vw, 3.438rem);
}
@media(max-width:960px) {
  .cta {
    margin-bottom: 1.875rem;
  }
}



