.menu-page{
  margin-bottom: 60px;
}
.menu-content{
  max-width: 1150px;
  margin: auto;
}

@media (max-width: 768px) {
  .menu-content{
    padding: 0 20px;
  }
}

.menu-content .inner {
  max-width: 1025px;
  margin: auto;
}
.menu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.menu-grid .menu-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: 0.3s;
}
.menu-grid .menu-card:hover {
  transform: translateY(-5px);
}
.menu-grid .card-img img {
  width: 100%;
  height: auto;
}
.menu-grid .card-body {
  padding: 15px;
}
.menu-grid .card-title {
  font-size: 18px;
  margin-bottom: 10px;
}
.menu-grid .card-text {
  font-size: 14px;
  color: #666;
}


.ms-content {
  background: #F3EFE8 url(../img/common/teeth2.svg) no-repeat left -10px top 60px / clamp(540px, 28vw, 547px);
  position: relative;
  margin-bottom: 60px;
  padding: 60px 0;
  border-radius: 16px;
}
.ms-content .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.ms-content .text {
  width: 50%;
}
.ms-content .text h2 {
  font-size: 38px;
  line-height: 1.6;
  color: #B08F4D;
  margin-bottom: 20px;
  letter-spacing: 0.08em;
}
.ms-content .text p {
  font-size: 16px;
  line-height: 2;
  color: #454545;
letter-spacing: 0.1em;
}
.ms-content .image {
  width: 50%;
}
.ms-content .image img {
  width: 100%;
  max-width: 540px;
}
.ms-content .trouble {
  background: #fff;
  margin-top:60px;
  padding: 40px;
     border-radius: 16px;
}
.ms-content .trouble h3 {
  text-align: center;
  color: #B08F4D;
  font-size: 28px;
  margin-top: 10px;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}
.ms-content .trouble-list {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}
.ms-content .item {
  width: 33.33%;
  text-align: center;
}
.ms-content .item img {
  width: 100%;
  margin-bottom: 10px;
}
.ms-content .item p {
  font-weight: 600;
  text-align: left;
  font-size:18px;
  color: #B08F4D;
  background: url(../img/check_circle.svg) no-repeat left top / clamp(26px, 26px, 26px);
  padding-left: 30px;
      margin: 0;
  letter-spacing: 0.1em;
  line-height:1.3;
}
.ms-content .lead {
  line-height: 1.7;
  color: #454545;
  border-top: 1px solid #B3B3B3;
  padding-top: 20px;
}

@media (max-width: 768px) {
  .ms-content .top {
    flex-direction: column;
  }
  .ms-content .text,
  .ms-content .image {
    width: 100%;
  }
  .ms-content .trouble-list {
    flex-direction: column;
  }
  .ms-content .item {
    width: 100%;
  }
}


/*------------------
     共通パーツ
--------------------*/
.the-sec-header {
  background: #F3EFE8;
  padding: 40px 20px;
  text-align: center;
    margin: 140px 0 40px;
  }
