.lp-mattress {
box-sizing: border-box !important;
color:#000;
width:100vw;
	margin-top:50px;
margin-right: calc(50% - 50vw);
margin-left: calc(50% - 50vw);
	text-align:center;
}
/* セクション共通padding・背景 */
.lp-mattress > div[class^="section"] {
  padding: 4em 0;
}
@media (max-width: 900px) {
  .lp-mattress > div[class^="section"] { padding: 2em 0; }
}

.lp-mattress > div.section05{
  padding: 4em 0 0;
}

.lp-mattress > div[class^="section"] > .ttl_bg_gray:first-child {
  margin-top: 0; /* 念のため */
}
.lp-mattress > div[class^="section"]:has(> .ttl_bg_gray:first-child) {
  padding-top: 0 !important;
}
/* セクションごとの背景指定 */
.section01,
.section02,
.section04,
.section06,
.section08,
.section09,
.section10,
.section11 { background: #fff; }

.section03 { /* 斜線パターン：極細 */
  background: repeating-linear-gradient(
    45deg,
    #f9f9f9 0px, #f9f9f9 4px,
    transparent 4px, transparent 8px
  );
}
.section05,
.section07,
.section12 { background: #efefef; }

.section06 p,
.section08 p,
.section10 p,
.section11 p{
text-align:left;
margin-bottom: 2em;
line-height:1.8;
}
.section12{
text-align:left;
margin-bottom: 0;
line-height:1.8;
}
.section13 { background: #7e6e5f; }

.inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* ---------------------------
   タイトル装飾
----------------------------*/

/* グレー背景のh2 */
.ttl_bg_gray {
  background: #efefef;
  padding: 4em 0;
  text-align: center;
  margin-bottom: 4em;
}
.ttl_bg_gray .lp-mattress__section-title {
  margin: 0 !important; /* グレー背景h2は上下marginなし */
}

/* 通常h2 */
.lp-mattress__section-title {
  text-align: center;
  font-size: 32px;
  font-weight: 600;
    display: inline-block;
    padding: 0 55px;
  letter-spacing: 0.04em;
  margin: 0 0 2em 0;   /* 通常2em下マージン */
  position: relative;
  z-index: 2;
}
@media (max-width: 900px) { .lp-mattress__section-title { font-size: 28px; } }
@media (max-width: 600px) { .lp-mattress__section-title { font-size: 20px; } }

/* 横棒装飾（before/after） */
/*.lp-mattress__section-title.with-bars:before,
.lp-mattress__section-title.with-bars:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 2em;
  height: 2px;
  background: #222;
  margin: 0 1em;
}*/

.lp-mattress__section-title.with-bars:before{
    left: 0;
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: black;
}
.lp-mattress__section-title.with-bars:after {
    right: 0;
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: black;
}

.lp-mattress__section-title.underlined{
	padding-bottom: 2vw;
    text-align: center;
    border-bottom: solid 1px #222;
margin: 0 0 1em 0;
}
.section05 .lp-mattress__section-title.with-bars:before,
.section05 .lp-mattress__section-title.with-bars:after {
  background: #00b097;
}

/* 最後のh2（section13）は横棒ナシ・白文字 */
.section13 .lp-mattress__section-title {
  color: #fff !important;
}
.section13 .lp-mattress__section-title.with-bars:before,
.section13 .lp-mattress__section-title.with-bars:after {
  display: none !important;
}

/* ---------------------------
   セクション画像、リスト
----------------------------*/

.section-img,
.lp-mattress__fullwidth-image img {
  width: 100%;
  height: auto;
  display: block;
	text-align:
}
.lp-mattress__logo img{
width: 20%;
    margin: 0 auto;
	text-align:center;
}
/* チェックリスト(ul)中央寄せ */
.lp-mattress__symptoms {
  list-style: none;
  padding: 0;
  font-size: 26px;
  margin: 0 auto 2em auto;
  max-width: 600px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.lp-mattress__symptoms li {
  position: relative;
  padding-left: 2em;
}
.lp-mattress__checkmark:before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0%;
    width: 1.5em;
    height: 1.5em;
    background: url(https://curere.jp/wp/wp-content/uploads/img/syouhin_img_check.png) center center no-repeat;
    background-size: 100% auto;
}
@media (max-width: 600px) { .lp-mattress__symptoms { font-size: 19px; } }



h3.lp-mattress__subtitle {
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 2vw;
	margin: 3em 0 2em;
	text-align:left;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.05em;
    margin-bottom: 0;
}

@media screen and (max-width: 599px) {
   h3.lp-mattress__subtitle  {
        font-size: 20px;
        margin: 30px 0 20px;
        padding: 0;
    }
}

.section06 .highlight{
   background-color: #949494;
	padding: 5px 10px;
	text-align:center;
	color:#fff;
	font-weight:bold;
}
/* ---------------------------
   5つのこだわり・特徴グリッド
----------------------------*/

.lp-mattress__feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em;
  margin-top: 2em;
}
.lp-mattress__feature-list > div {
  background: #fff;
  padding: 1em 1em 2em 1em;
/*  box-shadow: 0 2px 8px rgba(0,0,0,0.06);*/
}
.lp-mattress__feature-list h4 {
    font-size: 20px;
    line-height: 1.1;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.05em;
	margin: 0 0 1.5em;
	text-align:left;
}


.lp-mattress__feature-list h4.h4-02 {
    font-size: 20px;
    line-height: 2.2;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.05em;
	margin: 0 0 1.5em;
	text-align:left;
}

@font-face {
  font-family: 'DIN Alternate Bold';
  src: url('DIN%20Alternate%20Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

.lp-mattress__feature-list h4 .TitleNum {
  display: block;
  float: left;
  width: 60px;
  margin-right: 10px;
  font-family: 'DIN Alternate Bold', sans-serif;
  font-size: 45px;
  font-weight: 100;
  letter-spacing: 0.01em;
  line-height: 1;
  border-right: solid 1px;
  padding-right: 0;

}
.lp-mattress__feature-list h4 span:not(.TitleNum) {
  font-size: 14px;
}
@media (max-width: 960px) {
  .lp-mattress__feature-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .lp-mattress__feature-list {
    grid-template-columns: 1fr;
  }
}

/* 商品仕様テーブル */
.ttl_bg_gray {
  background: #efefef;
  padding: 4em 0;
  text-align: center;
  margin-bottom: 4em;
}
.ttl_bg_gray .lp-mattress__section-title { margin: 0 !important; }
.lp-mattress__spec-table {
  width: 70%;
  font-size: 16px;
  margin: 0 auto 2em auto;
  text-align: left;
  border-collapse: collapse;
  background: #fff;
}
.lp-mattress__spec-table th,
.lp-mattress__spec-table td {
  padding: 10px;
  border-bottom: 1px dotted #ddd;
  vertical-align: top;
}
.lp-mattress__spec-table th { width: 20%; text-align: left; }
@media (max-width: 700px) {
  .lp-mattress__spec-table, .lp-mattress__spec-table th, .lp-mattress__spec-table td {
    width: 100%;
    display: block;
  }
}


.lp-mattress__lead{
	text-align:center;
}

.lp-mattress__lead p{
	margin-bottom:2em;
	line-height:1.6;

	font-size: 24px;

}
.lp-mattress__lead .emphasis{
font-size: 34px;
	font-weight:600;
font-feature-settings: "palt";
}

@media screen and (max-width: 750px) {
	
.lp-mattress__lead p{
	font-size: 16px;

}
.lp-mattress__lead .emphasis {
        font-size: 25px;
    }
}
/* ---------------------------
   喜びの声
----------------------------*/
.voice-heading { font-size: 28px; margin-bottom: 2em; text-align: center; }
.voice-list { display: flex; flex-direction: column; gap: 3em; }
.voice-item { padding: 2em 2em 1em 2em; background: none; box-shadow: none; }
.voice-title { font-size: 1.2em; font-weight: bold; margin-bottom: 0.5em;text-align:left; }
.voice-stars { color: #f09f4d; font-size: 1.3em; margin: 0.2em 0; }
.voice-highlight { color: #f09f4d !important; }
.voice-meta { font-size: 0.9em; color: #888; }
@media screen and (max-width: 599px) {
    .voice-heading {
        font-size: 20px;
        margin: 30px 0 20px;
        padding: 0;
    }
}
/* ---------------------------
   FAQ装飾（Q/A角丸なし・左端揃え・縦並び）
----------------------------*/

/* ---------------------------
   13: バナーエリア
----------------------------*/
.banner-title-bg {
  background: #7e6e5f;
  text-align: center;
  padding: 2.5em 0 2em 0;
  margin-bottom: 2em;
}
.banner-title-bg .lp-mattress__section-title { color: #fff !important; }
.banner-grid {
  display: flex;
  gap: 2em;
  justify-content: center;
  align-items: flex-start;
}
.banner-item img {
  width: 100%;
  max-width: 400px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  background: #fff;
}
@media (max-width: 750px) {
  .banner-grid { flex-direction: column; gap: 2em; }
  .banner-item img { max-width: 100%; }
}



.lp-mattress__columns {
  display: flex;
  gap: 2em;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2em;
}
.lp-mattress__columns .column {
  flex: 1 1 48%;
  min-width: 260px;
  box-sizing: border-box;
}
.lp-mattress__columns .column img {
  width: 100%;
/*  max-width: 350px;*/
  display: block;
  margin: 0 auto 20px;
}
@media (max-width: 750px) {
  .lp-mattress__columns {
    flex-direction: column;
    gap: 1.5em;
  }
  .lp-mattress__columns .column {
    min-width: 0;
    width: 100%;
  }
}



.prf-columns {
  display: flex;
  gap: 2em;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2em;
}
.prf-columns > .prf-text {
  flex: 1 1 65%;
  min-width: 260px;
}
.prf-text h3{
	    font-size: 23px;
    font-weight: bold;
    border-bottom: solid #222 1px;
    padding-bottom: 1vw;
    margin-bottom: 1.5vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.05em;
}
.prf-columns > .prf-image {
  flex: 1 1 30%;
  min-width: 180px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.prf-columns > .prf-image img {
  max-width: 320px;
  width: 100%;
  display: block;
}
@media (max-width: 750px) {
  .prf-columns {
    flex-direction: column;
    gap: 1.5em;
  }
  .prf-columns > .prf-text,
  .prf-columns > .prf-image {
    min-width: 0;
    width: 100%;
  }
  .prf-columns > .prf-image img {
    max-width: 100%;
  }
}


@media (max-width: 1000px) {
.inner {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
	
}
