@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* Googleフォントの読み込み */
body {
  font-family: "Zen Kaku Gothic New", "Montserrat", "Poppins", "Red Hat Display",
    "Noto Sans JP", "Zen Kurenaido", "Zen Old Mincho", sans-serif;
}

/* .visually-hiddenの定義 */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ========== 共通パーツ ========== */

/* セクションタイトル */
h2.section_title {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.08em !important;
      text-align: start !important;
  margin: 0 0 0.3rem;
}
p.section_sub_title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5rem;
}
p.section_sub_title::before {
  content: "";
  display: inline-block;
  width: 48px;
  height: 1px;
  background-color: #333;
  opacity: 1;
  margin-left: 0.4rem;
}

@media (max-width: 959px) {
  h2.section_title {
    font-size: 4.7rem;
    text-align: center !important;
  }
  p.section_sub_title {
    margin-bottom: 4rem;
    justify-content: center;
  }
}

@media (max-width: 599px) {
  h2.section_title {
    font-size: 42px;
  }
  p.section_sub_title {
    font-size: 14px;
  }
p.section_sub_title::before {
    width: 40px;
}
}

/* === 白文字ボタン === */
.cta-link_white {
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: #fff;
  position: relative;
  padding-right: 5rem;
}
/* 丸い円 */
.cta-link_white::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 65px;
  height: 65px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: #ffffff;
  transition: all 0.3s ease;
  z-index: 0;
}
/* 矢印 */
.cta-link_white::before {
  content: "";
  position: absolute;
  right: 29px;
  top: 50%;
  width: 11px;
  height: 11px;
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s ease;
  z-index: 1;
}
/* ホバー時 */
.cta-link_white:hover {
  color: rgba(255, 255, 255, 0.7);
}
.cta-link_white:hover::after {
  background-color: #dfd7cc;
  border-color: #dfd7cc;
}
.cta-link_white:hover::before {
  border-color: #333;
}
@media (max-width: 599px) {
  .cta-link_white {
    padding-right: 4rem;
  }
  .cta-link_white::after {
    width: 45px;
    height: 45px;
  }
  .cta-link_white::before {
    right: 20px;
    width: 9px;
    height: 9px;
  }
}

/* === 黒文字ボタン === */
.cta-link_black {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0em;
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease;
}
/* 丸い円 */
.cta-circle {
  position: relative;
  width: 50px;
  height: 50px;
  border: 1px solid #333;
  border-radius: 50%;
  background-color: transparent;
  transition: all 0.3s ease;
}
/* 矢印 */
.cta-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 45%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: all 0.3s ease;
}
/* ホバー時 */
.cta-link_black:hover {
  color: rgba(51, 51, 51, 0.5);
}
.cta-link_black:hover .cta-circle {
  background-color: #333;
}
.cta-link_black:hover .cta-circle::before {
  border-color: #fff;
}
/* 出し分け */
.show-desktop {
  display: inline-flex;
}
.show-both {
  display: inline-flex;
}
.show-mobile {
  display: none;
}
@media (max-width: 959px) {
  .show-desktop {
    display: none;
  }
  .show-mobile {
    display: inline-flex;
  }
  .cta-center {
    text-align: center;
  }
}
@media (max-width: 599px) {
  .cta-link_black {
    font-size: 16px;
  }
}

/* ========== ヘッダー ========== */
.l-header__inner.l-container {
  max-width: 100%;
  padding-left: 2em;
  padding-right: 2em;
}
.-series .l-header__logo {
  padding: 12px 0 8px;
}
.c-gnav > .menu-item > a .ttl {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.c-gnav > .menu-item > a {
  padding: 0 clamp(0.5em, 1.23vw, 2.13em);
}
.c-gnav a::after {
  top: 70%;
}

/* ヘッダーボタン */
.swell-block-button.header_btn a {
  width: 222px;
  height: 48px;
  padding: 13px 18px 13px 35px;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  gap: 1.8em;
  border-radius: 32px;
  border: 2px solid #333333;
  text-decoration: none;
  transition: all 0.3s ease;
}
.swell-block-button.header_btn a:hover {
  background-color: #fff;
  color: #333333;
}
@media screen and (max-width: 959px) {
  .-series .l-header__logo {
    padding: 3px 0;
  }
}

/* ========== FVセクション ========== */
div#main_visual {
  padding: 0 30px;
}
/* ロゴの調整 */
.wp-block-image.fv_logo {
  margin-bottom: 3.5rem;
}
.wp-block-image.fv_logo img {
  width: clamp(120px, 13vw, 260px);
  height: auto;
}

p.fv_left_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}

.swell-block-column.fv_right_column {
  display: flex;
  justify-content: flex-end;
}
h1.fv_right_text {
    display: inline-block;
  white-space: nowrap;
  width: auto;
  font-family: "Zen Old Mincho", sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 1.2vw + 0.6rem, 1.5rem);
  line-height: 1.63;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin-bottom: 3rem;
}

@media (max-width: 959px) {
  .wp-block-image.fv_logo {
    margin-bottom: 2.5rem;
  }
  p.fv_right_text {
      font-family: "Zen Old Mincho", sans-serif;
  font-weight: 700;
    font-size: 1.35rem;
    line-height: 1.6;
      letter-spacing: 0.2em;
          writing-mode: horizontal-tb;
    text-orientation: initial;
    margin-bottom: 2.5rem;
  }
  p.fv_left_text {
    font-size: 1.18rem;
    margin-bottom: 3rem;
  }
}

@media (max-width: 599px) {
  div#main_visual {
    padding: 0;
  }
  p.fv_right_text {
    font-size: 21px;
  }
  p.fv_left_text {
    font-size: 18px;
  }
}

/* ========== newsセクション ========== */
.swell-block-fullWide.news_section {
  padding-top: 2.3rem !important;
  padding-bottom: 5.2rem !important;
}
.news_section h2.section_title {
  font-size: 3.75rem;
}
.news_section p.section_sub_title {
  font-size: 1rem;
}

