@charset "UTF-8";
/* =========================================================================
   【Land-A仕様】絶対カラーパレット・変数定義（規律の根源）
   ========================================================================= */
:root {
  --landa-color-main: #a83f3f; /* テーマカラー（えんじ） */
  --landa-color-text: #333333; /* 基本テキスト */
  --landa-color-title: #191919; /* タイトル・強調テキスト */
  --landa-border-light: #e0e0e0; /* 基本の薄い枠線 */
  --landa-border-base: #d0d0d0; /* アクセント枠線（公式グレー） */
  --landa-bg-gray: #f2f2f2; /* 基本のグレー背景 */
}

/* テキスト色・背景色パレット */
.has-cyan-bluish-gray-color {
  color: #666 !important;
}

.has-pink-background-color {
  background-color: #F9C1CF;
}

.has-yellow-background-color {
  background-color: #FFEC50;
}

.has-pale-cyan-blue-background-color {
  background-color: #c1e1dc;
}

.has-light-gray-background-color {
  background-color: #eeeeee;
}

.has-light-green-cyan-background-color {
  background-color: #A2D29E;
}

.has-red-background-color {
  background-color: #cf2e2e;
}

.has-orange-background-color {
  background-color: #eb8a44;
}

.has-amber-background-color {
  background-color: #fcb900;
}

.has-vivid-green-cyan-background-color {
  background-color: #00d084;
}

.has-vivid-cyan-blue-background-color {
  background-color: #0693e3;
}

.has-white-background-color {
  background-color: #ffffff;
}

.has-dark-gray-background-color {
  background-color: #313131;
}

@layer legacy {
  /* =========================================================================
     箇条書きリスト（ul, ol）の理想装飾（THE THORの干渉を完全排除）
     ========================================================================= */
  /* コンテンツの最初の要素の上余白を消去 */
  body .content > :first-child,
  .editor-styles-wrapper body .content > :first-child {
    margin-top: 0 !important;
  }
  /* リスト全体の基本設定 */
  body .content ul,
  body .content ol,
  .editor-styles-wrapper body .content ul,
  .editor-styles-wrapper body .content ol {
    color: var(--landa-color-title, #191919);
    background-color: transparent !important;
    margin: 0;
    margin-top: 2rem;
    padding: 0;
    list-style-type: none;
  }
  /* 各リスト項目の設定 */
  body .content ul li,
  body .content ol li,
  .editor-styles-wrapper body .content ul li,
  .editor-styles-wrapper body .content ol li {
    position: relative;
    list-style: none;
    background-color: transparent !important;
    margin: 0;
    margin-top: 1rem;
    padding: 0;
    padding-left: 1.7rem;
    line-height: 1.5;
  }
  /* 最初のliの上余白を0に */
  body .content ul li:first-child,
  body .content ol li:first-child,
  .editor-styles-wrapper body .content ul li:first-child,
  .editor-styles-wrapper body .content ol li:first-child {
    margin-top: 0;
  }
  /* =========================================
     【表側・エディター共通】サイト全体のUI・装飾
     ========================================= */
  .pagePager__item,
  .editor-styles-wrapper .pagePager__item {
    color: #fff;
    background: var(--landa-color-main) !important;
  }
  .pagePager__item:hover,
  .editor-styles-wrapper .pagePager__item:hover {
    color: var(--landa-color-main);
    background: #f6f6f6 !important;
  }
  .phrase a,
  .editor-styles-wrapper .phrase a {
    color: var(--landa-color-title);
  }
  .comments__list .comment-reply-link,
  .editor-styles-wrapper .comments__list .comment-reply-link {
    color: #888888 !important;
    padding: 5px;
    border: none;
    font-size: 0;
    margin: -30px 0 0;
  }
  .comments__list em,
  .editor-styles-wrapper .comments__list em {
    font-style: italic;
    color: #888888;
  }
  .comments__list .comment-reply-link::before,
  .comment-body + #respond .replay_none,
  .editor-styles-wrapper .comments__list .comment-reply-link::before,
  .editor-styles-wrapper .comment-body + #respond .replay_none {
    display: none;
  }
  .replay_show,
  .editor-styles-wrapper .replay_show {
    display: none;
  }
  .comment-body + #respond .replay_show,
  .editor-styles-wrapper .comment-body + #respond .replay_show {
    display: inline-block;
  }
  .comment-body + #respond .form-submit .replay_show,
  .editor-styles-wrapper .comment-body + #respond .form-submit .replay_show {
    display: block;
  }
  .comments__list .comment-reply-link:after,
  .editor-styles-wrapper .comments__list .comment-reply-link:after {
    content: "";
    width: 32px;
    height: 26px;
    display: block;
    background: url(https://miena.net/wp/wp-content/uploads/2025/06/hukidasi_icon.png) center/100% no-repeat;
    margin: -20px -5px 0;
    opacity: 0.6;
  }
  .comment-respond #cancel-comment-reply-link,
  .editor-styles-wrapper .comment-respond #cancel-comment-reply-link {
    float: right;
    border: none;
    color: #999;
  }
  .profile__group,
  .editor-styles-wrapper .profile__group {
    font-weight: 400;
    display: none;
  }
  .partsH2-24 h2.wp-block-heading.category-h2,
  .editor-styles-wrapper .partsH2-24 h2.wp-block-heading.category-h2 {
    padding: 20px;
    background-color: #fff;
    border-left: 4px solid #d8d6d3;
    border-bottom: none;
  }
  .content ul.my-box-list2,
  .editor-styles-wrapper .content ul.my-box-list2 {
    background-color: #b2e8f7;
    padding: 2em;
    border-radius: 5px;
  }
  .content ul.my-box-list li,
  .content ul.my-box-list2 li,
  .editor-styles-wrapper .content ul.my-box-list li,
  .editor-styles-wrapper .content ul.my-box-list2 li {
    list-style: none !important;
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
  }
  .content ul.my-box-list li::before,
  .content ul.my-box-list2 li::before,
  .editor-styles-wrapper .content ul.my-box-list li::before,
  .editor-styles-wrapper .content ul.my-box-list2 li::before {
    content: "" !important;
    display: block;
    position: absolute;
    left: 0;
    top: 6px;
    width: 16px;
    height: 16px;
    border: 2px solid #555;
    background-color: #fff;
    border-radius: 0;
    transform: none;
  }
  .content ul.my-check-list,
  .editor-styles-wrapper .content ul.my-check-list {
    background-color: #a8d1a9;
    padding: 2em;
    border-radius: 5px;
  }
  .content ul.my-check-list li,
  .editor-styles-wrapper .content ul.my-check-list li {
    list-style: none !important;
    position: relative;
    padding-left: 35px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
  .content ul.my-check-list li::before,
  .editor-styles-wrapper .content ul.my-check-list li::before {
    font-family: inherit;
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    border: 2px solid #000;
    background-color: #fff;
    box-sizing: border-box;
    transform: none;
  }
  .content ul.my-check-list li::after,
  .editor-styles-wrapper .content ul.my-check-list li::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid red;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
  }
}
/* ==========================================================================
   1. 共通設定・非表示要素
   ========================================================================== */
