:root {
  /* カラーパレット */
  --color-cream: #fff6e0;
  --color-white: #fff;
  --color-shadow-dark: rgba(0, 0, 0, 0.8);
  --color-shadow-medium: rgba(0, 0, 0, 0.6);
  --color-green: #33826F;
  --color-transparent: transparent;
  --color-light-green: #4bbba0;
  --color-dark-text: #4d4845;
  --color-cream-light: #FCF8ED;
  --color-cream-medium: #f6efdb;
  --color-light-gray: #F7F7F7;
  --color-dark-gray: #333333;

  /* フォントサイズ */
  --font-size-xs: 0.6rem;
  --font-size-sm: 1rem;
  --font-size-md: 1.2rem;
  --font-size-lg: 1.5rem;
  --font-size-xl: 2rem;
  --font-size-xxl: 2.5rem;

  /* スペーシング */
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 24px;
  --spacing-lg: 32px;
  --spacing-xl: 48px;
  --spacing-xxl: 56px;

  /* ボーダー */
  --border-radius-standard: 8px;
  --border-radius-large: 12px;
  --border-radius-circle: 50%;
  --border-radius-pill: 104px;
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 3px;
  --border-green: var(--border-width-thin) solid var(--color-green);
  --border-light-green: var(--border-width-medium) solid var(--color-light-green);

  /* フォント */
  --font-family-mincho: "Noto Serif JP", serif;
  --font-family-base: "Noto Serif JP", serif;

  /* ライン高さ - すべて1.7に統一 */
  --line-height: 2;

  /* アイコンサイズ */
  --icon-size-sm: 24px;
  --icon-size-md: 30px;
  --icon-size-lg: 60px;

  /* 画像サイズ */
  --img-width-xs: 10%;
  --img-width-sm: 40%;
  --img-width-md: 50%;
  --img-width-lg: 80%;
  --img-width-xl: 100%;

  /* コンテナサイズ */
  --container-width-sm: 294px;
  --container-width-md: 500px;
  --container-width-lg: 600px;
  --container-width-xl: 1200px;

  /* パディング・マージン倍率 */
  --padding-multiplier-xs: 0.5;
  --padding-multiplier-sm: 1;
  --padding-multiplier-md: 1.5;
  --padding-multiplier-lg: 2;
}

p {
  margin: var(--spacing-sm) 0 var(--spacing-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height);
}

.page-id-6 h2, .postid-150 h2 {
  margin: 0;
  margin-top: 8px;
}

.h2_middle {
  text-align: center;
}

.page-id-6 div, .postid-150 div {
  font-family: "Noto Serif JP", serif;
  font-style: normal;
}

/* PC用スタイル */
.bg_cream {
  background-color: var(--color-cream);
}

/* PCでは pc-fv-img を表示し、sp-fv-img を非表示にする */

.sp-fv-img {
  display: none;
}

/* 特定のページでc-pageTitleを非表示にする */
.page-id-6 .c-pageTitle, .postid-150 .c-pageTitle {
  display: none;
}

.page-id-6 .post_content, .postid-150 .post_content {
  margin: 0;
}

.page-id-6 .l-content, .postid-150 .l-content {
  padding-top: 4vw;
}

.page-id-6 .post_content>*, .postid-150 .post_content>* {
  margin-bottom: 0;
}

section {
  padding: var(--spacing-lg) var(--spacing-sm);
}