.the-sec-header h2 {
  color: #B08F4D;
  font-size: 38px;
  margin: 0;
  line-height:1.4;
  letter-spacing: 0.08em;
}
.the-sec-divider {
  text-align: center;
  margin: 60px 0 40px;
  padding: 22px 20px;
  position: relative;
}
.the-sec-divider h3 {
  display: inline-block;
  color: #B08F4D;
  font-size: 28px;
  padding: 0 20px;
  margin: 0;
  background: #fff;
	line-height: 1.4;
  letter-spacing: 0.06em;
}
.the-sec-divider:after,
.the-sec-divider:before {
    content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 9px;
  background: repeating-linear-gradient(-52deg, #A6A6A6, 
    #A6A6A6 1px, 
    #fff 0, 
    #fff 4px);
}
.the-sec-divider:before {
  top: 0;
}
.the-sec-divider:after {
  bottom: 0;
}
.the-sec-divider h3 span{
  display: block;
  font-size: 18px;
}
.the-content h4 {
  color: #B08F4D;
  font-size: 20px;
  margin: 0;
  padding-bottom: 2px;
  border-bottom: 1px solid #B3B3B3;
  letter-spacing: 0.08em;
}
p.notes{
  display: inline-block;
  padding: 0 10px;
  background: rgba(138, 144, 208, 0.8);
  font-weight: 600;
  font-size: 16px;
  color: #fff;
}
p.sto{
  font-weight: 600;
  font-size: 18px;
  color: #333;
  text-align: center;
}
ul.check_circle{
  margin: 0;
  padding: 0;
}
ul.check_circle li{
  background: url(../img/check_circle.svg) no-repeat left top / clamp(26px, 26px, 26px);
  color: #B08F4D;
  font-weight: 600;
  list-style: none;
  padding-left: 40px;
  font-size: 18px;
    padding-bottom: 10px;
    letter-spacing: .1rem;
}
.checks{
background: url(../img/common/frame_no.svg) no-repeat left center / clamp(18px, 18px, 18px);
padding-left: 30px;
}
.bg-whites{
  background: #fff;
  border-radius: 16px;
  padding: 50px;
}
.cent-sec-img{
  text-align: center;
      margin-bottom: 40px;
}
.cent-sec-img img{
  max-width: 560px;
}
.light__{
  text-align: center;
}
.mb_t{margin-top:60px;}
.mb_m{margin-bottom:60px;}


/* レスポンシブ */
@media (max-width: 768px) {
.the-sec-header {
    margin: 50px 0 40px;
}
.this-sec-top{
  gap:20px;
}
.single-menu .entry-header{
  margin-bottom: 0;
}
}
/*------------------
     共通パーツ
--------------------*/



.this-sec {
  background: #fff;
  padding: 60px 20px;
  font-family: sans-serif;
}
.this-sec-top {
  display: flex;
  gap: 40px;
  align-items: center;
  margin-bottom: 60px;
}
.this-sec-top.reverse{
  flex-direction: row-reverse;
}
.this-sec-text {
  flex: 1;
  line-height: 1.8;
}
.this-sec-image {
  flex: 1;
}
.this-sec-image img {
  width: 100%;
  height: auto;
}
.this-sec-bottom {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.this-sec-item {
  display: flex;
  gap: 40px;
}
.this-sec-item-img {
  width: 40%;
}
.this-sec-item-img img {
  width: 100%;
}
.this-sec-item-text {
  width: 60%;
}
.this-sec-item-text p {
  line-height: 1.8;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .this-sec-top {
    flex-direction: column-reverse;
    gap:20px;
    margin-bottom: 0;
  }
  .this-sec-item {
    flex-direction: column;
  }
  .this-sec-top.reverse {
    flex-direction: column-reverse;
}
  .this-sec-item-img,
  .this-sec-item-text {
    width: 100%;
  }
  .the-sec-divider {
    margin: 30px 0 30px;
        padding: 22px 10px;
}
}

.stain-sec {
  background: #F3EFE8;
  padding: 60px 50px;
  border-radius: 16px;
}
.stain-sec.ow {
  padding: 60px 60px;
}
.stain-sec.ow h3{
  margin-top: 0;
}
.stain-sec h3{
text-align: center;
}
.stain-sec h3:before, .stain-sec h3:after {
    content: "";
    display: block;
    height: 1px;
    background: #B3B3B3;
    margin: 10px 0;
}
.stain-sec-grid {
  display: flex;
  gap: 40px;
}
.stain-sec .stain-sec-grid{
margin-bottom:50px;
}
.stain-sec .stain-sec-grid:last-of-type{
margin-bottom:0;
}
.stain-sec-card {
  background: transparent;
  flex: 1;
}
.stain-sec-img {
  margin-bottom: 20px;
}
.stain-sec-img img {
  width: 100%;
  height: auto;
  display: block;
}
.stain-sec-text {
  font-size: 16px;
  line-height: 1.9;
  color: #454545;
  margin-bottom:0;
}
.tnos{
	font-weight: 600;
font-size: 20px;
	color: #454545;
	line-height: 1.4;
	text-align: center;
letter-spacing: 0.08em;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .stain-sec {
    padding: 40px 15px;
  }
  .stain-sec.ow {
    padding: 30px 15px;
}
  .stain-sec-grid {
    flex-direction: column;
    gap: 30px;
  }
  .stain-sec-title {
    font-size: 16px;
  }
  .stain-sec-text {
    font-size: 13px;
  }
}


.preclean-sec {
  background: #F3EFE8;
  border-radius: 16px;
}
.preclean-sec-inner {
  position: relative;
  padding: 60px 130px;
  overflow: hidden;
}
.preclean-sec-inner::before,
.preclean-sec-inner::after {
  content: '';
  position: absolute;
    width: 300px;
  height: 136px;
}
.preclean-sec-inner::before {
  bottom: 0;
  left: 0;
  background: center / cover no-repeat url("../img/common/decoration_L.png");
}
.preclean-sec-inner::after {
  top: 0;
  right: 0;
  background: center / cover no-repeat url("../img/common/decoration_R.png");
}
.preclean-sec-title {
  text-align: center;
  color: #B08F4D;
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
.preclean-sec-text{
  position: relative;
}
.preclean-sec-text p{
  margin: 0;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .preclean-sec {
    background: #F3EFE8;
    border-radius: 20px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }

  .preclean-sec-inner {
    position: relative;
    padding: 50px 15px 44px;
    overflow: hidden;
  }
  .preclean-sec.mt__{
    margin-top: 50px;
  }
}


.preclean-img-sec {
  background: #F3EFE8;
  border-radius: 16px;
  margin-bottom: 50px;
}
.preclean-img-sec-inner {
  position: relative;
  padding: 50px 60px;
  overflow: hidden;
}
.preclean-img-sec-title {
  text-align: center;
  color: #B08F4D;
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 30px;
   padding-top: 12px;
  border-top: 1px solid #b4b4b5;
   padding-bottom: 12px!important;
  border-bottom: 1px solid #b4b4b5;
}
.preclean-img-sec-text{
  display: flex;
  gap: 40px;
  align-items: center;
  margin-top: 20px;
}
.preclean-img-sec-bg{
  flex:1;
}

.preclean-img-sec-text p{
  flex: 3;
  margin: 0;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .preclean-img-sec {
    padding: 40px 15px;
  }
  .preclean-img-sec-inner {
    padding: 0;
  }
  .preclean-img-sec-title {
    font-size: 20px;
  }
  .preclean-img-sec-text {
    font-size: 14px;
    flex-direction: column;
    gap:20px;
  }
  .preclean-img-sec-bg img{
    width: 160px;
  }
}



.whiten-preclean-img-sec {
  background: #fff;
  border-radius: 16px;
}
.whiten-preclean-img-sec-inner {
  position: relative;
  padding: 60px 60px;
  overflow: hidden;
}
.whiten-preclean-img-sec-title {
  text-align: center;
  color: #B08F4D;
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 30px;
   padding-top: 12px;
  border-top: 1px solid #b4b4b5;
   padding-bottom: 12px!important;
  border-bottom: 1px solid #b4b4b5;
}

/* レスポンシブ */
@media (max-width: 768px) {
.whiten-preclean-img-sec-inner {
    padding: 30px 15px;
  }
  .whiten-preclean-img-sec-title{
    font-size: 20px;
  }
}


.leim-sec {
  padding: 60px 60px;
  background: #F3EFE8;
  border-radius: 16px;
}
.leim-sec-item {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 60px;
}
.leim-sec-img {
  width: 260px;
  flex-shrink: 0;
}
.leim-sec-img img {
  width: 100%;
  height: auto;
  display: block;
}
.leim-sec-content {
  flex: 1;
}
.leim-sec-title {
  font-size: 22px;
  color: #B08F4D;
  margin-top:0;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 8px;
}
.leim-sec-content p {
  font-size: 15px;
  line-height: 2;
  color: #444;
  margin-bottom: 15px;
}
.leim-sec-txt{
	margin-bottom:0;
}
.leim-sec-note {
  font-size: 14px;
  color: #666;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .leim-sec {
    padding: 30px 20px;
  }
  .leim-sec-item {
    flex-direction: column;
    gap: 20px;
  }
  .leim-sec-img {
    width: 100%;
  }
  .leim-sec-title {
    font-size: 18px;
  }
  .leim-sec-content p {
    font-size: 14px;
  }
}


.whiten-table-wrap {
  width: 100%;
  overflow-x: auto;
}
.whiten-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
  font-size: 14px;
	margin-bottom:40px;
}
.whiten-table thead th {
  background: #7B9ACA;
  color: #fff;
  padding: 18px 10px;
  text-align: center;
  font-weight: bold;
  border: 1px solid #e5e5e5;
  font-size: 18px;
}
.whiten-table tbody th {
  background: rgba(138, 144, 208, 0.7);
  color: #fff;
  padding: 16px 10px;
  text-align: center;
  font-weight: bold;
  border: 1px solid #e5e5e5;
  width: 25%;
  font-size: 18px;
}
.whiten-table td {
  background: #FCF8F0;
  padding: 16px 10px;
  text-align: center;
  border: 1px solid #fff;
  font-size: 16px;
}
.whiten-table.txtl td{
text-align:left;
padding:20px 20px;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .whiten-table {
    font-size: 12px;
    min-width: 600px;
  }
  .whiten-table thead th {
    padding: 12px 8px;
  }
  .whiten-table td,
  .whiten-table tbody th {
    padding: 12px 8px;
  }
}




.qa-section {
  margin: 0 auto 60px;
}
.qa-item {
  border: 1px solid #d8d8d8;
  margin-bottom: 25px;
}
.qa-question {
  width: 100%;
  border: none;
  display: flex;
  background: none;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  text-align: left;
  position: relative;
}
.qa-qicon,
.qa-aicon {
  background: #b89b5e;
  color: #fff;
  font-weight: bold;
  width: 34px;
  height: 34px;
	font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  flex-shrink: 0;
}
.qa-qtext {
  flex: 1;
  font-size: 20px;
  font-weight: 600;
  color: #595959;
}
.qa-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background: #fff;
}
.qa-item.active .qa-answer {
  max-height: 500px;
}
.qa-toggle img {
  width: 30px;
  transition: transform 0.3s ease;
}
.qa-item.active .qa-toggle img {
  transform: rotate(180deg);
}
.qa-answer-inner {
  display: flex;
  margin: 0 20px;
  padding: 20px 0;
  border-top: 1px solid #d8d8d8;
}
.qa-answer p {
  margin: 0;
  line-height: 1.8;
  color: #555;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .qa-question {
    padding: 15px;
  }
  .qa-qtext {
    font-size: 16px;
  }
  .qa-answer-inner {
    flex-direction: column;
  }
  .qa-aicon {
    margin-bottom: 10px;
  }
}