.news_section .-type-simple .p-postList__link {
  padding: 1.5em 0.25em 1.5em 0.25em;
}
.news_section .p-postList__meta {
  align-items: baseline;
  gap: 0.7rem;
  margin-bottom: 0.5rem;
}
.news_section .p-postList.-type-simple {
  border-top: none;
}
.news_section .p-postList__meta :before {
  display: none;
}
.news_section time.c-postTimes__posted.icon-posted {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.news_section span.p-postList__cat.u-thin.icon-folder {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  padding: 5px 12px;
  background-color: #ccbeac;
  border-radius: 4px;
}
.news_section h3.p-postList__title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.news_section h3.p-postList__title {
  transition: all 0.3s ease;
}
.news_section h3.p-postList__title:hover {
  opacity: 0.7;
}

.news_section .-type-simple .p-postList__link {
  border-bottom: 1px solid #333333;
}
/* デフォルトの背景色変更を無効化 */
.news_section .-type-simple .p-postList__link:hover {
  background-color: transparent !important;
}

@media (max-width: 959px) {
  .swell-block-column.news_title_column,
  .swell-block-column.news_text_column {
    padding: 0;
  }

  .news_section p.section_sub_title {
    margin-bottom: 0;
  }

  .news_section .p-postListWrap.news_text {
    margin-bottom: 3rem;
  }

  .news_section .wp-block-group.cta-link_black_group {
    justify-content: center;
  }
}

@media (max-width: 599px) {
  .news_section h2.section_title {
    font-size: 42px;
  }
  .news_section p.section_sub_title {
    font-size: 14px;
  }

  .news_section h3.p-postList__title {
    font-size: 16px;
  }
}

/* ========== aboutセクション ========== */
.swell-block-fullWide.about_section {
  padding-top: 5.3rem !important;
  padding-bottom: 5.3rem !important;
}
p.about_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 3.8rem;
}

@media (max-width: 959px) {
  .swell-block-column.about_text_column,
  .swell-block-column.about_img_column {
    padding: 0;
  }

  .swell-block-columns.about_column .swell-block-columns__inner {
    gap: 0;
  }
  .swell-block-column.about_img_column {
    display: none;
  }
  figure.wp-block-image.about_sp_img img {
    max-width: 50%;
  }
  p.about_text {
    margin-top: 4rem;
  }
}

@media (max-width: 959px) and (min-width: 600px) {
  p.about_text {
    text-align: center;
  }
}

@media (max-width: 599px) {
  figure.wp-block-image.about_sp_img img {
    max-width: 80%;
  }
  p.about_text {
    font-size: 16px;
    text-align: start;
  }
}

/* ========== imgセクション ========== */
.swell-block-fullWide.img_section {
  padding-top: 11rem !important;
  padding-bottom: 11rem !important;
}

/* ========== experienceセクション ========== */
.swell-block-fullWide.experience_section {
  padding-top: 6.3rem !important;
}
.experience_section p.section_sub_title {
  margin-bottom: 7.5rem;
}
p.experience_number {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.05rem;
  margin-bottom: 0.6rem;
}
figure.wp-block-image.experience_img {
  margin-bottom: 0;
}
h3.wp-block-heading.experience_column_title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 0 0 0.7rem;
}
p.experience_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.swell-block-columns.experience_column {
  margin-bottom: 5rem;
}

.experience_section .cta-center {
  text-align: center;
}

@media (max-width: 959px) {
  .experience_section p.section_sub_title {
    margin-bottom: 4rem;
  }
}

