@charset "UTF-8";
@media screen and (min-width: 768px), print {
  .main-title {
    margin-bottom: 0;
  }
  .seo_bread_list {
    position: absolute;
    z-index: 100;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
  :root {
    --main-color: #b98560;
    --accent-color: #b79333;
    --text-color: #543926;
    --black-color: #3a3934;
    --blue-color: #608db9;
  }
  main p {
    color: #3a3934;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  #contentsmain {
    background-color: #eae3c6;
    max-width: 1920px;
    margin: 0 auto;
    text-align: center;
    padding-top: 150px;
    padding-bottom: 132px;
  }

  #contentsmain .en {
    font-size: 18px;
    color: #fff;
    font-family: "Montserrat";
    display: block;
  }
  #contentsmain .jp {
    font-size: 50px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    text-align: center;
    display: block;
    color: var(--text-color);
    margin-bottom: 66px;
    line-height: 1.2;
  }
  #contentsmain h3 {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 16px;
    text-align: left;
  }
  #contentsmain .innerBox {
    width: 1100px;
    margin: 0 auto;
    position: relative;
  }
  #contentsmain .mainimg {
    margin-bottom: 32px;
  }
  #contentsmain p {
    text-align: left;
  }
  #contentsmain .mainimg-bg01 {
    position: absolute;
    left: 10px;
    top: -48px;
  }
  #contentsmain .mainimg-bg02 {
    position: absolute;
    right: -60px;
    bottom: -180px;
  }
  #contents01 {
    padding: 130px 0 112px;
    width: 1100px;
    margin: 0 auto;
    text-align: left;
  }
  .contents-common-enttl {
    font-size: 111px;
    font-family: "Montserrat";
    color: #b98560;
    font-weight: 500;
    line-height: 1.2;
  }
  .contents-common-ttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 38px;
    font-weight: 500;
    margin-bottom: 40px;
    text-align: left;
  }
  .contents-common-photo {
    margin-bottom: 28px;
  }
  .contents-common-subttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 0;
    text-align: left;
  }
  .contents-common-list {
    text-align: center;
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
  }
  .contents-common-list p {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    font-weight: 500;
    margin-top: 13px;
    margin-bottom: 16px;
  }
  #contents02 {
    padding: 0 0 115px;
    width: 1100px;
    margin: 0 auto;
    text-align: left;
  }
  #contents03 {
    padding: 0 0 110px;
    width: 1100px;
    margin: 0 auto;
    text-align: center;
  }
  #contents03 .contents-common-enttl {
    text-align: left;
  }
  .contents-common-listttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    font-weight: 500;
    position: relative;
    margin-bottom: 16px;
    display: inline-block;
  }
  .contents-common-listttl::before,
  .contents-common-listttl::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 3px; /* ← 少し太く（2〜4pxで好み調整） */
    height: 1.8rem; /* お好みで */
    background: var(--main-color);
    border-radius: 9999px; /* ← 角丸（両端が丸くなる） */
    transform-origin: bottom center; /* ← 下端を支点に回転 */
  }
  .contents-common-listttl::before {
    transform: rotate(-30deg);
    left: -10px;
    bottom: 10px;
  }
  .contents-common-listttl::after {
    transform: rotate(30deg);
    right: -10px;
    bottom: 10px;
  }
  #contents03 .contents-common-list {
    margin-top: 0;
  }
  #contents03 .contents-common-text {
    text-align: left;
    margin-bottom: 40px;
  }
  .price-textimg {
    display: block;
    padding: 30px 0;
  }
  #contents04 {
    padding: 0 0 130px;
    width: 1100px;
    margin: 0 auto;
    text-align: left;
  }
  .basic-btn a {
    background-color: var(--main-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 400px;
    height: 60px;
    margin: 0 auto;
    position: relative;
  }
  .basic-btn a:after {
    content: ">";
    position: absolute;
    right: 30px;
    top: 47%;
    transform: translateY(-50%);
    font-family: "Zen Maru Gothic", sans-serif;
  }
  .basic-btn a:hover {
    text-decoration: none;
  }
  .mt60 {
    margin-top: 60px;
  }

  .common-underbox {
    background: url(../images/lifestyle/contents_footer_photo.png) center top
      no-repeat;
    margin: 0 auto 150px;
    text-align: center;
    max-width: 1920px;
    height: 736px;
    position: relative;
  }
  .common-underboxtext {
    background-color: #fff;
    height: 268px;
    width: 878px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: 0;
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
  }
  .common-underbox-ttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 16px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1450px) {
}