.sec-summary{
  padding: 60px 60px;
  margin: 60px auto;
  border-radius: 16px;
background: #F3EFE8 url(../img/common/teeth1.png) no-repeat right 30px bottom 20px / clamp(180px, 20vw, 267px);
}
.sec-summary-content{
  max-width: 890px;
  margin: auto;
}
.sec-summary-title{
  text-align: center;
	margin: 30px 0 30px;
	color:#B08F4D;
	letter-spacing: 0.06em;
	line-height:1.4;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .sec-summary{
  padding: 30px 20px;
}
}



.flow-content {
      background: #F3EFE8;
  margin: 0 auto;
  padding: 40px 60px;
  border-radius: 16px;
}
.flow-content-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 30px;
  align-items: start;
  margin-bottom: 60px;
  position: relative;
}
.flow-content-num {
position: absolute;
    top: -20px;
    left: -30px;
    width: 80px;
    height: 80px;
}
.flow-content-num svg {
  width: 100%;
  height: 100%;
  opacity: .8;
}
.flow-content-num circle {
  fill: url(#grad);
}
.flow-content-num svg defs,
.flow-content-num svg linearGradient {
  display: none;
}
.flow-content-num circle {
  fill: #8fa0d6;
}
.flow-content-num span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 26px;
  color: #fff;
  font-weight: bold;
}
.flow-content-img img {
  width: 100%;
  height: auto;
  display: block;
}
.flow-content-wp h3 {
  font-size: 20px;
  color: #a68e53;
  margin-top:0;
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}
.flow-content-wp p {
  line-height: 1.8;
  color: #333;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .flow-content {
    padding: 40px 15px;
  }
  .flow-content-item {
            display: flex;
        flex-direction: column;
    gap: 15px;
  }
  .flow-content-num {
    width: 60px;
    height: 60px;
  }
  .flow-content-num span {
    font-size: 20px;
  }
}


