@charset "UTF-8";

/* フォント設定 - Noto Serif JP */
body,
*:not(.p-hawaiianKv__titleJa) {
  font-family: "Noto Serif JP", serif !important;
}

/* Pinyon Script for section titles */
.p-topEngageRing__title,
.p-topDesign__title {
  font-family: 'Pinyon Script', cursive !important;
}

/* Hawaiian page title - highest specificity */
.p-hawaiianKv__title .p-hawaiianKv__titleJa,
span.p-hawaiianKv__titleJa,
.p-hawaiianKv__titleJa {
  font-family: 'Pinyon Script', cursive !important;
}

/* フォント設定 - 高級感のあるフォント */
.p-topCraftsman,
.p-topOrdermade,
.p-topDeepcut {
  font-family: "Noto Serif JP", serif !important;
}

.p-topCraftsman *,
.p-topOrdermade *,
.p-topDeepcut * {
  font-family: "Noto Serif JP", serif !important;
}

/* 20250805 トップページ pickup */
.p-toppickup-products-wrap {
  padding: 50px 0;
}
.p-toppickup-products-wrap .p-topPickup__name {
  margin-bottom: 20px;
  text-align: center;
}
.pickup-products-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1080px;
  margin: 50px auto;
  gap: 40px;
}
.pickup-products-list li {
  width: calc(25% - 30px);
}
.pickup-products-list li img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
@media (max-width: 480px) {
  .pickup-products-list {
    gap: 10px;
  }
  .pickup-products-list li {
    width: calc(50% - 15px);
  }
}

/* 20250805 taxonomy_cat オーダーの流れ */
.flow-content {
  background: #fff;
  margin-top: 50px;
}
.flow-content .p-kv__inner {
  width: 100%;
}
.flow-inner h2 {
  font-size: 20px;
  text-align: center;
}
.flow-list {
  margin: 50px 0;
}

.flow-list li {
  border: 1px solid #8FAADC;
  padding: 20px;
  position: relative;
  width: 80%;
  margin: 0 auto 30px;
  text-align: center;
}
.flow-list li::after {
  content: "▲";
  transform: rotate(90deg);
  position: absolute;
  right: 47%;
  bottom: -24px;
  transform: rotate(180deg);
}

.flow-list li:last-child:after {
  content: none;
}
.flow-content .p-kv__title h3 {
  font-size: var(--fs-lv5);
  color: var(--c-accent);
  letter-spacing: .1em;
  margin-top: .8em;
}
@media only screen and (min-width: 768px) {
  .flow-content {
    width: 960px;
    margin: 60px auto;
  }
  .flow-content .section h2 {
    font-size: 3.2rem;
    margin: 0 0 20px;
  }
  .flow-content div.section {
    text-align: center;
    line-height: 1.6;
    margin: 30px 0 60px;
    padding: 0 0 60px;
    border-bottom: 1px solid #ddd;
  }
  .flow-list {
    display: flex;
    justify-content: space-between;
  }
  .flow-list li {
    width: unset;
  }
  .flow-list li::after {
    transform: rotate(90deg);
    right: -24px;
    bottom: unset;
  }
}
@media only screen and (max-width: 767px) {
  .flow-content .section h2 {
    font-size: 2rem;
    text-align: center;
    margin: 20px 0;
  }
  .flow-content .section p {
    line-height: 1.6;
  }
}
.flow-content-btn a {
  display: block;
  width: 300px;
  margin: 30px auto;
  padding: 20px;
  border: solid 1px #000;
  text-align: center;
}

/* 20250805 taxonomy_cat 商品名 */
.has_product_name_txt {
  position: relative;
  margin-bottom: 30px;
}
.linkScale.has_product_name_txt {
  overflow: visible;
  margin-bottom: 65px;
}
.product_name_txt {
  position: absolute;
  bottom: -55px;
  height: 50px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 14px;
  font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

.cmn-p-topMvCatch__image.p-topMvCatch__image {
  bottom: 18vw; /* さらに下に移動 */
}

/* MV Catch Content - Background Image for Mobile */
@media screen and (max-width: 768px) {
  .p-topMvCatch__cont {
    position: relative;
  }

  .p-topMvCatch__cont::after {
    content: '';
    position: absolute;
    top: 73%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-image: url('https://total-boost.com/wp-test/wp-content/uploads/gorgeous-e1761621134865.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
  }

  .p-topMvCatch {
    margin-bottom: 20px;
  }
}

/*--20241202--*/
.cmn-title {
  width: 80vw;
  margin: 10px auto;
  line-height: var(--l-lg);
  font-size: var(--fs-lv3);
}
@media(min-width:768px) {
  .cmn-p-topMvCatch__image.p-topMvCatch__image {
    bottom: 0px; /* PC版は変更なし */
  }
  .cmn-title {
    font-size: var(--fs-lv4);
  }
  .cmn-br-sp {
    display: none;
  }
}

/*--20250326 追加 お客様の声／修正 レイアウト--*/
.item-img-size img {
  object-fit: cover;
}
.voice-cace-area .p-topPickup__name {
  margin-bottom: 20px;
  text-align: center;
}
.voice-cace-list li {
  margin-bottom: 40px;
}
.voice-cace-list li img {
  margin-bottom: 20px;
}
.voice-cace-list li p {
  font-size: 14px;
  line-height: 1.5;
}
.top-case-btn a {
  display: block;
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  border: solid 1px #000;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .item-img-size img {
    height: 300px;
    max-width: 510px;
    border-radius: 5px;
  }
  .voice-cace-list {
    display: flex;
  }
  .voice-cace-list li {
    width: calc(94%/3);
    margin-right: 3%;
  }
  .voice-cace-list li:last-child {
    margin-right: 0;
  }
}

/*--20250902 追加 店舗情報コンテンツについて--*/
.top_info {
  margin-top: 20px;
  background: #121516;
  padding: 20px 0;
  width: 100vw;
}
.top_info .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.top_info .address {
  padding: 60px 0;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 15px;
}
.top_info .address .mb {
  margin-bottom: 15px;
}
.top_info .map {
  width: calc(50% - 20px);
}
.p-topStore__inner {
  height: 100%;
  padding: 40px 0;
}
@media screen and (min-width: 768px) {
  .top_info .wrap {
    width: 1080px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .top_info .wrap {
    gap: 40px;
    padding: 0 20px;
    justify-content: flex-start
  }
  .top_info .address {
    padding: 0;
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 15px;
    width: 100%;
    line-height: 2rem;
  }
  .top_info .address dt {
    color: #aaa;
  }
  .top_info .address .mb {
    margin-bottom: 15px;
  }
  .top_info .map {
    width: 100%;
  }
}

/* 職人紹介セクション */
.p-topCraftsman {
  background-color: #f8f8f8;
  padding: 0;
}

.p-topCraftsman__inner {
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
}

.p-topCraftsman__image {
  flex: 0 0 43%;
  max-width: 43%;
  background-size: 150%;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 450px;
  margin: 0;
  padding: 0;
  position: relative;
}

.p-topCraftsman__image::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 30%;
  background: linear-gradient(to right, rgba(248, 248, 248, 0), rgba(248, 248, 248, 1));
}

.p-topCraftsman__image img {
  display: none;
}

.p-topCraftsman__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 50px 80px;
  justify-content: center;
}

.p-topCraftsman__title {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.p-topCraftsman__name {
  font-weight: bold;
}

.p-topCraftsman__text {
  flex: 1;
  line-height: 2;
  margin-bottom: 30px;
}

.p-topCraftsman__text p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.p-topCraftsman__text p:last-child {
  margin-bottom: 0;
}

.p-topCraftsman__link {
  text-align: right;
  margin-top: auto;
}

.p-topCraftsman__link a {
  display: inline-block;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.12em;
  border-bottom: 2px solid #000;
  padding-bottom: 6px;
  font-weight: 500;
}

.p-topCraftsman__link a:hover {
  opacity: 0.7;
}

/* タブレット版 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .p-topCraftsman__content {
    padding: 50px 40px;
  }

  .p-topCraftsman__image {
    flex: 0 0 45%;
    max-width: 45%;
  }
}

@media screen and (max-width: 768px) {
  .p-topCraftsman {
    padding: 0;
    position: relative;
    min-height: 500px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    left: 0;
    right: 0;
  }

  .p-topCraftsman__inner {
    display: block;
    position: relative;
    min-height: 500px;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
  }

  .p-topCraftsman__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
  }

  .p-topCraftsman__image::after {
    content: '';
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.4) !important;
    z-index: 2;
  }

  .p-topCraftsman__content {
    position: relative;
    z-index: 3;
    padding: 40px 20px;
    color: #fff;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .p-topCraftsman__title {
    font-size: 28px;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    color: #fff;
  }

  .p-topCraftsman__text {
    margin-bottom: 30px;
    line-height: 1.9;
  }

  .p-topCraftsman__text p {
    font-size: 12px;
    margin-bottom: 15px;
    line-height: 1.8;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }

  .p-topCraftsman__text p br {
    display: none;
  }

  .p-topCraftsman__link {
    text-align: right;
    margin-top: auto;
  }

  .p-topCraftsman__link a {
    font-size: 16px;
    border-bottom: 2px solid #fff;
    padding-bottom: 6px;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
}

/* オーダーメイド紹介セクション */
.p-topOrdermade {
  background-color: #000;
  padding: 0;
}

.p-topOrdermade__inner {
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
}

.p-topOrdermade__image {
  flex: 0 0 43%;
  max-width: 43%;
  background-size: 150%;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 450px;
  margin: 0;
  padding: 0;
  position: relative;
}

.p-topOrdermade__image::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 30%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

.p-topOrdermade__image img {
  display: none;
}

.p-topOrdermade__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 50px 80px;
  justify-content: center;
  color: #fff;
}