/* CTAセクションの背景画像設定 */
.cta {
  overflow: hidden;
  background-image: url('../img/cta_bk.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.cta_catch {
  z-index: 1;
  position: relative;
  filter:
    drop-shadow(4px 4px 8px rgba(66, 137, 128, 0.4)) drop-shadow(-4px -4px 8px rgba(66, 137, 128, 0.4)) drop-shadow(0 0 12px rgba(66, 137, 128, 0.3));
}

.price {
  width: var(--img-width-md);
  margin-top: var(--spacing-lg);
  margin-left: 32px;
  filter:
    drop-shadow(0 0 2px rgba(66, 137, 128, 0.9)) drop-shadow(2px 2px 4px rgba(66, 137, 128, 0.6)) drop-shadow(-2px -2px 4px rgba(66, 137, 128, 0.6)) drop-shadow(4px 4px 8px rgba(66, 137, 128, 0.4)) drop-shadow(-4px -4px 8px rgba(66, 137, 128, 0.4)) drop-shadow(0 0 12px rgba(66, 137, 128, 0.3));
}

.girl {
  position: absolute;
  right: 0;
  width: var(--img-width-sm);
  bottom: -60px;
}

.nayami_h2 {
  color: var(--color-white);
  text-shadow:
    2px 2px 4px var(--color-shadow-dark),
    -2px 2px 4px var(--color-shadow-dark),
    2px -2px 4px var(--color-shadow-dark),
    -2px -2px 4px var(--color-shadow-dark),
    4px 4px 6px var(--color-shadow-medium),
    -4px 4px 6px var(--color-shadow-medium),
    4px -4px 6px var(--color-shadow-medium),
    -4px -4px 6px var(--color-shadow-medium);
}

.page-id-6 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.postid-150 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  background-color: var(--color-transparent);
}

.page-id-6 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
.postid-150 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  border: none;
}

.nayami_h2 {
  text-align: center;
  color: var(--color-white) !important;
  font-size: var(--font-size-xl) !important;
  margin: 0 !important;
}