.aon {
  background: #F3EFE8;
  padding: 60px 60px;
}
.aon-inner {
  max-width: 1025px;
  margin: 0 auto;
  padding: 60px 60px;
  background: #fff;
  border-radius: 16px;
}
.aon-title {
  text-align: center;
  color: #B08F4D;
  font-size: 20px;
  line-height: 1.4;
  margin-top:0;
  margin-bottom: 40px;
	letter-spacing: 0.08em;
  position: relative;
}
.aon-title::before,
.aon-title::after {
  content: "";
  display: block;
  height: 1px;
  background: #ccc;
  margin: 10px 0;
}
.aon-list {
  list-style: none;
  padding: 0 20px;
  margin: 0;
}
.aon-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid #ddd;
}
.aon-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 3px;
}
.aon-item p {
  margin: 0;
  line-height: 1.8;
  color: #333;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .aon {
    padding: 40px 15px;
  }
  .aon.mt__{
    margin-top: 50px;
  }
  .aon-title {
    font-size: 20px;
  }
  .aon-item {
    gap: 10px;
  }
  .aon-icon {
    width: 20px;
    height: 20px;
  }
}

.lispend {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
	margin-top:20px;
}
.lispend dl {
  border: 1px solid #B08F4D;
  padding: 20px;
  background: #fff;
  height: 100%;
	    margin: 0;
}
.lispend dt {
color:#B08F4D;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 10px;
  line-height: 1.5;
}
.lispend dd {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}