@media (max-width: 959px) and (min-width: 600px) {
  .swell-block-column.experience_item:nth-child(3) {
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 599px) {
  .swell-block-columns.experience_column .swell-block-columns__inner {
    gap: 4rem;
  }
  figure.wp-block-image.experience_img img {
    max-width: 106%;
  }
  h3.wp-block-heading.experience_column_title {
    font-size: 18px;
  }
  p.experience_text {
    font-size: 16px;
  }
}

/* 無料ノベルティ部分 */
.swell-block-columns.present_column {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 10px 10px 15px 0px #0000000d;
  margin-top: 6.3rem;
}
h3.wp-block-heading.present_title {
  font-weight: 700;
  font-size: 1.4375rem;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  margin-bottom: 0.2rem;
  display: table;
  margin: 0 auto;
  border-top: 1px solid #ccbeac;
  border-bottom: 1px solid #ccbeac;
  padding: 0.15em 0.7em 0.1rem;
}
p.present_sub_title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.07em;
  margin: 0.2rem 0 0.8rem;
}
p.present_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.9rem;
}
li.present_list_item {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
li.present_list_item::marker {
  color: #ccbeac;
}
.swell-block-column.present_img_column {
  background-image: url("https://fragrance-koubou-kaori.com/wp-content/uploads/2025/10/26212f05bd0e20cba1765720068b31c0-1.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0 20px 20px 0;
}

@media (max-width: 959px) {
  .swell-block-column.present_text_column {
    padding: 2rem 10rem 0rem 10rem;
  }
  .swell-block-column.present_img_column,
  .present_column_img img {
    border-radius: 0 0 20px 20px !important;
  }

  p.present_text,
  li.present_list_item {
    font-size: 16px;
  }
  .swell-block-fullWide.experience_section {
    padding-bottom: 6rem !important;
  }
}

@media (max-width: 767px) {
  .swell-block-column.present_text_column {
    padding: 2rem 5rem 0rem 5rem;
  }
}

@media (max-width: 599px) {
  .swell-block-column.present_text_column {
    padding: 2rem 1rem 0rem 1rem;
  }
}

/* ========== specialセクション ========== */

.swell-block-fullWide.special_section {
  padding-top: 5.5rem !important;
}

.special_section h2.section_title {
  margin-bottom: 2rem;
  text-align: end !important;
}

/* SPECIAL セクションだけインナー幅変更 */
.special_section .swell-block-columns.special_column {
  max-width: 960px;
  margin: 0 auto;
  box-sizing: border-box;
}

p.special_title1,
p.special_title2 {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.1;
  letter-spacing: 0.09em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  display: inline-block;
  position: relative;
}
/* 1行目に擬似要素で縦線をつける */
p.special_title1::before {
  content: "";
  display: block;
  width: 1px;
  height: 14.5%;
  background-color: #333;
  position: absolute;
  top: -22%;
  left: 52%;
}
/* 2行目だけ少しオフセットして段差を作る */
p.special_title2 {
  padding-top: 1.7rem;
  padding-right: 1rem;
}
/* 三点リーダ（2行目の末尾に縦用を追加） */
p.special_title2::after {
  content: "\FE19";
  display: inline-block;
  line-height: 1;
  margin-block-start: 0.2em;
}

figure.wp-block-image.special_column_img {
  margin-bottom: 0;
}
h3.wp-block-heading.special_sub_title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 0 0 0.3rem;
}
p.special_text {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* 縦書き表示のメディアクエリ表示 */
.special_title_group {
  display: block;
}
.special_title_group_sp {
  display: none;
}
@media (max-width: 599px) {
  .special_title_group {
    display: none !important;
  }
  .special_title_group_sp {
    display: block;
  }
}

@media (max-width: 959px) {
.special_section h2.section_title {
text-align: center !important;
}

  p.special_title1,
  p.special_title2 {
    font-size: 2rem;
  }
}

@media (max-width: 599px) {
  .swell-block-column.special_title_column {
    padding: 2rem 0;
  }
  p.special_title1,
  p.special_title2 {
    font-size: 22px;
    writing-mode: horizontal-tb;
    text-orientation: initial;
    display: block;
    margin: 0;
  }
  p.special_title1::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1px;
    background-color: #333;
    margin-right: 1em;
    position: relative;
    top: -0.3em;
    left: 3%;
  }
  p.special_title2 {
    padding: 1rem 0 0 10rem;
  }
  p.special_title2::after {
    display: none;
  }

  h3.wp-block-heading.special_sub_title {
    font-size: 18px;
  }
  p.special_text {
    font-size: 16px;
  }
}

.swell-block-columns.special_item_column {
  margin-top: 3.2rem;
}
figure.wp-block-image.special_item_img {
  margin-bottom: 0;
}

@media (max-width: 959px) and (min-width: 600px) {
  .swell-block-column.special_item:nth-child(3) {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 959px) {
  .wp-block-spacer.special_spacer {
    display: none;
  }
  p.special_text {
    font-size: 16px;
  }
}

@media (max-width: 599px) {
  .swell-block-columns.special_item_column {
    margin-top: 4rem;
  }
  .swell-block-columns.special_item_column .swell-block-columns__inner {
    gap: 4rem;
  }
}

/* ========== SNSセクション ========== */
.swell-block-fullWide.sns_section {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
.swell-block-column.instagram_column {
  background-color: #fff;
  border-radius: 12px;
}
.wp-block-group.sns_group {
  justify-content: space-between;
}

@media (max-width: 959px) {
  .swell-block-column.instagram_column:nth-child(3) {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 599px) {
  .swell-block-column.instagram_column {
    padding: 2rem;
  }
  .wp-block-group.sns_group {
    justify-content: space-between;
  }
}

/* ========== voiceセクション ========== */
.swell-block-fullWide.voice_section {
  padding-top: 6.3rem !important;
}

.voice_section h2.section_title {
  font-size: 3.75rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.2rem;
}
.voice_section p.section_sub_title {
  font-size: 1rem;
  margin-bottom: 0;
}
.voice_section .cta-center {
  text-align: end;
}

@media (max-width: 959px) {
  .voice_section .show-desktop {
    display: none;
  }
  .voice_section .cta-center {
    text-align: center;
  }
}

@media (max-width: 599px) {
  .voice_section h2.section_title {
    font-size: 42px;
  }
  .voice_section p.section_sub_title {
    font-size: 14px;
  }
}

/* ========== reservationセクション ========== */
.swell-block-fullWide.reservation_section {
  padding-top: 5rem !important;
  padding-bottom: 5.9rem !important;
}
.reservation_section h2.section_title{
color: #ffffff;
}
.reservation_section p.section_sub_title {
  color: #ffffff;
  margin-bottom: 6rem;
}

.reservation_section p.section_sub_title::before {
  background-color: #ffffff;
}

@media (max-width: 959px) {
  .reservation_section a.cta-link_white {
    left: 50%;
    transform: translateX(-50%);
}
}


@media (max-width: 599px) {
  .reservation_section h2.section_title {
    margin-bottom: 1.5rem;
  }
  .reservation_section p.section_sub_title {
    font-size: 16px;
  }
}

/* ========== flowセクション ========== */
.swell-block-fullWide.flow_section {
  padding-top: 6.4rem !important;
}

.flow_section h2.section_title{
text-align: center !important;
}
.flow_section p.section_sub_title {
  justify-content: center;
  margin-bottom: 3.5rem;
}
.swell-block-columns.flow_column {
  margin-bottom: 3.8rem;
}
.swell-block-column.flow_item {
  background-color: #fff;
  border-radius: 8px;
  text-align: center;
}

h3.wp-block-heading.flow_title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  margin-bottom: 1.1rem;
  position: relative;
}
/* タイトル下に下線を擬似要素で挿入 */
h3.wp-block-heading.flow_title::after {
  content: "";
  display: block;
  width: 22px;
  height: 1px;
  background-color: #ccbeac;
  margin: 0.9em auto 0;
}

p.flow_text {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.flow_section .cta-center {
  text-align: center;
}

@media (max-width: 599px) {
  .flow_section p.section_sub_title {
    justify-content: center;
  }
  .swell-block-columns.flow_column .swell-block-columns__inner {
    gap: 2rem;
  }

  h3.wp-block-heading.flow_title {
    font-size: 16px;
  }
  p.flow_text {
    font-size: 18ox;
  }
}

/* ========== faqセクション ========== */
.swell-block-fullWide.faq_section {
  padding-top: 6.3rem !important;
}
.faq_section h2.section_title {
  font-size: 3.75rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.23rem;
}
.faq_section p.section_sub_title {
  font-size: 1rem;
  margin-bottom: 6.2rem;
}

details.swell-block-accordion__item.faq_accordion_column {
  margin-bottom: 3rem;
}
.faq_section .swell-block-accordion__title {
  background: #ffffff;
}
.faq_section h3.swell-block-accordion__label {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 3.8rem;
  position: relative;
}
/* アコーディオンタイトルの前に Q を表示 */
.faq_section h3.swell-block-accordion__label::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #959595;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: -18%;
  left: 0;
}

.faq_section .swell-block-accordion__body {
  padding: 1.5rem 1rem;
}
p.faq_accordion_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3.5rem;
}
/* アコーディオンテキストの前に A を表示 */
.faq_section p.faq_accordion_text::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #959595;
  background-color: #ffffff;
  color: #959595;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 959px) {
  .faq_section p.section_sub_title {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
  .swell-block-columns.faq_column {
    margin-bottom: 4rem;
  }
  .faq_section .wp-block-group.cta-link_black_group {
    justify-content: center;
  }
}

@media (max-width: 599px) {
  .faq_section h2.section_title {
    font-size: 42px;
  }
  .faq_section p.section_sub_title {
    font-size: 14px;
  }
  .faq_section h3.swell-block-accordion__label,
  p.faq_accordion_text {
    font-size: 16px;
  }
  .faq_section h3.swell-block-accordion__label::before {
    top: 5%;
  }
  /* 2個目だけ位置調整 */
  .faq_section
    .swell-block-accordion.faq_accordion
    > details.swell-block-accordion__item:nth-of-type(2)
    .swell-block-accordion__label::before {
    top: -18%;
  }
}

/* ========== accessセクション ========== */

.swell-block-fullWide.access_section {
  padding-top: 5.5rem !important;
  padding-bottom: 6.4rem !important;
}
.access_section h2.section_title {
  font-size: 3.75rem;
}
.access_section p.section_sub_title {
  font-size: 1rem;
  margin-bottom: 3.8rem;
}

.swell-block-columns.access_column {
  margin-top: 2.5rem;
}
.wp-block-group.access_title {
  gap: 20px;
}
.wp-block-group.access_address_group {
  align-items: center;
}

p.access_title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
p.address {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.swell-block-column.access_cta_column {
  align-self: center;
}
.access_section .cta-center {
  text-align: end;
}

@media (max-width: 959px) {
  .swell-block-columns.access_column .swell-block-columns__inner {
    gap: 3rem;
  }
  .wp-block-group.access_title {
    justify-content: center;
  }
  .access_section .cta-center {
    text-align: center;
  }
}

@media (max-width: 599px) {
  .access_section h2.section_title {
    font-size: 42px;
  }
  .access_section p.section_sub_title {
    font-size: 14px;
  }
  p.access_title {
    font-size: 18px;
  }
  p.address {
    font-size: 15px;
  }
}

/* ========== ctaセクション(TOP下部の方) ========== */
.swell-block-fullWide.cta_section {
  padding-top: 5rem !important;
  padding-bottom: 5.9rem !important;
}
.cta_section h2.section_title{
color: #ffffff;
}
.cta_section p.section_sub_title {
  color: #ffffff;
  margin-bottom: 2.6rem;
}
.cta_section p.section_sub_title::before {
  background-color: #ffffff;
}

p.reservation_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.4em;
}
p.reservation_sub_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 6rem;
}
div#content {
  margin-bottom: 0;
}

