/* ============================================================
   BELIEVE マッピング層
   モックのデザイン定義(上記)を BELIEVE の実マークアップへ適用する
   ============================================================ */

/* ---- 基本 ---- */
body{font-family:var(--sans);color:var(--text);background:var(--paper)}
.itaa-sp{display:none!important}
@media(max-width:767px){
  .itaa-pc{display:none!important}
  .itaa-sp{display:block!important}
}
@media (prefers-reduced-motion: reduce){
  .c-inview-fadein,.animate-catch,.animate-catch *,.p-mv1__slide img{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
}

/* ---- アラートバー(ヘッダーメッセージ) ---- */
.p-header-message{font-size:12px;text-align:center;padding:9px 16px;letter-spacing:.08em}
.p-header-message__label{color:#e8e3da;text-decoration:none}
.p-header-message__label:hover{color:var(--copper-soft)}

/* ---- ヘッダー(2段構成 → モックの1段レイアウトへ / PCのみ) ---- */
@media(min-width:901px){
.l-header{position:relative;z-index:100;background:rgba(251,250,247,.92);backdrop-filter:blur(10px);border-bottom:none;display:flex;flex-wrap:wrap;align-items:center;padding-inline:max(24px,calc(50% - 616px))}
.l-header .p-header-message{width:100vw;margin-left:calc(50% - 50vw);order:0}
.p-header-bar_top,.p-header-bar{display:contents}
.p-header-logo{order:1;margin:0;display:flex;align-items:center;height:73px}
.p-header-logo .c-logo__image{width:290px;height:auto}
.p-header-nav{order:2;position:static!important;inset:auto!important;flex:1;display:flex;justify-content:flex-end;margin-right:30px;height:auto!important;z-index:auto}
.p-header-nav__list{display:flex!important;grid-template-columns:none!important;gap:6px;align-items:center;height:auto!important}
.p-header-nav__list>li{display:block}
.p-header-nav__list>li>a{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.08em;position:relative;padding:6px 12px;color:var(--text)}
.p-header-nav__list>li>a::after{content:"";position:absolute;left:12px;right:100%;bottom:0;height:1px;background:var(--copper);transition:right .35s}
.p-header-nav__list>li:hover>a::after{right:12px}
.p-header-top_buttons{order:3;display:flex;flex-direction:row;gap:1px;align-self:flex-start;margin:0}
.p-header-bar_top{border-bottom:none;height:auto;background:none}
.header_button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px!important;height:73px!important;padding-inline:0!important;border-left:none!important;text-align:center;transition:opacity .3s;gap:2px}
.header_button:hover{opacity:.85}
.header_button:nth-of-type(1){background:var(--copper)}
.header_button:nth-of-type(2){background:var(--ink)}
.header_button svg{display:none}
.header_button_label{font-size:12px;font-weight:700;letter-spacing:.1em;color:#fff;line-height:1.4}
.header_button::after{font-family:var(--en);font-size:10px;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.75)}
.header_button:nth-of-type(1)::after{content:"SEMINAR"}
.header_button:nth-of-type(2)::after{content:"ENTRY"}
.p-header-top_buttons .header_button:nth-of-type(3){display:none}

/* メガメニュー位置(display:contents 化に伴い明示) */
.p-megamenu{position:absolute;top:100%;left:0;width:100%}
.p-header-logo_mobile,.l-header [class*="mobile"],.p-header-bar_bottom,.c-hamburger,.p-header-logo_mobile+*{display:none}
.p-header-logo.p-header-logo_mobile{display:none}
}

/* ---- メインビジュアル ---- */
.p-mv1,.p-mv1__track,.p-mv1__list{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.p-mv1__slide{padding:0!important}
.p-mv1__slide img{width:100%;height:100%;object-fit:cover}
.p-mv1{background:var(--ink)}
.p-mv1-overlay{background:linear-gradient(105deg,rgba(20,27,38,.72) 0%,rgba(20,27,38,.35) 48%,rgba(20,27,38,.15) 100%)!important}
.p-mv1-content{position:absolute;z-index:3;inset:auto auto 14% 0;padding-left:max(24px,calc(50% - 616px));text-align:left;color:#fff;max-width:none}
.p-mv1-content-title{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1.65;letter-spacing:.08em;color:#fff}
.p-mv1-content-title::before{content:"INTERNATIONAL TATTOO ARTIST ASSOCIATION";display:block;font-family:var(--en);font-size:clamp(13px,1.4vw,16px);font-weight:500;letter-spacing:.34em;color:var(--copper-soft);margin-bottom:20px}
.p-mv1-content-title_2{margin-top:22px;font-size:clamp(12px,1.2vw,14px);letter-spacing:.12em;color:#d8d3c9}
.p-mv1::after{content:"SCROLL";position:absolute;z-index:3;right:38px;bottom:24px;color:#fff;font-family:var(--en);font-size:11px;letter-spacing:.3em;writing-mode:vertical-rl}

/* ---- コンテンツビルダー共通 ---- */
.p-cb{background:var(--paper)}
.p-cb-item{padding:110px 0}
.p-cb-item-inner.l-inner{max-width:1280px;margin:0 auto;padding:0 24px}
.p-cb-header{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:0;margin-bottom:56px;position:relative;width:100%}
.p-cb-header-main_contents{display:flex;flex-direction:column-reverse;gap:0;width:100%}
.p-cd-header-title_contents{width:100%}
.p-cb-header-catch{font-family:var(--en);font-size:13px;letter-spacing:.32em;color:var(--copper);display:flex;align-items:center;gap:16px}
.p-cb-header-catch::before{content:"";width:36px;height:1px;background:var(--copper);flex:0 0 auto}
.p-cb-header-title{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,34px);letter-spacing:.1em;color:var(--ink);width:100%;margin-top:14px}
.itaa-more,.p-cd-header-title_contents .itaa-more,#news .p-cd-header-title_contents .itaa-more,#faq .p-cd-header-title_contents .itaa-more{position:static;display:flex;width:max-content;align-items:center;gap:14px;margin-top:26px;font-family:var(--en);font-size:13px;font-weight:500;letter-spacing:.24em;color:var(--ink);line-height:1.4}
.itaa-more::after{content:"";width:44px;height:1px;background:var(--ink);transition:width .35s,background .35s;transform:none}
.itaa-more:hover::after{width:64px;background:var(--copper);transform:none}

/* フリースペース(PROGRAM/FLOW/CTA=モックHTMLそのまま)は外枠を無効化 */
#program.p-cb-item,#flow.p-cb-item,#cta.p-cb-item{padding:0}
#program .p-cb-item-inner,#flow .p-cb-item-inner,#cta .p-cb-item-inner{max-width:none;padding:0}
.p-cb-free-content{margin:0}
.p-cb-free-content>p{margin:0}

/* ---- NEWS(お知らせ: 2カラム+リスト表示) ---- */
#news{background:var(--paper-dim)}
#news .p-cb-item-inner{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start}
#news .p-cb-header{margin-bottom:0}
#news .cb-post-list{display:block}
#news .p-post-cards-inner{border-bottom:1px solid var(--line);background:none;box-shadow:none;padding:0;margin:0}
#news .p-post-cards-inner:first-child{border-top:1px solid var(--line)}
#news .p-cb-post-item-thumbnail{display:none!important}
#news .p-post-cards-item{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:baseline;padding:19px 4px;background:none;box-shadow:none;margin:0}
#news .p-post-cards-item__link{display:contents!important}
#news .p-cb-post-item-date{grid-column:1;grid-row:1}
#news .c-category_type{grid-column:2;grid-row:1;position:static!important;inset:auto!important;min-width:0!important;background:none!important;display:block;z-index:auto;font-size:0;line-height:0}
#news .p-cb-post-item-title{grid-column:3;grid-row:1;font-size:14px;font-weight:500;line-height:1.8;letter-spacing:.04em;min-width:0;-webkit-line-clamp:1}
#news .c-date{font-family:var(--en);font-size:13.5px;color:var(--text-soft);gap:.5em;display:flex}
#news .c-date-item{display:inline-flex}
#news .c-date-item::before{display:none!important}
#news .c-date-item:not(.c-date--publish){display:none!important}
#news .c-category_type a:first-child{display:inline-block;font-size:11px;letter-spacing:.1em;color:var(--copper);border:1px solid var(--copper-soft);padding:2px 10px;line-height:1.7;background:none}
#news .c-category_type a:not(:first-child){display:none}
#news .p-cb-post-item-title a{color:var(--text)}
#news .p-cb-post-item-title a:hover{color:var(--copper)}

/* ---- VOICE(受講生の声スライダー) ---- */
#voice{background:var(--paper)}
#voice .splide__slide>article{background:#fff;border:1px solid var(--line);box-shadow:none;border-radius:0;padding:34px 30px;height:100%}
#voice .p-success-cards-item__image{display:none}
#voice .p-success-item_title_no_image,#voice .p-success-cards-item__title h3{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.06em;color:var(--ink);line-height:1.8;margin-bottom:14px}
#voice .tcdce-body{font-size:13px;line-height:2;color:var(--text-soft)}
#voice .tcdce-body .who{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text-soft)}
#voice .tcdce-body .who b{display:block;color:var(--text);font-size:12.5px}
#voice .c-category_success{display:none}

/* ---- FAQ(よくあるご質問: 2カラム) ---- */
#faq{background:var(--paper-dim)}
#faq .p-cb-item-inner{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start}
#faq .p-cb-header{margin-bottom:18px}
#faq .p-cb-faq-content{grid-column:2}
#faq .p-cb-button{grid-column:2}
#faq .p-cb-header{grid-column:1;grid-row:1 / span 2}
.p-faq-list-item{border-bottom:1px solid var(--line);background:none;box-shadow:none;border-radius:0;margin:0}
.p-faq-list-item:first-child{border-top:1px solid var(--line)}
.p-faq-list-item-title{position:relative;padding:19px 44px 19px 34px;font-size:14px;font-weight:500;letter-spacing:.04em;line-height:1.8;cursor:pointer;color:var(--text)}
.p-faq-list-item-title::before{content:"Q.";position:absolute;left:2px;top:19px;font-family:var(--en);font-size:15px;color:var(--copper);font-weight:600}
/* 開閉アイコン: モック(summary::after)と同じ文字グリフ +/−(--en 22px 銅色 right:10px) */
.p-faq-list-item-title-toggle{position:absolute;right:10px;top:50%;width:auto;height:auto;transform:translateY(-50%);line-height:1}
.p-faq-list-item-title-toggle::before{content:"+";position:static;display:block;background:none;width:auto;height:auto;font-family:var(--en);font-size:22px;line-height:1;color:var(--copper);transition:transform .3s}
.p-faq-list-item-title-toggle::after{content:none}
.p-faq-list-item.is-active .p-faq-list-item-title-toggle::before{content:"−"}
.p-faq-list-item-title-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.p-faq-list-item-title-content-inner{overflow:hidden;min-height:0}
.p-faq-list-item.is-active .p-faq-list-item-title-content{grid-template-rows:1fr}
.p-faq-list-item-title-content-text{padding:0 4px 22px 34px;font-size:13.5px;line-height:2;color:var(--text-soft)}
.p-faq-list-item-title-content-text .tcdce-body p{margin-bottom:.8em}
#faq .p-cb-button{background:none;border:none;padding:0;margin-top:34px;font-family:var(--sans);font-size:13px;letter-spacing:.12em;color:var(--ink);display:inline-flex;align-items:center;gap:14px}
#faq .p-cb-button::after{content:"";width:44px;height:1px;background:var(--ink);transition:width .35s,background .35s}
#faq .p-cb-button:hover::after{width:64px;background:var(--copper)}

/* ---- COLUMN(インクメイクを知る: 4カラムカード) ---- */
#column{background:var(--paper)}
#column .cb-post-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
#column .p-post-cards-item,#column .p-post-cards-inner{background:none;box-shadow:none;border-radius:0;padding:0;margin:0}
#column .p-cb-post-item-thumbnail{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:14px}
#column .p-cb-post-item-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
#column .p-post-cards-inner:hover .p-cb-post-item-thumbnail img{transform:scale(1.06)}
#column .c-category_type{display:none}
#column .p-cb-post-item-date{margin-bottom:6px}
#column .c-date-item{font-family:var(--en);font-size:12px;letter-spacing:.12em;color:var(--text-soft)}
#column .c-date--update{display:none}
#column .p-cb-post-item-title{font-size:14.5px;font-weight:500;line-height:1.8;letter-spacing:.04em}
#column .p-cb-post-item-title a{color:var(--text)}
#column .p-post-cards-inner:hover .p-cb-post-item-title a{color:var(--copper)}
#column .p-post-cards-item__link{background:none;box-shadow:none;padding:0;display:block}
#column .p-cb-post-item-date,#column .c-date{position:static!important;writing-mode:horizontal-tb!important;transform:none!important;inset:auto!important}
#column .c-date{display:flex;gap:.5em}
#column .c-date-item::before{display:none!important}
#column .c-date-item:not(.c-date--publish){display:none!important}
#column .p-post-cards-item,#column .p-post-cards-inner{height:auto;min-height:0}
#column .c-category_type{display:none!important}

/* ---- フッター ---- */
.l-contents{padding-block-end:0!important;background:transparent!important}
.l-container{background:transparent!important;padding-block-end:0!important}
.l-main{padding-block-end:0!important;margin-block-end:0!important}
.l-footer{background:#0b1526;color:#c8ccd5;padding:0;margin-top:0}
.p-footer-4banner{display:none!important}
.footer_main_copy{background:none!important;border-top:none!important;min-height:0;justify-content:flex-start;max-width:1280px;margin:0 auto;padding:72px 24px 0;text-align:left;font-size:13px;line-height:2.2;letter-spacing:.06em;color:#c8ccd5}
.footer_main_copy span{color:#c8ccd5}
.l-footer_inner{background:none!important;max-width:1280px;margin:0 auto;padding:44px 24px 0;border-radius:0!important;display:grid;grid-template-columns:1fr auto auto;gap:40px 80px;align-items:start}
.p-footer-main{display:contents}
.p-footer-main .p-footer-nav--pc:nth-of-type(1){grid-column:2;grid-row:1}
.p-footer-main .p-footer-nav--pc:nth-of-type(2){grid-column:3;grid-row:1}
.p-footer-logo_sns{grid-column:1;grid-row:1;background:none!important;border-image:none!important;height:auto!important;margin:0!important;margin-inline:0!important;padding:0!important;display:block;text-align:left;width:auto!important}
.p-footer-logo_sns .c-logo__image{height:auto!important;width:300px}
.p-footer-logo_sns>*:not(.c-logo){display:none!important}
.p-footer-logo_sns .c-logo__image{width:300px;height:auto}
.p-footer-nav{display:block;background:none}
.p-footer-nav a{font-size:12.5px;letter-spacing:.08em;color:#c8ccd5;line-height:2.6}
.p-footer-nav a:hover{color:var(--copper-soft)}
.p-footer-copyright{background:none!important;color:#8a93a5;font-size:11px;letter-spacing:.1em;text-align:left;max-width:1280px;margin:0 auto;padding:22px 24px 44px}
.p-footer-copyright::before{content:"";display:block;border-top:1px solid rgba(255,255,255,.12);margin-bottom:22px}

/* ---- 下層ページ共通(ページヘッダー・本文幅) ---- */
.c-date{font-family:var(--en);color:var(--text-soft)}
.c-date-item::before{display:none!important}
.c-date-item:not(.c-date--publish){display:none!important}
.l-contents{max-width:none!important}
.itaa-page .page-hero{margin-inline:calc(50% - 50vw);padding-inline:max(24px,calc(50vw - 50%))/* 最低24px=モックのpage-hero左右padding。1232〜1280px幅で余白が消える退行の修正(2026-08-07) */}
.itaa-page .page-body>.inner{max-width:928px;margin-inline:auto;padding:64px 24px 96px}
.p-page-header{display:none}
.page_default_header .c-archive-header__content{position:relative;background:var(--paper-dim);border-bottom:1px solid var(--line);padding:60px max(24px,calc(50% - 616px)) 64px;min-height:0!important;height:auto!important}
.c-archive-header__image,.c-archive-header__overlay{display:none!important}
.c-archive-header_headline_content{display:flex;flex-direction:column-reverse;gap:12px;position:relative;z-index:1}
.c-archive-header__headline{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.2vw,36px);letter-spacing:.1em;color:var(--ink)}
.c-archive-header__subheadline{font-family:var(--en);font-size:13px;letter-spacing:.3em;color:var(--copper);display:flex;align-items:center;gap:14px}
.c-archive-header__subheadline::before{content:"";width:34px;height:1px;background:var(--copper)}
.c-archive-header,.c-archive-header_single{background:var(--paper-dim);border-bottom:1px solid var(--line)}
.c-archive-header .c-archive-header__content,.c-archive-header_single .c-archive-header__content{min-height:0!important;height:auto!important;background:none;padding:56px max(24px,calc(50% - 616px)) 48px}
.c-breadcrumb{font-size:11px;letter-spacing:.08em;color:var(--text-soft)}

/* 色・配置の最終指定(テーマの白文字/絶対配置を打ち消し) */
.c-archive-header__headline{color:var(--ink)!important}
.c-archive-header__subheadline,.c-archive-header__subheadline span{color:var(--copper)!important}
.c-archive-header,.c-archive-header_single{padding:0!important}
.c-archive-header_headline_content{position:static!important;inset:auto!important;transform:none!important}
.c-breadcrumb,.c-breadcrumb a,.c-breadcrumb span{color:var(--text-soft)!important}
.c-breadcrumb--hero{position:static!important;padding:14px 0}
.p-archive--post .p-post-cards-item{display:block!important}

/* ---- /news/ アーカイブ(タイル表示) ---- */
.p-archive--post.p-post-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px;max-width:1280px;margin:56px auto 90px;padding:0 24px}
.p-archive--post .p-post-cards-inner,.p-archive--post .p-post-cards-item{border:none!important;background:none!important;box-shadow:none;padding:0!important;margin:0!important}
.p-archive--post .p-post-cards-item__image{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:14px}
.p-archive--post .p-post-cards-item__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.p-archive--post .p-post-cards-inner:hover .p-post-cards-item__image img{transform:scale(1.06)}
.p-archive--post .c-category_type{position:static!important;inset:auto!important;background:none!important;min-width:0!important;font-size:0;line-height:0;display:block;margin:0 0 6px}
.p-archive--post .c-category_type a{color:var(--copper)}
.p-archive--post .c-category_type a:first-child{display:inline-block;font-size:11px;letter-spacing:.1em;border:1px solid var(--copper-soft);padding:2px 10px;line-height:1.7;background:none}
.p-archive--post .c-category_type a:not(:first-child){display:none}
.p-archive--post .p-post-cards-item__link{display:block;background:none;padding:0}
.p-archive--post h3,.p-archive--post .p-archive-item-title{font-size:14.5px;font-weight:500;line-height:1.8;letter-spacing:.04em;color:var(--text)}

/* ---- /faq/ アーカイブ(contents1) ---- */
.p-archive--contents{max-width:928px;margin:48px auto 90px;padding:0 24px}
.p-contents1-list-item{border-bottom:1px solid var(--line);background:none;box-shadow:none;margin:0}
.p-contents1-list-item:first-child{border-top:1px solid var(--line)}
.p-contents1-list-item-title{position:relative;padding:20px 44px 20px 40px;font-size:15px;font-weight:500;letter-spacing:.04em;line-height:1.9;cursor:pointer;color:var(--text)}
.p-contents1-list-item-title_question{position:absolute;left:2px;top:20px;font-family:var(--en);font-size:16px;color:var(--copper);font-weight:600;background:none;width:auto;height:auto}
.p-contents1-list-item-title-content-text{padding:4px 4px 26px 40px;font-size:13.5px;line-height:2.05;color:var(--text-soft)}
.p-contents1-list-item-title-content-text .tcdce-body p{margin-bottom:.9em}

/* ---- /voice/ アーカイブ ---- */
.p-success-cards-item_no_image{background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:none;padding:34px 30px}
.p-success-cards-item_no_image .p-success-cards-item__image{display:none}
.p-success-item_title_no_image{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.06em;color:var(--ink);line-height:1.8;margin-bottom:14px}
.tcdce-body .who{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text-soft)}
.tcdce-body .who b{display:block;color:var(--text);font-size:12.5px}
.c-category_success{display:none!important}

/* ---- CF7(お問い合わせ) ---- */
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 textarea{width:100%;background:#fff;border:1px solid var(--line);padding:12px 14px;font-size:14px;font-family:var(--sans)}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--copper-soft)}
.wpcf7 input[type="submit"]{background:var(--copper);color:#fff;border:none;font-size:14px;font-weight:700;letter-spacing:.14em;padding:16px 48px;cursor:pointer;transition:opacity .3s}
.wpcf7 input[type="submit"]:hover{opacity:.85}

/* ---- 記事本文(モックの .article 相当を tcdce-body にも展開) ---- */
.tcdce-body{font-size:14.5px;line-height:2.1;color:var(--text)}


/* ---- /faq/ contents1 アコーディオン ---- */
.p-contents1-list-item-title{padding-right:52px}
.p-contents1-list-item-title::after{content:"+";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--copper);font-family:var(--en);font-size:22px;font-weight:400;line-height:1;transition:transform .3s}
.p-contents1-list-item.is-active .p-contents1-list-item-title::after{content:"−"}
.p-contents1-list-item .p-contents1-list-item-title-content-text{display:none}
.p-contents1-list-item.is-active .p-contents1-list-item-title-content-text{display:block}
.p-contents1-list-item-title_question{background:none!important;color:var(--copper)!important}

/* ---- アーカイブのカテゴリータブ ---- */
.category_terms_list{display:flex!important;flex-wrap:wrap;gap:10px;max-width:1280px;margin:36px auto 0!important;padding:0 24px;background:none!important;border:none!important;justify-content:flex-start}
.category_terms_list .category_item{font-size:12px;letter-spacing:.1em;color:var(--copper)!important;border:1px solid var(--copper-soft)!important;padding:7px 20px;background:#fff!important;border-radius:0!important;line-height:1.6;transition:background .3s,color .3s}
.category_terms_list .category_item:hover{background:var(--copper-soft)!important;color:#fff!important}
.category_terms_list .category_item.is-current{background:var(--copper)!important;color:#fff!important;border-color:var(--copper)!important}

/* ---- ページネーション ---- */
.nav-links,.c-pagination,.pagination{display:flex;gap:8px;justify-content:center;margin:0 auto 80px;font-family:var(--en)}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--text);padding:0 8px}
.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
a.page-numbers:hover{border-color:var(--copper-soft);color:var(--copper)}

/* ---- 記事詳細(single) ---- */
.p-single{max-width:928px;margin-inline:auto;padding:0 24px}
.p-single-header{display:flex;flex-direction:column-reverse;gap:28px;padding-top:44px}
.p-single-header__image{position:relative;margin:0}
.p-single-header__image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.p-single-header__image .c-category_type{display:none!important}
.post-single_title_inner{display:flex;flex-direction:column-reverse;gap:16px}
.p-single-header__title{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.8;letter-spacing:.08em;color:var(--ink)}
.p-single-header__date .c-date{font-size:14px;letter-spacing:.12em}
.c-share-button{display:none!important}
.p-single .p-single-content{padding:0;font-size:14.5px;line-height:2.1;color:var(--text)}
.p-single-content .tcdce-body h2{font-family:var(--serif);font-size:clamp(20px,2.2vw,25px);font-weight:600;letter-spacing:.08em;line-height:1.8;color:var(--ink);margin:2.4em 0 1em;padding-left:16px;border-left:3px solid var(--copper)}
.p-single-content .tcdce-body h3{font-family:var(--serif);font-size:17.5px;font-weight:600;letter-spacing:.08em;color:var(--ink);margin:2em 0 .8em}
.p-single-content .tcdce-body p{margin-bottom:1.6em}
.p-single-content .tcdce-body a{color:var(--copper);border-bottom:1px solid var(--copper-soft)}
.p-single-content .tcdce-body table{width:100%;border-collapse:collapse;margin:0 0 1.8em;font-size:13.5px}
.p-single-content .tcdce-body th,.p-single-content .tcdce-body td{border:1px solid var(--line);padding:12px 16px;text-align:left;line-height:1.9;vertical-align:top}
.p-single-content .tcdce-body th{background:var(--paper-dim);font-weight:600;white-space:nowrap;color:var(--ink)}
.p-single-content .tcdce-body ul,.p-single-content .tcdce-body ol{margin:0 0 1.8em;padding-left:1.4em}
.p-single-content .tcdce-body li{margin-bottom:.4em;list-style:inherit}
.p-single-content .tcdce-body blockquote{border-left:2px solid var(--copper-soft);background:var(--paper-dim);padding:22px 26px;margin:0 0 1.8em;font-family:var(--serif);color:var(--ink-soft)}
.p-single-content .tcdce-body img{height:auto}

/* ---- SPドロワー(クイックボタン) ---- */
.p-drawer .p-header-top_buttons_sp{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#16294a;border:none}
.p-drawer .header_button_sp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#1c3866;color:#fff;padding:16px 4px;border:none}
.p-drawer .header_button_sp svg{width:22px;height:22px;font-size:22px;fill:currentColor;stroke:none}
.p-drawer .header_button_label_sp{font-size:11px;font-weight:600;letter-spacing:.06em;color:#fff;line-height:1.4}

/* ---- CF7(お問い合わせ 追加調整) ---- */
.wpcf7{max-width:none}/* 2026-08-07: 760px制限を撤廃し本文幅いっぱいに(上部テキストと同幅) */
.wpcf7 form p{margin-bottom:20px;font-size:13.5px}
.wpcf7 label{font-weight:600}
.wpcf7 .wpcf7-form-control-wrap{display:block;margin-top:6px}
.wpcf7 input[type="submit"],.wpcf7 .wpcf7-submit{display:block;margin:34px auto 0}


/* ---- v14: アーカイブ見出しの強制可視化・タブ・single調整 ---- */
[class*="c-inview"]{opacity:1!important;transform:none!important;visibility:visible!important}
.c-archive-header_headline_content,.c-archive-header_headline_content *{opacity:1!important;visibility:visible!important;transform:none!important}
.c-archive-header__headline{color:var(--ink)!important}
.c-archive-header__subheadline,.c-archive-header__subheadline *{color:var(--copper)!important}
.c-archive-header__desc{max-width:1280px;margin:0 auto;padding:0 24px 28px;font-size:13px;color:var(--text-soft)}
.c-archive-header__desc:has(.tcdce-body:empty){display:none}
.c-archive-news-tabs{display:flex;flex-wrap:wrap;gap:10px;max-width:1280px;margin:36px auto 0;padding:0 24px;list-style:none}
.c-archive-news-tabs__item{margin:0}
.c-archive-news-tabs__link{display:inline-block;font-size:12px;letter-spacing:.1em;color:var(--copper);border:1px solid var(--copper-soft);padding:7px 20px;background:#fff;line-height:1.6;transition:background .3s,color .3s}
.c-archive-news-tabs__link:hover{background:var(--copper-soft);color:#fff}
.p-single-header,.post-single_title_inner{background:none!important;border:none!important;box-shadow:none!important}
.p-single-header{padding-inline:0}
.post-single_title_inner{padding:0!important}


/* ---- v15: アーカイブ見出し(_single系)の可視化と帯高さ ---- */
.c-archive-header__content{aspect-ratio:auto!important;height:auto!important;min-height:0!important}
.c-archive-header_headline_content_single,.c-archive-header_headline_content_single *{opacity:1!important;visibility:visible!important;transform:none!important}
.c-archive-header_headline_content_single{display:flex;flex-direction:column-reverse;gap:12px;position:static!important;text-align:left}
.c-archive-header_single{padding:0!important;margin:0!important}


/* ---- v16: JS未実行時の保険と細部 ---- */
/* itaa.js が読み込めない場合でも .reveal が非表示のままにならないようにする */
.no-js .reveal,html.no-js .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1!important;transform:none!important}}
/* 受講生の声カードの引用符グリフを非表示(モックにはない) */
#voice .splide__slide>article::before,#voice .splide__slide>article::after,
.p-success-cards-item_no_image::before,.p-success-cards-item_no_image::after{content:none!important;display:none!important}


/* ---- v17: アーカイブ見出し左寄せ・newsタイルのメタ行 ---- */
.c-archive-header_headline_content,.c-archive-header_headline_content_single{text-align:left!important;align-items:flex-start!important}
.c-archive-header__headline{text-align:left!important}
.p-archive--post .p-post-cards-item__link{display:grid!important;grid-template-columns:auto auto 1fr;gap:4px 14px;align-items:center;background:none;padding:0}
.p-archive--post .p-cb-post-item-date,.p-archive--post .p-post-cards-item__date{grid-row:1;grid-column:1}
.p-archive--post .c-category_type{grid-row:1;grid-column:2;margin:0!important}
.p-archive--post .p-post-cards-item__title,.p-archive--post h3{grid-row:2;grid-column:1/-1;margin:2px 0 0}
.p-archive--post .c-date{font-size:12.5px;letter-spacing:.12em}


/* ---- v18: /faq/ 一覧の白帯・幅 ---- */
.p-archive--contents,.p-contents-cards{display:block!important;max-width:928px;width:100%;margin:48px auto 70px;padding:0 24px;grid-template-columns:none!important}
.p-contents1-list-item{background:none!important;box-shadow:none!important;margin:0!important;padding:0!important;width:100%;border-radius:0!important}
.p-contents1-list-item-title{background:none!important}
.p-contents1-list-item-title-content-text{background:none!important}


/* ---- v19: ワイド画面での全体上限(モック=1280pxコンテナ) ---- */
.p-megamenu>*{max-width:1280px;margin-inline:auto}
.header_slider_newsticker_content,.l-container,.l-contents,.l-main{max-width:none}


/* ---- v19b: ワイド画面でCTAボタンも1280コンテナ右端に揃える ---- */
@media(min-width:901px){
  .l-header .p-header-top_buttons{margin-right:max(0px,calc(50% - 640px))}
}


/* ---- v20: TOPセクションの背景・幅・枠線・スクロール修正 ---- */
/* セクション間の白帯(テーマのマージン・背景)を除去 */
.p-cb-item{margin:0!important}
.l-container,.l-contents,.l-main,.p-cb{background:transparent!important}
/* テーマの .l-inner は inline-size で1100px制御 → モックの1280pxへ */
.p-cb-item-inner.l-inner,.p-cb .l-inner{inline-size:auto!important;width:auto!important;max-width:1280px!important;margin-inline:auto!important}
/* お知らせ: テーマのカード枠線を除去し、行区切りのみに */
#news .p-post-cards-inner{border:none!important;border-bottom:1px solid var(--line)!important;margin:0!important}
#news .p-post-cards-inner:first-child{border-top:1px solid var(--line)!important}
#news .p-post-cards-item{border:none!important}
/* 受講生の声: カード内スクロールを解除 */
#voice .p-success-bottom_content{overflow:visible!important;max-height:none!important}
#voice .p-success-top_content{overflow:visible!important}
/* よくあるご質問: アコーディオンの白背景を除去 */
.p-faq-list-item,.p-faq-list-item-title,.p-faq-list-item-title-content,.p-faq-list-item-title-content-inner,.p-faq-list-item-title-content-text{background:none!important;box-shadow:none!important;border-radius:0!important}


/* ---- v21: セクション間ギャップ・COLUMNカードレイアウト ---- */
.p-cb{display:block!important;gap:0!important;row-gap:0!important}
.p-cb-item+.p-cb-item{margin-top:0!important}
#column .p-post-cards-item__link{display:block!important;padding:0!important}
#column .p-cb-post-item-thumbnail{width:100%}
#column .p-cb-post-item-thumbnail img{width:100%}
#column .p-cb-post-item-title{writing-mode:horizontal-tb!important}
.p-faq-list-item-title-content-text .tcdce-body{background:none!important}


/* ---- v22: COLUMNカードの内部レイアウトを完全にブロック化 ---- */
#column .p-post-cards-item,#column .p-post-cards-inner,#column article{display:block!important;grid-template-columns:none!important}
#column .p-post-cards-item *{writing-mode:horizontal-tb!important}
#column .p-cb-post-item-thumbnail{display:block!important;float:none!important}


/* ---- v24: セクション見出し・グリッドのレスポンシブ(モック準拠) ---- */
@media(max-width:1080px){
  #news .p-cb-item-inner,#faq .p-cb-item-inner{grid-template-columns:1fr;gap:44px}
  #faq .p-cb-header{grid-column:auto;grid-row:auto}
  #faq .p-cb-faq-content,#faq .p-cb-button{grid-column:auto}
  #column .cb-post-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .p-cb-item{padding:72px 0}
  #news .p-post-cards-item{grid-template-columns:auto 1fr;gap:8px 14px;padding:16px 4px}
  #news .p-cb-post-item-title{grid-column:1/-1;grid-row:2;-webkit-line-clamp:2}
  #news .c-category_type{grid-column:2;grid-row:1}
  #column .cb-post-list{grid-template-columns:1fr}
}


/* ---- v25: 見出し左寄せ・NEWS行グリッド・VOICE静的3カラム ---- */
.p-cb-header,.p-cb-header-main_contents,.p-cd-header-title_contents,.p-cb-header-title{text-align:left!important}
/* NEWS行: モック .news-list と同じ列幅(110px/130px/1fr)・余白 */
#news .p-post-cards-item{grid-template-columns:110px 130px 1fr;gap:20px;padding:22px 8px;align-items:baseline}
#news .c-date{font-size:14px}
#news .c-category_type a:first-child{display:block;text-align:center;padding:2px 4px;letter-spacing:.14em}
#news .p-post-cards-item:hover{background:#fff}
/* VOICE: スライダーを静的3カラムグリッドに(モック .voice-grid) */
#voice .splide__track{overflow:visible!important}
#voice .splide__list{display:grid!important;grid-template-columns:repeat(3,1fr);gap:32px;transform:none!important;width:100%!important}
#voice .splide__slide{width:auto!important;margin:0!important;flex:none!important}
#voice .p-success-bottom-arrows,#voice .splide__arrows,#voice .splide__pagination{display:none!important}
/* カード内: 引用符・属性行(モック .voice-card 準拠) */
#voice .splide__slide>article{position:relative;padding:56px 30px 34px}
#voice .splide__slide>article::before{content:"“"!important;display:block!important;position:absolute;top:14px;left:26px;font-family:var(--en);font-size:64px;line-height:1;color:var(--copper-soft);opacity:.5;margin:0}
#voice .tcdce-body .who{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#voice .tcdce-body .who b{display:inline;color:var(--text);font-size:12.5px}
@media(max-width:1080px){
  #voice .splide__list{grid-template-columns:1fr;max-width:640px;margin-inline:auto}
}


/* ---- v26: VOICEクローンスライド除外・チップ1行化 ---- */
#voice .splide__slide--clone{display:none!important}
#news .c-category_type a:first-child{white-space:nowrap}


/* ---- v27: SPのNEWS行(モック .news-list SP と同構成 / 後勝ちで再定義) ---- */
@media(max-width:640px){
  #news .p-post-cards-item{grid-template-columns:96px 1fr;gap:8px 14px;padding:16px 4px}
  #news .p-cb-post-item-title{grid-column:1/-1;grid-row:2;-webkit-line-clamp:2}
  #news .c-category_type{grid-column:2;grid-row:1;justify-self:start}
  #news .c-category_type a:first-child{display:inline-block;width:auto;text-align:left}
}


/* ---- v28: ワイド画面のヘッダーCTAはみ出し解消 ---- */
body{overflow-x:clip}
@media(min-width:901px){
  .l-header .p-header-top_buttons{margin:0!important}
}


/* ---- v29: ヘッダー固定(モックのsticky)・SPロゴサイズ・ドロワー配色 ---- */
.l-header{position:sticky!important;top:0;z-index:1000}
@media(max-width:900px){
  .l-header{background:rgba(251,250,247,.95)}
  .p-header-logo .c-logo__image,.p-header-logo_mobile .c-logo__image{width:230px!important;height:auto!important;max-width:60vw}
}










/* ---- v30: ドロワーをモック(.drawer-panel=紺パネル)に完全一致 ---- */
.p-drawer{background:var(--ink)!important;color:#e8e5dd;width:320px!important;max-width:86vw!important;padding:20px 28px 28px!important}
.p-drawer-close{align-self:flex-end;background:none!important;border:none!important}
.p-drawer-close__line{background:#fff!important}
/* クイック3ボタン */
.p-drawer .p-header-top_buttons_sp{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);margin-top:10px}
.p-drawer .header_button_sp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 4px 14px;background:#1c3866!important;font-size:11px;font-weight:600;letter-spacing:.06em;color:#fff!important;text-align:center;border:none!important}
.p-drawer .header_button_sp svg{width:22px;height:22px;font-size:22px;color:var(--copper-soft);fill:currentColor;stroke:none}
.p-drawer .header_button_label_sp{font-size:11px;font-weight:600;color:#fff;line-height:1.4}
/* ナビ */
.p-drawer-nav{margin-top:10px;background:none!important}
.p-drawer-nav>li{border:none!important}
.p-drawer-nav>li>a{display:flex;justify-content:space-between;align-items:center;padding:14px 2px!important;font-size:14px;letter-spacing:.08em;color:#e8e5dd!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.p-drawer-nav>li>a::after{content:"→";font-family:var(--en);color:var(--copper-soft);font-size:12px}
.p-drawer-nav>li.menu-item-has-children>a{border-bottom:1px solid rgba(255,255,255,.12)!important}
.p-drawer-nav>li.menu-item-has-children>a::after{content:none}
.p-drawer-nav__toggle{color:var(--copper-soft)!important}
.p-drawer-nav__toggle::before,.p-drawer-nav__toggle::after{background:var(--copper-soft)!important}
/* サブメニュー */
.p-drawer-nav li ul{background:none!important;padding:0!important;margin:0!important;overflow:hidden}
.p-drawer-nav li ul li{border:none!important}
.p-drawer-nav li ul a{display:flex;justify-content:space-between;align-items:center;padding:9px 2px 9px 20px!important;font-size:13px!important;color:#c9d1de!important;border:none!important;background:none!important}
.p-drawer-nav li ul li:last-child a{margin-bottom:14px}
.p-drawer-nav a[aria-current],.p-drawer-nav .current-menu-item>a{background:none!important;color:#e8e5dd!important}
.p-drawer-nav li ul a::after{content:"→";font-family:var(--en);color:var(--copper-soft);font-size:11px}
.p-drawer .c-sns-icons{display:none!important}
.p-drawer-bg,.js-drawer-close.p-drawer-bg{background:rgba(10,18,32,.55)!important}


/* ---- v31: ドロワーをモックと同じ右スライドに ---- */
.p-drawer{transform:translateX(100%)!important;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .3s,visibility .3s!important}
body[class*="drawer"] .p-drawer{transform:none!important}


/* ---- v32: ドロワーサブメニューの中間ラッパー(テーマアクセント背景)を透明化 ---- */
.p-drawer-nav__submenu,.p-drawer [class*="submenu"]{background:none!important}
.p-drawer-nav__submenu::before,.p-drawer-nav__submenu::after{content:none!important;background:none!important}


/* ============================================================
   別端末セッション(2026-07-29〜08-01)の修正マージ
   .claude/merge-from-other/c57dabb7….jsonl から正味差分を抽出し、
   後勝ちオーバーライドとして追記(重複ルールはこのセクションが優先)
   ============================================================ */

/* ---- v22: COLUMNカードの内部レイアウトを完全にブロック化 ---- */
#column .p-post-cards-item,#column .p-post-cards-inner,#column article{display:block!important;grid-template-columns:none!important}
#column .p-post-cards-item *{writing-mode:horizontal-tb!important}
#column .p-cb-post-item-thumbnail{display:block!important;float:none!important}


/* ---- v23: TOPのお知らせ・よくあるご質問が狭い画面で右にはみ出す問題 ---- */
/* モック側(.news-grid / .faq-grid)は 1080px 以下で1カラム化する指定があるが、
   WordPress のコンテンツビルダー側(#news / #faq)には無く、280px 固定カラム +
   60px の gap が画面幅を超えていたため、同じブレークポイントで揃える。 */
@media(max-width:1080px){
  #news .p-cb-item-inner,#faq .p-cb-item-inner{grid-template-columns:1fr;gap:44px}
  #faq .p-cb-header{grid-column:1;grid-row:auto;margin-bottom:0}
  #faq .p-cb-faq-content{grid-column:1;grid-row:auto}
  /* 親テーマは767px以下で .cb-post-list に margin-inline:-20px を当ててリストを全幅化する。
     モックは左右24pxの余白を保つので打ち消す */
  #news .cb-post-list,#column .cb-post-list{margin-inline:0}
  /* カテゴリバッジ: グリッドの justify-self:start による fit-content 収縮で文字がborderからはみ出すため実幅で確保 */
  #news .c-category_type a:first-child{width:max-content}
  /* モックの .column-grid はこの幅で2カラム */
  #column .cb-post-list{grid-template-columns:repeat(2,1fr)}
  /* お知らせ1件: 日付+カテゴリ / タイトル の2段に折り返す(モックの .news-list と同じ形)。
     gap はモックのSPと同じくベースの20pxを維持(列指定のみ 96px 1fr へ変更) */
  #news .p-post-cards-item{grid-template-columns:96px 1fr}
  #news .p-cb-post-item-date{grid-column:1;grid-row:1}
  #news .c-category_type{grid-column:2;grid-row:1;justify-self:start}
  #news .p-cb-post-item-title{grid-column:1/-1;grid-row:2;-webkit-line-clamp:2}
}


/* ---- v24: グローバルナビの配色をモックに揃える ---- */
/* モックの nav.gnav は文字色を変えず、銅色の1pxアンダーラインだけを伸ばす。
   親テーマはホバーと現在地でアクセントカラー(#1080AB)を当てるため打ち消す。
   セレクタは親側と同一詳細度なので、後勝ちで上書きされる。 */
.p-header-nav__list>li:hover>a,
.p-header-nav__list>li>a[aria-current="page"]{color:var(--text)}
/* 現在地/ホバーを追従する5pxのアクセント色バー(JS制御)。
   現在地マークは銅色アンダーライン(PCブロック内)に置き換えたので非表示 */
.p-header-nav__list::after{display:none}


/* ---- v25: スマホ表示調整 ----
   (v23の #column 2カラム指定より後勝ちさせる必要があるためファイル末尾に置く) */
@media(max-width:991px){
  /* ヘッダロゴ: 親テーマのSP用高さ変数(20px相当)を打ち消してモックと同じ幅290pxに */
  .p-header-logo .c-logo__image{width:290px;height:auto}
  /* ヘッダー高さ: モックはPC/SPとも72px(親テーマのSPは60px) */
  .p-header-bar{height:72px}
  .p-header-nav-sp{height:72px}
  /* ファーストビュー右下の縦書きSCROLLサインはSPでは非表示 */
  .p-mv1::after{content:none}
}
@media(max-width:767px){
  /* MVキャッチコピー: テーマは wp_is_mobile()(UA判定)でSP用キャッチを出し分けるため、
     PC向けHTMLをスマホ幅で見ると c-hidden-sp で消えたままになる。CSSで常時表示に変更。
     (モバイルUA時はこのspan自体が出力されないため二重表示にはならない) */
  .p-mv1-content-title .c-hidden-sp{display:inline!important}
  /* フォントサイズはモック移植の clamp(下限30px)ではなく、
     テーマオプションのSP用設定値(24px)に追従させる(親テーマと同じ変数) */
  .p-mv1-content-title{font-size:var(--tcd-index-mv1-catch-font-size-sp)}
  /* モックの .column-grid は767px以下で1カラム */
  #column .cb-post-list{grid-template-columns:1fr}
}

/* ---- v26: SPのブロック余白をモック(640px以下: section{padding:72px 20px} 等)に一致させる ---- */
@media(max-width:640px){
  /* コンテンツビルダー各ブロック: 上下110px→72px、内側左右24px→20px */
  .p-cb-item{padding:72px 0}
  .p-cb-item-inner.l-inner{padding:0 20px}
  /* フリースペース(PROGRAM/FLOW)はブロック直下のdivが余白を持つ(モックの section 相当) */
  .p-cb-free-content>.program,.p-cb-free-content>.flow{padding:72px 20px}
  /* セクション見出し下の余白: モックの .sec-head と同じ56px
     (#news/#faq はv23でグリッドgap連動のため0にしており、IDの詳細度で上書きが必要) */
  .p-cb-header,#news .p-cb-header,#faq .p-cb-header{margin-bottom:56px}
  /* アラートバー: モックと同じ1行固定(あふれは省略記号)。
     .p-header-message は親テーマが flex のため ellipsis が効かず、ラベル(ブロック化)側で省略する */
  .p-header-message{font-size:11px;padding:8px 14px}
  .p-header-message__label{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* ヘッダロゴ: モックSPは230px */
  .p-header-logo .c-logo__image{width:230px}
}

/* margin-top はメインビジュアル直後(講習・プログラム)に素の背景帯を作るだけなので除去。
   親テーマ側で 120px / SP 40px が入るがテーマオプションには項目が無い。 */
.p-cb{display:block!important;gap:0!important;row-gap:0!important;margin-top:0!important}

.p-header-logo{order:1;margin:0;display:flex;align-items:center;height:72px}

/* 行の高さは72pxのまま、ボタンだけ73pxで1px下にはみ出させ、ヘッダーの border-bottom を覆う
   (モック .nav-cta と同じ手法。ボタンの下だけ線が覗く非対称を防ぐ) */
.p-header-top_buttons{order:3;display:flex;flex-direction:row;gap:1px;align-self:flex-start;margin:0 0 -1px}

/* ---- v19b: 廃止。.l-header の padding-right(左右対称)へ統合 ---- */

/* 現在地はホバーと同じ銅色の線を最初から伸ばした状態にして、現在地マークを兼ねる */
.p-header-nav__list>li:hover>a::after,.p-header-nav__list>li>a[aria-current="page"]::after{right:12px}

/* メガメニュー位置(display:contents 化に伴い明示)
   display:block は親テーマの打ち消し。親は 991px 以下で .p-megamenu を display:none にするが、
   子テーマのPCヘッダーは 901px から始まるため 901〜991px でメガメニューだけ消えていた */
.p-megamenu{display:block;position:absolute;top:100%;left:0;width:100%}
/* サブメニュー(バナーリスト)はモックの megamenu と同じ4列静的グリッドにする。
   splide がインラインstyleで書く transform/width を打ち消してスライダー(横スクロール・矢印)を無効化 */
.p-megamenu02__inner{inline-size:min(calc(100% - 48px),1232px)}
.p-megamenu02__inner .splide__track{overflow:visible}
.p-megamenu02__list{display:grid!important;grid-template-columns:repeat(4,1fr);gap:28px;transform:none!important;width:100%!important}
.p-megamenu02__item{width:auto!important;margin:0!important}
.p-megamenu02__item.splide__slide--clone{display:none!important}
.p-megamenu02__inner .splide__arrows,.p-megamenu02__inner .splide__arrow,.p-megamenu02__inner .splide__pagination{display:none!important}
/* パネルの配色はモックの .megamenu / .mm-card(紙色パネル+白カード+黒字)に合わせる。
   親テーマはアクセント色の濃色パネル+白字+画像上のオーバーレイ説明文 */
.p-megamenu02{background:var(--paper)!important;color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 40px -20px rgba(10,28,55,.25);padding-block:36px 40px}
/* align-items:stretch は親テーマの center の打ち消し(タイトル等が縮んで中央配置されるのを防ぐ) */
.p-megamenu02__item-link{display:flex;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);height:100%}
/* DOM順(画像+説明が同じ包み→タイトル)をモックの 画像→タイトル→説明 に並べ替える */
.p-megamenu02__item-image_inner{display:contents}
.p-megamenu02__item-image{order:0}
/* width:100%/margin:0 は親テーマの縮小+中央寄せ(margin auto)の打ち消し */
.p-megamenu02__item-content{order:1;display:block;width:100%;margin:0;padding:14px 18px 0}
.p-megamenu02__item-desc{order:2;position:static;background:none;color:var(--text-soft);font-size:12px;line-height:1.9;letter-spacing:.02em;display:block;text-align:left;padding:6px 18px 18px}
.p-megamenu02__item-title{color:var(--ink);font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:.06em;text-align:left;margin:0}

/* 列幅はモック .news-list a と同じ固定値。カテゴリを130pxに固定して縦を揃える */
#news .p-post-cards-item{display:grid;grid-template-columns:110px 130px 1fr;gap:20px;align-items:baseline;padding:19px 4px;background:none;box-shadow:none;margin:0}

/* width:max-content は文字が border からはみ出すのを防ぐ(親テーマ由来の収縮対策)。列内の中央寄せは margin で維持 */
#news .c-category_type a:first-child{display:block;width:max-content;min-width:120px;max-width:130px;margin-inline:auto;text-align:center;white-space:nowrap;font-size:11px;letter-spacing:.1em;color:var(--copper);border:1px solid var(--copper-soft);padding:2px 4px;line-height:1.7;background:none}

#voice .c-category_success{display:none}
/* カード本文: 親テーマ+JSが max-height 付き内部スクロール枠(fade-mask)にするが、
   モックの voice-card は全文表示。スクロール・フェードとも解除(JSのインラインstyle対策で!important) */
#voice .p-success-card-item_desc{max-height:none!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}
/* ページングドット・矢印: 親テーマのアクセント色(#1080AB)をモックの銅色系に置き換え。
   矢印の実体は ::before の mask 塗り(background)なので background を上書きする */
#voice .splide__pagination__page{border:1px solid var(--copper-soft);background:none}
#voice .splide__pagination__page.is-active{background:var(--copper);border-color:var(--copper)}
#voice .splide__arrow::before{background:var(--copper)}

/* border-top:none は親テーマの回答上の区切り線の打ち消し。::before はモックの「A」アイコン(Qと同じ absolute 配置) */
.p-faq-list-item-title-content-text{position:relative;padding:0 4px 22px 34px;font-size:13.5px;line-height:2;color:var(--text-soft);border-top:none}
.p-faq-list-item-title-content-text::before{content:"A.";position:absolute;left:2px;top:0;font-family:var(--en);font-size:15px;color:var(--ink);font-weight:600}

/* border:none は親テーマのカード全周枠(.p-post-cards-inner{border:1px solid #ddd})の打ち消し。モックの col-card は枠なし */
#column .p-post-cards-item,#column .p-post-cards-inner{background:none;box-shadow:none;border:none;border-radius:0;padding:0;margin:0}

/* モックは 日付 → タイトル の順(DOMはタイトルが先)。flex の order で入れ替える */
#column .p-post-cards-item__link{background:none;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:flex-start}
#column .p-cb-post-item-date{order:1}
#column .p-cb-post-item-title{order:2;margin-top:6px}

#column .c-date-item{font-family:var(--en);font-size:13px;letter-spacing:.12em;color:var(--text-soft)}

/* フッター全体を1つのグリッドに統合する。ミッション文(footer_main_copy)は
   .l-footer 直下、ナビ・ロゴ・コピーライトは .l-footer_inner 内と DOM 階層が
   分かれているため、inner を display:contents で展開して同じグリッドに乗せる。
   モックのレイアウト: [ロゴ+ミッション | ナビ2列] / [コピーライト(全幅・上ボーダー)] */
.l-footer{background:#0e131c;color:#a9a49a;margin-top:0;display:grid;grid-template-columns:1fr auto auto;gap:0 80px;align-items:start;padding:80px max(24px,calc(50% - 616px)) 36px}
.p-footer-4banner{display:none!important}
.l-footer_inner,.p-footer-main{display:contents}
.p-footer-logo_sns{grid-column:1;grid-row:1;background:none!important;border-image:none!important;height:auto!important;margin:0!important;margin-inline:0!important;padding:0!important;display:block;text-align:left;width:auto!important}
/* リンクを画像幅に収める(blockのまま全幅に広がるのを防ぐ) */
.p-footer-logo_sns .c-logo{display:inline-block;width:fit-content}
.p-footer-logo_sns .c-logo__image{height:auto!important;width:min(300px,calc(100vw - 48px))}
.p-footer-logo_sns>*:not(.c-logo){display:none!important}
.footer_main_copy{grid-column:1;grid-row:2;display:block;background:none!important;border-top:none!important;min-height:0;margin:0;padding:20px 0 0;text-align:left;font-size:12px;line-height:2.2;letter-spacing:.08em;max-width:420px;color:#a9a49a}
.footer_main_copy span{color:#a9a49a}
.p-footer-main .p-footer-nav--pc:nth-of-type(1){grid-column:2;grid-row:1/span 2}
.p-footer-main .p-footer-nav--pc:nth-of-type(2){grid-column:3;grid-row:1/span 2}
/* padding-block:0 は親テーマの padding-block:70px の打ち消し */
.p-footer-nav{display:block;background:none;padding-block:0}
.p-footer-nav a{font-size:13px;letter-spacing:.08em;color:#a9a49a;line-height:2.6}
.p-footer-nav a:hover{color:var(--copper-soft)}
/* place-items:start は親テーマの place-items:center の明示打ち消し(左寄せの要) */
.p-footer-copyright{grid-column:1/-1;grid-row:3;width:100%;display:block;block-size:auto;place-items:start;background:none!important;color:#6d7482;font-size:11px;letter-spacing:.1em;text-align:left;margin:64px 0 0;padding:24px 0 0;border-top:1px solid #262d3a}

/* フッターSP: 1カラム縦積み(ロゴ→ミッション→ナビ→コピーライト)。
   親テーマは991px以下で .p-footer-main を display:none!important、
   767px以下で .p-footer-nav--pc を display:none にするため両方打ち消す */
@media(max-width:991px){
  /* padding はモックSPフッター(80px 24px 36px)に合わせる */
  .l-footer{grid-template-columns:1fr;gap:0;padding:80px 24px 36px}
  .p-footer-main{display:contents!important}
  .p-footer-nav--pc{display:block}
  .p-footer-logo_sns{grid-column:1;grid-row:1}
  .footer_main_copy{grid-column:1;grid-row:2}
  .p-footer-main .p-footer-nav--pc:nth-of-type(1){grid-column:1;grid-row:3;margin-top:32px}
  .p-footer-main .p-footer-nav--pc:nth-of-type(2){grid-column:1;grid-row:4}
  .p-footer-copyright{grid-column:1;grid-row:5;margin-top:40px}
}

/* flex は 644行の「日付→タイトル」順序入れ替え(order)を有効にするため(block だと order が効かない) */
#column .p-post-cards-item__link{display:flex!important;flex-direction:column;align-items:flex-start;padding:0!important}

#column .p-cb-post-item-title{font-size:14px;font-weight:500;line-height:1.9;letter-spacing:.04em}

/* ---- メインビジュアル ---- */
/* 高さはモック .hero と同じビューポート連動(88vh・上限820px・下限560px)。
   テーマオプションの固定px(PC820/SP600)では表現できないためCSSで上書き(PC/SP共通) */
.p-mv1.p-mv-height-type-2{height:min(88vh,820px);min-height:560px}
.p-mv1,.p-mv1__track,.p-mv1__list{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
/* 親テーマの height:inherit は height「値」(88vh)を継承するため、min-height で
   コンテナが560pxに下支えされても画像が追随せず下に空白が出る。実高さ基準の100%へ */
.p-mv1__track,.p-mv1__list{height:100%}

#news .c-category_type{grid-column:2;grid-row:1;position:static!important;inset:auto!important;min-width:0!important;background:none!important;display:block;z-index:auto;font-size:0;line-height:0;padding:0}

/* .who の margin-top は親テーマの .p-success-card-item_desc *{margin:0!important} に負けて効かないため、
   直前の p の padding-bottom で border との余白14pxを確保する */
#voice .tcdce-body p:has(+ .who){padding-bottom:14px}
#voice .tcdce-body .who{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text-soft)}

/* ---- アラートバー(ヘッダーメッセージ) ---- */
/* min-height:0 は親テーマの min-height:50px の打ち消し(モックは padding 由来の約37px) */
.p-header-message{font-size:12px;text-align:center;padding:9px 16px;letter-spacing:.08em;min-height:0}

.p-header-message__label{color:#e8e3da;text-decoration:none;line-height:1.9}

/* 親テーマの .p-page{padding-top:70px} の打ち消し(page-hero が余白を持つため不要) */
.p-page{padding-top:0}

/* ---- 下層ページヘッダー統一(/overview/ の page-hero からパンくずを除いた形が基準・2026-08-01) ----
   固定ページ=page-hero / アーカイブ=c-archive-header 系の両方を同じ余白・書式にする */
/* パンくずは全ページ非表示(サイトに階層がほとんどないため) */
.c-breadcrumb,.single-crumb{display:none!important}
/* /news/ に出力される空の c-archive-header が背景帯にならないように */
.c-archive-header:empty{display:none!important}
.page_default_header .c-archive-header__content{position:relative;background:var(--paper-dim);border-bottom:1px solid var(--line);padding:64px max(24px,calc(50% - 616px)) 48px;min-height:0!important;height:auto!important}
.c-archive-header__image,.c-archive-header__overlay{display:none!important}
.c-archive-header_headline_content,.c-archive-header_headline_content_single{display:flex;flex-direction:column-reverse;gap:12px;position:relative;z-index:1}
/* line-height:1.9/margin-block:0 は親テーマの行高2.4と負マージン(--tcd-half-read)の打ち消し(page-hero の h1 と同寸に) */
.c-archive-header__headline{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,36px);letter-spacing:.1em;color:var(--ink);line-height:1.9;margin-block:0}
/* position:static は親テーマの絶対配置の打ち消し(flexフローに戻して h1 と縦に積む) */
.c-archive-header__subheadline{position:static;font-family:var(--en);font-size:13px;line-height:1.9;letter-spacing:.32em;color:var(--copper);display:flex;align-items:center;gap:16px}
.c-archive-header__subheadline::before{content:"";width:36px;height:1px;background:var(--copper)}
.c-archive-header,.c-archive-header_single{background:var(--paper-dim);border-bottom:1px solid var(--line)}
.c-archive-header .c-archive-header__content,.c-archive-header_single .c-archive-header__content,.c-archive-header_single .c-archive-header__content_single{min-height:0!important;height:auto!important;background:none;padding:64px max(24px,calc(50% - 616px)) 48px}
/* /news/ はテーマがサブ見出しを出力しないため、page-hero の .en 相当(横線+英字)を疑似要素で補う。
   column-reverse のため ::after が視覚上は h1 の上に来る。横線は背景グラデーションで描く */
body.category-news .c-archive-header_headline_content_single::after{content:"NEWS";padding-left:52px;font-family:var(--en);font-size:13px;line-height:1.9;letter-spacing:.32em;color:var(--copper);background:linear-gradient(var(--copper),var(--copper)) no-repeat left center/36px 1px}
@media(max-width:640px){
  .c-archive-header .c-archive-header__content,.c-archive-header_single .c-archive-header__content,.c-archive-header_single .c-archive-header__content_single,.page_default_header .c-archive-header__content{padding-top:44px;padding-bottom:36px}
}

/* li をヘッダー全高にして、リンクとメガメニューの間の空白でホバーが切れないようにする */
.p-header-nav__list>li{display:flex;align-items:center;height:72px}

/* ドロワー背景はモックの drawer-panel と同じ墨色ネイビー(テーマはアクセント色=銅を使うため上書き) */
.p-drawer{background:var(--ink)}
/* 区切り線もモックの drawer-nav と同じ白12%(親テーマはアクセント色混合) */
.p-drawer-nav>li{border-color:rgba(255,255,255,.12)}
.p-drawer .p-header-top_buttons_sp{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#16294a;border:none}

/* height:auto/min-inline-size:0 は親テーマの大型ピル(高さ60px・最小幅160px)の打ち消し。/faq/ のタブと同寸にする。
   margin-top:0 は親テーマの -1px(先頭アイテムの border-top が上要素に隠れる)の打ち消し */
.category_terms_list .category_item{font-size:12px;letter-spacing:.1em;color:var(--copper)!important;border:1px solid var(--copper-soft)!important;padding:7px 20px;background:#fff!important;border-radius:0!important;line-height:1.6;height:auto!important;min-inline-size:0!important;margin-top:0!important;transition:background .3s,color .3s}

#voice .p-success-bottom_content{overflow:visible!important;max-height:none!important}
/* /voice/ アーカイブの本文下余白(固定ページの .page-body の下110pxと同等) */
.success-archive-content{padding-bottom:110px}
/* /voice/ アーカイブのカード本文もトップ同様、高さ制限+内部スクロール(fade-mask)を解除して全文表示 */
.p-archive--success .p-success-card-item_desc{max-height:none!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}
/* メガメニュー項目クリック時の一時クローズ(itaa.js が付与。カーソルが離れると解除) */
.p-megamenu.itaa-suppressed{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

.p-archive--post.p-post-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px;max-width:1280px;margin:56px auto 90px;padding:0 24px}
/* 記事一覧のレスポンシブ列数はモックの .news-tiles と同じ(1080px以下2列 / 640px以下1列) */
@media(max-width:1080px){.p-archive--post.p-post-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.p-archive--post.p-post-cards{grid-template-columns:1fr;gap:32px}}

#voice .c-category_success{display:none}
/* カード本文: 親テーマ+JSが max-height 付き内部スクロール枠(fade-mask)にするが、
   モックの voice-card は全文表示。スクロール・フェードとも解除(JSのインラインstyle対策で!important) */
#voice .p-success-card-item_desc{max-height:none!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}
/* ページングドット・矢印: 親テーマのアクセント色(#1080AB)をモックの銅色系に置き換え。
   矢印の実体は ::before の mask 塗り(background)なので background を上書きする */
#voice .splide__pagination__page{border:1px solid var(--copper-soft);background:none}


/* ---- v34: FAQ罫線の最終確定(モック=行間の下線のみ。マージ節の後勝ち対策で最後尾に配置) ---- */
.p-faq-list-item{border:none!important;border-bottom:1px solid var(--line)!important;background:none!important;box-shadow:none!important;border-radius:0!important}
.p-faq-list-item:first-child{border-top:1px solid var(--line)!important}
.p-faq-list-item-title,.p-faq-list-item-title-content,.p-faq-list-item-title-content-inner,.p-faq-list-item-title-content-text{border:none!important}


/* ---- v36: /faq/(contents1一覧)をモック qanda の行スタイルに一致 ---- */
/* コンテナの白背景・枠を除去(行区切りのみ) */
.p-archive--contents,.p-contents-cards,.p-contents1-list-item,.p-contents1-list-item-title,.p-contents1-list-item-title-content-text{background:none!important;box-shadow:none!important}
.p-contents1-list-item{border:none!important;border-bottom:1px solid var(--line)!important}
.p-contents1-list-item:first-child{border-top:1px solid var(--line)!important}
/* 質問行: モック summary(padding 26px 44px 26px 8px / Qは20px銅) */
.p-contents1-list-item-title{padding:26px 52px 26px 8px!important;font-size:15px;font-weight:500;letter-spacing:.05em;line-height:1.9}
.p-contents1-list-item-title_question{position:static!important;display:inline-block;margin-right:22px;font-family:var(--en);font-size:20px!important;color:var(--copper)!important;font-weight:400}
/* 回答: モック .a(A記号+グリッド、下30px) */
.p-contents1-list-item-title-content-text{display:none;grid-template-columns:auto 1fr;column-gap:22px;row-gap:10px;padding:0 8px 30px!important;font-size:14px;line-height:2.1;color:var(--text-soft)}
.p-contents1-list-item.is-active .p-contents1-list-item-title-content-text{display:grid}
.p-contents1-list-item-title-content-text::before{content:"A";font-family:var(--en);font-size:20px;color:var(--ink);line-height:1.6;grid-column:1;grid-row:1}
.p-contents1-list-item-title-content-text>*{grid-column:2}
.p-contents1-list-item-title-content-text .tcdce-body{grid-column:2}
.p-contents1-list-item-title-content-text .tcdce-body p{margin:0 0 .8em}
/* TOPのQ表記もモックと同じ「Q」(ドット無し・20px)に */
.p-faq-list-item-title::before{content:"Q"!important;font-size:20px!important;top:24px!important}
.p-faq-list-item-title{padding:26px 52px 26px 34px}


/* ---- v37: /faq/ はモック構造のchildテンプレートを使用。テーマ側の帯・タブを非表示 ---- */
.itaa-faq-archive-page .c-archive-header,
.itaa-faq-archive-page .c-archive-header_single,
.itaa-faq-archive-page section:has(> .c-archive-header__content),
.itaa-faq-archive-page .c-archive-news-tabs,
.itaa-faq-archive-page .c-archive-header-title-desc-content,
.itaa-faq-archive-page .c-breadcrumb--hero{display:none!important}


/* ---- v38: ページ幅の正規化(モック仕様: タイトル帯=1232px=ナビ同幅 / 本文=880px) ---- */
/* テーマの inline-size:1100px 制限を解除(max-widthでは打ち消せないため) */
.l-container,.l-contents,.l-main{inline-size:100%!important;max-width:none!important;width:100%!important}
/* 本文はモックの880px(paddingは .page-body 側の72px 24px 110pxに一元化) */
.itaa-page .page-body>.inner{max-width:880px!important;padding:0!important}
/* 記事詳細・一覧系も880pxに統一(928pxは誤設定だった) */
.p-single{max-width:880px}
.p-archive--contents,.p-contents-cards{max-width:880px}


/* ---- v39: /voice/ 一覧の幅(モック voice.html = inner-wide 1232px、カードは3カラム) ---- */
.success-archive-content{max-width:1232px;margin-inline:auto;padding:0 24px 90px;width:100%}
.p-archive--success.p-success-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:1080px){.p-archive--success.p-success-cards{grid-template-columns:1fr;max-width:640px;margin-inline:auto}}


/* ---- v40: アーカイブ見出し帯(/voice/ /news/ 等)を page-hero と同寸に統一
        (テーマの inline-size:min(100%-40px,1150px) 中央寄せを打ち消し、1232px@x24・余白64/48) ---- */
.c-archive-header .c-archive-header__content,
.c-archive-header_single .c-archive-header__content{padding:64px max(24px,calc(50% - 616px)) 48px!important}
.c-archive-header_headline_content,
.c-archive-header_headline_content_single{inline-size:100%!important;width:100%!important;max-width:1232px!important;margin-inline:auto!important}


/* ---- v41: SP/タブレットのヘッダー並びを明示固定(ロゴ左・ハンバーガー右) ---- */
@media(max-width:900px){
  .p-header-bar{display:flex!important;align-items:center;justify-content:space-between}
  .p-header-logo_mobile{order:1!important;margin-right:auto!important}
  .p-header-nav-sp,[class*="hamburger"]{order:9!important}
  .p-header-bar-spacer{display:none!important}
}


/* ---- v42: SPハンバーガーをモック仕様(48x72・バー26x1.5px間隔6・右余白24px)に ---- */
@media(max-width:900px){
  .p-header-nav-sp{width:48px!important;height:72px!important;margin-right:4px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none!important;border:none!important;padding:0!important}
  /* 構造: button > span.__icon(ラッパー) > span.__line x3。ラッパーは線扱いしない */
  .p-header-nav-sp__icon{position:static!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:26px!important;height:auto!important;background:none!important;margin:0!important}
  .p-header-nav-sp__line{position:static!important;width:26px!important;height:1.5px!important;background:var(--ink)!important;display:block;margin:0!important;transform:none}
}


/* ---- v43: タイポグラフィ照合で検出した様式差の是正(モック計算値に一致) ---- */
.p-cb-header-title{line-height:1.9!important;margin-bottom:0!important}
.itaa-more{line-height:1.9!important}
#news .p-post-cards-item{padding:22px 8px!important}
#news .c-date,#news .c-date-item{line-height:1.9!important}
#news .c-category_type a:first-child{line-height:1.6!important;margin:0!important}
.p-faq-list-item-title{display:flex!important;align-items:baseline;gap:22px;padding:26px 44px 26px 8px!important;line-height:1.9!important}
.p-faq-list-item-title::before{position:static!important;top:auto!important;left:auto!important;flex:0 0 auto}
#voice .splide__slide>article{padding:38px 34px!important}
.p-mv1-content-title{margin-top:0!important}


/* ---- v44: 様式差の残件是正 ---- */
.p-faq-list-item-title{font-size:15px!important}
#voice article h3{font-size:16px!important;line-height:1.9!important;margin:26px 0 16px!important}
.p-mv1-content-title{margin-bottom:0!important}
.p-footer-nav a{line-height:1.9!important}


/* ---- v45: ヒーローh1の実効高さをモックと一致(テーマの余白・SP用隠しスパンの行を排除) ---- */
.p-mv1-content-title{padding:0!important}
.p-mv1-content-title .c-hidden-pc{display:none!important}
.p-mv1-content-title br+span:empty{display:none}


/* ---- v46: ヒーローの肩書き行(EN)の行高をモック(.en=1.9)に一致 ---- */
.p-mv1-content-title::before{line-height:1.9}


/* ---- v47: FV位置・サブコピー行高の是正 ---- */
/* ヒーロー高さをモックと同式に(テーマは固定820px。ビューポートが低い環境で位置がずれる) */
.p-mv1{height:min(88vh,820px)!important;min-height:560px!important}
/* サブコピーの行高: テーマ2.2 → モック(本文標準1.9) */
.p-mv1-content-title_2{line-height:1.9!important}


/* ---- v48: テキスト全数照合で検出した様式差の是正 ---- */
.p-mv1-content-title_2{font-size:clamp(12px,1.2vw,14px)!important;margin-top:22px!important;line-height:1.9!important;letter-spacing:.12em!important}
#voice .tcdce-body .who{margin-top:24px!important;padding-top:18px!important;line-height:2.1!important}
#voice .tcdce-body .who b{color:var(--ink)!important}


/* ---- v49: FAQ回答の書式(モック .a: text-soft / 行高2.1)・VOICE属性行の行高 ---- */
#faq .p-faq-list-item-title-content-text,#faq .p-faq-list-item-title-content-text p{color:var(--text-soft)!important;line-height:2.1!important}
#voice .tcdce-body .who b{line-height:25.2px!important}


/* ---- v50: 残差是正(VOICE本文pの余白 / TOP FAQ回答の色・行高を配下全体に強制) ---- */
#voice .tcdce-body p{padding:0!important}
#faq .p-faq-list-item-title-content,#faq .p-faq-list-item-title-content *{color:var(--text-soft)!important;line-height:2.1!important;font-size:14px!important}


/* ---- v51: TOP FAQ回答の「A」をモック(.faq-list .a)仕様に確定 ----
   grid(auto 1fr / gap22) の1列目に A(--en 20px 墨紺 lh1.6)。旧「A.」15px絶対配置を上書き */
.p-faq-list-item-title-content-text{display:grid!important;grid-template-columns:auto 1fr;column-gap:22px;row-gap:10px;padding:0 8px 30px!important;position:static!important}
.p-faq-list-item-title-content-text::before{content:"A"!important;position:static!important;left:auto!important;top:auto!important;font-family:var(--en)!important;font-size:20px!important;line-height:1.6!important;color:var(--ink)!important;font-weight:400!important;grid-column:1;grid-row:1}
.p-faq-list-item-title-content-text>*{grid-column:2}


/* ---- v52: カテゴリ表示の全廃(2026-08-03指示) ----
   TOPお知らせのチップ / カテゴリアーカイブ(/news/ /projects/ /インクメイク知識/)のタブ・チップを削除 */
#news .c-category_type{display:none!important}
#news .p-post-cards-item{grid-template-columns:110px 1fr!important}
#news .p-cb-post-item-title{grid-column:2!important;grid-row:1!important}
@media(max-width:640px){
  #news .p-post-cards-item{grid-template-columns:96px 1fr!important}
  #news .p-cb-post-item-title{grid-column:1/-1!important;grid-row:2!important}
}
.category_terms_list{display:none!important}
.p-archive--post .c-category_type{display:none!important}


/* ---- v53: 見出し帯の page-hero 一本化 ----
   voice/カテゴリアーカイブも child テンプレートで page-hero を出力。
   テーマの c-archive-header 系はこれらのページで全て非表示(旧矯正パッチは不要=不活性化) */
.itaa-archive-page .c-archive-header,
.itaa-archive-page .c-archive-header_single,
.itaa-archive-page section:has(> .c-archive-header__content),
.itaa-archive-page .c-archive-header-title-desc-content,
.itaa-archive-page .c-breadcrumb--hero{display:none!important}
/* カテゴリタイル: 日付→タイトルの縦積み(モック news.html) */
.itaa-archive-page .p-post-cards-item__link{display:block!important;padding:0}
.itaa-archive-page .p-post-cards-item__title{font-size:14.5px;font-weight:500;line-height:1.8;letter-spacing:.04em;margin-top:2px}
.itaa-archive-page .p-post-cards-item__title a{color:var(--text)}
.itaa-archive-page .p-cb-post-item-date{margin-top:12px}
/* voice一覧はモック余白(下90px)を維持 */
.itaa-archive-page .success-archive-content{padding-top:56px}
.itaa-archive-page .p-archive--post.p-post-cards{margin-top:56px}


/* ---- v54: /voice/ 一覧カードをTOP(モック voice-card)と同一仕様に ---- */
.itaa-archive-page .p-success-cards article{position:relative;background:#fff;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:0!important;padding:38px 34px!important}
.itaa-archive-page .p-success-cards article::before{content:"“"!important;display:block!important;position:absolute;top:14px;left:26px;font-family:var(--en);font-size:64px;line-height:1;color:var(--copper-soft);opacity:.5;margin:0}
.itaa-archive-page .p-success-cards article h3{font-family:var(--serif)!important;font-size:16px!important;font-weight:600;letter-spacing:.06em;color:var(--ink)!important;line-height:1.9!important;margin:26px 0 16px!important}
.itaa-archive-page .p-success-cards .tcdce-body{font-size:13px!important;line-height:2!important;color:var(--text-soft)!important}
.itaa-archive-page .p-success-cards .tcdce-body p{padding:0!important;margin:0!important}
.itaa-archive-page .p-success-cards .tcdce-body .who{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:24px!important;padding-top:18px!important;border-top:1px solid var(--line);font-size:12px!important}
.itaa-archive-page .p-success-cards .tcdce-body .who b{display:inline;color:var(--ink)!important;font-size:12.5px!important;line-height:25.2px!important}
.itaa-archive-page .p-success-cards .p-success-cards-item__image{display:none!important}
.itaa-archive-page .c-category_success{display:none!important}
.itaa-archive-page .p-success-bottom_content{overflow:visible!important;max-height:none!important}


/* ---- v55: フッターメニューを1メニュー+行優先2列に(SPでも読み順=ヘッダー順) ---- */
.p-footer-main .p-footer-nav--pc:nth-of-type(1){grid-column:2/4;grid-row:1}
.p-footer-nav{display:grid!important;grid-template-columns:repeat(2,auto);grid-auto-flow:row;gap:12px 56px}
.p-footer-nav a{font-size:13px!important;letter-spacing:.08em!important;line-height:1.9!important}
@media(max-width:900px){
  .p-footer-nav{column-gap:40px}
}


/* ---- v56: SPフッターは縦積み・左揃え(モックのfoot-grid 1col化と同じ640px境界) ---- */
@media(max-width:640px){
  .l-footer_inner{display:block!important}
  .p-footer-logo_sns{margin-bottom:28px!important}
  .p-footer-nav{margin:0!important;justify-content:start;width:100%}
}


/* ---- v57: フリースペース(PROGRAM/FLOW/CTA)の全幅復元 ----
   v20の .l-inner 1280px!important がワイド画面で内包ブロックを制限していたため、
   フリースペース側をより強い指定で全幅に戻す(モック=背景全幅・内容は.wrapで1232px) */
#program .p-cb-item-inner,#flow .p-cb-item-inner,#cta .p-cb-item-inner{max-width:none!important;width:100%!important;inline-size:100%!important;margin:0!important;padding:0!important}
.p-cb-free-content,.p-cb-free-content>.program,.p-cb-free-content>.flow,.p-cb-free-content>.cta{width:100%!important;max-width:none!important}


/* ---- v58: フッター左列(ロゴ→ミッション文)の密着配置(モック=間隔0) ----
   ナビ列の高さに1行目が引っ張られてロゴ下に86px空く問題を grid-template-areas で解消 */
.l-footer{grid-template-columns:1fr auto!important;grid-template-areas:"logo nav" "copy nav" "cr cr"!important;align-content:start}
.p-footer-logo_sns{grid-area:logo!important;align-self:start}
.footer_main_copy{grid-area:copy!important;align-self:start;padding-top:0!important;margin-top:0!important;max-width:420px}
.p-footer-nav{grid-area:nav!important;align-self:start}
.p-footer-copyright{grid-area:cr!important}


/* ---- v59: ドロワー親カテゴリの開閉アイコンをモック仕様(+/−グリフ 22px 銅淡色)に ---- */
.p-drawer-nav__toggle{position:static!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;display:flex!important;align-items:center;justify-content:center;background:none!important;margin-left:auto;padding:0!important;width:22px!important;overflow:visible}
.p-drawer-nav__toggle::before{content:"+"!important;position:static!important;width:auto!important;height:auto!important;background:none!important;font-family:var(--sans);font-weight:300;font-size:22px;line-height:1;letter-spacing:0;color:var(--copper-soft);transform:none!important;transition:none}
.p-drawer-nav__toggle::after{content:none!important;display:none!important}
.p-drawer-nav .is-open .p-drawer-nav__toggle::before,
.p-drawer-nav li.is-open > .p-drawer-nav__toggle::before,
.p-drawer-nav li.is-open a .p-drawer-nav__toggle::before{content:"−"!important}

/* 親カテゴリ行は→矢印を出さない(+/−のみ。マージ節での再有効化対策で最後尾に配置) */
.p-drawer-nav li.menu-item-has-children > a::after{content:none!important}

/* ドロワートグルの実体バー(theme: toggle-icon > toggle-bar is-h/is-v)を非表示。+/−はグリフ(::before)のみ */
.p-drawer-nav__toggle-icon{display:none!important}

/* トグルのグリフ欠け対策(親aのoverflowでインクが切れるのを防止) */
.p-drawer-nav>li>a{overflow:visible!important}
.p-drawer-nav__toggle::before{display:block;min-width:14px;text-align:center}


/* ---- v60: トグルは実要素グリフ(.itaa-tg)で描画。疑似要素の描画は全停止 ---- */
.p-drawer-nav__toggle::before,.p-drawer-nav__toggle::after{content:none!important;display:none!important}
.itaa-tg{display:block;font-family:var(--sans);font-weight:300;font-size:22px;line-height:1;letter-spacing:0;color:var(--copper-soft)}

/* ---- v61: トグルの太さ・位置をモックに一致(Cormorant 400、行右端2px内側・上下中央) ---- */
.p-drawer-nav li.menu-item-has-children{position:relative!important}
.p-drawer-nav__toggle{position:absolute!important;inset:auto!important;right:0!important;top:0!important;transform:none!important;width:44px!important;height:50px!important;margin:0!important;padding:0 2px 0 0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;background:none!important}
.itaa-tg{font-family:var(--en);font-weight:400;font-size:22px;line-height:1;letter-spacing:0;color:var(--copper-soft)}

/* ---- v62: PC幅(>=1081px)ではドロワーを常時非表示(リサイズで開いたまま残る事故の保険。モックの1081px境界と同一) ---- */
@media(min-width:1081px){.p-drawer,.p-drawer-bg{display:none!important}}

/* ---- v63: 予約システム(reservation.inkmake.jp)埋め込み用スタイル(2026-08-04 ユーザー追記分を mock-base.css から移設。自動生成ファイルへの手編集は再生成で消えるため、手編集は本ファイルへ) ---- */
.reservation img {display: inline;}
.reservation .documents div {margin-bottom: 2em;}
.reservation dialog {
  width: fit-content;
  height: fit-content;
  max-width: calc(100% - 6px - 2em);  /* UA相当の安全マージン */
  max-height: calc(100% - 6px - 2em);
  margin: auto;  /* 前回説明のとおり、resetがmarginも0にしている場合に必要 */
}

/* ---- v64: SPフッターの順序をモックに一致+予約システム側の下部余白解消 ----
   [順序] v56 の .l-footer_inner{display:block!important} が v58 の grid-template-areas を
   無効化し、SP(640px以下)では l-footer_inner が1つのグリッドアイテムに戻るため
   DOM順(ナビ→ロゴ→コピーライト→ミッション文)のまま崩れていた。
   inner/main を contents に戻して全要素を .l-footer グリッドに乗せ、
   モック(foot-grid 1col化)と同じ ロゴ→ミッション→ナビ→コピーライト にする。 */
@media(max-width:640px){
  .l-footer{grid-template-columns:1fr!important;grid-template-areas:"logo" "copy" "nav" "cr"!important}
  .l-footer_inner,.p-footer-main{display:contents!important}
  .p-footer-logo_sns{margin-bottom:20px!important}  /* mock .foot-logo の margin-bottom:20px 相当 */
  .p-footer-nav{margin-top:60px!important}          /* mock .foot-grid の gap:60px 相当(v56 の margin:0 を上書き) */
}

/* [余白] 親テーマ layout.css の .l-outer{min-block-size:100svh} により、コンテンツが短い
   ページ(ログイン等)ではフッターの下に空白が発生する。予約システムのページ
   (body.reservation)のみ sticky footer 化し、余りを本文とフッターの間に逃がす。 */
body.reservation .l-outer{display:flex;flex-direction:column}
body.reservation .l-outer>.l-footer{margin-top:auto}

/* ---- v65: SPでPCナビ(メガメニュー含む)を非表示 ----
   29行の .p-header-nav{display:flex}(メディアクエリなし)が親テーマのSP非表示を上書きし、
   ナビ内のメガメニュー(position:absolute・高さ4000px超)がSPでもレイアウトされて
   ページ下部にスクロール可能な空白を作っていた(短いページで顕在化)。
   モックの境界(1080px以下は gnav/megamenu 非表示・ドロワー運用)に一致させる。 */
@media(max-width:1080px){
  .p-header-nav,.p-megamenu{display:none!important}
}

/* ---- v66: Turnstileウィジェット(予約システムのログイン)の下枠線欠け対策 ----
   iframe がインライン(ベースライン配置)のため、行ボックスの端数でウィジェットが
   小数ピクセル位置に描画され、スマホ(高DPR)で内部の1px下枠線が丸め落ちする。
   line-height:0 でストラット由来の余白(実測: ラッパー73.5px=65px+8.5px)を消し、
   display:block でベースライン配置自体を解消して整数ピクセルに載せる。 */
.reservation .cf-turnstile{line-height:0}
.reservation .cf-turnstile iframe{display:block}

/* ---- v64: 記事詳細をモックsingle.htmlのレイアウトに一致(2026-08-06) ----
   前後ナビ・関連記事は functions.php(itaa_single_after_content)がモック構造で出力。
   テーマ標準のナビ(.navigation.post-navigation)と関連記事(.p-related-post)は停止 */
.p-single nav.c-page-nav,.p-single .navigation.post-navigation,.p-single-bottom.p-related-post{display:none!important}
/* related は .l-container の外(tcd_single_post_bottom_content)で出力。inner-wideで1232px中央寄せ */
.related{padding-inline:24px}
.related .inner-wide{max-width:1232px;margin-inline:auto}
.p-single .post-nav a{color:var(--text)}
.p-single .news-tile .ph img{width:100%;height:100%;object-fit:cover}
/* megamenu01(記事カルーセル)は未使用のため完全停止。
   v22の .p-megamenu{display:block} が01まで可視化し、単一記事ページで露出していた(TOPではMV背後で不可視の潜在バグ) */
.p-megamenu01{display:none!important}

/* ---- v65: single細部(2026-08-06指摘) ---- */
/* テーマ(tcdce)が見出しを中央揃えにするため、本文見出しはモック同様に左揃えへ */
.p-single-content .tcdce-body h2,.p-single-content .tcdce-body h3,.p-single-content .tcdce-body h4{text-align:left}
/* 関連記事の下余白(モックのpage-body下110pxに一致) */
.related{padding-bottom:110px}
/* overscroll時にhtmlの白が見えないよう紙色に */
html{background:var(--paper)}
/* テーマの1カラム記事カード化(padding60px+影)を停止。モックは紙色フラット(ユーザー特定: box-shadowが背景色差の正体) */
.news_one_layout{box-shadow:none!important;padding:0 24px!important}/* 左右24pxは.p-singleの既定を維持 */
.l-contents:has(.news_one_layout){max-width:928px!important}/* テーマの920px上限を解除し本文880pxを確保 */
/* v38の.p-single{max-width:880px}はpadding24px×2を考慮しておらず実文面832pxだった。文面=モック880pxになるよう928pxへ補正 */
.p-single{max-width:928px}

/* ---- v66: Gutenbergボタンブロックをサイト標準ボタン(モック.btn-copper相当)に(2026-08-06) ----
   記事内の .wp-block-button__link が白背景で背景と同化していた。クラス名はブロックのまま見た目のみ変更 */
.tcdce-body .wp-block-buttons{justify-content:center}
.tcdce-body .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-width:280px;padding:22px 32px!important;height:auto!important;min-height:0!important;background:var(--copper)!important;color:#fff!important;font-weight:700!important;font-size:15px!important;letter-spacing:.14em!important;line-height:1.6!important;border:none!important;border-radius:0!important;text-decoration:none;transition:transform .3s,box-shadow .3s}/* padding等はテーマ規則(0 24px/16px)に負けるため!important必須 */
.tcdce-body .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.3);opacity:1}
/* テーマのホバー演出(::beforeオーバーレイが#333に変化)を停止。ホバーはモック同様の浮上+シャドウのみ */
.tcdce-body .wp-block-button__link::before,.tcdce-body .wp-block-button__link::after{content:none!important;display:none!important}
@media(max-width:640px){.tcdce-body .wp-block-button,.tcdce-body .wp-block-button__link{min-width:0;width:100%}}

/* ---- v67: single細部(2026-08-06指摘: SPのh1全幅化/.p-single-content padding0/SPヘッダーの影) ---- */
/* テーマSPルール .post-single_title_inner{margin:0 -20px} と h1{margin:-8px 0} がタイトルを余白無視で全幅化していた */
.post-single_title_inner{margin:0!important}
.p-single-header__title{margin:0!important}
/* 画像→本文の間隔はモックの .single-eyecatch 下48pxに合わせる(content padding廃止の代替) */
.p-single-header{margin-bottom:48px}
/* テーマの.p-single(grid)のrow-gapを0に(間隔はマージンで管理。gap40pxが画像→本文・本文→ナビに加算されていた) */
.p-single{row-gap:0!important}
/* 本文先頭見出しの上マージンを打ち消し(モックの .article h2:first-child{margin-top:0} 相当) */
.p-single-content .tcdce-body>:first-child{margin-top:0}
/* SPヘッダーはモック同様 border-bottom。テーマのbox-shadowは停止 */
@media(max-width:900px){.l-header{border-bottom:1px solid var(--line)!important;box-shadow:none!important}}

/* ---- v68: 記事目次(.p-toc = tcd-classic-editorプラグイン出力)の整形(2026-08-06) ----
   既定は見出し中央・マーカーなし・下部余白過大。サイト設計言語(銅色+EN数字ナンバリング)に統一 */
.p-toc{background:var(--paper-dim)!important;border:1px solid var(--line)!important;border-radius:0!important;padding:26px 30px 22px!important;margin:0 0 40px!important;counter-reset:itaatoc}
.p-toc-headline{display:flex!important;align-items:baseline;gap:12px;font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:.12em;color:var(--ink);text-align:left!important;margin:0 0 14px!important;padding:0!important}
.p-toc-headline::before{content:"";width:24px;height:1px;background:var(--copper);flex:0 0 auto;transform:translateY(-5px)}
.p-toc ul{list-style:none!important;margin:0!important;padding:0!important;gap:0!important}
.p-toc ul.child ul.child{padding-left:26px!important}
.p-toc li{counter-increment:itaatoc;position:relative;margin:0!important;padding:7px 0 7px 34px!important;font-size:13.5px;line-height:1.9}
/* プラグインの :is(.tcdce-body,...) ul li::before (0,1,3) に勝つため詳細度を上げる */
.tcdce-body .p-toc ul li::before,.p-toc-modal .p-toc ul li::before{content:counter(itaatoc,decimal-leading-zero);position:absolute;left:2px;top:7px;width:auto;height:auto;font-family:var(--en);font-size:13px;letter-spacing:.06em;color:var(--copper);background:none}
.p-toc a{color:var(--text)!important;border-bottom:none!important;text-decoration:none!important;transition:color .3s}
.p-toc a:hover{color:var(--copper)!important}
@media(max-width:640px){.p-toc{padding:22px 20px 18px!important}}

/* ---- v69: SPフローティング目次(ボタン+モーダル)をサイト配色に(2026-08-06) ----
   モーダル内の.p-tocは.tcdce-body外のため番号セレクタに .p-toc-modal 文脈を追加(上のルール) */
.p-toc-open{background:var(--copper)!important;border-radius:0!important;box-shadow:0 10px 24px rgba(10,28,55,.35)!important}
.p-toc-open::before{color:#fff!important}
/* 閉じるボタンを明確なボタン形状に(素の×のみだと視認しづらい) */
.p-toc-modal-close{width:44px!important;height:44px!important;padding:0!important;margin-top:16px;background:var(--copper)!important;border:none!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(10,28,55,.3)}
.p-toc-modal-close::before{color:#fff!important;font-size:20px!important}
.p-toc-modal-overlay{background:rgba(10,18,32,.55)!important}
.p-toc-modal .p-toc{border:1px solid var(--line)!important}

/* ---- v70: テーマのSP用 .l-contents:has(.p-page){padding-top:20px} を無効化(2026-08-07指摘) ----
   page-heroはヘッダー直下に密着が正(モック)。この20pxはヘッダーとタイトル帯の間に不要な隙間を作る */
@media(max-width:767px){.l-contents:has(.p-page){padding-top:0!important}}

/* ---- v71: 本文リンクの二重下線解消(2026-08-07指摘) ----
   下線はモック同様 border-bottom(copper-soft)のみ。テーマがhoverで足す text-decoration:underline を全状態で停止 */
.tcdce-body a,.tcdce-body a:hover{text-decoration:none!important}

/* ---- v72: 記事本文の見出し階層 h4〜h6 を定義(2026-08-07指摘: 未定義のh4がテーマ既定22pxとなりh3(17.5px)と逆転) ----
   スケール: h2=clamp(20,2.2vw,25) > h3=17.5 > h4=16 > h5=15 > h6=14.5(本文14.5) */
.p-single-content .tcdce-body h4{font-family:var(--serif);font-size:16px!important;font-weight:600;letter-spacing:.08em;color:var(--ink);margin:1.8em 0 .7em}
.p-single-content .tcdce-body h5{font-family:var(--serif);font-size:15px!important;font-weight:600;letter-spacing:.08em;color:var(--ink);margin:1.6em 0 .6em}
.p-single-content .tcdce-body h6{font-family:var(--serif);font-size:14.5px!important;font-weight:700;letter-spacing:.08em;color:var(--ink);margin:1.6em 0 .6em}
.p-single-content .tcdce-body h3{font-size:17.5px!important}
/* single記事タイトル: SPで20pxに落ちる別ルールに勝ち、h2(20px)との階層を確保(モック仕様clamp 22〜32px) */
.p-single-header__title{font-size:clamp(22px,2.6vw,32px)!important}

/* ---- v73: 講習・プログラム画像枠を16:9に統一(2026-08-07指摘) ----
   メガメニュー(p-megamenu02)はテーマ既定 aspect-ratio 365/250 で16:9画像を切り抜いていた。
   TOPのPROGRAMカードはモック側(.prog-card .ph)を16/9に変更しmock-base経由で反映 */
.p-megamenu02__item-image{aspect-ratio:16/9!important}
.p-megamenu02__item-image img{width:100%;height:100%;object-fit:cover}

/* ---- v74: TOPのFAQ(faq_contentブロック)はアコーディオン廃止・全表示(2026-08-07指示) ----
   開閉はv初期の grid-template-rows:0fr(本ファイル)+親テーマJSの is-active トグルで成立していたため、
   #faq 配下のみ 1fr 固定・トグルアイコン非表示・カーソル/ホバー無効化。/faq/(contents1)のアコーディオンは対象外。
   モック側は index.html の details/summary を .faq-item/.q に変更(右paddingも8pxで左右対称) */
#faq .p-faq-list-item-title-toggle{display:none!important}
#faq .p-faq-list-item-title{cursor:default!important;padding-right:8px!important;transition:none!important}
#faq .p-faq-list-item-title:hover{color:var(--text)!important}
#faq .p-faq-list-item-title-content{grid-template-rows:1fr!important;transition:none!important}
/* 質問行の字間: 初期値 .04em はモック(.05em)と不一致で、390pxで1問目の折り返し行数が変わっていた(v74実測で発見) */
#faq .p-faq-list-item-title{letter-spacing:.05em!important}


/* ---- v75: /voice/ 一覧の .who 行の行間をモックに合わせる(2026-08-31) ----
   who(属性・受講内容)を本文直書きからカスタムフィールド出力に変えた際の実測で判明した既存差。
   TOPの #voice は v48 で line-height:2.1 を指定済みだが、アーカイブ(.itaa-archive-page)は
   セレクタが届かず親テーマの 24px(=2.0)のままで、モック(voice.html: 12px×2.1=25.2px)と1.2pxずれていた。 */
.itaa-archive-page .p-success-cards .tcdce-body .who{line-height:2.1!important}