.p-topOrdermade__title {
  font-size: 38px;
  font-weight: 600;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.p-topOrdermade__name {
  font-weight: bold;
}

.p-topOrdermade__text {
  flex: 1;
  margin-bottom: 30px;
}

.p-topOrdermade__text p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #fff;
  font-weight: 500;
}

.p-topOrdermade__text p:first-child {
  font-style: italic;
  font-size: 13px;
  color: #ccc;
}

.p-topOrdermade__text p:last-child {
  margin-bottom: 0;
}

.p-topOrdermade__link {
  text-align: right;
  margin-top: auto;
}

.p-topOrdermade__link a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.12em;
  border-bottom: 2px solid #fff;
  padding-bottom: 6px;
  font-weight: 500;
}

.p-topOrdermade__link a:hover {
  opacity: 0.7;
}

/* タブレット版 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .p-topOrdermade__content {
    padding: 50px 40px;
  }

  .p-topOrdermade__image {
    flex: 0 0 45%;
    max-width: 45%;
  }
}

@media screen and (max-width: 768px) {
  .p-topOrdermade {
    padding: 0;
    position: relative;
    min-height: 500px;
    background-color: #000;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    left: 0;
    right: 0;
  }

  .p-topOrdermade__inner {
    display: block;
    position: relative;
    min-height: 500px;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
  }

  .p-topOrdermade__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
  }

  .p-topOrdermade__image::after {
    content: '';
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 2;
  }

  .p-topOrdermade__content {
    position: relative;
    z-index: 3;
    padding: 40px 20px;
    color: #fff;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .p-topOrdermade__title {
    font-size: 26px;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }

  .p-topOrdermade__text {
    margin-bottom: 30px;
  }

  .p-topOrdermade__text p {
    font-size: 12px;
    margin-bottom: 15px;
    line-height: 1.8;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }

  .p-topOrdermade__text p br {
    display: none;
  }

  .p-topOrdermade__text p:first-child {
    font-style: italic;
    font-size: 12px;
    color: #ddd;
  }

  .p-topOrdermade__link {
    text-align: right;
    margin-top: auto;
  }

  .p-topOrdermade__link a {
    color: #fff;
    font-size: 16px;
    border-bottom: 2px solid #fff;
    padding-bottom: 6px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
}

/* ディープカット紹介セクション */
.p-topDeepcut {
  background-color: #f8f8f8;
  padding: 0;
}

.p-topDeepcut__inner {
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
}

.p-topDeepcut__image {
  flex: 0 0 43%;
  max-width: 43%;
  background-size: 150%;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 450px;
  margin: 0;
  padding: 0;
  position: relative;
}

.p-topDeepcut__image::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 30%;
  background: linear-gradient(to right, rgba(248, 248, 248, 0), rgba(248, 248, 248, 1));
}

.p-topDeepcut__image img {
  display: none;
}

.p-topDeepcut__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 50px 80px;
  justify-content: center;
}

.p-topDeepcut__title {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.p-topDeepcut__name {
  font-weight: bold;
}

.p-topDeepcut__text {
  flex: 1;
  margin-bottom: 30px;
}

.p-topDeepcut__text p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.p-topDeepcut__text p:last-child {
  margin-bottom: 0;
}

.p-topDeepcut__link {
  text-align: right;
  margin-top: auto;
}

.p-topDeepcut__link a {
  display: inline-block;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.12em;
  border-bottom: 2px solid #000;
  padding-bottom: 6px;
  font-weight: 500;
}

.p-topDeepcut__link a:hover {
  opacity: 0.7;
}

/* タブレット版 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .p-topDeepcut__content {
    padding: 50px 40px;
  }

  .p-topDeepcut__image {
    flex: 0 0 45%;
    max-width: 45%;
  }
}

@media screen and (max-width: 768px) {
  .p-topDeepcut {
    padding: 0;
    position: relative;
    min-height: 500px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    left: 0;
    right: 0;
  }

  .p-topDeepcut__inner {
    display: block;
    position: relative;
    min-height: 500px;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
  }

  .p-topDeepcut__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
  }

  .p-topDeepcut__image::after {
    content: '';
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.4) !important;
    z-index: 2;
  }

  .p-topDeepcut__content {
    position: relative;
    z-index: 3;
    padding: 40px 20px;
    color: #fff;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .p-topDeepcut__title {
    font-size: 28px;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    color: #fff;
  }

  .p-topDeepcut__text {
    margin-bottom: 30px;
  }

  .p-topDeepcut__text p {
    font-size: 12px;
    margin-bottom: 15px;
    line-height: 1.8;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }

  .p-topDeepcut__text p br {
    display: none;
  }

  .p-topDeepcut__link {
    text-align: right;
    margin-top: auto;
  }

  .p-topDeepcut__link a {
    font-size: 16px;
    border-bottom: 2px solid #fff;
    padding-bottom: 6px;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
}

/* デザインセクション */
.p-topDesign {
  background-color: #fff;
  padding: 80px 0;
  margin-top: 80px;
}

.p-topDesign__inner {
  max-width: 100%;
  margin: 0;
  text-align: left;
  padding: 0;
}

.p-topDesign__title {
  font-family: 'Pinyon Script', cursive;
  font-size: 156px;
  font-weight: 400;
  color: #B8860B;
  letter-spacing: 0.05em;
  margin: 0 0 60px 0;
  padding-left: 80px;
}

.p-topDesign__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 80px;
}

/* スライダーの基本スタイル（全デバイス共通） */
.waioli-engage-slider.p-topDesign__grid {
  display: block;
  position: relative;
}

.waioli-engage-track {
  display: flex;
  align-items: flex-start;
}

.waioli-engage-slider .p-topDesign__item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0 !important;
  padding: 0;
}

.waioli-engage-slider .p-topDesign__item a {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
}

.waioli-engage-slider .p-topDesign__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.waioli-engage-slider .p-topDesign__info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* PC用スライダースタイル（自動スクロール） */
@media screen and (min-width: 769px) {
  .waioli-engage-slider.p-topDesign__grid {
    overflow: hidden;
    padding: 0 80px;
  }

  .waioli-engage-track {
    gap: 40px;
    animation: scroll-horizontal linear infinite;
    width: max-content;
  }

  .waioli-engage-track:hover {
    animation-play-state: paused;
  }

  .waioli-engage-slider .p-topDesign__item {
    flex: 0 0 calc((1400px - 160px - 120px) / 4);
  }

  .waioli-engage-slider .p-topDesign__image {
    margin-bottom: 20px;
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    flex-shrink: 0;
  }

  .waioli-engage-slider .p-topDesign__info {
    min-height: 120px;
  }

  .waioli-engage-slider .p-topDesign__name {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 10px 0;
  }

  .waioli-engage-slider .p-topDesign__spec {
    min-height: 20px;
    margin: 0 0 8px 0;
  }

  .waioli-engage-slider .p-topDesign__price {
    min-height: 20px;
    margin: 0;
  }

  @keyframes scroll-horizontal {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-33.333%);
    }
  }
}

.p-topDesign__grid:not(.waioli-engage-slider) .p-topDesign__item {
  text-align: center;
}

.p-topDesign__grid:not(.waioli-engage-slider) .p-topDesign__item:nth-child(2),
.p-topDesign__grid:not(.waioli-engage-slider) .p-topDesign__item:nth-child(4) {
  margin-top: 60px;
}

.p-topDesign__image {
  margin-bottom: 20px;
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.p-topDesign__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.p-topDesign__info {
  text-align: center;
}

.p-topDesign__name {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  color: #000;
}

.p-topDesign__spec {
  font-size: 14px;
  margin-bottom: 8px;
  color: #333;
}

.p-topDesign__price {
  font-size: 14px;
  color: #333;
  margin: 0;
}

/* 768px以下はモバイル版として扱う */
@media screen and (max-width: 768px) {
  :root {
    --w-xxs: 90vw !important;
    --w-xs: 90vw !important;
    --w-sm: 90vw !important;
    --w-md: 90vw !important;
    --w-lg: 90vw !important;
  }
}

/* タブレット版 - 全体の幅調整 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* コンテンツ幅をタブレット画面に最適化 */
  :root {
    --w-md: 95vw;
  }

  .p-topDesign__title {
    padding-left: 40px;
  }

  .p-topDesign__grid:not(.waioli-engage-slider) {
    padding: 0 40px;
  }
}