@media (max-width: 959px) and (min-width: 600px) {
  p.reservation_text,
  p.reservation_sub_text {
    text-align: center;
  }
}

@media (max-width: 959px) {
  .cta_section a.cta-link_white {
    left: 50%;
    transform: translateX(-50%);
}
}


@media (max-width: 599px) {
  .cta_section h2.section_title {
    margin-bottom: 1.5rem;
  }
  .cta_section p.section_sub_title {
    font-size: 16px;
  }

  p.reservation_text {
    font-size: 16px;
  }
  p.reservation_sub_text {
    font-size: 15px;
  }
}

/* ========== フッター ========== */

div#before_footer_widget {
  margin-top: 0;
}
.swell-block-fullWide.footer_section {
  padding-top: 5.15rem !important;
  padding-bottom: 5.1rem !important;
}

.wp-block-image.footer_column1_img {
  margin-bottom: 2rem;
}
p.footer_title,
p.footer_address,
p.footer_tel,
p.footer_mail,
li.swell-block-linkList__item.menu_item a,
p.footer_time,
p.footer_link a {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
p.footer_title,
p.footer_tel {
  margin-bottom: 0;
}
p.footer_address {
  margin-bottom: 0.7rem;
}

/* フッターボタン */
.swell-block-button.footer_btn{
  margin-top: 2rem;
}
.swell-block-button.footer_btn a {
  width: 205px;
  height: 48px;
  padding: 13px 18px 13px 35px;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  gap: 1.8em !important;
  border-radius: 32px;
  border: 2px solid #333333;
  text-decoration: none;
  transition: all 0.3s ease;
}
.swell-block-button.footer_btn a:hover {
  background-color: #fff;
  color: #333333;
}

ul.swell-block-linkList.menu_list {
  gap: 1rem;
}

.footer_section p.section_sub_title {
  margin-bottom: 0.4rem;
}
figure.wp-block-image.footer_column4_img {
  margin-bottom: 0;
}
p.footer_time {
  margin-bottom: 0.5rem;
}

p.footer_link a {
  position: relative;
}
/* 擬似要素で下線を追加 */
p.footer_link a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  background-color: #333;
}
p.footer_link a:hover {
  opacity: 0.8;
}

hr.wp-block-separator.has-alpha-channel-opacity.footer_separator {
  max-width: 100%;
  border-bottom: 1px solid #333333;
  margin: 2.4em 0 1.3em;
}
ul.swell-block-linkList.copyright_column_link {
  gap: 20px;
}
li.swell-block-linkList__item.copyright__link_item a {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
p.copyright_text {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0;
}

.l-footer__foot {
  display: none;
}

li.swell-block-linkList__item.menu_item a,
li.swell-block-linkList__item.copyright__link_item a {
  text-decoration: none;
  transition: all 0.3s ease;
}
li.swell-block-linkList__item.menu_item a:hover,
li.swell-block-linkList__item.copyright__link_item a:hover {
  opacity: 0.8;
}

@media (max-width: 959px) {
  .swell-block-column.sp_logo_right_column {
    align-self: center;
  }
  .swell-block-columns.sp_logo_column,
  .swell-block-columns.store_column {
    margin-bottom: 4rem;
  }

  li.swell-block-linkList__item.menu_item a,
  p.footer_title,
  p.footer_address,
  p.footer_tel,
  p.footer_mail,
  p.footer_time,
  p.footer_link a {
    font-size: 16px;
  }
  .swell-block-columns.footer_column {
    margin-bottom: 4rem;
  }
  p.footer_mail {
    margin-bottom: 4rem;
  }
  p.footer_link {
    margin-bottom: 4rem;
  }
}

@media (max-width: 599px) {
  .swell-block-columns.sp_logo_column .swell-block-columns__inner {
    gap: 2rem;
  }
  .footer_section p.section_sub_title {
    justify-content: flex-start;
  }
  .swell-block-columns.store_column .swell-block-columns__inner {
    gap: 0;
  }
}

/* ========== ドロワーメニュー ========== */
.p-spMenu__body::before {
  content: "";
  display: block;
  width: 100px;
  height: 80px;
  left: -9px;
  background: url("https://fragrance-koubou-kaori.com/wp-content/uploads/2025/09/e3b849ca64dca9e0dd377ae038b17e6d.png")
    no-repeat center / contain;
  margin-bottom: 20px;
  position: relative;
  z-index: 10;
}

/* ================================= 
              下層ページ
==================================== */

/* ========== 下層ページ共通パーツ ========== */

/* === 下層ページFV === */
div#top_title_area {
  max-width: 96%;
  margin: 0 auto;
  height: 23vw;
  min-height: 200px;
  max-height: 325px;
}

h1.c-pageTitle {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: clamp(4rem, calc(3.846vw + 1.538rem), 5rem);
  line-height: 1;
  letter-spacing: 0.08em;
  display: inline-block;
}
@media (max-width: 959px) {
  h1.c-pageTitle {
    font-size: 4rem;
  }
}
@media (max-width: 599px) {
  h1.c-pageTitle {
    font-size: 3rem;
  }
}