.comment-notes,
.comment-form-email,
.comment-form-url,
.copySns__copyInfo,
.content .outline__number {
  display: none;
}

/* ブロックのズレ解消・ベース設定 */
.content {
  position: relative;
}

.content > :first-child {
  margin-top: 0; /* autoから0に修正し、先頭要素の不要な余白を防止 */
}

/* 汎用タイポグラフィ */
cite {
  font-size: 1.2rem;
  font-style: italic;
}

textarea {
  font-size: 16px;
}

/* ==========================================================================
   2. 見出しデザイン (テーマリセット & 装飾最適化)
   ========================================================================== */
/* H3, H4, H5: ベースリセット (H2は独自の装飾を持つため除外) */
body .content h3,
body .content h4,
body .content h5 {
  margin-top: 4rem;
  color: var(--landa-color-title, #191919);
  line-height: 1.5;
  border: none !important;
  box-shadow: none !important;
}

/* 疑似要素の非表示リセット */
body .content h2::before, body .content h2::after,
body .content h3::before, body .content h3::after,
body .content h4::before, body .content h4::after,
body .content h5::before, body .content h5::after {
  display: none !important;
}

/* H2: 背景付き・左下ボーダーデザイン */
body .content h2,
body .content h2.wp-block-heading {
  box-sizing: border-box;
  margin: 4rem 0 0 0;
  padding: 20px !important;
  color: var(--landa-color-title, #191919);
  font-size: 2.2rem;
  line-height: 1.5;
  background-color: #f2f2f2 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: 4px solid rgba(0, 0, 0, 0.1) !important;
  border-left: 4px solid var(--landa-border-base, #d8d8d8) !important;
  box-shadow: none !important;
}

/* H3: 標準スタイルの復元 (重複を解消し、ここに統合) */
body .content h3,
body .content h3.wp-block-heading {
  display: block !important;
  font-size: 1.17em !important;
  margin-block-start: 1em !important;
  margin-block-end: 1em !important;
  margin-inline-start: 0px !important;
  margin-inline-end: 0px !important;
  font-weight: bold !important;
}

/* ==========================================================================
   3. 目次デザイン (Land-A仕様)
   ========================================================================== */
.content .outline {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 90%;
  margin: 40px auto;
  background: #fcfcfc;
  border: none;
}

.outline__title {
  display: inline-block;
  vertical-align: middle;
  padding: 4px 16px;
  color: var(--landa-color-title, #333);
  font-size: 1.3rem;
  font-weight: bold;
  background: #fbfcff;
  border: none;
  border-left: 4px solid var(--landa-border-base, #ccc);
}

.content .outline__list-2,
.content .outline__item {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* リンクデザイン */
.content .outline__link {
  display: block;
  margin-top: 1rem;
  padding-bottom: 0.5rem;
  color: #555555;
  font-size: 1.2rem;
  font-weight: normal;
  text-decoration: none;
  border-bottom: 1px dashed var(--landa-border-base, #999);
  transition: color 0.2s ease;
}

.content .outline__link:hover {
  color: var(--landa-color-main, #333);
}

/* 開閉スイッチ */
.content .outline__toggle {
  display: none;
}

.content .outline__switch {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}

.content .outline__switch::before {
  content: "[開く]";
  margin-left: 8px;
  color: #666666;
  font-size: 1.1rem;
  font-weight: normal;
}

.content .outline__toggle:checked + .outline__switch::before {
  content: "[閉じる]";
}

.content .outline__toggle:not(:checked) + .outline__switch + .outline__list-2 {
  display: none !important;
}

.content .outline__toggle:checked + .outline__switch + .outline__list-2 {
  display: block !important;
  margin-top: 1.2rem;
  padding: 0 24px 24px 24px;
  background: initial;
}

/* ==========================================================================
   4. リスト (ul / li) デザイン
   ========================================================================== */
.content ul {
  box-sizing: border-box;
  margin-top: 2rem;
  margin-bottom: 0;
  padding: 20px;
  color: #191919;
  background-color: #f2f2f2;
  list-style-type: none;
}

.content ul li {
  position: relative;
  margin-top: 1rem;
  padding-left: 1.7rem;
  line-height: 1.5;
  list-style: none;
}

.content ul li:first-child {
  margin-top: 0;
}

/* アイコンフォント */
.content ul > li::before {
  content: "\ea57";
  position: absolute;
  left: 0;
  display: block;
  color: #a83f3f;
  font-family: "icomoon";
  transform: scale(0.6);
}

/* ==========================================================================
   5. 各種コンポーネント
   ========================================================================== */
/* フォームボタン マイクロコピー */
.btn-copy {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 90%;
}

.btn-copy2 {
  margin-top: 0.5rem !important;
  margin-bottom: 5px;
  font-size: 80%;
}

.btn__link-secondary {
  color: #ffffff;
  background-color: #439936;
}

/* テキストのグラデーション（続きを読む機能） */
.content.hide {
  height: 50px;
  overflow-y: hidden;
}

.content .more {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding-top: 100px;
  padding-bottom: 50px;
  font-weight: bold;
  text-align: center;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%);
  cursor: pointer;
}

/* Emanon メニュー */
.epb-menu-list__item {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
}

.epb-menu-list__item:not(:first-child) {
  margin-top: 0;
}

.epb-menu-list__title,
.epb-acordion__price {
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.05em;
  word-break: break-all;
  overflow-wrap: break-word;
  background-color: #fff !important;
  border: 0 !important;
}

.epb-menu-list__item.is-style-epb-border-dotted .epb-acordion__dotted {
  flex-grow: 1;
}

.epb-acordion__dotted {
  margin: 10px 18px;
}

.epb-menu-list__title-sub,
.epb-menu-list__tax {
  font-size: 11.64px;
}

/* お支払い方法 */
.wp-block-columns_payment01,
.wp-block-columns_payment02,
.wp-block-columns_payment03 {
  margin-top: -2rem !important;
}

.wp-block-columns_payment_p03 {
  margin-bottom: -4rem !important;
}

.wp-block-columns_payment_p {
  margin-top: -2.9rem !important;
}

.h2_payment {
  margin-bottom: 4rem !important;
}

.wp-element-caption {
  font-size: 1.2rem;
}

/* タグクラウド */
.widget.widget_tag_cloud a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #666;
  font-size: 16px !important;
  border: none;
}

.widget.widget_tag_cloud a::before {
  content: "\ea56";
  color: #b4d4ad;
}

/* コメント欄 */
.comments__list .comment-author .fn {
  font-size: 1.4rem;
  line-height: 2.3;
}

.wp-block-latest-comments__comment {
  border-bottom: 1px dashed #ccc;
}

.has-excerpts.wp-block-latest-comments {
  margin-top: -25px;
}

/* ページャー */
.pagePager__item:hover {
  background: #a83f3f !important;
}

/* ==========================================================================
   6. メディアクエリ (スマートフォン用)
   ========================================================================== */
@media only screen and (max-width: 480px) {
  body .content h2,
  body .content h2.wp-block-heading {
    font-size: 1.8rem;
  }
  body .content h3,
  body .content h4 {
    font-size: 1.6rem;
  }
  .phrase a {
    color: #191919;
  }
}