@media screen and (max-width: 768px) {
  .p-topDesign__title {
    font-size: 80px;
    padding-left: 40px;
    margin-bottom: 40px;
  }

  .p-topDesign__grid:not(.waioli-engage-slider) {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
    padding: 0 20px;
  }

  .p-topDesign__grid:not(.waioli-engage-slider) .p-topDesign__item {
    transform: scale(1.0);
  }

  /* スライダーのモバイル対応 */
  .waioli-engage-slider {
    padding: 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .waioli-engage-slider .waioli-engage-track {
    gap: 10px;
    animation: none !important;
    width: calc((100vw - 50px) / 3 * 12 + 110px) !important;
    max-width: calc((100vw - 50px) / 3 * 12 + 110px) !important;
  }

  .waioli-engage-slider .p-topDesign__item {
    flex: 0 0 calc((100vw - 50px) / 3) !important;
    min-width: calc((100vw - 50px) / 3) !important;
  }

  .waioli-engage-slider .duplicate-item {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }

  .waioli-engage-slider .p-topDesign__name {
    font-size: 9px;
    min-height: 32px;
    line-height: 1.2;
  }

  .waioli-engage-slider .p-topDesign__spec,
  .waioli-engage-slider .p-topDesign__price {
    font-size: 8px;
  }

  .waioli-engage-slider .p-topDesign__info {
    min-height: 70px;
  }

  .waioli-engage-slider .p-topDesign__image {
    height: auto;
    aspect-ratio: 1;
    margin-bottom: 8px;
  }

  .p-topDesign__info {
    width: 100%;
  }

  .p-topDesign__name {
    font-size: 12px;
    width: 100%;
    word-wrap: break-word;
  }

  .p-topDesign__spec,
  .p-topDesign__price {
    font-size: 12px;
    width: 100%;
  }
}

/* エンゲージリングセクション */
.p-topEngageRing {
  background-color: #fff;
  padding: 80px 0;
  overflow: hidden;
}

.p-topEngageRing__inner {
  max-width: 100%;
  margin: 0;
  text-align: left;
  padding: 0;
}

.p-topEngageRing__title {
  font-family: 'Pinyon Script', cursive;
  font-size: 156px;
  font-weight: 400;
  color: #B8860B;
  letter-spacing: 0.05em;
  margin: 0 0 60px 0;
  padding-left: 80px;
}

.p-topEngageRing__photos {
  display: flex;
  animation: scrollEngageRing 85s linear infinite;
  width: fit-content;
}

.p-topEngageRing__chunk {
  display: flex;
  gap: 20px;
  padding-right: 20px;
}

@keyframes scrollEngageRing {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.p-topEngageRing__item {
  flex-shrink: 0;
  width: 280px;
}

.p-topEngageRing__img {
  width: 100%;
  height: 380px;
  margin-bottom: 15px;
}

.p-topEngageRing__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.p-topEngageRing__info {
  text-align: center;
}

.p-topEngageRing__name {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  color: #000;
}

.p-topEngageRing__spec {
  font-size: 14px;
  margin-bottom: 8px;
  color: #333;
}

.p-topEngageRing__price {
  font-size: 14px;
  color: #333;
  margin: 0;
}

.p-topEngageRing__button {
  text-align: center;
  margin-top: 40px;
}

.p-topEngageRing__link {
  display: inline-block;
  padding: 15px 50px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  border: 2px solid #000;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.p-topEngageRing__link:hover {
  background-color: #f5f5f5;
  transform: translateY(-2px);
}

@media screen and (max-width: 768px) {
  .p-topEngageRing__title {
    font-size: 50px;
    padding-left: 40px;
    margin-bottom: 20px;
  }


  .p-topDesign {
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .p-topEngageRing {
    padding: 40px 0 0;
    margin: 0;
  }

  .p-topEngageRing__item {
    width: 280px;
  }

  .p-topEngageRing__img {
    height: 270px;
  }

  .p-topEngageRing__chunk {
    gap: 15px;
    padding-right: 15px;
  }

  .p-topEngageRing__name {
    font-size: 14px;
  }

  .p-topEngageRing__spec,
  .p-topEngageRing__price {
    font-size: 12px;
  }

  .p-topEngageRing__button {
    margin-top: 30px;
  }

  .p-topEngageRing__link {
    padding: 12px 40px;
    font-size: 16px;
  }
}

/* オーダープロセス */
.p-topOrderProcess {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 80px 80px;
}

.p-topOrderProcess__item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 30px;
}

.p-topOrderProcess__item:last-child {
  margin-bottom: 0;
}


.p-topOrderProcess__image {
  width: 525px;
  height: 350px;
  flex-shrink: 0;
  overflow: hidden;
}

.p-topOrderProcess__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.p-topOrderProcess__content {
  flex: 1;
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  position: relative;
}

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

.p-topOrderProcess__title {
  font-size: 36px;
  font-weight: 600;
  color: #000;
  margin: 0 0 24px 0;
}

.p-topOrderProcess__text {
  font-size: 20px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 15px 0;
}

.p-topOrderProcess__link {
  font-size: 19px;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding-bottom: 2px;
  align-self: flex-end;
  margin-top: auto;
}

.p-topOrderProcess__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1024px) {
  .p-topOrderProcess {
    padding: 0 0 60px;
  }

  .p-topOrderProcess__item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 40px;
  }

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

  .p-topOrderProcess__number {
    padding: 10px 20px;
    text-align: left;
  }

  .p-topOrderProcess__item--reverse .p-topOrderProcess__number {
    padding: 10px 20px;
    text-align: left;
  }

  .p-topOrderProcess__image {
    width: 50%;
    height: auto;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
  }

  .p-topOrderProcess__image::before {
    content: "";
    display: block;
    padding-top: 66.67% !important;
  }

  .p-topOrderProcess__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-topOrderProcess__content {
    padding: 10px 0;
    flex: 1;
  }

  .p-topOrderProcess__item--reverse .p-topOrderProcess__content {
    padding: 10px;
  }

  .p-topOrderProcess__title {
    font-size: clamp(14px, 2.5vw, 20px);
    margin-bottom: 10px;
  }

  .p-topOrderProcess__text {
    font-size: clamp(10px, 1.5vw, 14px);
    margin-bottom: 0;
  }

  .p-topOrderProcess__text br {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-topOrderProcess__image::before {
    padding-top: 66.67% !important;
  }
}

/* Voicesセクション */
.p-topVoices {
  background-image: url('https://total-boost.com/wp-test/wp-content/uploads/kv_store_pc.jpg');
  background-size: cover;
  background-position: center;
  padding: 80px 0;
  position: relative;
  margin-top: -60px;
}

.p-topVoices::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.p-topVoices__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 80px;
  position: relative;
  z-index: 1;
}

.p-topVoices__content {
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-topVoices__title {
  font-size: 48px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 30px 0;
  letter-spacing: 0.05em;
}

.p-topVoices__text {
  font-size: 18px;
  line-height: 1.8;
  color: #fff;
  margin: 0 0 20px 0;
}

.p-topVoices__link {
  display: inline-block;
  margin-top: 30px;
  padding: 15px 40px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  transition: background-color 0.3s;
  align-self: flex-end;
}

.p-topVoices__link:hover {
  background-color: rgba(255, 255, 255, 1);
}

@media screen and (max-width: 768px) {
  .p-topVoices {
    padding: 60px 0;
    margin-top: 0;
  }

  .p-topVoices__inner {
    padding: 0 20px;
  }

  .p-topVoices__title {
    font-size: 32px;
  }

  .p-topVoices__text {
    font-size: 14px;
  }

  .p-topVoices__link {
    font-size: 16px;
    padding: 12px 30px;
  }
}

/* Accessセクション */
.p-topAccess {
  background-color: #fff;
  padding: 0 0 80px;
  margin-top: -80px;
}

.p-topAccess__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 80px;
  display: flex;
  gap: 40px;
  align-items: stretch;
}

.p-topAccess__map {
  flex: 0 0 60%;
  min-height: 400px;
}

.p-topAccess__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 0;
}

.p-topAccess__name {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 25px 0;
  color: #000;
  border-bottom: 2px solid #000;
  padding-bottom: 10px;
}

.p-topAccess__info {
  margin: 0 0 25px 0;
}

.p-topAccess__info p {
  font-size: 20px;
  line-height: 1.8;
  margin: 0;
  color: #333;
}

.p-topAccess__desc {
  font-size: 20px;
  line-height: 1.8;
  margin: 0 0 35px 0;
  color: #333;
}

.p-topAccess__link {
  display: inline-block;
  align-self: flex-end;
  padding: 5px 0;
  color: #000;
  text-decoration: none;
  font-size: 20px;
  border-bottom: 2px solid #000;
  transition: opacity 0.3s;
}

.p-topAccess__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .p-topAccess {
    padding: 0 0 60px;
    margin-top: 0;
  }

  .p-topAccess__inner {
    flex-direction: column;
    padding: 0 20px;
    gap: 30px;
  }

  .p-topAccess__content {
    order: 1;
  }

  .p-topAccess__map {
    flex: 0 0 auto;
    min-height: 350px;
    height: 350px;
    order: 2;
  }

  .p-topAccess__map iframe {
    height: 350px !important;
  }

  .p-topAccess__name {
    font-size: 20px;
  }

  .p-topAccess__info p,
  .p-topAccess__desc {
    font-size: 14px;
  }

  .p-topAccess__link {
    align-self: flex-end;
  }
}

/* FAQセクション */
.p-topFAQ {
  background-color: #fff;
  padding: 0 0 80px;
  margin-top: -80px;
}

.p-topFAQ__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 80px;
}

.p-topFAQ__list {
  margin: 0 0 40px 0;
}

.p-topFAQ__item {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}

