/*
	Theme Name: SHEALS Theme Child
	Theme URI: 
	Description: SHEALSが制作・保守するWebサイト用の子テーマです。デザインの追加CSSはここに書きます（親テーマの更新で消えません）。
	Author: SHEALS
	Author URI: 
	Version: 1.0.0
	Stable tag: 1.0.0
	Requires at least: 4.7
	Tested up to: 5.8.1
	Requires PHP: 5.8.1
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Template: nexter
	Text Domain: nexter
	Tags: flexible-header, custom-colors, custom-menu, custom-logo, featured-images, translation-ready
*/

/* =========================================================
   AXIS.Life サイト用デザイン（VAILS版モックの再現）
   ・Elementor の各部品に付けたクラス名（ax-〜）に効く
   ・色・フォントの基本は Elementor「サイト設定」で管理し、
     ここには Elementor の画面だけでは作りにくい細部だけを書く
   ========================================================= */

/* ---- 土台：テーマ側の背景色・左右余白を打ち消す（Elementorで作るページを端まで使う） ---- */
body,#content.site-content{background:#fff !important;}
.elementor-template-full-width #content > .nxt-container-fluid,
.elementor-template-full-width #content > .nxt-container{padding-left:0 !important;padding-right:0 !important;max-width:none !important;}

/* ---- 横並びのカードは「均等割り」にする（％指定だと罫線・すき間ぶん溢れて折り返すため） ---- */
@media (min-width:768px){
  .ax-strip-item,.ax-sem-cards > .ax-card{flex:1 1 0 !important;width:auto !important;min-width:0;}
  .ax-grid-item,.ax-card--voice{flex:0 0 50% !important;width:50% !important;}
}
@media (min-width:1025px){
  .ax-step{flex:1 1 0 !important;width:auto !important;min-width:0;}
}
/* 罫線でつなぐグリッドは列のすき間を0に（Elementor標準の20pxがあると2列が収まらない） */
.ax-grid2,.ax-voice-grid,.ax-steps,.ax-strip .e-con:has(> .ax-strip-item){gap:0 !important;--gap:0px !important;}
/* カードの中（見出し→本文）の間隔を詰める */
.ax-card,.ax-step,.ax-strip-item,.ax-grid-item > .e-con{gap:6px !important;--gap:6px !important;}
.ax-sec .elementor-widget-text-editor p{margin-top:0;}
.ax-sec .elementor-widget-text-editor p:last-child{margin-bottom:0;}
.ax-grid2,.ax-voice-grid,.ax-steps{margin-top:32px !important;}
/* 写真の切り抜き（Elementor標準の img{height:auto} に負けないよう !important） */
.ax-wide-img img{height:328px !important;object-fit:cover;}
.ax-area-img img{height:353px !important;object-fit:cover;}