/* 擬似要素で線とサブタイトルを挿入 */
.l-topTitleArea__body.l-container {
  position: relative;
}
/* 線を挿入 */
h1.c-pageTitle::after {
  content: "";
  display: block;
  width: clamp(35px, 4vw, 48px);
  height: 1px;
  background: #fff;
  margin-top: 1rem;
  visibility: visible !important;
}
@media (max-width: 959px) {
  h1.c-pageTitle::after {
    width: clamp(23px, 3vw, 35px);
  }
}
/* サブタイトル用の共通CSS */
@media (max-width: 599px) {
  .l-topTitleArea__body.l-container::after {
    font-size: 16px !important;
    top: 78% !important;
    left: 12% !important;
  }
}

/* === パンくずリスト === */
span.__home.icon-home::before {
  display: none;
}
div#content {
  padding-top: 0.4rem;
}

/* === 下層セクションタイトル === */
h2.under_section_title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 0.7rem;
}
hr.wp-block-separator.has-alpha-channel-opacity.under_section_title_border {
  max-width: 50px;
  border-bottom: 1px solid #ccbeac;
  margin-top: 0;
  margin-bottom: 5rem;
}

/* ========== アクセス(.page-id-18) ========== */
/* サブタイトルのテキスト */
.page-id-18 .l-topTitleArea__body.l-container::after {
  content: "アクセス";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ========== access_columnセクション ========== */

.swell-block-fullWide.access_column_section {
  padding-top: 2rem !important;
  padding-bottom: 5rem !important;
}

.page-id-18 .wp-block-group.access_title {
  justify-content: center;
  gap: 2.5rem;
}
.page-id-18 p.access_title {
  margin-bottom: 1rem;
}
.page-id-18 p.address {
  margin-bottom: 0.4rem;
}
p.access_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
p.map_link {
    margin-top: 0.3rem;
}
p.map_link a{
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
    border-bottom: 1px solid #333;
}
p.map_link a:hover{
opacity: 0.8;
}

@media (max-width: 599px) {
  .page-id-18 .wp-block-group.access_title {
    display: block;
  }
  .page-id-18 .wp-block-group.access_address_group {
    justify-content: center;
    margin-top: 2rem;
  }
}

/* ========== access_flowセクション ========== */

.swell-block-fullWide.access_flow_section {
  padding-top: 6.3rem !important;
  padding-bottom: 6.3rem !important;
}

.swell-block-columns.access_flow_column {
  background-color: #ffffff;
  border-radius: 8px;
}
h3.wp-block-heading.access_flow_title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
hr.wp-block-separator.has-alpha-channel-opacity.access_flow_border {
  margin-left: 0;
  margin-right: 0;
  max-width: 92%;
  border-bottom: 1px solid #ccbeac;
  margin-top: 1.1rem;
  margin-bottom: 1.3rem;
}
p.access_flow_text {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.3rem;
}
p.access_flow_sub_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/* STEP01とSTEP02の下に三角を表示 */
.swell-block-columns.access_flow_column:nth-of-type(1),
.swell-block-columns.access_flow_column:nth-of-type(2) {
  position: relative;
  margin-bottom: 3rem; /* 三角分の余白（調整） */
}

.swell-block-columns.access_flow_column:nth-of-type(1)::after,
.swell-block-columns.access_flow_column:nth-of-type(2)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -19%;
  width: 57px;
  height: 50px;
  background: url("https://fragrance-koubou-kaori.com/wp-content/uploads/2025/09/Polygon-Shape.svg")
    no-repeat center center;
  background-size: contain;
}
@media (max-width: 959px) {
  .swell-block-columns.access_flow_column:nth-of-type(1)::after,
  .swell-block-columns.access_flow_column:nth-of-type(2)::after {
    left: 47%;
    bottom: -27%;
  }
}
@media (max-width: 599px) {
  .swell-block-columns.access_flow_column:nth-of-type(1)::after,
  .swell-block-columns.access_flow_column:nth-of-type(2)::after {
    left: 43%;
    bottom: -14%;
    width: 35px;
  }
}

@media (max-width: 599px) {
  hr.wp-block-separator.has-alpha-channel-opacity.under_section_title_border {
    margin-bottom: 3rem;
  }
  .swell-block-column.access_flow_img_column {
    padding: 1rem 1rem 0 1rem;
  }
  hr.wp-block-separator.has-alpha-channel-opacity.access_flow_border {
    max-width: 100%;
  }
  .swell-block-column.access_flow_text_column {
    padding: 0 1rem 1rem 1rem;
  }
  p.access_flow_text {
    font-size: 16px;
  }
  p.access_flow_sub_text {
    font-size: 15px;
  }
}

/* ========== ボックスセクション ========== */
.swell-block-fullWide.box_section {
  padding-top: 3.7rem !important;
  padding-bottom: 3.6rem !important;
}

.faq-card {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}
.faq-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f4f1ed;
  border: 1px solid #f4f1ed;
  box-shadow: 0px 2px 8px 0px #00000026;
  width: 544px;
  padding: 2.5rem 2rem;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.faq-text {
  display: flex;
  flex-direction: column;
}
.faq-title {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.08em;
  transition: color 0.3s ease, opacity 0.3s ease;
}
.faq-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 0.3rem;
  transition: color 0.3s ease, opacity 0.3s ease;
}
/* アイコン */
.faq-icon {
  width: 50px;
  height: 50px;
  border: 1px solid #333333;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
  transition: background 0.3s ease, border 0.3s ease;
}
/* 矢印（擬似要素で作成） */
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 45%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: all 0.3s ease;
}
/* ホバー時 */
.faq-link:hover {
  background: #ffffff;
  border: 1px solid #f4f1ed;
}
.faq-link:hover .faq-title,
.faq-link:hover .faq-subtitle {
  opacity: 0.7;
}
.faq-link:hover .faq-icon {
  background: #333333;
  border-color: #333333;
}
.faq-link:hover .faq-icon::after {
  border-color: #ffffff;
}

@media (max-width: 599px) {
  .faq-subtitle {
    font-size: 15px;
  }
}

/* ========== FAQページ(.page-id-20) ========== */
/* サブタイトルのテキスト */
.page-id-20 .l-topTitleArea__body.l-container::after {
  content: "よくある質問";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ========== faq_page ========== */
.swell-block-fullWide.faq_page_section {
  padding-top: 6.6rem !important;
  padding-bottom: 5.6rem !important;
}

.page-id-20 details.swell-block-accordion__item.faq_accordion_column {
  margin-bottom: 3rem;
}
.page-id-20 .swell-block-accordion__title {
  background: #ffffff;
}
.page-id-20 h2.swell-block-accordion__label {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 3.8rem;
  padding-right: 0.5em;
  position: relative;
}
/* アコーディオンタイトルの前に Q を表示 */
.page-id-20 h2.swell-block-accordion__label::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #959595;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: -18%;
  left: 0;
}