.p-topFAQ__item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 30px;
}

.p-topFAQ__item summary::-webkit-details-marker {
  display: none;
}

.p-topFAQ__item summary::after {
  content: '▼';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  transition: transform 0.3s;
  color: #999;
}

.p-topFAQ__item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.p-topFAQ__question {
  font-size: 18px;
  line-height: 1.8;
  margin: 0;
  color: #333;
}

.p-topFAQ__answer {
  padding: 20px 0 0 20px;
}

.p-topFAQ__answer p {
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
  color: #666;
}

.p-topFAQ__link {
  display: inline-block;
  float: right;
  padding: 5px 0;
  color: #000;
  text-decoration: none;
  font-size: 20px;
  border-bottom: 2px solid #000;
  transition: opacity 0.3s;
}

.p-topFAQ__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .p-topFAQ {
    padding: 60px 0;
  }

  .p-topFAQ__inner {
    padding: 0 20px;
  }

  .p-topFAQ__title {
    font-size: 80px;
    margin-bottom: 40px;
  }

  .p-topFAQ__question {
    font-size: 12px;
  }

  .p-topFAQ__answer p {
    font-size: 14px;
  }

  .p-topFAQ__link {
    font-size: 16px;
  }

  /* c-articleCard 3カラム表示 */
  .c-articleCard.col-3 .c-articleCard__item {
    width: 32% !important;
    margin-right: 2% !important;
  }

  .c-articleCard.col-3 .c-articleCard__item:nth-of-type(2n) {
    margin-right: 2% !important;
  }

  .c-articleCard.col-3 .c-articleCard__item:nth-of-type(3n) {
    margin-right: 0 !important;
  }

  /* p-topDekiru 左右padding縮小 */
  .p-topDekiru__cont {
    padding: 0 10px !important;
  }

  .p-topDekiru__cont .c-articleCard {
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .p-topDekiru__cont .c-articleCard__title {
    font-size: 12px !important;
  }

  .p-topDekiru__cont .c-articleCard__data .cat,
  .p-topDekiru__cont .c-articleCard__data .date {
    font-size: 10px !important;
  }
}

/* Instagram埋め込みグリッド */
.p-InstagramGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px 20px;
}

.p-InstagramGrid .instagram-media {
  margin: 0 !important;
  min-width: auto !important;
  max-width: 100% !important;
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .p-InstagramGrid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px;
    padding: 40px 20px;
  }
}

@media screen and (min-width: 769px) {
  .p-InstagramGrid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Columnセクションの記事カード横幅調整 */
.p-topDekiru__cont {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Newsセクションの横幅調整 */
.p-topNews__cont {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  border-top: none !important;
}

/* Newsセクションの上のボーダーを削除 */
.p-topNews {
  border-top: none;
}

/* Contactセクション */
.p-topContact {
  background-color: transparent;
  border-top: none;
}

.p-topContact__content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-topContact__text {
  margin-bottom: 40px;
}

.p-topContact__text p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px;
  color: #333;
}

.p-topContact__link-inline {
  color: #4A90E2;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.p-topContact__link-inline:hover {
  opacity: 0.7;
}

.p-topContact__note {
  font-size: 14px;
  color: #666;
  margin-top: 40px;
}

.p-topContact__button {
  display: flex;
  justify-content: flex-end;
}

.p-topContact__btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 0;
  font-size: 18px;
  color: #000;
  text-decoration: none;
  border-bottom: 2px solid #000;
  transition: opacity 0.3s ease;
  position: relative;
}

.p-topContact__btn::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #000;
  margin-left: 10px;
  transition: transform 0.3s ease;
}

.p-topContact__btn:hover {
  opacity: 0.7;
}

.p-topContact__btn:hover::after {
  transform: translateX(5px);
}

@media (max-width: 768px) {
  .p-topContact__text p {
    font-size: 12px;
  }

  .p-topContact__text br,
  .p-topContact__note br {
    display: none;
  }

  .p-topContact__note {
    font-size: 12px;
  }

  .p-topContact__button {
    justify-content: center;
  }
}

/* CRITICAL: Override all font rules for Hawaiian page title */
/* This must be at the end of the file to have highest priority */
body .p-hawaiianKv__title .p-hawaiianKv__titleJa,
body span.p-hawaiianKv__titleJa,
body .p-hawaiianKv__titleJa,
.p-hawaiianKv__title span.p-hawaiianKv__titleJa {
  font-family: 'Pinyon Script', cursive !important;
}

/* Override LINE button background to match other buttons */
.l-contact a.l-contact__line {
  background: linear-gradient(90deg, rgb(247, 227, 194) 0%, rgb(238, 187, 103) 100%) !important;
}

/* Bangle page - change title and description text to black */
div.kv div.ttl h2 {
  color: #000 !important;
}

div.kv div.ttl p {
  color: #000 !important;
}

/* Ordermade page - Made to order color */
body#ordermade .p-kv__title p {
  color: #8b6f47 !important;
}

/* Reform about section - align title left */
body#reform .reform-about__title {
  text-align: left !important;
  margin-left: 10px !important;
}

/* Reform about section - mobile image size */
@media screen and (max-width: 768px) {
  body#reform .reform-about__image {
    flex: 0 0 40% !important;
    width: 40% !important;
  }

  body#reform .reform-about__image img {
    width: 100% !important;
    height: auto !important;
  }

  body#reform .reform-about__text p {
    font-size: 1.1rem !important;
  }

  body#reform .reform-about {
    overflow-x: hidden !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body#reform .reform-about__inner {
    padding: 0 !important;
    overflow: visible !important;
    gap: 10px !important;
  }

  body#reform .reform-about__text {
    padding: 0 !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body#reform .reform-about__text-first {
    width: 100% !important;
    padding-right: 10px !important;
    margin-bottom: 0 !important;
  }

  body#reform .reform-about__fullwidth {
    width: 100% !important;
    padding: 0 10px !important;
    margin: 5px 0 20px !important;
    box-sizing: border-box !important;
  }

  body#reform .reform-about__fullwidth p {
    font-size: 1.1rem !important;
    line-height: 1.8 !important;
    margin-bottom: 10px !important;
  }

  body#reform .reform-about__list-item {
    font-size: 1.0rem !important;
  }

  body#reform .reform-notes__list li {
    font-size: 1.0rem !important;
  }
}

/* Reform Mobile Fix */
@media screen and (max-width: 768px) {
  body#reform .p-kv {
    overflow: visible !important;
  }

  body#reform .p-kv__inner {
    padding: 20px 20px 40px !important;
  }

  body#reform .p-kv__image {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 40% !important;
    height: 160px !important;
    z-index: 1 !important;
  }

  body#reform .p-kv__content {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  body#reform .p-kv__title {
    width: 55% !important;
    margin-bottom: 10px !important;
  }

  body#reform .p-kv__desc {
    display: block !important;
    flex-direction: unset !important;
    margin-top: 170px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: 0 !important;
  }

  body#reform .p-kv__desc-sp {
    display: block !important;
    font-size: 1.2rem !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
  }

  body#reform .p-kv__desc-pc {
    display: none !important;
  }
}

/* Bangle page KV background override for mobile - Force override inline styles */
/* Target only bangle page by using the specific image URL (005.jpg) */
@media only screen and (max-width: 767px) {
  body#category div.kv[style*="005.jpg"] {
    background-size: 118% !important;
    background-position: 100% center !important;
    animation: force-bg-bangle 0s forwards !important;
  }
}

@media screen and (max-width: 768px) {
  body#category div.kv[style*="005.jpg"] {
    background-size: 118% !important;
    background-position: 100% center !important;
    animation: force-bg-bangle 0s forwards !important;
  }
}

@keyframes force-bg-bangle {
  to {
    background-size: 118% !important;
    background-position: 100% center !important;
  }
}

/* Engagement Ring page KV background override for mobile */
/* Target only engagement ring page by using the specific image URL (004.jpg) */
@media only screen and (max-width: 767px) {
  body#category div.kv[style*="004.jpg"] {
    background-position: 0% center !important;
  }
}

@media screen and (max-width: 768px) {
  body#category div.kv[style*="004.jpg"] {
    background-position: 0% center !important;
  }
}

/* Engagement Ring Single Product Pages - Match Category Page Design */
/* Target single product pages using kv_engagementring image */