/* ---- 共通：セクション見出しの上の英字ラベル（— SEMINAR など） ---- */
.ax-eyebrow .elementor-heading-title{
  display:flex;align-items:center;gap:12px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.24em;color:#9B7A48;text-transform:uppercase;margin:0 0 14px;
}
.ax-eyebrow .elementor-heading-title::before{content:"";width:24px;height:1px;background:#9B7A48;}
.ax-sec h2.elementor-heading-title{margin-bottom:20px;letter-spacing:.02em;}
.ax-lead{max-width:600px;}
.ax-lead p{margin-bottom:8px;}
.ax-sec h3.elementor-heading-title{font-size:18px;margin-bottom:8px;}

/* ---- ヒーロー ---- */
.ax-hero-kicker .elementor-heading-title{font-size:13px;font-weight:700;color:#5C4A2E;letter-spacing:.06em;}
.ax-hero-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:36px;font-weight:600;letter-spacing:.9px;line-height:1.55;}
.ax-hero-sub .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:18px;color:#6B5A3C;}
.ax-hero-triad .elementor-heading-title{font-size:13px;color:#6B5A3C;letter-spacing:.06em;}
.ax-hero-slider .swiper-slide-image,.ax-hero-slider img{
  width:100%;height:540px;object-fit:cover;border-radius:120px 0 0 0;
}
.ax-hero-slider .swiper-pagination{bottom:-28px !important;}

/* ---- ボタン（形・高さ・角丸をそろえる。全ボタンにホバー） ---- */
.ax-btn .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:0 26px;border-radius:4px;font-size:15px;font-weight:700;letter-spacing:.06em;
  transition:background-color .2s,color .2s,transform .2s;
}
.ax-btn--navy .elementor-button{background:#1E3A5F;color:#fff;}
.ax-btn--navy .elementor-button:hover{background:#152B47;color:#fff;transform:translateY(-1px);}
.ax-btn--soft .elementor-button{background:#DCE8E5;color:#1E3A5F;}
.ax-btn--soft .elementor-button:hover{background:#C9DCD8;color:#1E3A5F;transform:translateY(-1px);}

/* ---- 3つの事業（ネイビー帯） ---- */
.ax-strip-item{padding:0 28px !important;border-right:1px solid rgba(255,255,255,.16);}
.ax-strip-item:first-child{padding-left:0 !important;}
.ax-strip-item:last-child{border-right:0;}
.ax-num-sm .elementor-heading-title{font-size:12px;letter-spacing:.14em;color:#B89A6A;margin-bottom:6px;}
.ax-strip .elementor-text-editor strong{color:#fff;}

/* ---- セミナー ---- */
.ax-wide-img img{width:100%;height:328px;object-fit:cover;margin:16px 0 24px;}
.ax-card{background:#fff;border:1px solid #D6E0E2;padding:24px !important;}
.ax-card--topline{border-top:2px solid #9B7A48;}
.ax-textlink{margin-top:28px;}
.ax-textlink .elementor-heading-title a{color:#9B7A48;font-size:15px;font-weight:700;letter-spacing:.06em;border-bottom:1px solid #9B7A48;padding-bottom:4px;transition:opacity .2s;}
.ax-textlink .elementor-heading-title a:hover{opacity:.7;}

/* セクション下のゴールドの細線 */
.ax-gold-rule{position:relative;}
.ax-gold-rule::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,#9B7A48 30%,#9B7A48 70%,transparent);}

/* ---- 選ばれる理由（2×2の罫線グリッド） ---- */
.ax-grid2{margin-top:24px;}
.ax-grid-item{padding:28px 20px !important;border-bottom:1px solid #D6E0E2;}
.ax-grid-item:nth-child(odd){border-right:1px solid #D6E0E2;}
.ax-grid-item:nth-child(n+3){border-bottom:0;}
.ax-num .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:22px;color:#9B7A48;line-height:1.4;}

/* ---- お客様の声 ---- */
.ax-voice-grid{margin-top:24px;}
.ax-card--voice{border-top:2px solid #9B7A48;}
.ax-voice-name .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:17px;font-weight:500;}

/* ---- ご相談までの流れ ---- */
.ax-steps{margin-top:24px;}
.ax-step{padding:0 20px !important;border-left:1px solid #D6E0E2;}

/* ---- 活動エリア ---- */
.ax-pill .elementor-heading-title{display:inline-block;background:#203E57;color:#fff;border-radius:999px;padding:8px 20px;font-size:14px;font-weight:700;letter-spacing:.06em;}
.ax-area-img img{width:100%;height:353px;object-fit:cover;}

/* ---- ヘッダー（スクロールしても上に固定） ---- */
#nxt-header{position:sticky;top:0;z-index:99;}
.admin-bar #nxt-header{top:32px;}
@media (max-width:782px){.admin-bar #nxt-header{top:46px;}}
.ax-header{box-shadow:0 1px 0 rgba(0,0,0,.04);}
.ax-header-top{padding:12px 24px !important;}
.ax-logo{flex:0 0 auto !important;width:210px !important;}
.ax-logo img{width:210px !important;height:auto !important;}
.ax-header-actions{flex:0 0 auto !important;width:auto !important;justify-content:flex-end;}
.ax-nav,.ax-nav .elementor-widget-container,.ax-nav .plus-navigation-wrap,.ax-nav .plus-navigation-inner,
.ax-nav .navbar-collapse,.ax-nav .plus-navigation-menu{width:100% !important;max-width:none !important;}
.ax-nav .navbar-nav>li>a{white-space:nowrap;}
.ax-sns .elementor-icon{
  width:40px;height:40px;border-radius:10px;font-size:22px;color:#fff !important;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);
  transition:opacity .2s;
}
.ax-sns .elementor-icon svg{fill:#fff;width:22px;height:22px;}
.ax-sns a:hover,.ax-sns .elementor-icon:hover{opacity:.8;}
.ax-sns--line img{width:40px !important;height:40px !important;max-width:none;transition:opacity .2s;}
.ax-sns{width:auto !important;flex:0 0 auto !important;}
.ax-header-cta .elementor-button{min-height:44px;}
.ax-header-nav{background:#EDF3F4;}
.ax-nav .navbar-nav{display:flex !important;width:100%;margin:0;}
.ax-nav .navbar-nav>li{flex:1 1 0;text-align:center;border-left:1px solid #fff;}
.ax-nav .navbar-nav>li:first-child{border-left:0;}
.ax-nav .navbar-nav>li>a{display:block;padding:16px 8px !important;font-size:14px;font-weight:700;letter-spacing:.12em;color:#273F51 !important;transition:background-color .2s;}
.ax-nav .navbar-nav>li>a:hover{background:rgba(255,255,255,.6);}
.ax-nav .navbar-nav>li.current-menu-item>a,.ax-nav .navbar-nav>li.active>a{background:#fff;}
/* メニューを開くボタン（三本線・×）をネイビーに（プラグイン標準の赤を上書き） */
.ax-nav .mobile-plus-toggle-menu ul.toggle-lines li.toggle-line{background:#203E57 !important;}

/* ---- フッター ---- */
.ax-footer{border-top:1px solid #EDF3F4;}
.ax-footer > .e-con-inner{flex-wrap:nowrap !important;justify-content:space-between !important;align-items:center !important;}
.ax-footer > .e-con-inner > .e-con:first-child{flex-direction:column !important;align-items:flex-start !important;gap:0 !important;width:auto !important;}
.ax-footer > .e-con-inner > .e-con:last-child{width:auto !important;justify-content:flex-end;}
@media (max-width:767px){.ax-footer > .e-con-inner{flex-wrap:wrap !important;}}
.ax-footer-copy .elementor-heading-title{font-size:13px;color:#4B5D69;letter-spacing:.08em;margin-top:10px;}
.ax-footer-c .elementor-heading-title{font-size:12px;color:#8A99A3;margin-left:6px;}

/* ---- スマホ ---- */
@media (max-width:767px){
  .ax-hero-title .elementor-heading-title{font-size:28px;}
  .ax-hero-slider img,.ax-hero-slider .swiper-slide-image{height:320px;border-radius:64px 0 0 0;}
  .ax-strip-item{padding:20px 0 !important;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);}
  .ax-strip-item:last-child{border-bottom:0;}
  .ax-grid-item{border-right:0 !important;border-bottom:1px solid #D6E0E2 !important;padding:24px 0 !important;}
  .ax-step{border-left:0;border-top:1px solid #D6E0E2;padding:20px 0 !important;}
  .ax-wide-img img{height:200px;}
  .ax-area-img img{height:240px;}
  .ax-sec{padding-top:64px !important;padding-bottom:64px !important;}
  .ax-header-top{padding:10px 16px !important;}
  .ax-logo,.ax-logo img{width:150px !important;}
  .ax-header-cta .elementor-button{padding:0 12px;font-size:12px;min-height:36px;}
  .ax-header-top > .e-con-inner{flex-wrap:nowrap !important;gap:8px !important;}
  .ax-logo,.ax-logo img{width:130px !important;}
  .ax-header-actions{gap:6px !important;}
  .ax-sns .elementor-icon{width:34px;height:34px;font-size:18px;border-radius:8px;}
  .ax-sns--line img{width:34px !important;height:34px !important;}
  /* スマホのお問い合わせは封筒アイコンだけの正方形（SNSアイコンと形をそろえる） */
  .ax-header-cta .elementor-button{width:34px;min-height:34px;height:34px;padding:0;border-radius:8px;}
  .ax-header-cta .elementor-button-text{display:none;}
  .ax-header-cta .elementor-button-icon{margin:0 !important;}
  .ax-header-nav{padding:6px 16px !important;}
  /* スマホのメニュー（開いたとき）は縦並び */
  .ax-nav .plus-mobile-menu .navbar-nav{display:block !important;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.08);}
  .ax-nav .plus-mobile-menu .navbar-nav>li{border-left:0;border-top:1px solid #EDF3F4;text-align:left;}
  .ax-nav .plus-mobile-menu .navbar-nav>li>a{padding:14px 20px !important;}
}

/* =========================================================
   ヘッダーをスリムに（2026-10-28 CEO指示）
   ・上段（ロゴ・SNS・お問い合わせ）を低く、メニュー帯も細く
   ・スクロールすると上段は流れて消え、メニュー帯だけが上に残る
     （#nxt-header の top を「上段の高さぶんマイナス」にする仕組み）
   ========================================================= */
:root{--ax-top-h:56px;--ax-adminbar:0px;}
.admin-bar{--ax-adminbar:32px;}
#nxt-header{top:calc(var(--ax-adminbar) - var(--ax-top-h)) !important;}
.ax-header-top{height:var(--ax-top-h);padding:0 24px !important;}
.ax-header-top{height:var(--ax-top-h) !important;}
.ax-header-top > .e-con-inner{height:100%;align-items:center !important;padding-top:0 !important;padding-bottom:0 !important;}
.ax-nav .navbar-nav>li{padding-top:0 !important;padding-bottom:0 !important;}
.ax-logo,.ax-logo img{width:176px !important;}
.ax-sns .elementor-icon{width:34px;height:34px;font-size:19px;border-radius:8px;}
.ax-sns .elementor-icon svg{width:19px;height:19px;}
.ax-sns--line img{width:34px !important;height:34px !important;}
.ax-header-actions{gap:8px !important;}
.ax-header-cta .elementor-button{min-height:36px;height:36px;padding:0 18px;font-size:13px;}
.ax-nav .navbar-nav>li>a{padding:11px 8px !important;font-size:13px;letter-spacing:.1em;line-height:1.6;}
@media (max-width:782px){.admin-bar{--ax-adminbar:46px;}}
@media (max-width:600px){.admin-bar{--ax-adminbar:0px;}}
@media (max-width:767px){
  :root{--ax-top-h:52px;}
  .ax-header-top{padding:0 16px !important;}
  .ax-logo,.ax-logo img{width:128px !important;}
  .ax-sns .elementor-icon{width:30px;height:30px;font-size:16px;}
  .ax-sns .elementor-icon svg{width:16px;height:16px;}
  .ax-sns--line img{width:30px !important;height:30px !important;}
  .ax-header-cta .elementor-button{width:30px;height:30px;min-height:30px;padding:0;}
  .ax-header-nav{padding:2px 16px !important;}
  .ax-nav .mobile-plus-toggle-menu{transform:scale(.85);}
}

/* ---- SNSアイコンの高さをそろえる（2026-10-28 CEO指摘：LINEだけ上にずれる） ----
   原因：LINEは画像部品なので、画像の下に文字の行間ぶんのすき間ができ、枠が高くなっていた */
.ax-header-actions,.ax-footer > .e-con-inner > .e-con:last-child{align-items:center !important;}
.ax-sns{display:flex !important;align-items:center;line-height:0;}
.ax-sns .elementor-widget-container,.ax-sns a,.ax-sns .elementor-icon-wrapper{display:flex;align-items:center;justify-content:center;line-height:0;}
.ax-sns--line img{display:block;}
.ax-header-cta{display:flex !important;align-items:center;line-height:0;}
.ax-header-cta .elementor-widget-container,.ax-header-cta .elementor-button-wrapper{display:flex;align-items:center;line-height:0;}

/* =========================================================
   下層ページ（会社概要・サービス内容・お問い合わせ・セミナー情報・記事）
   ========================================================= */
.ax-page{gap:0 !important;}
.ax-pagehead{margin-bottom:32px;gap:0 !important;}
.ax-page-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:32px;font-weight:600;letter-spacing:.04em;line-height:1.5;margin:0 0 12px;}
.ax-mt{margin-top:72px !important;}
.ax-block{gap:0 !important;}

/* 会社概要 */
.ax-about-photo img{height:364px !important;object-fit:cover;object-position:center 30%;margin:0 !important;}
.ax-vision{background:#203E57;padding:36px 28px !important;gap:14px !important;}
.ax-vision-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:22px;line-height:1.7;color:#fff !important;}
.ax-vision p{font-size:14px;line-height:1.9;margin:0 0 12px;}
.ax-vision p:last-child{margin:0;}
.ax-name-card{margin-top:48px !important;}
.ax-logo-list{margin-top:24px;gap:0 !important;}
.ax-logo-row{padding:20px 8px !important;border-bottom:1px solid #D6E0E2;gap:20px !important;align-items:flex-start;}
.ax-logo-row:last-child{border-bottom:0;}
.ax-logo-icon{flex:0 0 30px !important;width:30px !important;margin-top:4px;}
.ax-logo-text{flex:1 1 auto !important;gap:2px !important;}
.ax-logo-text h3.elementor-heading-title{font-size:17px;margin:0;}
.ax-biz-row{margin-top:32px;gap:0 !important;}
.ax-strip-item--light{border-right:1px solid #D6E0E2 !important;}
.ax-strip-item--light:last-child{border-right:0 !important;}
.ax-strip-item--light .ax-num-sm .elementor-heading-title{color:#9B7A48;}
.ax-strip-item--light h3.elementor-heading-title{font-weight:500;font-size:19px;}
.ax-support{background:#EDF3F4;padding:32px 28px !important;gap:12px !important;}
.ax-support p{margin:0 0 20px;}
.ax-support-close p{font-family:"Shippori Mincho",serif;font-size:17px;color:#273F51;line-height:2;margin:0;}
.ax-table{width:100%;border-collapse:collapse;font-size:15px;}
.ax-table th,.ax-table td{border-bottom:1px solid #D6E0E2;padding:16px;text-align:left;vertical-align:top;}
.ax-table th{width:160px;background:#EDF3F4;color:#273F51;font-weight:700;}
.ax-table td{color:#4B5D69;}
.ax-road-list{margin-top:24px;gap:0 !important;}
.ax-road-row{padding:22px 0 !important;border-bottom:1px solid #D6E0E2;gap:24px !important;align-items:flex-start;}
.ax-year{flex:0 0 84px !important;width:84px !important;}
.ax-year .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:24px;color:#9B7A48;line-height:1.3;}
.ax-road-title .elementor-heading-title{font-size:16px;font-weight:700;color:#273F51;margin:0 0 2px;}

/* サービス内容 */
.ax-service-head{margin-bottom:40px;}
.ax-service-head .ax-pagehead{margin-bottom:0;}
.ax-service-photo img{height:353px !important;object-fit:cover;}
.ax-menu-grid{gap:16px !important;}
@media (min-width:768px){.ax-menu-card{flex:0 0 calc(50% - 8px) !important;width:calc(50% - 8px) !important;}}
.ax-menu-card{padding:28px 26px !important;gap:6px !important;}
.ax-label .elementor-heading-title{font-size:12px;font-weight:700;letter-spacing:.1em;color:#9B7A48;}
.ax-menu-card h3.elementor-heading-title{font-weight:500;font-size:19px;margin:0;}
.ax-menu-note{margin-top:28px;}
.ax-maneiro-head{margin-bottom:16px;}
.ax-maneiro-mark{flex:0 0 56px !important;width:56px !important;}
.ax-maneiro-head .ax-eyebrow .elementor-heading-title{margin-bottom:6px;}
.ax-maneiro-head h2.elementor-heading-title{margin:0 !important;}
.ax-maneiro-grid{margin-top:28px;gap:18px !important;}
@media (min-width:1025px){.ax-maneiro-card{flex:1 1 0 !important;width:auto !important;min-width:0;}}
@media (min-width:768px) and (max-width:1024px){.ax-maneiro-card{flex:0 0 calc(50% - 9px) !important;}}
.ax-maneiro-card{background:#fff;padding:28px 20px 32px !important;gap:6px !important;}
.ax-maneiro-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:17px;font-weight:600;color:#273F51;}
.ax-maneiro-card .ax-num-sm .elementor-heading-title{color:#9B7A48;font-family:"Shippori Mincho",serif;font-size:13px;}

/* お問い合わせ */
@media (min-width:768px){.ax-contact-row > .e-con{flex:0 0 calc(50% - 20px) !important;width:calc(50% - 20px) !important;}}
.ax-form{display:grid;gap:8px;}
.ax-form label{font-size:14px;font-weight:700;color:#273F51;margin-top:10px;}
.ax-form input,.ax-form select,.ax-form textarea{width:100%;border:1px solid #D6E0E2;border-radius:0;padding:14px;font:inherit;font-size:15px;color:#273F51;background:#fff;}
.ax-form input::placeholder,.ax-form textarea::placeholder{color:#9AA6AE;}
.ax-form input:focus,.ax-form select:focus,.ax-form textarea:focus{outline:2px solid #9B7A48;outline-offset:-1px;}
.ax-form button,.ax-form .wpcf7-submit{margin-top:16px;width:100%;min-height:60px;border:0;border-radius:4px;background:#203E57;color:#fff;font:inherit;font-size:16px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .2s;}
.ax-form .wpcf7-submit:hover{background:#2E5675;}
.ax-form .wpcf7-submit:disabled{cursor:wait;opacity:.6;}
/* Contact Form 7（送信できるフォーム） */
.ax-form .wpcf7-form-control-wrap{display:block;}
.ax-form label{display:flex;align-items:center;gap:8px;}
.ax-req,.ax-opt{display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:4px 6px;border-radius:2px;letter-spacing:.04em;}
.ax-req{background:#9B7A48;color:#fff;}
.ax-opt{background:#E3EAEC;color:#4B5D69;}
.ax-form select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23273F51' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px;}
.ax-form .wpcf7-not-valid{border-color:#B94A48 !important;background-color:#FDF6F6;}
.ax-form .wpcf7-not-valid-tip{color:#B94A48;font-size:13px;margin-top:6px;display:block;}
.ax-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.ax-form .wpcf7-spinner{display:block;margin:12px auto 0;}
.wpcf7 form.ax-form .wpcf7-response-output{margin:16px 0 0;padding:14px 16px;border:1px solid #D6E0E2;border-radius:0;font-size:14px;line-height:1.7;color:#273F51;}
.wpcf7 form.ax-form.sent .wpcf7-response-output{border-color:#2E7D5B;background:#F0F8F4;}
.wpcf7 form.ax-form.invalid .wpcf7-response-output,.wpcf7 form.ax-form.unaccepted .wpcf7-response-output{border-color:#B94A48;background:#FDF6F6;}
.wpcf7 form.ax-form.failed .wpcf7-response-output,.wpcf7 form.ax-form.aborted .wpcf7-response-output,.wpcf7 form.ax-form.spam .wpcf7-response-output{border-color:#B98A48;background:#FCF8F0;}
.ax-form .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.ax-form-note{font-size:13px;color:#4B5D69;margin:8px 0 0;}
.ax-contact-side{background:#EDF3F4;padding:28px !important;gap:14px !important;}
.ax-contact-photo img{height:277px !important;object-fit:cover;}
.ax-line-head{margin-top:8px;}
.ax-line-head .ax-sns--line{flex:0 0 44px !important;}
.ax-line-head .ax-sns--line img{width:44px !important;height:44px !important;}
.ax-line-head h3.elementor-heading-title{font-weight:500;font-size:21px;margin:0;}
.ax-btn--line .elementor-button{width:100%;background:#06C755;color:#fff;min-height:64px;font-size:16px;}
.ax-btn--line .elementor-button:hover{background:#05B04B;color:#fff;transform:translateY(-1px);}
.ax-divider{margin:6px 0 !important;}
.ax-divider .elementor-divider-separator{border-top:1px solid #D6E0E2 !important;}
.ax-small p{font-size:13px;color:#4B5D69;margin:0;}
.ax-btn-ig{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;background:#fff;border:1px solid #D6E0E2;border-radius:4px;color:#273F51;font-weight:700;font-size:15px;transition:border-color .2s,transform .2s;}
.ax-btn-ig:hover{border-color:#9B7A48;color:#273F51;transform:translateY(-1px);}

/* セミナー情報（一覧） */
.ax-sem-grid{gap:24px !important;align-items:stretch;}
@media (min-width:768px){.ax-sem-card{flex:1 1 0 !important;width:auto !important;min-width:0;}}
.ax-sem-card{padding:0 !important;gap:0 !important;}
.ax-sem-thumb img{width:100%;height:207px !important;object-fit:cover;display:block;transition:opacity .2s;}
.ax-sem-thumb a:hover img{opacity:.85;}
.ax-sem-body{padding:24px 22px 32px !important;gap:8px !important;flex:1 1 auto;}
.ax-meta .elementor-heading-title{font-size:13px;font-weight:700;color:#7A5F38;letter-spacing:.06em;}
.ax-sem-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:20px;font-weight:500;line-height:1.55;}
.ax-sem-title a{color:#203E57;transition:opacity .2s;}
.ax-sem-title a:hover{opacity:.7;}
.ax-textlink--sm{margin-top:12px;}
.ax-textlink--sm .elementor-heading-title a{font-size:14px;}
.ax-sem-note{margin-top:28px;}

/* セミナー記事 */
.ax-meta--gold .elementor-heading-title{color:#9B7A48;}
.ax-article .ax-page-title .elementor-heading-title{font-size:28px;margin:8px 0 28px;}
.ax-article-photo img{width:100%;height:380px !important;object-fit:cover;}
.ax-article .elementor-widget-text-editor{margin-top:28px;}
.ax-bar-title{margin-top:44px;}
.ax-bar-title .elementor-heading-title{font-family:"Shippori Mincho",serif;font-size:21px;font-weight:500;color:#273F51;border-left:3px solid #9B7A48;padding-left:14px;line-height:1.5;}
.ax-bar-title + .elementor-widget-text-editor{margin-top:16px;}
.ax-cta-box{background:#EDF3F4;padding:36px 24px !important;margin-top:48px !important;gap:16px !important;text-align:center;}
.ax-cta-box .elementor-widget-text-editor{margin-top:0 !important;}
.ax-back{margin-top:36px !important;}

@media (max-width:767px){
  .ax-page-title .elementor-heading-title{font-size:26px;}
  .ax-mt{margin-top:56px !important;}
  .ax-about-photo img{height:220px !important;}
  .ax-strip-item--light{border-right:0 !important;border-bottom:1px solid #D6E0E2;}
  .ax-strip-item--light:last-child{border-bottom:0;}
  .ax-table th{width:104px;padding:14px 12px;}
  .ax-table td{padding:14px 12px;}
  .ax-year{flex-basis:64px !important;width:64px !important;}
  .ax-service-photo img,.ax-contact-photo img{height:220px !important;}
  .ax-article-photo img{height:220px !important;}
  .ax-vision,.ax-support,.ax-contact-side{padding:24px 18px !important;}
}

/* ---- 下層ページの余白調整（Elementorのコンテナが持つ20pxの間隔を消し、余白は各部品の margin で管理） ---- */
.ax-page > .e-con-inner{gap:0 !important;}
.ax-road-row > .e-con,.ax-logo-row > .e-con{gap:4px !important;}
.ax-road-row .elementor-widget-text-editor p{margin:0;}
.ax-maneiro .ax-lead{max-width:680px;}
.ax-maneiro-grid{margin-top:28px !important;}
.ax-maneiro-title .elementor-heading-title{font-size:16px;line-height:1.55;}
.ax-sem-body .elementor-widget-text-editor p{font-size:14px;line-height:1.9;}
.ax-sem-title .elementor-heading-title{margin:0;}
.ax-article .elementor-widget-text-editor{margin-top:24px;}
.ax-bar-title{margin-top:44px !important;}
.ax-bar-title + .elementor-widget-text-editor{margin-top:14px !important;}
.ax-article-photo{margin-top:0;}
/* 記事ページ（セミナー情報の子ページ）を開いたときも、メニューの「セミナー情報」を選択中に */
.ax-nav .navbar-nav>li.current-page-ancestor>a,.ax-nav .navbar-nav>li.current-menu-ancestor>a,.ax-nav .navbar-nav>li.current-page-parent>a{background:#fff;}

.ax-bar-title .elementor-heading-title,.ax-page h2.elementor-heading-title,.ax-page h3.elementor-heading-title{margin-top:0;}
.ax-bar-title .elementor-heading-title{margin:0 !important;}
.ax-maneiro .ax-lead{max-width:680px !important;}
.ax-maneiro-title .elementor-heading-title{letter-spacing:0 !important;}

.ax-vision-title .elementor-heading-title{font-size:22px !important;line-height:1.7 !important;}
@media (max-width:767px){.ax-vision-title .elementor-heading-title{font-size:19px !important;}}

/* =========================================================
   セミナー記事（投稿）と一覧カード（[ax_seminar_list]）
   記事は投稿画面（ブロックエディター）で本文だけ書く。見た目はここで決まる。
   ========================================================= */
/* 一覧カード */
.ax-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
@media (max-width:1024px){.ax-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:767px){.ax-post-grid{grid-template-columns:1fr;}}
.ax-post-card{display:flex;flex-direction:column;background:#fff;border:1px solid #D6E0E2;}
.ax-post-thumb{display:block;overflow:hidden;}
.ax-post-thumb img{width:100%;height:207px !important;object-fit:cover;display:block;transition:opacity .2s;}
.ax-post-thumb:hover img{opacity:.85;}
.ax-post-body{display:flex;flex-direction:column;gap:8px;padding:24px 22px 32px;flex:1 1 auto;}
.ax-post-meta{margin:0;font-size:13px;font-weight:700;color:#7A5F38;letter-spacing:.06em;}
.ax-post-title{margin:0;font-family:"Shippori Mincho",serif;font-size:20px;font-weight:500;line-height:1.55;}
.ax-post-title a{color:#203E57;text-decoration:none;transition:opacity .2s;}
.ax-post-title a:hover{opacity:.7;}
.ax-post-excerpt{margin:0;font-size:14px;line-height:1.9;color:#273F51;}
.ax-post-more{margin:auto 0 0;padding-top:12px;}
.ax-post-more a,.ax-post-back a{color:#9B7A48;font-size:14px;font-weight:700;letter-spacing:.06em;border-bottom:1px solid #9B7A48;padding-bottom:4px;text-decoration:none;transition:opacity .2s;}
.ax-post-more a:hover,.ax-post-back a:hover{opacity:.7;}
.ax-sem-list{margin-top:32px !important;}
.ax-post-empty{background:#EDF3F4;padding:28px 24px;text-align:center;color:#273F51;margin:0;}

/* 記事ページ（投稿の1件表示） */
.single-post #content > .nxt-container-fluid > .nxt-row{margin-left:0;margin-right:0;}
.single-post #content .nxt-col-md-12{padding-left:0;padding-right:0;}
.single-post .nxt-blog-single-post{max-width:808px;margin:0 auto;padding:72px 24px 88px;}
.single-post .nxt-blog-single-post article{display:flex;flex-direction:column;margin:0;padding:0;border:0;box-shadow:none;background:none;}
.single-post .nxt-single-post-title{order:1;margin:0 !important;padding:0 !important;text-align:left;}
.single-post .nxt-blog-image{order:2;margin:0 0 4px;}
.single-post .nxt-blog-image img{width:100%;height:380px !important;object-fit:cover;display:block;border-radius:0;}
.single-post .nxt-single-post-content{order:3;}
.single-post .nxt-single-post-title .single-post-title{order:2;}
.single-post .nxt-single-post-title{display:flex;flex-direction:column;}
.single-post .nxt-meta-info{order:1;display:flex !important;align-items:center;gap:14px;margin:0;padding:0;font-size:13px;font-weight:700;letter-spacing:.06em;}
.single-post .nxt-meta-info a{color:#9B7A48;text-decoration:none;}
.single-post .nxt-meta-category{order:1;}
.single-post .nxt-meta-category > span,.single-post .nxt-meta-author{display:none !important;}
.single-post .nxt-meta-date{order:2;}
.single-post .nxt-meta-info > span::after,.single-post .nxt-meta-info > span::before{content:none !important;display:none !important;}
.single-post .nxt-meta-date a{color:#7C8B95;}
.single-post .single-post-title h1{font-family:"Shippori Mincho",serif;font-size:28px;font-weight:600;letter-spacing:.04em;line-height:1.5;color:#203E57;margin:8px 0 28px;}
.single-post .nxt-single-post-content{color:#273F51;font-size:16px;line-height:1.95;}
.single-post .nxt-single-post-content > p{margin:24px 0 0;}
.single-post .nxt-single-post-content h2{font-family:"Shippori Mincho",serif;font-size:21px;font-weight:500;color:#273F51;border-left:3px solid #9B7A48;padding-left:14px;line-height:1.5;margin:44px 0 14px;}
.single-post .nxt-single-post-content h3{font-family:"Shippori Mincho",serif;font-size:18px;font-weight:600;color:#203E57;margin:32px 0 10px;}
.single-post .nxt-single-post-content ul{margin:0;padding-left:1.4em;}
.single-post .nxt-single-post-content ul li{margin:4px 0;}
.single-post .nxt-single-post-content ul li::marker{color:#9B7A48;}
.single-post .nxt-single-post-content a:not(.ax-post-cta-btn){color:#9B7A48;}
.single-post .nxt-single-post-content img{max-width:100%;height:auto;}
.ax-post-cta{background:#EDF3F4;padding:36px 24px;margin-top:48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;}
.ax-post-cta p{margin:0 !important;}
.ax-post-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:4px;background:#1E3A5F;color:#fff !important;font-size:15px;font-weight:700;letter-spacing:.06em;text-decoration:none;transition:background-color .2s,transform .2s;}
.ax-post-cta-btn:hover{background:#152B47;transform:translateY(-1px);}
.ax-post-back{margin:36px 0 0 !important;}
/* 記事ページに出るテーマ標準のタグ・前後の記事リンク・投稿者欄・コメント欄は使わない（戻るリンクとお問い合わせ案内を代わりに出す） */
.single-post .nxt-tags-share-post,.single-post article > .nxt-row,.single-post .nxt-post-navigation,.single-post .post-navigation,.single-post .comments-area,.single-post #comments{display:none !important;}
@media (max-width:767px){
  .single-post .nxt-blog-single-post{padding:48px 20px 64px;}
  .single-post .single-post-title h1{font-size:23px;}
  .single-post .nxt-blog-image img{height:220px !important;}
  .single-post .nxt-single-post-content{font-size:15px;}
}
