/*
Theme Name: TheBrand. University Branding
Theme URI: https://univ-branding-blogle.com/
Description: 大学ブランディングLP「University Branding」のカスタムテーマ。既存デザインを1:1再現しつつ、主要コピー・CTA・セミナー情報・書籍情報をCustomizerで編集可能にし、ブログ(/blog/)とSEO(AIOSEO)を統合。制作: 株式会社ブログル。
Author: blogle
Version: 1.2.7
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: Proprietary
Text Domain: thebrand
*/

/* 本体スタイルは assets/css/common.css を functions.php で読み込む。
   ここではWordPress管理系の最低限のみ定義する。 */

/* WP必須クラスのフォールバック */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
	height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.alignleft{float:left;margin-right:1.5em;}
.alignright{float:right;margin-left:1.5em;}

/*■ブログ（LPと同系統・アクセント#2FA9B8）----------------------------------------------*/

/* 記事本文内の<header>（.BlogHead / .SingleHead）は、common.css の裸セレクタ
   header{position:fixed;top:0} を継承してサイトヘッダーと重なってしまう。通常フローに戻す。 */
.BlogHead,.SingleHead{position:static;top:auto;left:auto;width:auto;z-index:auto;}

/* 固定サイトヘッダーの下に本文が潜り込まないよう、上に十分な余白を確保する（LPはヒーローが担うため対象外）。 */
.BlogWrap{background:#FFFFFF;color:#222;padding:104px 20px 90px;}
.BlogInner{max-width:1040px;margin:0 auto;}
.BlogInner.Single{max-width:700px;}
.BlogHead{text-align:center;margin-bottom:48px;}
.BlogHead h1{font-size:28px;font-weight:bold;letter-spacing:.04em;position:relative;padding-bottom:18px;word-break:auto-phrase;line-break:strict;text-wrap:balance;}
.BlogHead h1::after{content:"";display:block;width:48px;height:3px;background:#2FA9B8;margin:14px auto 0;}
.BlogHeadSub{margin-top:16px;font-size:14px;letter-spacing:.08em;color:#666;}
.BlogArchiveDesc{margin-top:12px;color:#666;font-size:14px;}

/* ヘッダー：開発したブランドロゴ画像（シンボル＋University Brandingワードマーク／透過PNG）に差替。
   タグライン抜きの横組みロックアップ ub_logo_header.png（720x247・透過）を使用。
   common.css の .Logo{width:200px} を width:auto に上書きし、高さ基準でサイズ管理する。 */
header .Area .Logo.LogoBrand{width:auto;margin-top:16px;display:inline-block;line-height:0;text-decoration:none;}
header .Area .Logo.LogoBrand img{height:54px;width:auto;display:block;transition:opacity .2s;}
header .Area .Logo.LogoBrand:hover img{opacity:.72;}
@media screen and (max-width:768px){
	header .Area .Logo.LogoBrand{margin-top:14px;}
	header .Area .Logo.LogoBrand img{height:36px;}
}

/* ヘッダー：ブログ導線（Contactボタンの左に垂直中央で並べる。
   原本の header .Area .Link(0,2,1) を上書きするため詳細度を header .Area .HeadNav .Link(0,3,1) にする） */
header .Area .HeadNav{position:absolute;top:50%;transform:translateY(-50%);right:5px;display:flex;align-items:center;gap:16px;z-index:5;}
/* ヘッダーCTA群：NEWS & COLUMN と CONTACT を“同一のソリッドtealピル”で対に統一（社長指定）。
   .Link は common.css で width:165px/absolute 指定＝HeadNav内では width:auto/static に上書き。 */
header .Area .HeadNav .Link,header .Area .HeadNav .HeadNavCta{position:static;top:auto;right:auto;margin:0;flex:0 0 auto;width:auto;}
.HeadNavBlog,.HeadNavCta{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:1.5px solid #2FA9B8;border-radius:100px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;line-height:1;transition:background .2s,color .2s,box-shadow .2s;}
/* 主従を色で: NEWS & COLUMN＝二次(白ベタ・teal文字/縁)／CONTACT＝一次(ソリッドteal)。形・大文字は共通。 */
.HeadNavBlog{background:#fff;color:#2FA9B8;}
.HeadNavBlog:hover{background:#EAF6F8;color:#268C9A;}
.HeadNavCta{background:#2FA9B8;color:#fff;}
.HeadNavCta:hover{background:#268C9A;color:#fff;box-shadow:0 6px 18px rgba(47,169,184,.34);}
@media screen and (max-width:768px){
	header .Area .HeadNav{right:0;gap:6px;}
	.HeadNavBlog,.HeadNavCta{font-size:9px;padding:7px 11px;letter-spacing:.03em;}
}

/* カテゴリー絞り込み */
.BlogCats{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 auto 40px;max-width:100%;}
.BlogCats ul{max-width:100%;}
.BlogCatsLabel{font-size:13px;font-weight:bold;letter-spacing:.08em;color:#2FA9B8;margin-right:4px;}
.BlogCats ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none;}
.BlogCats li{list-style:none;}
.BlogCats a{display:inline-block;padding:7px 16px;border:1px solid #E9E9E9;border-radius:100px;font-size:13px;color:#555;transition:all .2s;}
.BlogCats a:hover{border-color:#2FA9B8;color:#2FA9B8;}
.BlogCats a.is-current{background:#2FA9B8;border-color:#2FA9B8;color:#fff;}

.BlogList{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;}
.BlogCard{background:#fff;border:none;border-radius:12px;overflow:hidden;box-shadow:0 2px 14px rgba(22,32,43,.08);transition:box-shadow .3s,transform .3s;}
.BlogCard:hover{box-shadow:0 14px 34px rgba(22,32,43,.14);transform:translateY(-4px);}
.BlogCardLink{display:block;color:inherit;}
.BlogThumb{aspect-ratio:16/9;overflow:hidden;background:#f2f2f2;}
.BlogThumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.BlogCard:hover .BlogThumb img{transform:scale(1.04);}
/* アイキャッチ未設定時のブランド化プレースホルダ（灰の空白を出さない） */
.BlogThumbEmpty{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#16202B,#22303F);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.BlogThumbEmpty::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:#2FA9B8;}
.BlogThumbEmpty span{font-size:15px;font-weight:bold;letter-spacing:.14em;color:rgba(255,255,255,.86);text-indent:.14em;text-align:center;padding:0 14px;}
.BlogThumbEmpty span::after{content:"";display:block;width:26px;height:2px;background:#2FA9B8;margin:9px auto 0;}
/* アイキャッチ未設定時は開発ロゴ（白抜き・タグライン無しロックアップ）を中央に据える。 */
.BlogThumbEmpty img{width:64%;max-width:300px;height:auto;opacity:.94;}
.BlogBody{padding:22px 24px 26px;}
.BlogDate{display:inline-block;font-size:12px;letter-spacing:.08em;color:#2FA9B8;font-weight:bold;margin-bottom:10px;}
.BlogTitle{font-size:19px;line-height:1.55;font-weight:bold;margin-bottom:10px;word-break:auto-phrase;line-break:strict;overflow-wrap:break-word;}
.BlogExcerpt{font-size:14px;line-height:1.8;color:#555;}
.BlogEmpty{text-align:center;color:#777;padding:60px 0;}

.BlogPager{margin-top:56px;text-align:center;}
.BlogPager .page-numbers{display:inline-block;min-width:42px;padding:10px 14px;margin:0 4px;border:1px solid #E9E9E9;border-radius:6px;color:#333;font-size:14px;}
.BlogPager .page-numbers.current{background:#2FA9B8;border-color:#2FA9B8;color:#fff;}
.BlogPager a.page-numbers:hover{border-color:#2FA9B8;color:#2FA9B8;}

/* 単一記事 */
.SinglePost{background:#fff;}
.SingleHead{text-align:center;margin-bottom:34px;}
.SingleHead .BlogDate{margin-bottom:16px;}
.SingleTitle{font-size:30px;line-height:1.5;font-weight:bold;letter-spacing:.02em;word-break:auto-phrase;line-break:strict;text-wrap:balance;overflow-wrap:break-word;}
.SingleCats{margin-top:14px;font-size:13px;color:#2FA9B8;}
.SingleThumb{margin:0 0 40px;border-radius:10px;overflow:hidden;}
.SingleThumb img{width:100%;height:auto;display:block;}
.SingleContent{font-size:16px;line-height:2.05;color:#3a3a3a;}
/* LP由来 common.css の裸 p{font-size:14px;line-height:140%} が本文を上書きしていたため、
   本文段落・リストに明示指定で読みやすさを担保する（ブログル本体の書籍紹介＝15px/lh2.125に準拠） */
.SingleContent p,.SingleContent li{font-size:16px;line-height:2.05;letter-spacing:.02em;color:#3a3a3a;}
.SingleContent h2{font-size:24px;font-weight:bold;margin:52px 0 20px;padding:14px 0 14px 18px;border-left:5px solid #2FA9B8;background:#F4FAFB;line-height:1.5;}
.SingleContent h3{font-size:20px;font-weight:bold;margin:40px 0 16px;padding-bottom:8px;border-bottom:2px solid #E9E9E9;}
.SingleContent h4{font-size:17px;font-weight:bold;margin:30px 0 12px;}
.SingleContent p{margin:0 0 26px;}
.SingleContent a{color:#2FA9B8;text-decoration:underline;}
.SingleContent ul,.SingleContent ol{margin:0 0 22px 1.4em;}
.SingleContent ul li{list-style:disc;margin-bottom:10px;}
.SingleContent ol li{list-style:decimal;margin-bottom:10px;}
.SingleContent img{max-width:100%;height:auto;border-radius:8px;}
.SingleContent blockquote{margin:0 0 22px;padding:16px 22px;background:#F7F7F7;border-left:4px solid #CFCCCC;color:#555;}
.SingleContent table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:14px;}
.SingleContent th,.SingleContent td{border:1px solid #E9E9E9;padding:10px 12px;}
.SingleContent th{background:#F4FAFB;}
.SingleFoot{margin-top:48px;padding-top:26px;border-top:1px solid #E9E9E9;}
.SingleTags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:0;}
.SingleTags li{font-size:12px;}
.SingleTags a{display:inline-block;padding:5px 12px;background:#F4FAFB;color:#2FA9B8;border-radius:100px;}
.BackToBlog{text-align:center;}
.BackToBlog a{display:inline-flex;align-items:center;gap:8px;padding:13px 34px;border:1.5px solid #2FA9B8;border-radius:100px;color:#2FA9B8;font-weight:bold;letter-spacing:.04em;transition:background .2s,color .2s,box-shadow .2s;}
.BackToBlog a:hover{background:#2FA9B8;color:#fff;box-shadow:0 6px 18px rgba(47,169,184,.3);}

@media screen and (max-width:768px){
	.BlogWrap{padding:78px 16px 70px;}
	.BlogList{grid-template-columns:1fr;gap:24px;}
	.BlogHead h1{font-size:23px;}
	.SingleTitle{font-size:24px;}
	.SingleContent,.SingleContent p,.SingleContent li{font-size:15px;line-height:1.95;}
	.SingleContent h2{font-size:21px;}
}

/*■監修者メッセージ（上條先生）——————————————————————————
   「下のプロフとデザイン被り／メッセージとして弱い」FBへの対処。白カード＋左teal帯
   （＝プロフィールと同型）を廃し、濃紺(#16202B)の“語りかけるパネル”に転換。
   上下tealアクセント線＋大きな引用符の透かし＋円形ポートレート＋プルクオートで
   「監修者の声」として権威と没入感を作る。common.css の .Kamijo_* を上書き。 */
.Kamijo_messege{max-width:1040px;}
.KamijoLead{text-align:center;margin-bottom:34px;}
.KamijoEyebrow{display:inline-block;font-size:13px;font-weight:bold;letter-spacing:.2em;color:#2FA9B8;margin-bottom:12px;}
.KamijoLeadEn{font-size:27px;font-weight:bold;letter-spacing:.06em;color:#16202B;line-height:1.3;}
.KamijoLeadEn::after{content:"";display:block;width:48px;height:3px;background:#2FA9B8;margin:16px auto 0;}
/* 濃紺パネル：上下tealライン＋透かし引用符。プロフィールの白カードと明確に差別化 */
.KamijoPanel{position:relative;background:#16202B;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(22,32,43,.32);}
.KamijoPanel::before,.KamijoPanel::after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#2FA9B8,#268C9A 60%,transparent);}
.KamijoPanel::before{top:0;}
.KamijoPanel::after{bottom:0;background:linear-gradient(270deg,#2FA9B8,#268C9A 60%,transparent);}
.KamijoPanel__deco{position:absolute;top:-24px;right:34px;font-family:Georgia,"Times New Roman",serif;font-size:220px;line-height:1;color:#2FA9B8;opacity:.10;pointer-events:none;user-select:none;}
.KamijoPanel__deco::before{content:"\201C";}
.KamijoPanel__inner{position:relative;display:flex;gap:52px;align-items:flex-start;padding:60px 64px 56px;}
.KamijoPanel__photo{flex:0 0 auto;}
.KamijoPanel__photo img{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:top center;display:block;border:3px solid rgba(47,169,184,.35);box-shadow:0 0 0 6px rgba(47,169,184,.10),0 12px 40px rgba(0,0,0,.40);}
.KamijoPanel__body{flex:1 1 auto;min-width:0;}
.KamijoQuote{margin:0;}
.Kamijo_messege .KamijoQuote__pull{font-size:32px;font-weight:bold;line-height:1.7;color:#fff;letter-spacing:.02em;border-left:3px solid #2FA9B8;padding-left:20px;margin:0 0 24px;}
.Kamijo_messege .KamijoQuote__text{font-size:16px;line-height:2.1;color:rgba(255,255,255,.82);letter-spacing:.01em;margin:0;}
.KamijoSign{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);text-align:right;}
.KamijoSignName{display:block;font-size:24px;font-weight:bold;letter-spacing:.1em;color:#fff;}
.KamijoSignName small{font-size:13px;font-weight:bold;letter-spacing:.06em;color:#2FA9B8;margin-left:12px;}
.KamijoSignTitle{display:block;margin-top:10px;font-size:13.5px;color:rgba(255,255,255,.68);letter-spacing:.03em;line-height:1.6;}
@media screen and (max-width:768px){
	.KamijoLead{margin-bottom:22px;}
	.KamijoLeadEn{font-size:20px;}
	.KamijoPanel__inner{flex-direction:column;align-items:center;text-align:center;gap:24px;padding:40px 22px 36px;}
	.KamijoPanel__photo img{width:130px;height:130px;}
	.KamijoPanel__deco{font-size:150px;top:-14px;right:16px;}
	.Kamijo_messege .KamijoQuote__pull{font-size:24px;line-height:1.65;border-left:none;border-top:3px solid #2FA9B8;padding:16px 0 0;text-align:left;margin-bottom:20px;}
	.Kamijo_messege .KamijoQuote__text{font-size:15px;line-height:2.0;text-align:left;}
	.KamijoSign{text-align:left;margin-top:24px;}
	.KamijoSignName{font-size:20px;}
	.KamijoSignName small{display:block;margin:6px 0 0;}
}
@media screen and (max-width:400px){
	.KamijoPanel__inner{padding:34px 16px 30px;}
}

/*■登壇者プロフィール（.PT_Read）——————————————————————————
   「もっとプロフィールページっぽく」FBへの対処。監修者メッセージ節と同一作法
   （eyebrow＋英字見出し／白パネル＋左teal帯＋柔らか影）で統一し、写真をポートレート主役化、
   肩書をクレデンシャルリスト化、経歴を年号ドリブンに構造化する。common.css の .PT_Read* を上書き。 */
.PT_Read{padding-bottom:120px;}
.PT_Read .ReadLead{text-align:center;margin-bottom:44px;}
.PT_Read .ReadEyebrow{display:inline-block;font-size:13px;font-weight:bold;letter-spacing:.2em;color:#2FA9B8;margin-bottom:12px;}
.PT_Read .ReadLeadEn{font-size:27px;font-weight:bold;letter-spacing:.06em;color:#16202B;line-height:1.3;}
.PT_Read .ReadLeadEn::after{content:"";display:block;width:48px;height:3px;background:#2FA9B8;margin:16px auto 0;}
.PT_Read>h3{display:none;}
/* プロフィールカード（Kamijo .Area と同型の白パネル） */
.PT_Read .ReadCard{position:relative;width:90%;max-width:1040px;margin:0 auto 40px;background:#fff;border-radius:14px;box-shadow:0 12px 44px rgba(22,32,43,.11);padding:52px 60px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;overflow:hidden;}
.PT_Read .ReadCard::before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(180deg,#2FA9B8,#1C8F9E);}
.PT_Read .ReadCard:last-child{margin-bottom:0;}
/* 写真：縦長ポートレート */
.PT_Read .ReadCard .l{width:23%;}
.PT_Read .ReadCard .l img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:10px;display:block;box-shadow:0 8px 22px rgba(22,32,43,.16);}
/* 右カラム */
.PT_Read .ReadCard .r{width:71%;padding-top:4px;}
/* 氏名ヘッダー */
.PT_Read .ReadHead{padding-bottom:18px;border-bottom:1px solid #ECECEC;margin-bottom:22px;}
.PT_Read .ReadHead h4{font-size:26px;font-weight:bold;letter-spacing:.08em;color:#16202B;line-height:1.2;}
.PT_Read .ReadHead h4 span{font-size:13px;font-weight:bold;letter-spacing:.06em;color:#2FA9B8;margin-left:14px;display:inline-block;vertical-align:middle;}
.PT_Read .ReadOrigin{margin-top:8px;font-size:13px;color:#8A8A8A;letter-spacing:.04em;}
/* クレデンシャル（所属・肩書き） */
.PT_Read .ReadCred{list-style:none;margin:0 0 26px;padding:0;}
.PT_Read .ReadCred li{position:relative;padding:7px 0 7px 20px;font-size:15px;font-weight:500;color:#2b2b2b;letter-spacing:.02em;line-height:1.4;border-bottom:1px dashed #E7E7E7;}
.PT_Read .ReadCred li:last-child{border-bottom:none;}
.PT_Read .ReadCred li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:2px;background:#2FA9B8;}
/* 経歴（年号ドリブン） */
.PT_Read .ReadHistory p{font-size:15px;line-height:1.78;color:#3A3834;letter-spacing:.01em;margin-bottom:11px;}
.PT_Read .ReadHistory p:last-child{margin-bottom:0;}
.PT_Read .ReadHistory p b{font-weight:bold;color:#1C8F9E;letter-spacing:.02em;}
/* 著書 */
.PT_Read .ReadBooks{margin-top:26px;padding-top:22px;border-top:1px solid #ECECEC;}
.PT_Read .ReadBooks .ReadBooksLabel{display:inline-block;font-size:12px;font-weight:bold;letter-spacing:.16em;color:#2FA9B8;margin-bottom:12px;}
.PT_Read .ReadBooks ul{list-style:none;margin:0;padding:0;}
.PT_Read .ReadBooks li{position:relative;padding:7px 0 7px 16px;font-size:13.5px;line-height:1.7;color:#555;letter-spacing:.01em;}
.PT_Read .ReadBooks li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:1px;background:#B9B9B9;}
@media screen and (max-width:768px){
	.PT_Read{padding-bottom:40px;}
	.PT_Read .ReadLead{margin-bottom:28px;}
	.PT_Read .ReadLeadEn{font-size:20px;}
	.PT_Read .ReadLeadEn::after{margin-top:12px;}
	.PT_Read .ReadCard{width:92%;padding:30px 22px 30px;margin-bottom:28px;}
	.PT_Read .ReadCard::before{width:5px;}
	.PT_Read .ReadCard .l{width:32%;}
	.PT_Read .ReadCard .l img{box-shadow:0 5px 14px rgba(22,32,43,.16);}
	.PT_Read .ReadCard .r{width:100%;padding-top:22px;}
	.PT_Read .ReadHead{padding-bottom:14px;margin-bottom:18px;}
	.PT_Read .ReadHead h4{font-size:21px;}
	.PT_Read .ReadHead h4 span{display:block;margin:6px 0 0;}
	.PT_Read .ReadCred{margin-bottom:20px;}
	.PT_Read .ReadCred li{font-size:14px;padding:8px 0 8px 18px;}
	.PT_Read .ReadHistory p{font-size:14px;line-height:1.75;margin-bottom:10px;}
	.PT_Read .ReadBooks li{font-size:13px;}
}
@media screen and (max-width:400px){
	.PT_Read .ReadCard .l{width:48%;margin:0 auto 4px;}
}

/*■セミナー横スライダー（.SemiSlider）——————————————————————————
   Canva書き出しバナー(920×450)を横スクロール表示。セミナー増加に対応。
   PHP配列駆動で、バナー追加は front-page.php の $seminars に1行足すだけ。 */
.SemiSlider{position:relative;width:100%;margin:0 auto;}
.SemiTrack{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#2FA9B8 #E9E9E9;}
.SemiTrack::-webkit-scrollbar{height:6px;}
.SemiTrack::-webkit-scrollbar-track{background:#E9E9E9;border-radius:3px;}
.SemiTrack::-webkit-scrollbar-thumb{background:#2FA9B8;border-radius:3px;}
.SemiSlide{flex:0 0 calc((100% - 20px)/2);scroll-snap-align:start;display:block;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(22,32,43,.12);transition:transform .25s ease,box-shadow .25s ease;}
.SemiSlide:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(22,32,43,.18);}
.SemiSlide img{width:100%;height:auto;aspect-ratio:920/450;object-fit:cover;display:block;}
.SemiArrow{position:absolute;top:calc(50% - 9px);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:#fff;box-shadow:0 6px 20px rgba(22,32,43,.20);color:#2FA9B8;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,color .2s,opacity .2s;}
.SemiArrow:hover{background:#2FA9B8;color:#fff;}
.SemiArrow.prev{left:-14px;}
.SemiArrow.next{right:-14px;}
.SemiArrow[disabled]{opacity:0;pointer-events:none;}
.SemiSlider.is-static .SemiArrow{display:none;}
.SemiSlider.is-static .SemiTrack{justify-content:center;}
@media screen and (max-width:768px){
	.SemiTrack{gap:14px;}
	.SemiSlide{flex:0 0 86%;}
	.SemiArrow{width:40px;height:40px;}
	.SemiArrow.prev{left:-6px;}
	.SemiArrow.next{right:-6px;}
}

/*■開催予定セミナーバナー（.SuBand）——————————————————————————
   FV直下・.Mv の直後に配置。既存 .SemiSlider/.SemiTrack/.SemiSlide/.SemiArrow を
   継承しつつ、「予定=主役」の視覚階層をティール帯＋白カード＋白CTAで作る。
   追加は front-page.php の $upcoming に1行足すだけ（既存スライダーJSを流用）。 */
.SuBand{background:linear-gradient(135deg,#1C8F9E 0%,#2FA9B8 60%,#3BBDCC 100%);padding:52px 0 44px;position:relative;overflow:hidden;}
.SuBand::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 28px,rgba(255,255,255,.04) 28px,rgba(255,255,255,.04) 30px);pointer-events:none;}
.SuBand__Inner{position:relative;max-width:1040px;margin:0 auto;padding:0 20px;}
.SuBand__Head{text-align:center;margin-bottom:22px;}
.SuBand__Eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.26em;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);border-radius:100px;padding:6px 20px;line-height:1;margin-bottom:10px;}
.SuBand__Sub{font-size:15px;font-weight:bold;color:#fff;letter-spacing:.06em;margin:0;line-height:1;}
.SuBand__Card{flex:0 0 min(860px,100%);box-shadow:0 12px 40px rgba(22,32,43,.28);}
.SuBand__Track{scrollbar-width:none;padding-bottom:0;}
.SuBand__Track::-webkit-scrollbar{display:none;}
.SuBand__CtaWrap{text-align:center;margin-top:28px;}
.SuBand__Cta{display:inline-flex;align-items:center;justify-content:center;padding:16px 52px;background:#fff;color:#1C8F9E;border:2px solid #fff;border-radius:100px;font-size:16px;font-weight:800;letter-spacing:.08em;line-height:1;white-space:nowrap;text-decoration:none;box-shadow:0 8px 28px rgba(22,32,43,.22);transition:background .2s,color .2s,box-shadow .2s,transform .15s;}
.SuBand__Cta:hover{background:#16202B;color:#fff;border-color:#16202B;box-shadow:0 14px 36px rgba(22,32,43,.34);transform:translateY(-2px);}
.SuBand__Cta:focus-visible{outline:3px solid #fff;outline-offset:4px;}
@media screen and (max-width:768px){
	.SuBand{padding:36px 0 32px;}
	.SuBand__Inner{padding:0 16px;}
	.SuBand__Head{margin-bottom:18px;}
	.SuBand__Eyebrow{font-size:10px;letter-spacing:.20em;padding:5px 16px;}
	.SuBand__Sub{font-size:13px;}
	.SuBand__Card{flex:0 0 100%;}
	.SuBand__CtaWrap{margin-top:22px;}
	.SuBand__Cta{padding:14px 36px;font-size:15px;}
}
@media screen and (max-width:400px){
	.SuBand__Cta{width:100%;padding:14px 20px;font-size:14px;}
}

/*■Amazon購入ボタン（.AmznBtn）——————————————————————————
   「AMAZONの素テキストは雑」FBへの対処。Amazonワードマーク（小文字＋オレンジの
   スマイル矢印）＋購入ラベルで“Amazonリンク”と一目で分かる正式なボタンに。
   common.css の .Banner .Tx div a を上書き。 */
.Banner .Tx a.AmznBtn{display:inline-flex;align-items:center;gap:16px;width:auto;min-width:0;padding:12px 24px;background:#fff;border:none;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.22);letter-spacing:0;line-height:1;text-align:left;transition:transform .18s ease,box-shadow .18s ease;}
.Banner .Tx a.AmznBtn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.30);}
.AmznBtn__brand{position:relative;display:inline-block;padding-bottom:10px;}
.AmznBtn__word{display:block;font-family:Arial,Helvetica,"Helvetica Neue",sans-serif;font-weight:800;font-size:26px;line-height:1;letter-spacing:-.055em;color:#131A22;}
.AmznBtn__smile{position:absolute;left:1px;bottom:1px;width:calc(100% - 2px);height:auto;display:block;}
.AmznBtn__cta{padding-left:16px;border-left:1px solid #E1E1E1;font-family:inherit;font-size:15px;font-weight:bold;letter-spacing:.02em;color:#232F3E;white-space:nowrap;}
@media screen and (max-width:768px){
	.Banner .Tx a.AmznBtn{display:inline-flex;width:auto;margin-top:24px;padding:11px 20px;text-align:left;gap:13px;}
	.AmznBtn__word{font-size:23px;}
	.AmznBtn__cta{font-size:14px;padding-left:13px;}
}

/* フッター：ロゴを制作クレジット無しのブランドロゴ(透過)に。CTAボタンは長文ラベルの折返しに備え行間を確保 */
footer .Aside a.CtaBtn{line-height:1.45;}
@media screen and (max-width:768px){
	footer .Aside a.CtaBtn{line-height:1.4;font-size:16px;}
}