/* PC version */
@media screen and (min-width: 769px) {
  /* KV section height and padding */
  div.kv[style*="kv_engagementring"] {
    height: 400px !important;
    padding: 0 !important;
    background-image: url(https://total-boost.com/wp-test/wp-content/uploads/kv_engagementring_pc.jpg) !important;
  }

  /* Match category page text styles */
  div.kv[style*="kv_engagementring"] .ttl.min h2 {
    font-size: 5rem !important;
  }

  div.kv[style*="kv_engagementring"] .ttl.min h1 {
    font-size: 2.4rem !important;
    font-weight: normal !important;
  }

  /* Hide the original paragraph text on PC for engagement ring single pages */
  div.kv[style*="kv_engagementring"] .ttl.min p {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Show new text using ::before pseudo-element */
  div.kv[style*="kv_engagementring"] .ttl.min p::before {
    content: "手彫りの美しいハワイアンエンゲージリング(婚約指輪)をご用意いたしました。\Aダイヤモンドの美しさと、手彫りにより刻み込まれた\Aハワイアンモチーフがキラキラと輝き、\Aどこから見ても美しい指輪になっております。";
    font-size: 1.6rem !important;
    line-height: var(--l-lg) !important;
    white-space: pre-line !important;
    display: block !important;
  }
}

/* Mobile version */
@media screen and (max-width: 768px) {
  /* KV section height and padding */
  div.kv[style*="kv_engagementring"] {
    height: 300px !important;
    padding: 0 !important;
    background-position: 0% center !important;
    background-image: url(https://total-boost.com/wp-test/wp-content/uploads/004.jpg) !important;
  }

  /* Match category page text styles */
  div.kv[style*="kv_engagementring"] .ttl.min {
    text-align: left !important;
  }

  div.kv[style*="kv_engagementring"] .ttl.min h2 {
    font-size: var(--fs-lv9) !important;
  }

  div.kv[style*="kv_engagementring"] .ttl.min h1 {
    font-size: var(--fs-lv4) !important;
    font-weight: normal !important;
  }

  /* Hide the original paragraph text on mobile for engagement ring single pages */
  div.kv[style*="kv_engagementring"] .ttl.min p {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Show new text using ::before pseudo-element */
  div.kv[style*="kv_engagementring"] .ttl.min p::before {
    content: "手彫りの美しい婚約指輪をご用意いたしました。\Aダイヤモンドの美しさと、手彫りにより刻み込まれた\Aハワイアンモチーフがキラキラと輝き、\Aどこから見ても美しい指輪になっております。";
    font-size: var(--fs-lv2) !important;
    line-height: var(--l-lg) !important;
    white-space: pre-line !important;
    display: block !important;
  }
}


/* Case Page - Square thumbnails for case list */
body#case div.caseList div.section {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
}

body#case div.caseList div.section a.bg {
  width: 100% !important;
  height: 100% !important;
  padding-top: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  display: block !important;
  position: relative !important;
}

body#case div.caseList div.section .content {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  text-align: center !important;
  color: #fff !important;
  padding: 15px !important;
}

/* Case Page - Mobile Text Modification */
@media screen and (max-width: 768px) {
  /* Hide original text on case page */
  body#case .p-kv__text p {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Show new shortened text */
  body#case .p-kv__text p::before {
    content: "WAIOLIの結婚・婚約指輪、バングル事例をご紹介いたします。素材・デザインのこだわりやハワイアン彫りやディープカット等、オーダーメイドの魅力をご覧ください";
    font-size: 1.2rem !important;
    line-height: 1.8 !important;
    white-space: pre-line !important;
    display: block !important;
    width: 110% !important;
    max-width: 110% !important;
  }

  /* Hide line breaks in contact text */
  body#case .p-hawaiianContact__text br {
    display: none !important;
  }
}

/* Hawaiian Jewelry Page - Mobile Adjustments */
@media screen and (max-width: 768px) {
  body#hawaiianjewelry .p-hawaiianKv__text {
    font-size: 12px !important;
  }

  body#hawaiianjewelry .p-hawaiianKv__text p {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body#hawaiianjewelry .p-hawaiianKv__text p:first-child::before {
    content: "WAIOLI（ワイオリ）のジュエリーコレクションは、\A人生を彩る結婚指輪・婚約指輪から、\A日常を華やかにするバングルや\Aファッションリングまで幅広く展開しています。";
    font-size: 12px !important;
    line-height: 1.8 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  body#hawaiianjewelry .p-hawaiianKv__text p:last-child::before {
    content: "伝統的なハワイアン彫りと、職人によるディープカット技法を\A融合させ、確かな輝きと耐久性を実現。\A一つひとつに込められた意味や物語を大切にしながら、\Aお客様だけの特別なリングをお届けします。";
    font-size: 12px !important;
    line-height: 1.8 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  /* Reduce section background image height */
  body#hawaiianjewelry .p-hawaiianSection {
    min-height: 300px !important;
  }

  body#hawaiianjewelry .p-hawaiianSection__inner {
    min-height: 300px !important;
  }

  /* Section text font size */
  body#hawaiianjewelry .p-hawaiianSection__text {
    font-size: 12px !important;
  }

  /* Right align marriage and fashion ring sections */
  body#hawaiianjewelry .p-hawaiianSection--marriage .p-hawaiianSection__content,
  body#hawaiianjewelry .p-hawaiianSection--fashion .p-hawaiianSection__content {
    align-items: flex-end !important;
    text-align: right !important;
    padding: 50px 0 50px 28px !important;
  }

  /* Add right margin to buttons in marriage and fashion ring sections */
  body#hawaiianjewelry .p-hawaiianSection--marriage .p-hawaiianSection__btn,
  body#hawaiianjewelry .p-hawaiianSection--fashion .p-hawaiianSection__btn {
    margin-right: 28px !important;
  }

  /* Shift background image to the right for marriage and fashion ring sections */
  body#hawaiianjewelry .p-hawaiianSection--marriage,
  body#hawaiianjewelry .p-hawaiianSection--fashion {
    background-position: 100% center !important;
  }

  /* Double section font size adjustments */
  body#hawaiianjewelry .p-hawaiianDouble__subtitle,
  body#hawaiianjewelry .p-hawaiianDouble__text {
    font-size: 12px !important;
  }

  body#hawaiianjewelry .p-hawaiianDouble__btn {
    font-size: 10px !important;
  }

  /* Increase width of double section content */
  body#hawaiianjewelry .p-hawaiianDouble__content {
    width: 95% !important;
  }

  /* Hide original text and replace with custom line breaks */
  body#hawaiianjewelry .p-hawaiianDouble__text {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body#hawaiianjewelry .p-hawaiianDouble__item:first-child .p-hawaiianDouble__text::before {
    content: "フルオーダーやリフォームで、\A思い出を新しい形へ。\A職人が直接対応します。";
    font-size: 12px !important;
    line-height: 1.6 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  body#hawaiianjewelry .p-hawaiianDouble__item:last-child .p-hawaiianDouble__text::before {
    content: "実際の制作事例やお客様の\Aコメントを写真とともに紹介。\A選ぶ際の参考に。";
    font-size: 12px !important;
    line-height: 1.6 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  /* Replace contact text */
  body#hawaiianjewelry .p-hawaiianContact__text {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body#hawaiianjewelry .p-hawaiianContact__text::before {
    content: "ご不明な点・ご相談は気軽にお問い合わせください。ハワイアンジュエリー・オーダーリフォームについて、職人が丁寧に対応いたします。";
    font-size: 3.733vw !important;
    line-height: 2 !important;
    display: block !important;
  }

  /* Replace contact note text */
  body#hawaiianjewelry .p-hawaiianContact__note {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body#hawaiianjewelry .p-hawaiianContact__note::before {
    content: "お問い合わせは、3日以内にご返信させていただきます。もしご連絡がない場合は迷惑メールをご確認の上で再度お問い合わせくださいますよう。";
    font-size: 3.733vw !important;
    line-height: 1.9 !important;
    display: block !important;
  }
}

/* Bridal Collection Page - Mobile Adjustments */
@media screen and (max-width: 768px) {
  /* KV Section text */
  body#collection .p-hawaiianKv__text {
    font-size: 12px !important;
  }

  /* Ring Section text */
  body#collection .p-hawaiianSection__text {
    font-size: 12px !important;
  }

  /* Hide line breaks in ring section text */
  body#collection .p-hawaiianSection__text br {
    display: none !important;
  }

  /* Double Section */
  body#collection .p-hawaiianDouble__subtitle,
  body#collection .p-hawaiianDouble__text {
    font-size: 12px !important;
  }

  body#collection .p-hawaiianDouble__btn {
    font-size: 10px !important;
  }

  /* Replace KV text with custom line breaks */
  body#collection .p-hawaiianKv__text p {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body#collection .p-hawaiianKv__text p:first-child::before {
    content: "WAIOLI（ワイオリ）のブライダルジュエリーコレクションは、\A永遠の愛を形にする結婚指輪から、一生の記念となる\A婚約指輪まで、お二人の絆を象徴する\A特別なリングをご用意しています。";
    font-size: 12px !important;
    line-height: 1.8 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  body#collection .p-hawaiianKv__text p:last-child::before {
    content: "熟練の職人が一つひとつ丁寧に手彫りするハワイアン彫りと、\A独自のディープカット技法により、他では見られない\A美しい輝きと深い彫りを実現。一生\A大切にしたくなるリングをお届けします。";
    font-size: 12px !important;
    line-height: 1.8 !important;
    white-space: pre-line !important;
    display: block !important;
  }

  /* Remove right padding from marriage ring title, subtitle and text */
  body#collection .p-hawaiianSection--marriage .p-hawaiianSection__title,
  body#collection .p-hawaiianSection--marriage .p-hawaiianSection__subtitle,
  body#collection .p-hawaiianSection--marriage .p-hawaiianSection__text {
    padding-right: 0 !important;
  }

  /* Right align marriage ring section */
  body#collection .p-hawaiianSection--marriage .p-hawaiianSection__content {
    align-items: flex-end !important;
    text-align: right !important;
  }

  /* Reduce height of ring sections */
  body#collection .p-hawaiianSection--marriage,
  body#collection .p-hawaiianSection--engagement,
  body#collection .p-hawaiianSection--fashionring,
  body#collection .p-hawaiianSection--bangle {
    min-height: 300px !important;
  }

  body#collection .p-hawaiianSection--marriage .p-hawaiianSection__inner,
  body#collection .p-hawaiianSection--engagement .p-hawaiianSection__inner,
  body#collection .p-hawaiianSection--fashionring .p-hawaiianSection__inner,
  body#collection .p-hawaiianSection--bangle .p-hawaiianSection__inner {
    min-height: 300px !important;
  }

  /* Increase width of double section content */
  body#collection .p-hawaiianDouble__content {
    width: 95% !important;
  }

  /* Hide line breaks in contact text */
  body#collection .p-hawaiianContact__text br {
    display: none !important;
  }

  /* Remove right padding from all h2 and p tags in section content */
  body#collection .p-hawaiianSection__content h2,
  body#collection .p-hawaiianSection__content p {
    padding-right: 0 !important;
  }
}