.page-id-20 .swell-block-accordion__body {
  padding: 1.5rem 1rem;
}
.page-id-20 p.faq_accordion_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3.5rem;
}
/* アコーディオンテキストの前に A を表示 */
.page-id-20 p.faq_accordion_text::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #959595;
  background-color: #ffffff;
  color: #959595;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 959px) {
  .page-id-20 .swell-block-columns.faq_column {
    margin-bottom: 4rem;
  }
}

@media (max-width: 599px) {
  .page-id-20 h2.swell-block-accordion__label,
  .page-id-20 p.faq_accordion_text {
    font-size: 16px;
  }
  .page-id-20 h2.swell-block-accordion__label::before {
    top: 5%;
  }
  .page-id-20
    .swell-block-accordion.faq_accordion
    > details.swell-block-accordion__item:nth-of-type(3)
    .swell-block-accordion__label::before,
  .page-id-20
    .swell-block-accordion.faq_accordion
    > details.swell-block-accordion__item:nth-of-type(6)
    .swell-block-accordion__label::before,
  .page-id-20
    .swell-block-accordion.faq_accordion
    > details.swell-block-accordion__item:nth-of-type(7)
    .swell-block-accordion__label::before {
    top: -18%;
  }
}

/* ========== ボタンセクション ========== */
.swell-block-fullWide.btn_section {
  padding-top: 3.7rem !important;
  padding-bottom: 3.7rem !important;
}
/* 改行調整 */
.sp-only {
  display: none;
}
@media (max-width: 599px) {
  .sp-only {
    display: inline;
  }
}

/* ========== ふれぐらんす工房について(.page-id-12) ========== */
/* サブタイトルのテキスト */
.page-id-12 .l-topTitleArea__body.l-container::after {
  content: "ふれぐらんす工房について";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ========== about_page_topセクション =========== */
.swell-block-fullWide.about_page_top_section {
  padding-top: 4rem !important;
  padding-bottom: 3.2rem !important;
}

.about_page_top_section p.special_title2::after {
  display: none;
}
p.about_top_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}

.about_page_top_section p.special_title1,
.about_page_top_section p.special_title2 {
  font-size: 2rem;
}
.about_page_top_section p.special_title1::before {
  height: 10.5%;
  top: -16%;
  left: 52%;
}

.about_page_top_section p.special_title2{
display: inline-block;
  white-space: nowrap;
  width: auto;
}

/* カラムの表示切り替え */
.special_column_pc {
  display: block;
}
.special_column_sp {
  display: none;
}
@media (max-width: 599px) {
  .special_column_pc {
    display: none;
  }
  .special_column_sp {
    display: block;
  }
}

@media (max-width: 959px) {
  .about_page_top_section .swell-block-column.special_title_column {
    padding: 2.5rem 1rem 1rem 2.8rem !important;
  }

  .about_page_top_section p.special_title1,
  .about_page_top_section p.special_title2 {
    font-size: 1.7rem;
  }
}

@media (max-width: 599px) {
  .about_page_top_section .swell-block-column.special_title_column {
    padding: 3rem 0 !important;
  }
  .about_page_top_section p.special_title1::before {
    height: 1px;
    top: -0.3em;
    left: 3%;
  }
  .about_page_top_section p.special_title2 {
    padding: 1rem 0 0 3rem;
  }
  p.about_top_text {
    font-size: 16px;
  }
}

/* ========== pointセクション =========== */
.swell-block-fullWide.point_section {
  padding-top: 6.3rem !important;
  padding-bottom: 3rem !important;
}

.point_section p.section_sub_title {
  margin-bottom: 6.3rem;
}

.point_section h3.wp-block-heading.experience_column_title {
  font-size: 1.125rem;
}
.point_section p.experience_text {
  font-size: 1rem;
  line-height: 1.6;
}
.point_section .swell-block-columns.experience_column {
  margin-bottom: 11rem;
}