@media screen and (max-width: 767px) {
  :root {
    --main-color: #b98560;
    --accent-color: #b79333;
    --text-color: #543926;
    --black-color: #3a3934;
    --blue-color: #608db9;
  }
  body {
    background: #faf6f2;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  main p {
    color: #3a3934;
    font-size: 3.86vw;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  .main-title {
    margin-bottom: 0;
  }
  .seo_bread_list {
    position: absolute;
    z-index: 100;
    margin: 0 auto;
    left: 0;
    right: 0;
  }

  #contentsmain {
    background-color: #eae3c6;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding-top: 14.49vw;
    padding-bottom: 26.57vw;
  }

  #contentsmain .en {
    font-size: 3.38vw;
    color: #fff;
    font-family: "Montserrat";
    display: block;
  }
  #contentsmain .jp {
    font-size: 7.73vw;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    text-align: center;
    display: block;
    color: var(--text-color);
    margin-bottom: 4.9vw;
  }
  #contentsmain h3 {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 5.31vw;
    font-weight: 500;
    margin-bottom: 3vw;
    text-align: left;
    line-height: 1.55;
  }
  #contentsmain .innerBox {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 0 2.9vw;
  }
  #contentsmain .mainimg {
    margin-bottom: 7.25vw;
  }
  #contentsmain p {
    text-align: left;
  }
  #contentsmain .mainimg-bg01 {
    position: absolute;
    left: 0;
    width: 26.57vw;
    top: 14.49vw;
  }
  #contentsmain .mainimg-bg02 {
    position: absolute;
    right: 2.42vw;
    bottom: -30.57vw;
    width: 25.36vw;
  }
  #contents01 {
    padding: 23vw 0 14vw;
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }
  .contents-common-enttl {
    font-size: 10.63vw;
    font-family: "Montserrat";
    color: #b98560;
    padding: 0 5.31vw;
    font-weight: 500;
    line-height: 1.2;
  }
  .contents-common-ttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 6.28vw;
    font-weight: 500;
    margin-bottom: 7.25vw;
    line-height: 1.62;
    padding: 0 5.31vw;
    text-align: left;
  }
  .contents-common-photo {
    margin-bottom: 4vw;
  }
  .contents-common-subttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 5.31vw;
    font-weight: 500;
    margin-bottom: 3.86vw;
    text-align: left;
    padding: 0 5.31vw;
    letter-spacing: 0;
    line-height: 1.55;
  }
  .contents-common-list {
    text-align: center;
    margin-top: 7vw;
    padding: 0 5.31vw;
    display: block;
    li:not(:last-child) {
      margin-bottom: 5.5vw;
    }
  }
  .contents-common-list p {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 5.31vw;
    font-weight: 500;
    margin-top: 3vw;
    margin-bottom: 0;
  }
  .price-textimg {
    width: 80%;
    display: block;
    margin: 12vw auto 0vw;
  }

  #contents01 p {
    padding: 0 5.31vw;
  }
  #contents02 {
    padding-bottom: 16.91vw;
  }
  #contents02 p {
    padding: 0 5.31vw;
  }
  #contents03 {
    padding-bottom: 14.91vw;
  }
  #contents03 p {
    padding: 0 5.31vw;
  }
  #contents04 {
    padding-bottom: 26.57vw;
  }
  #contents04 p {
    padding: 0 5.31vw;
  }
  .basic-btn a {
    background-color: var(--main-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.86vw;
    font-weight: 500;
    color: #fff;
    border-radius: 7.25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 14.49vw;
    position: relative;
  }
  .basic-btn a:after {
    content: ">";
    position: absolute;
    right: 5vw;
    top: 47%;
    transform: translateY(-50%);
    font-family: "Zen Maru Gothic", sans-serif;
  }
  .basic-btn a:hover {
    text-decoration: none;
  }
  .basic-btn {
    margin-top: 5vw;
  }
  .common-underbox {
    width: 100%;
    padding-bottom: 26.57vw;
    padding-top: 65vw;
    background: url(../images/lifestyle/sp-contents_footer_photo.png) no-repeat
      top;
    background-size: contain;
  }
  .common-underbox-ttl {
    color: var(--text-color);
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 5.31vw;
    font-weight: 500;
    margin-bottom: 3.86vw;
    line-height: 1.6;
  }
  .common-underboxtext {
    background-color: #fff;
    margin: 0 2.9vw;
    padding: 7.25vw 4.83vw;
  }
}