/* Reform Page - PC Only */
@media screen and (min-width: 769px) {
  /* Hide fullwidth section on PC */
  .reform-about__fullwidth {
    display: none !important;
  }

  /* Show PC text */
  .reform-about__text-pc {
    display: inline;
  }
}

/* Reform Page - Mobile Only */
@media screen and (max-width: 768px) {
  /* Hide PC text on mobile */
  .reform-about__text-pc {
    display: none !important;
  }

  /* Show fullwidth section on mobile */
  .reform-about__fullwidth {
    display: block !important;
  }
}

/* Engraver Page - KV Section - Same Design as Store Page */
/* PC Version */

/* Breadcrumb moved to template */

body#engraver .breadcrumbs {
  margin-bottom: 0 !important;
  display: none !important;
}

body#engraver main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body#engraver .p-kv {
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-y: hidden !important;
}

body#engraver .p-kv__inner {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 40px 100px !important;
  position: relative !important;
  min-height: 525px !important;
  align-items: center !important;
}

body#engraver .p-kv__content {
  position: relative !important;
  z-index: 3 !important;
  width: 45% !important;
  flex-shrink: 0 !important;
  padding: 0 60px 0 0 !important;
  margin: 0 !important;
}

body#engraver .p-kv__title {
  margin-bottom: 30px !important;
}

body#engraver .p-kv__title p {
  font-size: 15rem !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #8b6f47 !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.05em !important;
  font-family: 'Pinyon Script', serif !important;
  line-height: 1 !important;
}

body#engraver .p-kv__title h1 {
  font-size: 3.6rem !important;
  font-weight: 500 !important;
  color: #333 !important;
  margin-bottom: 0 !important;
  letter-spacing: 0.1em !important;
}

body#engraver .p-kv__text {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}

body#engraver .p-kv__text p {
  font-size: 1.3rem !important;
  line-height: 1.7 !important;
  color: #333 !important;
  letter-spacing: 0.05em !important;
}

body#engraver .p-kv__image {
  position: relative !important;
  width: 85% !important;
  flex-shrink: 0 !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-height: 600px !important;
  overflow: hidden !important;
}

body#engraver .p-kv__image::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 250px !important;
  height: 100% !important;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

body#engraver .p-kv__image img {
  width: 100% !important;
  height: 600px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* Mobile Version */
@media screen and (max-width: 768px) {
  body#engraver .p-kv {
    overflow: visible !important;
  }

  body#engraver .p-kv__inner {
    padding: 20px 20px 5px !important;
    min-height: auto !important;
    position: relative !important;
    overflow: visible !important;
    display: block !important;
  }

  body#engraver .p-kv__image {
    position: absolute !important;
    top: 20px !important;
    right: 0 !important;
    width: 50% !important;
    height: 190px !important;
    z-index: 1 !important;
    display: block !important;
  }

  body#engraver .p-kv__image::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100px !important;
    height: 100% !important;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: 4px 0 0 4px !important;
  }

  body#engraver .p-kv__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body#engraver .p-kv__content {
    position: relative !important;
    max-width: 100% !important;
    width: 58% !important;
    padding: 0 !important;
    z-index: 5 !important;
  }

  body#engraver .p-kv__title {
    margin-bottom: 10px !important;
    position: relative !important;
    padding-top: 0 !important;
    width: 100% !important;
  }

  body#engraver .p-kv__title p {
    font-size: 5rem !important;
    margin-bottom: 5px !important;
  }

  body#engraver .p-kv__title h1 {
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
  }

  body#engraver .p-kv__text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body#engraver .p-kv__text p {
    font-size: 8px !important;
    line-height: 1.5 !important;
    padding: 0 !important;
  }

  body#engraver .p-kv__text p br {
    display: none !important;
  }
}

/* Engraver Page - Reduce main section image sizes (PC) */
body#engraver .engraver-intro {
  padding-top: 20px !important;
  padding-bottom: 40px !important;
  padding-left: 0 !important;
}

body#engraver .engraver-intro__headline {
  margin-bottom: 40px !important;
  padding-left: 100px !important;
}

body#engraver .engraver-intro__name {
  color: #8b6f47 !important;
  margin-bottom: 20px !important;
}

body#engraver .engraver-intro__content {
  display: flex !important;
  flex-direction: row !important;
}

body#engraver .engraver-intro__image {
  max-width: 50% !important;
}

body#engraver .engraver-intro__image img {
  width: 100% !important;
  max-width: 100% !important;
}

body#engraver .engraver-intro__image::after {
  width: 100% !important;
  background: linear-gradient(to left, white 0%, transparent 40%) !important;
}

body#engraver .engraver-section__image {
  max-width: 500px !important;
}

body#engraver .engraver-section__image img {
  width: 150% !important;
  max-width: 150% !important;
  transform: translateX(-25%) !important;
}

body#engraver #section2 .engraver-section__image {
  max-width: 700px !important;
  position: relative !important;
  top: -80px !important;
}

body#engraver #section2 .engraver-section__image img {
  width: 170% !important;
  transform: translateX(-35%) !important;
}

body#engraver #section3 .engraver-section__image img {
  width: 150% !important;
  transform: translateX(-32%) !important;
}

/* Remove border from engraver sections */
body#engraver .engraver-section {
  border-top: none !important;
}

/* Section 1 - Swap image and text position (PC) */
body#engraver main,
body#engraver body {
  overflow-x: hidden !important;
}

body#engraver #section1,
body#engraver #section2,
body#engraver #section3 {
  padding: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  position: relative !important;
}

body#engraver #section1 .engraver-section__content {
  display: flex !important;
  flex-direction: row !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  right: -200px !important;
  width: calc(100% + 200px) !important;
  max-width: none !important;
}

body#engraver #section1 .engraver-section__text {
  order: 1 !important;
  position: relative !important;
  left: -100px !important;
  padding-right: 0 !important;
}

body#engraver #section1 .engraver-section__image {
  order: 2 !important;
  margin-right: 0 !important;
  margin-left: 40px !important;
  padding-right: 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  top: -50px !important;
}

body#engraver #section1 .engraver-section__image img {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

body#engraver #section1 .engraver-section__title-wrap {
  padding-left: 100px !important;
}

/* Section 2 - Right align title and swap image/text position */
body#engraver #section2 .engraver-section__title-wrap {
  text-align: right !important;
  padding-right: 100px !important;
}

body#engraver #section2 .engraver-section__content {
  display: flex !important;
  flex-direction: row !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

body#engraver #section2 .engraver-section__image {
  order: 1 !important;
  margin-left: -100px !important;
  margin-right: 40px !important;
  padding-left: 0 !important;
  flex-shrink: 0 !important;
}

body#engraver #section2 .engraver-section__text {
  order: 2 !important;
}

body#engraver #section2 .engraver-section__text::after {
  content: "\A一度思いついたらとことん突き詰める性格の僕は、2013年に、一時的に工房を閉めてハワイへ行きました。前から懇意にしていた日本人の先生と、彼の師匠でありディープカットの考案者であるハワイアンジュエリーの第一人者から、ハワイアンジュエリーの真髄を学ぶ機会に恵まれたんです。そこで、こんな逸話を知りました。\A\Aハワイアンジュエリーの始まりは、ハワイ王国最後の女王である、リリウオカラニ女王が身に着けていたブレスレットにあると言われています。そのブレスレットには、国や人々を正しい方向に導くコンパスや、天に守護されることなどを表す8つのモチーフが彫られ、それらを繋ぐように「HoomanaoMau」と書かれていました。「HoomanaoMau」とは、「いつも覚えている」という意味。女王は、国を治め国民を正しく導いていく自分の使命を忘れないようにと願いを込めて、このブレスレットをいつも身に付けていました。モチーフ一つひとつに意味があるだけでなく、それらを組み合わせて込めた想いと、いつも共にあることができる。ハワイアンジュエリーには、そんな素晴らしさがあるのです。" !important;
  white-space: pre-line !important;
  display: block !important;
  margin-top: 7.5px !important;
  font-size: 1.4rem !important;
  line-height: 1.8 !important;
  color: #333 !important;
  letter-spacing: 0.05em !important;
}

/* Section 2 Copy - Hide this section */
body#engraver #section2-copy {
  display: none !important;
}

/* Hide background text (Craftsmanship, Hawaiian Jewelry, Passion) */
body#engraver .engraver-section__bg-text,
body#engraver .engraver-intro__bg-text {
  display: none !important;
}