hr.wp-block-separator.has-alpha-channel-opacity.point_column_border {
  margin-left: 0;
  margin-right: 0;
  max-width: 48px;
  border-bottom: 1px solid #ccbeac;
  margin-top: 0;
  margin-bottom: 3.7rem;
}
p.point_column_text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 959px) and (min-width: 600px) {
  .swell-block-column.experience_item:nth-child(3) {
    margin: 0 0 0 var(--swl-clmn-mrgn--x);
            margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .point_section p.section_sub_title {
    margin-bottom: 4rem;
  }
  .point_section
    .swell-block-columns.experience_column
    .swell-block-columns__inner {
    row-gap: 3rem;
  }
  .swell-block-column.point_text_column {
    padding: 0 !important;
  }
  .point_section .swell-block-columns.experience_column {
    margin-bottom: 6rem;
  }
  hr.wp-block-separator.has-alpha-channel-opacity.point_column_border {
    margin-bottom: 1rem;
  }
}

@media (max-width: 599px) {
  .point_section h3.wp-block-heading.experience_column_title {
    font-size: 16px;
  }
  .point_section p.experience_text {
    font-size: 15px;
  }

  .point_section .swell-block-columns.experience_column {
    margin-bottom: 7rem;
  }

  .point_section h2.under_section_title {
    text-align: center !important;
  }
  hr.wp-block-separator.has-alpha-channel-opacity.point_column_border {
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
    margin-bottom: 1.5rem;
  }
  p.point_column_text {
    font-size: 16px;
  }
}

/* ========== EXPERIENCEセクション(.page-id-14) ========== */
/* サブタイトルのテキスト */
.page-id-14 .l-topTitleArea__body.l-container::after {
  content: "手作りフレグランス";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ========== .page-id-14 .about_page_top_section ========== */
.page-id-14 .swell-block-fullWide.about_page_top_section {
  padding-top: 5rem !important;
  padding-bottom: 4.2rem !important;
}

.page-id-14 .about_page_top_section p.special_title1::before {
  height: 12.5%;
  top: -19%;
  left: 52%;
}

@media (max-width: 959px) and (min-width: 600px) {
  p.special_title2 {
    padding-top: 1rem;
  }
  p.about_top_text {
    text-align: start;
  }
}

@media (max-width: 959px) {
  .page-id-14 .swell-block-columns.special_column {
    margin-bottom: 0;
  }
  .page-id-14 p.about_top_text.sp_only {
    margin-top: 0;
  }
}
@media (min-width: 600px) {
  .page-id-14 p.about_top_text_sp {
    display: none;
  }
}

@media (max-width: 599px) {
  .page-id-14 .swell-block-fullWide.about_page_top_section {
    padding-top: 3rem !important;
  }
  .page-id-14 .about_page_top_section p.special_title1::before {
    height: 1px;
    top: -0.4em;
    left: 4%;
  }
  .page-id-14 p.about_top_text {
    display: none;
  }
  p.about_top_text_sp {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 1rem;
  }
}

/* ========== .page-id-14 .experience_section ========== */
.page-id-14 .swell-block-fullWide.experience_section {
  padding-bottom: 7.5rem !important;
}
.page-id-14 .swell-block-columns.experience_top_column {
  margin-bottom: 6.3rem;
}

.page-id-14 .swell-block-fullWide.special_section {
  padding-top: 7.5rem !important;
}

hr.wp-block-separator.has-alpha-channel-opacity.experience_border {
  margin-top: 0;
  margin-bottom: 4.7rem;
  max-width: 48px;
  border-bottom: 1px solid #ccbeac;
}
.page-id-14 h3.wp-block-heading.special_sub_title {
  font-size: 1.25rem;
  margin-bottom: 0.8rem;
}
.page-id-14 p.special_text {
  font-size: 1rem;
  line-height: 1.6;
}

@media (max-width: 959px) and (min-width: 600px) {
  .page-id-14
    .swell-block-columns.experience_column
    > .swell-block-columns__inner
    > .swell-block-column:nth-of-type(3) {
    margin: 0 auto;
    flex: 0 0 auto;
    max-width: fit-content;
    margin-top: 2rem;
  }
}

@media (max-width: 599px) {
  .page-id-14 h3.wp-block-heading.special_sub_title {
    font-size: 18px;
  }
  .page-id-14 p.special_text {
    font-size: 16px;
  }
}

/* ========== priceセクション ========== */
.swell-block-fullWide.price_section {
  padding-top: 6.5rem !important;
  padding-bottom: 6.3rem !important;
}

.price_section h2.section_title {
  font-size: 3.75rem;
}
.price_section p.section_sub_title {
  font-size: 1rem;
  margin-bottom: 6.2rem;
}

.swell-block-column.details_column {
  background-color: #ffffff;
  border-radius: 12px;
}
.wp-block-group.details_group {
  justify-content: space-between;
}
.wp-block-group.details_title_group {
  align-items: center;
  gap: 0.5rem;
}

p.details_title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
p.details_sub_title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
p.details_sub_title span.swl-bg-color {
  border: 1px solid #ccbeac;
  background-color: #dfd7cc !important;
  border-radius: 37px;
  padding: 0.2em 1.2rem;
}

.wp-block-group.price_group {
  align-items: center;
}
p.details_price_title {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 1.2;
  letter-spacing: 0em;
}
p.details_sub_price {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

hr.wp-block-separator.has-alpha-channel-opacity.details_border {
  max-width: 100%;
  border-bottom: 1px solid #ccbeac;
  margin-top: 1.6rem;
  margin-bottom: 1.5rem;
}

p.details_text {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.8rem;
}
ul.wp-block-list.details_list_group.is-style-check_list {
  background-color: #f4f1ed;
  border-radius: 8px;
  padding: 1rem 2rem 0.2em;
}
li.details_list {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
li.details_list::before {
  color: #333333;
}

.price_section h2.under_section_title {
  margin-top: 5rem;
}
.price_section
  hr.wp-block-separator.has-alpha-channel-opacity.experience_border {
  margin-bottom: 3.7rem;
}

.price_section h3.wp-block-heading.experience_column_title {
  font-size: 1.125rem;
}

.price_section p.experience_text {
  font-size: 1rem;
}
.price_section .swell-block-columns.experience_column {
  margin-bottom: 4rem;
}

.price_section .cta-center {
  text-align: center;
}

@media (max-width: 959px) {
  .price_section h2.section_title {
    font-size: 4.7rem;
  }
  .price_section p.section_sub_title {
    font-size: 18px;
  }
}

@media (max-width: 599px) {
  .price_section h2.section_title {
    font-size: 42px;
  }
  .price_section p.section_sub_title {
    font-size: 14px;
  }

  .wp-block-group.details_group {
    display: block;
  }
  .wp-block-group.details_title_group {
    margin-bottom: 1rem;
  }
  .wp-block-group.price_group {
    justify-content: end;
  }
  p.details_text,
  li.details_list {
    font-size: 16px;
  }

  .price_section h3.wp-block-heading.experience_column_title {
    font-size: 18px;
  }
  .price_section p.experience_text {
    font-size: 16px;
  }
}

/* ========== qualityセクション ========== */
.swell-block-fullWide.quality_section {
  padding-top: 6.3rem !important;
  padding-bottom: 5.2rem !important;
}

.quality_section
  hr.wp-block-separator.has-alpha-channel-opacity.experience_border {
  margin-bottom: 3.7rem;
}
ul.wp-block-list.quality_list_group {
  margin-bottom: 2.5rem;
}

h3.wp-block-heading.quality_title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.8rem;
  margin: 2rem 0 1.1rem;
}

li.quality_list {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 0.1rem;
}
li.quality_list_none {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 0 0 1rem;
}
li.quality_list::marker {
  color: #ccbeac;
}
li.quality_list_none {
  list-style: none;
}

@media (max-width: 599px) {
  h3.wp-block-heading.quality_title {
    font-size: 18px;
  }
  li.quality_list,
  li.quality_list_none {
    font-size: 16px;
  }
}

/* ========== smileセクション ========== */
.swell-block-fullWide.smile_section {
  padding-top: 5rem !important;
  padding-bottom: 3rem !important;
}
.smile_section h2.under_section_title{
text-align: start !important;
}
.smile_section h2.under_section_title .nowrap{
  white-space: nowrap;
  display: inline-block;
}

@media (max-width: 599px) {
  .smile_section h2.under_section_title {
    text-align: center !important;
  }
}

/* ========== 体験の流れ(.page-id-16) ========== */
/* サブタイトルのテキスト */
.page-id-16 .l-topTitleArea__body.l-container::after {
  content: "体験の流れ";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* ========== stepセクション ========== */

.swell-block-columns.step_column {
  margin-bottom: 2.6rem;
  position: relative;
}
/* step_columnの下に擬似要素で三角形を挿入 */
.swell-block-columns.step_column::after {
  content: "";
  position: absolute;
  bottom: -15%;
  left: 50.3%;
  transform: translateX(-50%);
  width: 57px;
  height: 40px;
  background: url("https://fragrance-koubou-kaori.com/wp-content/uploads/2025/09/Polygon-Shape.svg")
    no-repeat center/contain;
}
/* 一番最後の要素には付けない */
.swell-block-columns.step_column:last-child::after {
  content: none;
}

p.step_number {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}
h2.step_title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 0 0 1em;
}
p.step_text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

@media (max-width: 959px) {
  .swell-block-columns.step_column {
    margin-bottom: 4.6rem;
  }
  .swell-block-columns.step_column::after {
    bottom: -31%;
    width: 50px;
  }
}

@media (max-width: 599px) {
  /* 上下を逆にする */
  .swell-block-columns.step_column .swell-block-columns__inner {
    flex-direction: column-reverse;
  }
  .swell-block-columns.step_column {
    margin-bottom: 5.6rem;
  }
  p.step_number {
    font-size: 15px;
  }
  p.step_text {
    font-size: 16px;
  }
  figure.wp-block-image.step_column_img img {
    max-width: 80%;
  }
  .swell-block-columns.step_column::after {
    bottom: -10%;
    width: 50px;
  }
}

/* ========== detailsセクション ========== */
@media (max-width: 959px) and (min-width: 600px) {
  .page-id-16
    .swell-block-columns.experience_column
    > .swell-block-columns__inner
    > .swell-block-column:nth-of-type(3) {
    margin: 0 auto;
    flex: 0 0 auto;
    max-width: fit-content;
    margin-top: 2rem;
  }
}

/* ========== 投稿ページ共通パーツ ========== */
.blog .u-obf-cover,
.single .u-obf-cover,
.archive .u-obf-cover,
.category .u-obf-cover {
  object-fit: contain;
}

.p-postList__meta :before,
time.c-postTimes__posted.icon-posted::before {
  display: none;
}

.c-categoryList:before,
.c-postThumb__cat:before {
  display: none;
}

.widget_categories > ul > .cat-item > a:before,
.wp-block-categories-list > li > a:before,
.c-gnav .sub-menu a:before,
.c-listMenu a:before {
  display: none;
}

.widget_recent_entries a,
.wp-block-latest-posts a:hover {
  opacity: 0.7;
}
.c-listMenu a,
.widget_categories > ul > .cat-item > a,
.wp-block-categories-list > li > a {
  padding-left: 0;
}

.c-listMenu a:hover {
  background-color: transparent !important;
  padding-left: 0;
  padding-right: 0;
  opacity: 0.7;
}

@media (min-width: 600px) {
  .blog div#content,
  .single div#content,
  .archive div#content,
  .category div#content {
    padding-top: 4em;
    margin-bottom: 6em;
  }
  .archive h1.c-pageTitle,
  .category h1.c-pageTitle {
    font-size: 1.5em;
  }
  .prev > .p-pnLinks__link:hover .p-pnLinks__title,
  .prev > .p-pnLinks .-next .p-pnLinks__link:hover,
  .p-pnLinks__title {
    transform: none !important;
    transition: none !important;
  }

  .p-pnLinks .-prev .p-pnLinks__link:hover {
    box-shadow: none !important;
    padding-right: 0;
    opacity: 0.7;
  }
  .p-pnLinks .-next .p-pnLinks__link:hover {
    box-shadow: none !important;
    padding-left: 0;
    opacity: 0.7;
  }
}

/* ========== 投稿一覧ページ(.blog) ========== */
/* サブタイトルのテキスト */
.blog .l-topTitleArea__body.l-container::after {
  content: "お知らせ";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.blog div#top_title_area img {
  object-fit: cover;
}
/* ========== 投稿一覧ページ(.single) ========== */
@media (max-width: 599px) {
  .single div#content {
    padding-top: 2rem;
  }
}

/* ========== お問い合わせページ(.page-id-22) ========== */
/* サブタイトルのテキスト */
.page-id-22 .l-topTitleArea__body.l-container::after {
  content: "お問い合わせ";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

p.contact_foam_text {
  margin-bottom: 3rem;
}

.smf-progress-tracker__item[aria-current="true"]
  .smf-progress-tracker__item__number {
  background-color: #dfd7cc;
}
.smf-progress-tracker__item[aria-current="true"]
  .smf-progress-tracker__item__text {
  font-weight: 500;
}
ol.smf-progress-tracker {
  margin-bottom: 3rem;
  padding-left: 0;
}

/* 項目余白 */
.wp-block-snow-monkey-forms-item.smf-item {
  margin-bottom: 2rem;
}
.smf-form {
  margin-bottom: 3rem;
}

/* 確認ボタン */
.smf-action {
  text-align: center;
}
.smf-action .smf-button-control__control {
  width: 208px;
  height: 53px;
  padding: 12px 48px;
  border: 2px solid #333333;
  border-radius: 32px;
  background: #333333;
  color: #fff;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease;

  background-image: none !important;
  box-shadow: none !important;
}

.smf-action .smf-button-control__control:hover {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #333333 !important;
  border-color: #333333 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.snow-monkey-forms-turnstile.snow-monkey-forms-turnstile--position\:after {
  margin-top: 3rem;
}

/* Turnstile全体を中央寄せ */
.snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
}

@media (max-width: 599px) {
  p.contact_foam_text {
    text-align: start;
    font-size: 16px;
  }
  input.smf-text-control__control {
    width: 100%;
  }
}

/* ========== プライバシーポリシーページ(.page-id-26) ========== */
/* サブタイトルのテキスト */
.page-id-26 .l-topTitleArea__body.l-container::after {
  content: "プライバシーポリシー";
  position: absolute;
  top: 106%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.page-id-26 h1.c-pageTitle {
  position: relative;
  display: inline-block;
}

.page-id-26 h1.c-pageTitle::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.23em;
  width: clamp(35px, 4vw, 48px);
  height: 1px;
  background: #fff;
}

@media (max-width: 959px) {
  .page-id-26 h1.c-pageTitle::after {
    width: clamp(23px, 3vw, 35px);
    bottom: -0.3em;
  }
}
@media (max-width: 599px) {
  .page-id-26 .l-topTitleArea__body.l-container::after {
    top: 98% !important;
  }
}

/* ========== 特定商取引法に基づく表記ページ(.page-id-24) ========== */
/* サブタイトルのテキスト */
.page-id-24 .l-topTitleArea__body.l-container::after {
  content: "特定商取引法に基づく表記";
  position: absolute;
  top: 85%;
  left: 8.2%;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.page-id-24 .wp-block-table > table tr > :first-child:not(.-no1) {
  width: 31%;
}

/* メールアドレスを画像挿入 */
figure.wp-block-table.legal_text tr:nth-child(5) td:last-child::after {
  content: "";
  display: inline-block;
  width: 290px;
  height: 24px;
  background: url("https://fragrance-koubou-kaori.com/wp-content/uploads/2025/09/text2image.png")
    no-repeat center / contain;
}

figure.wp-block-table.legal_text.is-all-centered--va.sp_block_ td a {
  border-bottom: 0.5px solid #333333;
  transition: all 0.3s ease;
}
figure.wp-block-table.legal_text.is-all-centered--va.sp_block_ td a:hover {
  opacity: 0.7;
}