.nayami_section {
  background-image: url('../img/nayami_bg.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg_cream h2 {
  color: var(--color-green);
  font-size: 2rem;
}

.page-id-6 section h2, .postid-150 section h2 {
  color: var(--color-green);
  font-size: 2rem;
}

.nayami_sub_tx {
  color: var(--color-green);
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0;
}

.nayami_text {
  font-size: var(--font-size-sm);
  margin: 0;
  line-height: var(--line-height);
}

.nayami_wrap {
  width: var(--img-width-xl);
  gap: var(--spacing-sm);
  border: var(--border-green);
  background-color: var(--color-white);
  border-radius: var(--border-radius-standard);
  padding: var(--spacing-sm);
  align-items: center;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  max-width: var(--container-width-md);
}

.batsu {
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.batsu_wrap {
  width: var(--img-width-xl);
}

.nayami_content_wrap {
  display: grid;
  gap: var(--spacing-md);
}

.nayami_cta {
  display: flex;
  justify-content: center;
  gap: var(--spacing-md);
  align-items: center;
  margin-top: var(--spacing-lg);
}

.nayami_cta p {
  font-size: var(--font-size-xl);
  font-weight: bold;
}

.small_text {
  font-size: var(--font-size-lg);
}

.kaiketsu_sec {
  padding-bottom: 0;
}

/* おすすめセクションのスタイル */
.recommend-section {
  width: var(--img-width-xl);
  padding: var(--spacing-lg) var(--spacing-sm);
  background: var(--color-cream-light);
  font-family: var(--font-family-mincho);
}

.recommend-container {
  max-width: var(--container-width-xl);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: relative;
}



.recommend-title {
  color: #33826F;
  font-size: 32px;
  font-weight: 800;
  margin: 0;
  width: 100%;
}

.recommend-subtitle {
  color: #4D4845;
  font-size: medium;
  line-height: var(--line-height);
  margin: 0;
  width: 100%;
}

.recommend-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  width: 100%;
}

.recommend-card {
  background: var(--color-white);
  border-radius: 5px;
  border: 1px solid var(--color-dark-text);
  display: flex;
  align-items: center;
  padding: 15px;
  min-height: 80px;
}

.recommend-card-content {
  flex: 1;
}

.recommend-card-text {
  color: #4D4845;
  font-size: medium;
  line-height: var(--line-height);
  margin: 0;
}

.recommend-card-icon {
  width: var(--icon-size-lg);
  height: var(--icon-size-lg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: 10px;
}

.recommend-icon-1 {
  background-image: url('../img/recommend-icon1.svg');
}

.recommend-icon-2 {
  background-image: url('../img/recommend-icon2.svg');
}

.recommend-icon-3 {
  background-image: url('../img/recommend-icon3.svg');
}

.recommend-icon-4 {
  background-image: url('../img/recommend-icon4.svg');
}



.page-id-6 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.postid-150 .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  padding: .75em 0em;
}


/* 吹き出し */
.balloon5 {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon5 p {
  margin: 0 !important;
}

.balloon5 .faceicon {
  float: left;
  margin-right: -90px;
  width: 60px;
}

.balloon5 .faceicon img {
  width: 100%;
  height: auto;
  border: solid 3px var(--color-greens);
  border-radius: 50%;
}

.balloon5 .chatting {
  width: 100%;
}

.says {
  display: inline-block;
  position: relative;
  margin: 5px 0 0 80px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #F7F7F7;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #F7F7F7;
}

.says p {
  margin: 0;
  padding: 0;
  line-height: var(--line-height);
}

.faceicon p {
  font-size: .6rem;
  text-align: center;
}

.sub_h2 {
  font-size: 1.5rem;
}

.bg_cream_1 {
  background-color: #f6efdb;
}

/* 駆け出しの頃の悩みポイント */
.beginner-concerns {
  width: 100%;
  position: relative;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid var(--color-green, #33826f);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 16px;
  gap: 16px;
  text-align: left;
  font-size: 21px;
  color: var(--color-green, #33826f);
  font-family: "Noto Serif JP", serif;
  margin-bottom: 24px;
}

.beginner-concerns__header {
  align-self: stretch;
  position: relative;
}

.beginner-concerns__title {
  margin: 0;
  font-weight: bold;
  font-size: large;
}

.beginner-concerns__list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 16px;
  font-size: 16px;
  color: #4d4845;
}

.beginner-concerns__item {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.beginner-concerns__item--wide {
  width: 100%;
}

.beginner-concerns__icon {
  width: var(--icon-size-sm);
  height: 25.5px;
  position: relative;
  flex-shrink: 0;
}

.beginner-concerns__text {
  flex: 1;
  position: relative;
  display: inline-block;
  font-size: medium;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .beginner-concerns {
    font-size: 18px;
    padding: var(--spacing-xs);
  }

  .beginner-concerns__list {
    font-size: 14px;
  }

  .beginner-concerns__item--wide {
    max-width: var(--img-width-xl);
  }

  .platform-compare {
    padding: var(--spacing-xs);
    gap: var(--spacing-sm);
  }
}

.kouza_img {
  margin: 16px 0;
}

.h2_left {
  font-size: 1.5rem;
  color: #333333 !important;
}

.h2_sub_green {
  color: var(--color-green);
  font-size: 1.5rem;
  font-weight: bold;
}

.h3_middle {
  font-size: 2rem !important;
  margin: 32px 0 16px !important;
  text-align: left;
}

.page-id-6 .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
.postid-150 .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  background: none;
}

.h3_sub {
  font-size: 1.2rem;
  background-color: var(--color-white);
  padding: 16px;
}

.text {
  margin: 16px 0;
}

/* プラットフォーム比較セクション */
.platform-compare {
  width: 100%;
  position: relative;
  border-radius: var(--border-radius-standard);
  background-color: var(--color-white);
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: var(--spacing-sm);
  gap: var(--spacing-md);
  text-align: left;
  font-size: var(--font-size-sm);
  color: var(--color-green);
  font-family: var(--font-family-mincho);
  margin-bottom: var(--spacing-md);
}

.platform-compare__title {
  position: relative;
  font-size: 21px;
  font-weight: bold !important;
}

.platform-compare__description {
  align-self: stretch;
  position: relative;
  line-height: var(--line-height);
  color: #4d4845;
}

.platform-compare__text {
  margin: 0;
}

.platform-compare__text--mb24 {
  margin-bottom: 24px;
}

.platform-compare__accordion {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--spacing-sm);
  color: var(--color-white);
}

.platform-compare__accordion-item {
  align-self: stretch;
  border-radius: 8px;
  background-color: #4bbba0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 4px;
  overflow: hidden;
  transition: background-color 0.3s ease;
  /* トランジション効果を追加 */
}

.platform-compare__accordion-header {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 8px;
  width: 100%;
  box-sizing: border-box;
  transition: background-color 0.3s ease;
  /* トランジション効果を追加 */
}

/* ホバー効果を修正 */
.platform-compare__accordion-header:hover {
  background-color: #33826f;
  /* 若干濃い色に変更 */
}

.platform-compare__accordion-title {
  position: relative;
  line-height: var(--line-height);
  font-size: 1.2rem;
  font-weight: bold !important;
  flex: 1;
}

.platform-compare__accordion-icon {
  font-size: 24px;
  color: var(--color-white);
  transition: transform 0.5s ease;
}

.platform-compare__accordion-item.active .platform-compare__accordion-icon {
  transform: rotate(180deg);
}

.platform-compare__accordion-content {
  display: none;
  padding: 8px;
  line-height: var(--line-height);
  margin-top: 8px;
  background-color: var(--color-white);
}

.platform-compare__accordion-content p {
  line-height: var(--line-height);
}

.platform-compare__accordion-item.active .platform-compare__accordion-content {
  display: block;
}

.platform-compare__accordion-content p {
  color: var(--color-green);
}

.green_h3 {
  background-color: var(--color-light-green);
  padding: 1rem .5rem !important;
  margin: 0 !important;
  color: var(--color-white);
}

/* YouTubeリストボックス */
.youtube-list {
  width: 100%;
  position: relative;
  border-radius: var(--border-radius-standard, 8px);
  background-color: var(--color-white, #fff);
  border: 1px solid var(--color-light-green, #4bbba0);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: var(--spacing-sm, 16px);
  text-align: left;
  font-size: var(--font-size-sm, 16px);
  color: var(--color-dark-text, #4d4845);
  font-family: var(--font-family-mincho, YuMincho, "Yu MinCho", "游明朝", serif);
  margin-bottom: var(--spacing-md, 24px);
  margin: 16px 0;
}

.youtube-list__container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 32px;
}

.youtube-list__item {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 19px;
}

/* YouTubeリストボックスのアイコン修正 */
.youtube-list__icon-wrapper {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  position: relative;
  background-color: var(--color-light-green);
  border-radius: var(--border-radius-circle);
  display: flex;
  align-items: center;
  justify-content: center;
}

.youtube-list__check-icon {
  color: var(--color-white, #fff);
  font-size: 16px;
}



.youtube-list__text {
  flex: 1;
  position: relative;
  line-height: var(--line-height);
}


.cyuui_title_wrap {
  display: flex;
  gap: 16px;
  justify-content: center;
  width: 100%;
  margin: 56px 0 16px;
}

.cyuui_title {
  font-size: var(--font-size-md);
  font-weight: bold !important;
}

/* 吹き出し */
.balloon4 {
  position: relative;
  margin: 2em 0 2em 40px;
  padding: 15px;
  background: #fff0c6;
  border-radius: 30px;
}

.balloon4:before {
  content: "";
  position: absolute;
  left: -38px;
  width: 13px;
  height: 12px;
  bottom: 0;
  background: #fff0c6;
  border-radius: 50%;
}

.balloon4:after {
  content: "";
  position: absolute;
  left: -24px;
  width: 20px;
  height: 18px;
  bottom: 3px;
  background: #fff0c6;
  border-radius: 50%;
}

.balloon4 p {
  margin: 0;
  padding: 0;
}



/************************************
** アイコンつきリスト
************************************/
/* ボックス全体 */
.iconbox {
  margin: 2rem auto 2em;
  /* 余白 */
  background: #fef9ed;
  /* 背景色 */
  border-radius: 4px;
  /* 角丸 */
  max-width: 600px;
  /* 横幅 */
  padding: 0;
  /* 余白 */
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
  /* 影 */
}

/* ボックスタイトル */
.iconbox .box-title {
  font-size: 18px;
  /* 文字サイズ */
  background: var(--color-green);
  /* 背景色 */
  text-align: left;
  /* 文字配置 */
  color: #fff;
  /* 文字色 */
  font-weight: bold;
  /* 文字太さ */
  letter-spacing: 0.05em;
  /* 文字間隔 */
  border-radius: 4px 4px 0 0;
  /* 角丸 */
  line-height: var(--line-height);
  /* 行間 */
  padding: 1em 2em;
  /* 余白 */
}

/* 段落の余白リセット */
.iconbox p {
  margin: 0;
  /* 文字の余白リセット */
  padding: 0;
  /* 文字の内側余白リセット*/
}

/* ボックス 中 */
.iconbox .iconbox-wrap {
  display: -webkit-box;
  /* 配置 */
  display: -ms-flexbox;
  /* 配置 */
  display: flex;
  border-radius: 8px;
  /* 配置 */
  padding: 1.3em 2em;
  /* 余白 */
  background-color: var(--color-white);
}

/* コンテンツ */
.iconbox .iconbox-wrap .box-content {
  width: 97%;
  /*横幅 */
  margin: 0 3% 0 0 !important;
  /* 余白 */
  line-height: var(--line-height);
  /* 行間 */
  -ms-flex-item-align: center;
  /* 中央寄せ */
  align-self: center;
  /* 中央寄せ */
}

/* コンテンツ段落 */
.iconbox .iconbox-wrap .box-content p {
  margin-bottom: 1em;
  /*余白 */
}

/* アイコン&吹き出し */
.iconballoon {
  -ms-flex-item-align: end;
  /* 下部に配置 */
  align-self: flex-end;
  /* 下部に配置 */
}

/* アイコン */
.iconballoon .icon {
  text-align: center;
  /* 位置を中央へ */
}

/* アイコン画像 */
.iconballoon .icon img {
  width: 120px;
  /* 横幅 */
  margin: 0;
  /* 余白 */
}

/* アイコン画像 (amp)*/
.iconballoon amp-img {
  max-width: 120px !important;
  /* 横幅 */
  margin: 0;
  /* 余白 */
}

/* 吹き出し文字 */
.iconballoon .balloon p {
  line-height: var(--line-height);
  /* 行間 */
}

/* 吹き出し */
.iconballoon .balloon {
  position: relative;
  /* 配置 */
  width: 140px;
  /* 横幅 */
  background: #fff;
  /* 背景色 */
  padding: 10px;
  /* 余白 */
  text-align: center;
  /* 中央寄せ */
  border: 2px solid #999;
  /* 線(太さ 種類　色) */
  color: #555555;
  /* 文字色 */
  font-size: 14px;
  /* 文字サイズ */
  font-weight: bold;
  /* 文字太さ */
  border-radius: 10px;
  /* 角丸 */
  margin-bottom: 10px;
  /* 余白 */
  line-height: var(--line-height);
  /* 行間 */
}

/* 吹き出し(三角) */
.iconballoon .balloon:after, .balloon:before {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.iconballoon .balloon:after {
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10px;
  border-top-color: #FFFFFF;
}

.iconballoon .balloon:before {
  border-color: "rgba(153, 153, 153, 0)";
  border-top-width: 12px;
  border-bottom-width: 12px;
  border-left-width: 12px;
  border-right-width: 12px;
  margin-left: -12px;
  margin-top: 1px;
  border-top-color: #999999;
}

/*スマホ*/
@media screen and (max-width: 480px) {

  /* ボックスタイトル */
  .iconbox .box-title {
    font-size: 14px;
    /* 文字サイズ */
  }

  /* ボックス 中 */
  .iconbox .iconbox-wrap {
    padding: 1em 1em 1em 1.5em;
    /* 余白 */
  }

  /* コンテンツ */
  .iconbox .iconbox-wrap .box-content {
    font-size: 1rem;
    /*文字サイズ */
  }

  /* アイコン画像 */
  .iconballoon .icon img {
    width: 80px;
    /* 横幅 */
    margin-top: 5px;
    /* 余白 */
  }

  /* アイコン画像(amp) */
  .iconballoon amp-img {
    max-width: 80px !important;
    /* 横幅 */
    margin-top: 5px;
    /* 余白 */
  }

  /* 吹き出し */
  .iconballoon .balloon {
    width: 80px;
    /* 横幅 */
    font-size: 10px;
    /* 文字サイズ */
    padding: 1em 0;
    /* 余白 */
    border: 1px solid #999;
    /* 線(太さ 種類 色) */
  }

  /* 吹き出し(三角) */
  .iconballoon .balloon:after {
    border-top-width: 12px;
    border-bottom-width: 10px;
    border-left-width: 11px;
    border-right-width: 11px;
    margin-left: -11px;
    border-top-color: #FFFFFF;
  }
}

.point {
  width: var(--img-width-xs);
}

.box-title {
  display: flex;
  gap: 8px;
}

/* 横スクロール */
.youtube-demerits {
  width: 100%;
  overflow: hidden;
}

.youtube-demerits__scroll {
  overflow-x: auto;
  white-space: nowrap;
  padding: 16px 0;
  -webkit-overflow-scrolling: touch;
}

.youtube-demerits__card {
  display: inline-block;
  width: var(--img-width-lg);
  max-width: 300px;
  vertical-align: top;
  white-space: normal;
  border-radius: var(--border-radius-standard);
  background-color: var(--color-white);
  border: var(--border-width-thin) solid var(--color-light-green);
  box-sizing: border-box;
}

.youtube-demerits__card:not(:last-child) {
  margin-right: 8px;
}

.youtube-demerits__image {
  width: 100%;
  height: 230px;
  padding: 16px;
  object-fit: cover;
}

.youtube-demerits__content {
  padding: 16px;
}

.demerit_wrap img {
  width: 100%;
  margin: 16px 0;
}

.youtube-demerits__title {
  font-size: 16px;
  font-weight: 800;
  line-height: var(--line-height) !important;
  color: #4d4845;
  margin: 0 0 16px 0;
}

.youtube-demerits__text {
  font-size: 1rem;
  line-height: var(--line-height);
  color: #4d4845;
  margin: 0;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.youtube-demerits__scroll::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.youtube-demerits__scroll {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

.demerit_wrap {
  margin: 16px 0 32px;
}

.list_gap {
  gap: 24px;
}

/* 受講生の声 横スクロールセクション */
.testimonials-scroll {
  width: 100%;
  position: relative;
  overflow-x: auto;

  -webkit-overflow-scrolling: touch;
}

.testimonials-scroll__container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--spacing-sm);
}

.testimonials-scroll__card {
  min-width: 284px;
  border-radius: var(--border-radius-standard);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: var(--spacing-sm);
  box-sizing: border-box;
  gap: var(--spacing-md);
  flex-shrink: 0;
  width: 80%;
  max-width: 300px;
}

.testimonials-scroll__header {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--spacing-xs);
}

.testimonials-scroll__avatar {
  width: 71px;
  position: relative;
  border-radius: var(--border-radius-circle);
  height: 71px;
  flex-shrink: 0;
  border: 3px solid var(--color-green);
  overflow: hidden;
  background-color: var(--color-light-gray);
}



.testimonials-scroll__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--spacing-xs);
}

.testimonials-scroll__quote {
  align-self: stretch;
  position: relative;
  line-height: var(--line-height);
  font-weight: 800;
  color: var(--color-green);
}

.testimonials-scroll__profile {
  align-self: stretch;
  border-radius: 4px;
  background-color: var(--color-green);
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 4px var(--spacing-xs);
  font-size: var(--font-size-xs);
  color: var(--color-white);
  font-family: 'Noto Sans JP', sans-serif;
}

.testimonials-scroll__profile b {
  font-size: .8rem;
}

.testimonials-scroll__text {
  align-self: stretch;
  position: relative;
  line-height: var(--line-height);
  color: var(--color-dark-text);
}

/* Hide scrollbar for Chrome, Safari and Opera */
.testimonials-scroll::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.testimonials-scroll {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {

  .testimonials-scroll__card {
    min-width: 260px;
  }
}

/* 特徴ポイントセクションのスタイル */
.feature-points-section {
  padding: 40px 0;
}

.fp-point-text {
  position: relative;
  font-size: 1rem;
  color: #fff;
  font-family: 'Noto Sans JP';
}

.fp-point-wrapper {
  border-radius: var(--border-radius-pill);
  background-color: var(--color-green);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 4px var(--spacing-sm);
}

.fp-title {
  align-self: stretch;
  position: relative;
  font-size: 21px;
  font-family: "Noto Serif JP", serif;
  color: #33826f;
  font-weight: bold;
  line-height: var(--line-height) !important;
}

.fp-frame-group {
  width: var(--container-width-sm);
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 7px;
  margin-bottom: var(--spacing-sm);
}

.fp-frame-image {
  align-self: stretch;
  position: relative;
  overflow: hidden;
  height: auto;
  width: var(--img-width-sm);
  flex-shrink: 0;
  object-fit: contain;
  max-height: 270px;
}

.fp-paragraph {
  margin-block-start: 0;
  margin-block-end: 24px;
  line-height: var(--line-height);
}

.fp-paragraph-last {
  margin: 0;
}


.fp-description {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  line-height: var(--line-height);
  font-family: "Noto Serif JP", serif;
  color: #33826f;
}

.fp-frame-parent {
  width: 100%;
  position: relative;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #33826f;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 16px;
  gap: 27px;
  text-align: left;
  font-family: 'Noto Sans JP';
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .fp-frame-group {
    width: 100%;
  }

  .fp-title {
    margin-top: 8px;
    font-size: 1.2rem;
  }

  .fp-description {
    font-size: 14px;
    line-height: 24px;
  }
}

.point_wrap {
  display: flex;
  gap: 16px;
}


.fp-frame-image_sp {
  display: none;
}

.fp-frame-image {
  display: block;
}

.fp-frame-parent_wrap {
  display: grid;
  gap: 16px;
}

.list_wrap li {
  border: var(--color-dark-gray) 1px solid;
  padding: 8px;
  list-style: none;
  border-radius: 50px;
  text-align: center;
  color: var(--color-dark-gray);
}

.page-id-6 .post_content ol, .page-id-6 .post_content ul,
.postid-150 .post_content ol, .postid-150 .post_content ul {
  padding-left: 1.3em;
}

.fp-frame-parent p {
  color: var(--color-dark-gray);
}

.font_accent {
  font-size: 1.7rem;
  font-weight: bold;
  color: var(--color-green);
}

/* ボックス */
.box27 {
  position: relative;
  margin: 3em 0 2em;
  padding: 0.5em 1em;
  border: solid 2px var(--color-green);
  background-color: var(--color-white);
}

.box27 .box-title {
  position: absolute;
  display: inline-block;
  top: -27px;
  left: -3px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background: var(--color-green);
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}



.box27 ul {
  margin-left: 1rem;
}

.sub_text {
  margin: 8px 0 4px;
  padding: 8px;
  background-color: var(--color-light-gray);
}

.link {
  text-decoration: underline;
  font-size: 1rem;
  display: block;
}

.text_list {
  margin: 8px 0 !important;
}

.step.u-col-main {
  color: var(--color-green) !important;
}

.fa-book {
  margin-right: 8px;
}

.step_h3 {
  color: var(--color-green);
  margin-bottom: 16px !important;
}

.is-style-small .swell-block-step__number {
  color: var(--color-green);
}

/* テーブル */
.table {
  width: 100%;
  max-width: 530px;
  margin: 0 auto;
}

.table_wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

.red {
  color: rgb(183, 26, 26);
  font-weight: bold;
}

/* アコーディオン */
/* 簡易リセットCSS */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* アコーディオン全体 */
.accordion {
  width: 100%;
  margin: 0 auto;
}

/* アコーディオン */
.accordion__item {
  border: 1px solid var(--color-green);
  margin-top: 10px;
  cursor: pointer;
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: 8px;
}

/* アコーディオンのタイトル */
.accordion__title {
  position: relative;
  padding: 15px 60px 15px 20px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  background-color: var(--color-green);
  /* border-radius: 7px; */
  color: var(--color-white);
}

.accordion__title span {
  font-size: 2rem;
  margin-right: 8px;
  line-height: 1;
  font-weight: normal;
  color: var(--color-white);

}



.accordion__content span {
  font-size: 2rem;
  margin-right: 8px;
  line-height: 1;
  font-weight: normal;
  color: rgb(156, 35, 35);
}

.accordion__content ul {
  margin-left: 16px;
}

/* (+)アイコン */
.accordion__title::before,
.accordion__title::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-color: var(--color-white);
  width: 20px;
  height: 2px;
  transition: all 0.3s;
}

.accordion__title::after {
  transform: rotate(90deg);
}

/* アコーディオンのコンテンツ */
.accordion__content {
  padding: 15px 20px 15px 20px;
  display: none;
  cursor: pointer;
}

.accordion__content.is-open {
  display: block;
}

/* アコーディオン展開時の(-)アイコン */
.accordion__item.is-active .accordion__title::before {
  transform: rotate(180deg);
}

.accordion__item.is-active .accordion__title::after {
  transform: rotate(180deg);
  opacity: 0;
}

/* .動画講座に対する想い */
.name {
  font-size: var(--font-size-md);
  margin: 0;
}

.sub_name {
  font-size: var(--font-size-sm);
  margin-bottom: 0 !important;
}

.mackee {
  width: 100px;
  border-radius: 100%;
}

.name_content_wrap {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: flex-end;
}

.green_h2 {
  color: var(--color-green) !important;
}

.name_text {
  background-color: var(--color-white);
  padding: 8px;
}




/* コンタクトフォーム */
.wpcf7-form {
  max-width: 600px;
  margin: 0 auto;
  font-family: "Helvetica Neue", sans-serif;
  color: #333;
}

.wpcf7-form p {
  margin-bottom: 14px; /* 20px → 14pxに変更 */
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  margin-top: 4px; /* 6px → 4pxに変更：見出しと入力欄の余白を狭める */
}

.wpcf7-form textarea {
  height: 120px;
  resize: vertical;
}

.required {
  color: #fff;
  background-color: #e74c3c;
  font-size: 12px;
  padding: 2px 6px;
  margin-left: 6px;
  border-radius: 4px;
  vertical-align: middle;
}

/* ラジオボタン */
.wpcf7-list-item {
  display: block;
  margin: 6px 0; /* 余白少なめに */
  position: relative;
  padding-left: 30px;
  font-size: 16px;
  cursor: pointer;
}

.wpcf7-list-item input[type="radio"] {
  position: absolute;
  left: 0;
  top: 10px;
  accent-color: #5fbbba;
}

.wpcf7-list-item-label {
  cursor: pointer;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"] {
  background-color: #5fbbba !important;
  color: white;
  padding: 14px 28px;
  font-size: 18px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s;
  width: 100%;
}

.wpcf7-form input[type="submit"]:hover {
  background-color: #4aa3a3;
}

/* モバイル対応：送信ボタンは幅100% */
@media (max-width: 768px) {
  .wpcf7-form input[type="submit"] {
    width: 100%;
  }
}
/* 各項目のラベルに余白を追加 */
.wpcf7-form .form-label {
  display: inline-block;
  margin-top: 16px;
  font-weight: bold;
  font-size: 16px;
}

/* 最初のラベルだけマージンを無効に */
.wpcf7-form p:first-of-type .form-label {
  margin-top: 0;
}

.wpcf7-form .submit-btn {
  background-color: #5FBBBA;
  color: white;
  padding: 14px 28px;
  font-size: 18px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
  width: 100%;
  justify-content: center;
}

.wpcf7-form .submit-btn:hover {
  background-color: #4aa3a3 !important; /* 少し深い色 */
}
.grecaptcha-badge { visibility: hidden; }

.ribon{
	width:100%;
}