/* Section 3 Layout - Text left, Image right */
body#engraver #section3 {
  padding-right: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  position: relative !important;
}

body#engraver #section3 .engraver-section__content {
  display: flex !important;
  flex-direction: row !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  right: -200px !important;
  width: calc(100% + 200px) !important;
  max-width: none !important;
}

body#engraver #section3 .engraver-section__text {
  order: 1 !important;
  padding-right: 40px !important;
  position: relative !important;
  left: -100px !important;
}

body#engraver #section3 .engraver-section__image {
  order: 2 !important;
  flex-shrink: 0 !important;
  margin-right: 0 !important;
  margin-left: -20px !important;
  padding-right: 0 !important;
  max-width: 550px !important;
  width: 550px !important;
  position: relative !important;
  top: -50px !important;
}

body#engraver #section3 .engraver-section__image img {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  height: auto !important;
}

/* Section 3 Title - Left padding */
body#engraver #section3 .engraver-section__title-wrap {
  padding-left: 100px !important;
}

/* Section titles - Font weight */
body#engraver #section1 .engraver-section__title,
body#engraver #section2 .engraver-section__title,
body#engraver #section3 .engraver-section__title {
  font-weight: 700 !important;
}

/* Mobile version - Sections 1-3 */
@media screen and (max-width: 768px) {
  /* Reset section positioning */
  body#engraver .engraver-section#section1,
  body#engraver .engraver-section#section2,
  body#engraver .engraver-section#section3 {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  /* Title wrap - 95% width */
  body#engraver .engraver-section#section1 .engraver-section__title-wrap,
  body#engraver .engraver-section#section2 .engraver-section__title-wrap,
  body#engraver .engraver-section#section3 .engraver-section__title-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    width: 95% !important;
    margin: 0 !important;
    order: inherit !important;
    position: static !important;
  }

  /* Vertical layout for content - 95% width */
  body#engraver .engraver-section#section1 .engraver-section__content,
  body#engraver .engraver-section#section2 .engraver-section__content,
  body#engraver .engraver-section#section3 .engraver-section__content {
    display: block !important;
    position: static !important;
    right: auto !important;
    left: auto !important;
    width: 95% !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  /* Reset text positioning */
  body#engraver .engraver-section#section1 .engraver-section__content .engraver-section__text,
  body#engraver .engraver-section#section2 .engraver-section__content .engraver-section__text,
  body#engraver .engraver-section#section3 .engraver-section__content .engraver-section__text {
    position: static !important;
    left: auto !important;
    right: auto !important;
    padding: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    order: inherit !important;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    z-index: auto !important;
    display: block !important;
  }

  /* Reset image positioning - Override absolute positioning */
  body#engraver .engraver-section#section1 .engraver-section__content .engraver-section__image,
  body#engraver .engraver-section#section2 .engraver-section__content .engraver-section__image,
  body#engraver .engraver-section#section3 .engraver-section__content .engraver-section__image {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    order: inherit !important;
    display: block !important;
  }

  /* Reset image styles */
  body#engraver .engraver-section#section1 .engraver-section__content .engraver-section__image img,
  body#engraver .engraver-section#section2 .engraver-section__content .engraver-section__image img,
  body#engraver .engraver-section#section3 .engraver-section__content .engraver-section__image img {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
  }

  /* Remove gradient overlays on mobile */
  body#engraver .engraver-section#section1 .engraver-section__content .engraver-section__image::before,
  body#engraver .engraver-section#section2 .engraver-section__content .engraver-section__image::before,
  body#engraver .engraver-section#section3 .engraver-section__content .engraver-section__image::before {
    display: none !important;
  }

  /* Profile section - Remove bottom padding */
  body#engraver .engraver-intro {
    padding-bottom: 0 !important;
  }

  /* Replace p-kv__text content on mobile */
  body#engraver .p-kv__text p {
    visibility: hidden !important;
    position: relative !important;
    height: auto !important;
  }

  body#engraver .p-kv__text p::after {
    content: "WAIOLIのジュエリーは熟練職人の手仕事。伝統模様と繊細な感性、立体的なディープカットで唯一無二の輝きを実現。デザイン相談から仕上げまで職人が対応し、想いを形にします。ここでは職人とものづくりのこだわりをご紹介。" !important;
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    display: block !important;
    color: #333 !important;
  }

  body#engraver .engraver-intro__bio {
    font-size: 12px !important;
  }

  body#engraver .engraver-section__text p,
  body#engraver .engraver-intro__bio,
  body#engraver .engraver-section p {
    font-size: 12px !important;
  }

  /* Match ::after font size with paragraph font size */
  body#engraver #section2 .engraver-section__text::after {
    font-size: 12px !important;
  }

  /* Remove bottom margin from last p in section2 text */
  body#engraver #section2 .engraver-section__text p:last-child {
    margin-bottom: 0 !important;
  }

  /* Profile section headline - position above image on the right */
  body#engraver .engraver-intro {
    position: relative !important;
    padding-right: 0 !important;
  }

  body#engraver .engraver-intro__headline {
    position: absolute !important;
    top: 60px !important;
    right: 2.5% !important;
    width: 50% !important;
    z-index: 10 !important;
    padding-left: 0 !important;
    text-align: left !important;
    margin-bottom: 0 !important;
  }

  body#engraver .engraver-intro__content {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 0 !important;
  }

  body#engraver .engraver-intro__image {
    order: 1 !important;
    max-width: 50% !important;
    width: 50% !important;
    margin: 0 0 10px 0 !important;
    padding-left: 0 !important;
  }

  body#engraver .engraver-intro__text {
    order: 2 !important;
    width: 95% !important;
    max-width: 95% !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body#engraver .engraver-intro__name {
    position: absolute !important;
    top: 110px !important;
    right: 2.5% !important;
    width: 50% !important;
    z-index: 10 !important;
    margin-bottom: 0 !important;
  }

  body#engraver .engraver-intro__bio {
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
  }

  /* Section titles - Increase size by 3px and show line breaks */
  body#engraver .engraver-section__title {
    font-size: calc(3.2vw + 3px) !important;
  }

  body#engraver .engraver-section__title br {
    display: block !important;
  }

  /* Replace section 1 title with line break on mobile */
  body#engraver #section1 .engraver-section__title {
    font-size: 0 !important;
  }

  body#engraver #section1 .engraver-section__title::before {
    content: "彫りの良し悪しは、\A曲線を見ればわかる" !important;
    font-size: calc(3.2vw + 3px) !important;
    white-space: pre-line !important;
    display: block !important;
    font-weight: 700 !important;
  }

  /* Replace section 2 title with line break on mobile */
  body#engraver #section2 .engraver-section__title {
    font-size: 0 !important;
  }

  body#engraver #section2 .engraver-section__title::before {
    content: "本場の技術者から学んだ、\Aハワイアンジュエリーの真髄" !important;
    font-size: calc(3.2vw + 3px) !important;
    white-space: pre-line !important;
    display: block !important;
    font-weight: 700 !important;
  }

  /* Section title wrap - position with image on right */
  body#engraver .engraver-section#section1 .engraver-section__title-wrap,
  body#engraver .engraver-section#section2 .engraver-section__title-wrap,
  body#engraver .engraver-section#section3 .engraver-section__title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: 95% !important;
    padding-left: 2.5% !important;
    padding-right: 2.5% !important;
    padding-top: 0 !important;
    min-height: 100px !important;
  }

  body#engraver .engraver-section#section1 .engraver-section__title,
  body#engraver .engraver-section#section2 .engraver-section__title,
  body#engraver .engraver-section#section3 .engraver-section__title {
    flex: 1 !important;
    margin: 0 !important;
    padding-right: 5px !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* Move image to title area on mobile */
  body#engraver .engraver-section#section1 .engraver-section__title-wrap::after,
  body#engraver .engraver-section#section2 .engraver-section__title-wrap::after,
  body#engraver .engraver-section#section3 .engraver-section__title-wrap::after {
    content: none !important;
    display: none !important;
  }

  /* Hide original image position */
  body#engraver .engraver-section#section1 .engraver-section__content .engraver-section__image,
  body#engraver .engraver-section#section2 .engraver-section__content .engraver-section__image,
  body#engraver .engraver-section#section3 .engraver-section__content .engraver-section__image {
    display: none !important;
  }

  /* Show image in title wrap area */
  body#engraver .engraver-section#section1 .engraver-section__title-wrap,
  body#engraver .engraver-section#section2 .engraver-section__title-wrap,
  body#engraver .engraver-section#section3 .engraver-section__title-wrap {
    background-repeat: no-repeat !important;
    background-size: 40% auto !important;
    background-position: right center !important;
    padding-right: 40% !important;
    gap: 0 !important;
    position: relative !important;
  }

  /* Add gradient overlay on left side of images */
  body#engraver .engraver-section#section1 .engraver-section__title-wrap::before,
  body#engraver .engraver-section#section2 .engraver-section__title-wrap::before,
  body#engraver .engraver-section#section3 .engraver-section__title-wrap::before {
    content: '' !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 40% !important;
    height: 100% !important;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 30%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  body#engraver .engraver-section#section1 .engraver-section__title-wrap {
    background-image: url('https://total-boost.com/wp-test/wp-content/uploads/bnr_m_04.jpg') !important;
  }

  body#engraver .engraver-section#section2 .engraver-section__title-wrap {
    background-image: url('https://total-boost.com/wp-test/wp-content/uploads/bnr_m_01-1-e1761324735468.jpg') !important;
  }

  body#engraver .engraver-section#section3 .engraver-section__title-wrap {
    background-image: url('https://total-boost.com/wp-test/wp-content/uploads/kv_engraver_pc-1-e1761147489386.jpg') !important;
  }
}