/* タブレット */
@media (max-width: 1024px) {
  .lispend {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホ */
@media (max-width: 768px) {
  .lispend {
    grid-template-columns: 1fr;
  }
  .lispend dl {
    padding: 15px;
  }
  .lispend dt {
    font-size: 16px;
  }
  .lispend dd {
    font-size: 13px;
  }
}
























.sp_m{display: none;}

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

  .the-sec-header h2{
  font-size: 28px;
}

.the-sec-divider h3{
  font-size: 24px;
  padding: 0;
}

.the-content h4 {
    font-size: 18px;
  }

  .whiten-table thead th,
  .whiten-table tbody th{
    font-size: 16px;
  }

  ul.check_circle li{
    line-height: 1.3;
    padding-left:30px;
  }

.the-sec-header {
    padding: 20px 15px;
  }

.cent-sec-img img{
width: 100%;
}

.aon-list{
  padding: 0;
}

.aon-inner{
      padding: 30px 10px;
}


  .menu-content .ms-content {
    padding: 24px 0 34px;
    background-size: contain;
            background-position-x: left;
  }

  .menu-content .ms-content .inner {
    width: calc(100% - 20px);
    max-width: 100%;
    margin: 0 auto;
  }

.bg-whites {
    padding: 30px 15px;
}

.ms-content .top + .inner{
  margin-top: 30px;
          width: calc(100% - 15px);
}

  .menu-content .ms-content .top .text h2 {
    font-size: 24px;
    text-align: center;
  }

  .menu-content .ms-content .top .text p {
    margin: 0;
  }

  .menu-content .ms-content .inner > .top + * h3{
    font-size: 24px;
    text-align: center;
  }


  .ms-content .trouble {
    padding: 40px 20px;
  }

}