/* ============================================
   Instagram Embed Styles
   ============================================ */

.waioli-instagram-embed {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px 80px;
}

.waioli-instagram-embed__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: start;
}

.waioli-instagram-embed__item {
  width: 100%;
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;
  background-color: #f5f5f5;
}

.waioli-instagram-embed__link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.waioli-instagram-embed__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.waioli-instagram-embed__link:hover .waioli-instagram-embed__image {
  transform: scale(1.05);
}

/* Instagramへボタン */
.waioli-instagram-embed__button-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.waioli-instagram-embed__button {
  display: inline-block;
  padding: 15px 50px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  border: 2px solid #000;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.waioli-instagram-embed__button:hover {
  background-color: #f5f5f5;
  transform: translateY(-2px);
}

/* タブレット */
@media (max-width: 1024px) {
  .waioli-instagram-embed {
    padding: 40px 40px;
  }

  .waioli-instagram-embed__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* モバイル */
@media (max-width: 768px) {
  .waioli-instagram-embed {
    padding: 40px 20px;
    max-width: 100%;
  }

  .waioli-instagram-embed__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .waioli-instagram-embed__item {
    border-radius: 4px;
  }

  .waioli-instagram-embed__button {
    padding: 12px 40px;
    font-size: 16px;
  }
}

/* ============================================
   Reform Banner Section
   ============================================ */

.p-topReformBanner {
  width: 100%;
  max-width: 100%;
  margin: 80px 0;
  padding: 0;
  position: relative;
}

.p-topReformBanner__inner {
  width: 100%;
  display: block;
  position: relative;
}

.p-topReformBanner__imageLink {
  display: block;
  width: 100%;
}

.p-topReformBanner__image {
  width: 100%;
  height: auto;
  display: block;
}

.p-topReformBanner__content {
  position: absolute;
  top: 50%;
  left: clamp(20px, 6vw, 80px);
  transform: translateY(-50%);
  color: #fff;
  z-index: 10;
  max-width: clamp(350px, 50vw, 600px);
  display: flex;
  flex-direction: column;
}

.p-topReformBanner__title {
  font-size: clamp(16px, 2.5vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: clamp(15px, 2vw, 30px);
  letter-spacing: 0.05em;
}

.p-topReformBanner__title-line1 {
  display: block;
}

.p-topReformBanner__title-line2 {
  display: block;
  padding-left: clamp(20px, 3vw, 40px);
}

.p-topReformBanner__text {
  font-size: clamp(1.2rem, 1.5vw, 2rem);
  line-height: 1.5;
  margin-bottom: clamp(25px, 3vw, 40px);
  letter-spacing: 0.03em;
  padding-left: clamp(40px, 6vw, 80px);
}

.p-topReformBanner__link {
  display: inline-block;
  padding: 10px 0 16px 0;
  background-color: transparent;
  color: #fff;
  text-decoration: none;
  font-size: clamp(1.4rem, 1.8vw, 2.4rem);
  font-weight: 400;
  border: none;
  border-radius: 0;
  transition: all 0.3s ease;
  letter-spacing: 0.1em;
  position: relative;
  background-image:
    linear-gradient(to right, #fff 0%, #fff 100%),
    linear-gradient(to right, #fff 0%, #fff 100%);
  background-size: 100% 3px, 100% 3px;
  background-position: 0 calc(100% - 7px), 0 100%;
  background-repeat: no-repeat;
}

.p-topReformBanner__link::after {
  content: none;
}

.p-topReformBanner__link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* PC版（1301px以上） */
@media (min-width: 1301px) {
  .p-topReformBanner__inner {
    position: relative;
  }

  .p-topReformBanner__content {
    position: absolute;
    top: 50%;
    left: clamp(20px, 6vw, 80px);
    transform: translateY(-50%);
    max-width: 600px;
  }

  .p-topReformBanner__link {
    position: absolute;
    top: 50%;
    left: clamp(20px, 6vw, 80px);
    transform: translateY(calc(-50% + 220px));
    margin-left: auto;
    margin-right: clamp(20px, 3vw, 40px);
    right: auto;
    bottom: auto;
    display: block;
    width: fit-content;
    margin-left: calc(600px - 150px);
  }
}

/* 1300px以下 - 本文非表示、タイトル大きく */
@media (max-width: 1300px) and (min-width: 1025px) {
  .p-topReformBanner__inner {
    position: relative;
  }

  .p-topReformBanner__text {
    display: none;
  }

  .p-topReformBanner__content {
    max-width: clamp(500px, 70vw, 800px);
    position: absolute;
    top: 30%;
    left: clamp(20px, 6vw, 80px);
    transform: translateY(-50%);
  }

  .p-topReformBanner__title {
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: 1.8;
  }

  .p-topReformBanner__link {
    position: absolute;
    bottom: 10px;
    right: 20px;
    margin-top: 0;
    font-size: clamp(2rem, 3vw, 3rem);
    background-image: none;
    padding-bottom: 10px;
  }
}

/* タブレット */
@media (max-width: 1024px) and (min-width: 769px) {
  .p-topReformBanner__inner {
    position: relative;
  }

  .p-topReformBanner__content {
    position: absolute;
    top: 40px;
    left: 20px;
    transform: none;
    max-width: calc(100% - 40px);
  }

  .p-topReformBanner__title-line2 {
    padding-left: 0;
  }

  .p-topReformBanner__text {
    display: none;
  }

  .p-topReformBanner__link {
    position: absolute;
    bottom: 10px;
    right: 20px;
    margin-right: 0;
    margin-bottom: 0;
    margin-top: 0;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
    background-image: none;
    padding-bottom: 10px;
  }
}

/* タブレット */
@media (max-width: 1024px) and (min-width: 769px) {
  .p-topReformBanner {
    margin: 60px 0;
  }

  .p-topReformBanner__title {
    font-size: clamp(32px, 4.5vw, 56px);
  }

  .p-topReformBanner__link {
    font-size: 2rem;
  }
}

/* モバイル */
@media (max-width: 768px) {
  .p-topReformBanner {
    margin: 40px 0;
  }

  .p-topReformBanner__inner {
    position: relative;
  }

  .p-topReformBanner__content {
    position: absolute;
    top: 20px;
    left: 20px;
    transform: none;
    max-width: calc(100% - 40px);
  }

  .p-topReformBanner__title {
    font-size: clamp(16px, 4.5vw, 24px);
    line-height: 1.8;
  }

  .p-topReformBanner__title-line2 {
    padding-left: 0;
  }

  .p-topReformBanner__text {
    display: none;
  }

  .p-topReformBanner__link {
    position: absolute;
    font-size: 1.6rem;
    bottom: 5px;
    right: 10px;
    padding-bottom: 0;
    background-image: none;
    margin: 0;
  }
}

/* 制作事例・お客様の声 */
.voice-cace-area {
  width: 100%;
  max-width: 1400px;
  margin: 80px auto;
  padding: 0;
}

.voice-cace-area .p-topDesign__title {
  text-align: left;
  margin-bottom: 30px;
}

.voice-cace-list {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 60px;
  padding: 0 80px;
}

.voice-cace-list li {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.voice-cace-list li a {
  display: block;
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 0;
}

.voice-cace-list li a img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.voice-cace-list li a:hover img {
  transform: scale(1.05);
}

.voice-cace-list li p {
  font-size: 1.4rem;
  line-height: 2;
  color: #333;
  text-align: left;
  white-space: normal;
}

.top-case-btn {
  text-align: center;
}

.top-case-btn a {
  display: inline-block;
  padding: 15px 25px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  border: 2px solid #000;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.top-case-btn a:hover {
  background-color: #f5f5f5;
  transform: translateY(-2px);
}

/* タブレット */
@media (min-width: 769px) and (max-width: 1024px) {
  .voice-cace-area {
    padding: 0 40px;
    margin: 60px auto;
  }

  .voice-cace-list {
    flex-direction: column;
    gap: 50px;
    max-width: 600px;
    margin: 0 auto 60px;
  }

  .voice-cace-list li {
    width: 100%;
  }

  .voice-cace-list li a img {
    width: 100%;
    max-width: 600px;
  }

  .voice-cace-list li p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

/* モバイル */
@media (max-width: 768px) {
  .voice-cace-area {
    padding: 0 20px;
    margin: 40px auto;
  }

  .p-topPickup__name .ja {
    font-size: 2.2rem;
  }

  .p-topPickup__name .min {
    font-size: 1.2rem;
  }

  .voice-cace-list {
    flex-direction: column;
    gap: 50px;
    max-width: 600px;
    margin: 0 auto 60px;
  }

  .voice-cace-list li {
    width: 100%;
  }

  .voice-cace-list li a img {
    width: 100%;
    max-width: 600px;
  }

  .voice-cace-list li p {
    font-size: 1.6rem;
    line-height: 2;
  }

  .top-case-btn a {
    padding: 12px 20px;
    font-size: 16px;
  }
}
