@charset "UTF-8";
/*
 * GENKI創造 トップページLP用スタイル
 * 元原稿: https://genkisozo.com/renew4/ui_kits/genkisozo/index.html
 * すべて .genki-lp配下にスコープし、SWELL本体のスタイルに影響しないようにしている。
 */

.genki-lp{
	--or:#E8512A;
	--or-dark:#C43D18;
	--or-tint:#FDF1EC;
	--or-line:#F2C9B8;
	--or-on-dark:#FF9271;

	--ink:#101215;
	--body:#4D5158;
	--mute:#8B9099;
	--line:#E6E7EA;
	--surface:#FFFFFF;
	--surface-alt:#FAF9F9;

	--dim-surface:#F7F7F8;
	--on-dark-body:#C9CCD2;
	--on-dark-sub:#B6BAC1;
	--on-dark-mute:#A9AEB6;
	--on-dark-line:rgba(255,255,255,.14);
	--on-dark-line-strong:rgba(255,255,255,.2);
	--on-dark-outline:rgba(255,255,255,.55);

	--font:"Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",system-ui,sans-serif;

	--fs-h1:44px;      --lh-h1:1.38;  --ls-h1:-.02em;
	--fs-h2:32px;      --lh-h2:1.42;  --ls-h2:-.01em;
	--fs-h3:18px;      --lh-h3:1.5;
	--fs-body:16px;    --lh-body:1.7;
	--fs-card:14px;  --lh-card:1.85;
	--fs-label:11.5px; --ls-num:.05em; --ls-eyebrow:.14em; --ls-cardnum:.12em;
	--fs-caption:12.5px;
	--fs-stat:42px;
	--fs-h1-sp:27px;
	--fs-h2-sp:22px;

	--s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:22px; --s-6:30px; --s-7:44px; --s-8:76px;
	--gap-inline:12px;
	--gap-element:19px;
	--gap-element-lg:26px;
	--gap-block:34px;
	--gap-block-lg:44px;
	--gap-section:76px;

	--container:1200px;
	--gutter:30px;
	--gutter-sp:18px;

	--section-y:76px;
	--section-y-sp:48px;
	--section-y-dark:96px;

	--grid2-gap:46px;
	--grid3-gap:26px;
	--grid4-gap:18px;

	--r-btn:2px;
	--r-card:6px;
	--r-pill:999px;

	--cream:#FAF3E7;

	margin:0;
	font-family:var(--font);
	color:var(--body);
	font-size:var(--fs-body);
	line-height:var(--lh-body);
	background:var(--surface);
	-webkit-font-smoothing:antialiased;
}
.genki-lp *{box-sizing:border-box}
.genki-lp a{color:var(--ink);text-decoration:none}
.genki-lp a:hover{color:var(--or)}
.genki-lp img{max-width:100%}

/* SWELLの#content(.l-container)に掛かるサイト幅の上限・左右パディングを、
   このLPページに限り解除する（100vw+マイナスマージン方式は、コンテナが
   画面中央から左右非対称にズレている環境で崩れるため使用しない）*/
.genki-lp-page #content.l-container{
	max-width:none !important;
	padding-left:0 !important;
	padding-right:0 !important;
	padding-top:0 !important; /* ヘッダーとFVの間の余白(l-content本来のpadding-top)を除去 */
}
/* サイドバー用に予約されている幅(CSS変数)を明示的に0にし、
   #main_content が確実にフル幅になるようにする(念のための保険) */
.genki-lp-page{
	--swl-sidebar_width:0px !important;
	--swl-sidebar_margin:0px !important;
}
.genki-lp-page .l-mainContent{
	width:100% !important;
	max-width:100% !important;
	margin-left:0 !important;
}
.genki-lp-page #sidebar{display:none !important}
.genki-lp > section{width:100%}

/* ==== components ==== */
.genki-lp .gs-container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.genki-lp .gs-section{padding:var(--section-y) 0}
.genki-lp .gs-section--alt{background:var(--or-tint)}

.genki-lp .gs-eyebrow{display:inline-block;font-size:var(--fs-label);font-weight:700;color:var(--or);letter-spacing:var(--ls-eyebrow);margin:0 0 16px}
.genki-lp .gs-num{display:flex;align-items:baseline;gap:.5em;line-height:1;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:45px;font-weight:900;color:var(--or);letter-spacing:var(--ls-num);margin:0 0 10px}
.genki-lp .gs-num__digit{font-size:1.5em;line-height:1}
.genki-lp .gs-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);color:var(--ink);margin:0 0 30px;font-weight:700;letter-spacing:var(--ls-h1)}
.genki-lp .gs-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);color:var(--ink);margin:0 0 18px;font-weight:700;letter-spacing:var(--ls-h2)}
.genki-lp .gs-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--ink);margin:0 0 10px;font-weight:700}
.genki-lp .gs-sub{font-size:var(--fs-body);margin:0 0 var(--gap-block);max-width:100%}
.genki-lp .gs-sub.concept-lead{font-size:18px}

.genki-lp .gs-btn{display:inline-block;background:var(--or);color:#fff;font-weight:700;font-size:15px;
	padding:16px 34px;border-radius:var(--r-btn);text-decoration:none;transition:.15s;border:0;cursor:pointer}
.genki-lp .gs-btn:hover{background:var(--or-dark);color:#fff}
.genki-lp .gs-btn--outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.genki-lp .gs-btn--outline:hover{background:var(--ink);color:#fff}
.genki-lp .gs-link{font-size:15px;color:var(--ink);text-decoration:none;font-weight:700}
.genki-lp .gs-link:hover{color:var(--or)}

.genki-lp .gs-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px 26px}
.genki-lp .gs-card--hi{background:var(--or-tint);border:0}
.genki-lp .gs-card.gs-card--hi p{font-size:18px;font-weight:700}
.genki-lp .gs-card__cn{font-size:20.7px!important;font-weight:700;color:var(--or);letter-spacing:var(--ls-cardnum);margin:0 0 12px}
.genki-lp .gs-card p{font-size:var(--fs-card);margin:0;line-height:var(--lh-card)}

.genki-lp .gs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid2-gap);align-items:center}
.genki-lp .gs-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid3-gap)}
.genki-lp .gs-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid4-gap)}

.genki-lp .gs-linkcard{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);transition:.15s}
.genki-lp .gs-linkcard:hover{border-color:var(--or);transform:translateY(-2px)}
.genki-lp .gs-linkcard--shadow:hover{box-shadow:0 10px 24px rgba(16,18,21,.10);transform:translateY(-2px)}

.genki-lp .gs-fig{display:block;width:100%;height:auto;max-width:760px;margin:0 auto}

.genki-lp .gs-photo{display:block;width:100%;object-fit:cover;border-radius:var(--r-card);background:#EFEDEA}
.genki-lp .gs-photo--h280{height:280px}
.genki-lp .gs-photo--h220{height:220px}
.genki-lp .book-cover{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 18px 44px rgba(0,0,0,.26)}
.genki-lp .portrait{display:block;width:100%;height:auto;border-radius:var(--r-card)}

.genki-lp .book-grid{display:grid;grid-template-columns:230px 1fr;gap:var(--grid2-gap);align-items:start}

.genki-lp .center{text-align:center;margin-top:34px}

/* ==== ファーストビュー ====
   背景は1枚の合成済み画像(main_back.jpg)をそのまま使用し、
   文字とボタンだけをテキストとして重ねる。 */
.genki-lp .fv{
	position:relative;
	background-color:#F8F6F4;
	background-image:var(--fv-bg);
	background-position:top;
	background-size:cover;
	background-repeat:no-repeat;
	aspect-ratio:2670/1568;
	max-height:820px;
	display:flex;
	align-items:center;
}
/* fv__copyはヘッダーと同じ実サイト幅(--container_size)の中央寄せゾーンに揃え、
   ヘッダーのロゴ位置と左端が一致するようにする。左paddingは詰めて余白を減らす。
   上下は固定paddingではなく.fv側のflex中央揃えに任せ、画面幅を変えても
   常にFV内で上下中央に表示されるようにする。 */
.genki-lp .fv__copy{position:relative;width:100%;max-width:var(--container_size);margin:0 auto;padding:0 var(--gutter) 0 10px}
.genki-lp .fv__copy-inner{max-width:700px}

.genki-lp .fv__kicker{font-size:19px;font-weight:700;color:var(--ink);margin:0 0 6px}
.genki-lp .fv__pain{font-size:26px;font-weight:700;color:var(--ink);line-height:1.5;margin:0 0 35px}
.genki-lp .fv__eyebrow{font-size:19px;margin-bottom:14px}
.genki-lp .fv__lead{font-size:19px;font-weight:700;color:var(--body);margin:0 0 40px;max-width:560px}
.genki-lp .fv__lead--lg{font-size:22.8px}
.genki-lp .u-br-sp-only{display:none}
.genki-lp .fv .gs-h1{font-size:48px;font-weight:900}
.genki-lp .fv__accent{color:var(--or);font-size: 1.15em}
.genki-lp .fv__mark{background:var(--or);color:#fff;padding:2px 14px;border-radius:8px;display:inline-block;margin:6px 0}
.genki-lp .fv__line{display:block}
/* 平仮名を漢字よりひと回り小さくして、見出しに強弱をつける */
.genki-lp .fv .gs-h1 .fv__kana{font-size:.92em}
.genki-lp .fv__big{font-size:1.2em}

/* FVのCTA(バッジ+矢印付きボタン)。画像通り、角丸は控えめな四角ボタンにする */
.genki-lp .fv-cta{
	display:inline-flex;align-items:center;gap:22px;
	background:var(--or);color:#fff;border-radius:10px;
	padding:8px 42px 8px 8px;
	box-shadow:0 10px 24px rgba(232,81,42,.28);
}
.genki-lp .fv-cta:hover{background:var(--or-dark);color:#fff}
.genki-lp .fv-cta__badge{
	display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;
	width:90px;height:70px;border-radius:50%;background:#fff;color:var(--or);
	font-size:16px;font-weight:700;line-height:1.3;text-align:center;
	box-shadow:0 6px 14px rgba(0,0,0,.15);
}
.genki-lp .fv-cta__label{display:inline-flex;align-items:center;font-size:24px;font-weight:700;white-space:nowrap;line-height:1}
.genki-lp .fv-cta__label::after{content:"\203A";display:inline-flex;align-items:center;margin-left:24px;font-weight:700;font-size:1.6em;line-height:1}

.genki-lp .profile-book{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--or-line);border-radius:var(--r-card);padding:20px 22px;text-decoration:none;margin:0 0 22px}
.genki-lp .profile-book img{flex:0 0 auto;width:168px;height:auto;border-radius:3px;box-shadow:5px 8px 10px rgba(0,0,0,.68)}
.genki-lp .profile-quote{padding:2px 0 2px 10px}
.genki-lp .profile-book span.profile-book__pain{font-size:18px}
.genki-lp .profile-book b{display:block;font-size:22px;color:var(--ink);line-height:1.4}
.genki-lp .profile-book span{display:block;font-size:15px;color:var(--or);font-weight:700;margin-top:10px}
.genki-lp .profile-book span.profile-book__subcopy{font-size:17px;color:var(--ink);font-weight:400;line-height:1.5}
/* 「プロフィールを見る」ボタンだけオレンジのホバーにする(他のgs-btn--outlineの標準ホバーには影響させない) */
.genki-lp .profile-cta-btn:hover{background:var(--or);border-color:var(--or);color:#fff}
/* 「講演依頼について詳しく見る」ボタンだけオレンジの枠線・文字色にする */
.genki-lp .lecture-cta-btn{background:#fff;color:var(--or);border-color:var(--or)}
.genki-lp .lecture-cta-btn:hover{background:var(--or);border-color:var(--or);color:#fff}

.genki-lp .tagline-lg{font-size:27px;font-weight:700;text-align:center;line-height:1.5;margin:40px 0 0}
.genki-lp .flow3__note{font-size:18px;font-weight:700;color:var(--ink);text-align:left;margin:30px 0 0;max-width:760px;line-height:1.8}

.genki-lp .method-block{background:var(--or-tint);border-radius:var(--r-card);padding:36px 34px;margin-top:30px}
.genki-lp .method-block__eyebrow{font-size:22px;font-weight:700;color:var(--or);margin:0 0 8px}
.genki-lp .method-block__lead{font-size:15px;color:var(--body);margin:0 0 26px}

.genki-lp .chk{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.genki-lp .chk li{font-size:16px;color:var(--ink);font-weight:700;padding:19px 0 19px 34px;border-bottom:1px solid var(--line);position:relative;list-style:none}
.genki-lp .chk li span{position:absolute;left:0;top:50%;transform:translateY(-50%);width:16px;height:2px;background:var(--or)}

/* 02 ISSUE: 黒背景カードの代わりに、白カード+上部オレンジラインで視覚的インパクトを出す */
.genki-lp .issue-card{background:#fff;border-radius:var(--r-card);border:1px solid var(--or-line);border-top:5px solid var(--or);padding:44px 40px;margin-bottom:36px}

/* 02 ISSUE 図解: 背景画像(fig-tap_back.jpg)に文字をHTMLで重ねる。
   container-type:inline-sizeで、文字サイズを図解自体の幅(cqw)基準にし、
   ビューポート幅ではなく図解の大きさに比例して拡大縮小させる。 */
.genki-lp .fig-tap{
	position:relative;
	width:100%;
	max-width:912px;
	margin:0 auto;
	aspect-ratio:1488/714;
	background-color:#F7F4F1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	container-type:inline-size;
}
.genki-lp .fig-tap__label{
	position:absolute;
	font-weight:700;
	color:var(--or);
	font-size:17px;
	font-size:2.5cqw;
	white-space:nowrap;
	line-height:1.3;
}
.genki-lp .fig-tap__label--in{left:15%;top:6%}
/* 元画像同様、プラグの右斜め下にずらして絵と重ならないようにする */
.genki-lp .fig-tap__label--out{left:58%;top:73%}
.genki-lp .fig-tap__text{
	position:absolute;
	margin:0;
	color:var(--ink);
	font-weight:700;
	font-size:15px;
	font-size:2.15cqw;
	line-height:1.55;
}
.genki-lp .fig-tap__text--left{left:3%;top:44%;max-width:23%}
.genki-lp .fig-tap__text--right{right:6%;top:44%;max-width:23%;text-align:left}
.genki-lp .fig-tap__text--center{
	left:50%;top:47%;transform:translateX(-50%);
	max-width:46%;text-align:center;white-space:nowrap;
	color:var(--or);
	font-size:18px;
	font-size:2.5cqw;
}

/* 04 CONCEPT 図解: 背景画像(fig-mote-back.jpg)に文字をHTMLで重ねる */
.genki-lp .fig-mote{
	position:relative;
	width:100%;
	max-width:912px;
	margin:0 auto;
	aspect-ratio:1263/832;
	background-color:#F4F2F1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	container-type:inline-size;
}
.genki-lp .fig-mote__label{
	position:absolute;left:50%;top:2%;transform:translateX(-50%);
	color:var(--or);font-weight:700;white-space:nowrap;
	font-size:14.5px;
	font-size:2.2cqw;
}
.genki-lp .fig-mote__box{
	position:absolute;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	text-align:center;
}
.genki-lp .fig-mote__box b{
	display:block;color:var(--ink);font-weight:700;white-space:nowrap;
	font-size:18px;
	font-size:2.82cqw;
	line-height:1.4;
}
.genki-lp .fig-mote__box span{
	display:block;color:var(--body);font-weight:700;white-space:nowrap;
	font-size:14.7px;
	font-size:1.8cqw;
	margin-top:2px;
}
.genki-lp .fig-mote__box--top{left:29.1%;right:27.8%;top:10.2%;height:18.3%}
.genki-lp .fig-mote__box--left{left:15.8%;right:64.4%;top:41.7%;height:19%}
.genki-lp .fig-mote__box--right{left:65.7%;right:14.5%;top:41.7%;height:19%}
.genki-lp .fig-mote__box--bottom{left:40%;right:40.2%;top:76.1%;height:16.5%}
/* 「モテる会社」の塗りボックスは画像ではなくCSSで描く（ブランド色を--orに統一するため）。
   位置は元画像(1263×834)上の箱の座標から算出。アイコンは透過PNGで重ねる */
.genki-lp .fig-mote__goal{position:absolute;left:25.89%;width:48.46%;top:74.76%;height:17.55%;background:var(--or);border-radius:.95cqw}
.genki-lp .fig-mote__goal-icon{position:absolute;top:8.2%;height:auto;max-width:none}
.genki-lp .fig-mote__goal-icon--l{left:3.76%;width:19.61%}
.genki-lp .fig-mote__goal-icon--r{left:75.65%;width:20.42%}
.genki-lp .fig-mote__box--top b{
	font-size:21.6px;
	font-size:3.384cqw;
}
.genki-lp .fig-mote__box--bottom b{
	color:#fff;
	font-size:26px;
	font-size:4.1cqw;
}

/* 05 OVERVIEW 図解: 背景画像(fig-overview-back.jpg)に文字をHTMLで重ねる */
.genki-lp .fig-overview{
	position:relative;
	width:100%;
	max-width:1040px;
	margin:0 auto;
	aspect-ratio:2405/432;
	background-color:#F4F2F1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	container-type:inline-size;
}
.genki-lp .fig-overview__box{
	position:absolute;
	top:6%;bottom:4%; /* ×・＝の高さにリード文が来るよう調整 */
	display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
	text-align:left;
}
/* GOALの塗りボックスもCSSで描く。位置は元画像(2405×432)上の箱の座標から算出 */
.genki-lp .fig-overview__goal{position:absolute;left:69.60%;width:30.15%;top:6.02%;height:91.44%;background:var(--or);border-radius:.83cqw;box-shadow:0 .25cqw .8cqw rgba(0,0,0,.12)}
.genki-lp .fig-overview__goal-icon{position:absolute;left:68.41%;top:7.34%;width:27.59%;height:auto;max-width:none}
.genki-lp .fig-overview__box--a{left:2%;right:77%}
.genki-lp .fig-overview__box--b{left:37%;right:44%}
.genki-lp .fig-overview__box--c{left:71%;right:10%;justify-content:center}
.genki-lp .fig-overview__eyebrow{
	margin:5px 0 1%;color:var(--or);font-weight:700;white-space:nowrap;
	font-size:16px;
	font-size:2.2cqw;
}
.genki-lp .fig-overview__lead{
	margin:0 0 4%;color:var(--ink);font-weight:700;white-space:nowrap;
	font-size:15px;
	font-size:2.05cqw;
	line-height:1.3;
}
.genki-lp .fig-overview__body{
	margin:0;color:var(--body);font-weight:700;
	font-size:11.5px;
	font-size:1.35cqw;
	line-height:1.5;
	width:26cqw;
	max-width:none;
}
.genki-lp .fig-overview__box--c .fig-overview__eyebrow{color:#fff}
.genki-lp .fig-overview__box--a .fig-overview__lead,
.genki-lp .fig-overview__box--b .fig-overview__lead{
	white-space:normal;
	font-size:14.5px;
	font-size:1.75cqw;
}
.genki-lp .fig-overview__box--c .fig-overview__eyebrow{color:var(--ink);letter-spacing:.08em;opacity:.85}
.genki-lp .fig-overview__box--c .fig-overview__lead{color:#fff}
.genki-lp .fig-overview__box--c .fig-overview__body{color:#fff;opacity:.9;white-space:nowrap;width:auto}

/* 感情ドライブの3層(個人層/対人層/チーム層)図解: 背景画像(fig-drive-back.jpg)に文字をHTMLで重ねる */
.genki-lp .fig-drive{
	position:relative;
	width:100%;
	max-width:760px;
	margin:0 auto;
	aspect-ratio:1621/640;
	background-color:#F4F2F1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	container-type:inline-size;
}
.genki-lp .fig-drive__layer{
	position:absolute;
	display:flex;
	gap:4%;
}
.genki-lp .fig-drive__layer--1{left:21.4%;right:6.4%;top:15.6%;bottom:66.4%}
.genki-lp .fig-drive__layer--2{left:27.3%;right:12.6%;top:42.3%;bottom:38.3%}
.genki-lp .fig-drive__layer--3{left:30.8%;right:18.8%;top:68.4%;bottom:11.25%}
.genki-lp .fig-drive__label{
	flex:0 0 auto;color:var(--or);font-weight:700;white-space:nowrap;
	font-size:15.6px;
	font-size:2.46cqw;
}
.genki-lp .fig-drive__copy{flex:1 1 auto;min-width:0}
.genki-lp .fig-drive__main{
	margin:0;color:var(--ink);font-weight:700;white-space:nowrap;
	font-size:15.2px;
	font-size:2.1cqw;
	line-height:1.4;
}
.genki-lp .fig-drive__sub{
	margin:2px 0 0;color:var(--body);font-weight:700;white-space:nowrap;
	font-size:13.5px;
	font-size:1.82cqw;
	line-height:1.4;
}
.genki-lp .fig-drive__arrow-label{
	position:absolute;left:13%;bottom:4%;transform:translateX(-50%);
	color:var(--body);font-weight:700;white-space:nowrap;
	font-size:14.7px;
	font-size:1.72cqw;
}

/* 定着デザインの成果曲線: 背景画像(fig-cycle-back.jpg)には図表・ラベルが描画済みのため、
   下のキャプションのみHTMLテキストとして追加する */
.genki-lp .fig-cycle{
	position:relative;
	width:100%;
	aspect-ratio:1024/470;
	background-color:#F4F2F1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	container-type:inline-size;
}
.genki-lp .fig-cycle__caption{
	position:absolute;
	left:50%;bottom:4%;transform:translateX(-50%);
	margin:0;
	white-space:nowrap;
	text-align:center;
	color:var(--body);
	font-size:12.5px;
	font-size:1.5cqw;
}

/* 06 SERVICEの下に追加する、サービス案内ページへの誘導ブロック */
.genki-lp .svc-bridge{position:relative;margin-top:56px;background-color:var(--or-tint);background-image:var(--svc-bridge-bg-bottom),var(--svc-bridge-bg);background-repeat:no-repeat,no-repeat;background-position:bottom center,top center;background-size:100% auto,100% auto;border-radius:var(--r-card);padding:40px 40px 40px;text-align:left}
.genki-lp .svc-bridge__copy{max-width:54%;margin-bottom:60px}
.genki-lp .svc-bridge__h3{font-size:28px;font-weight:700;color:var(--ink);line-height:1.5;margin:0 0 16px}
.genki-lp .svc-bridge__accent{color:var(--or);font-size:1.3em;font-weight: 900}
.genki-lp .svc-bridge__lead{font-size:16px;color:var(--body);line-height:1.6;margin:0}
.genki-lp .svc-bridge .center{margin-top:0}

/* 個人層／対人層／チーム層の3カラム */
.genki-lp .svc-layers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.genki-lp .svc-layer-card{background:#fff;border:1px solid var(--or-line);border-radius:var(--r-card);overflow:hidden}
.genki-lp .svc-layer-card__hd{display:flex;align-items:center;gap:14px;background:var(--or-tint);padding: 10px 30px;border-radius:var(--r-card);margin: 8px 8px 0;}
.genki-lp .svc-layer-card__hd img{width:54px;height:54px;flex:0 0 auto;object-fit:contain}
.genki-lp .svc-layer-card__hd b{display:block;font-size:35px;font-weight:900;color:var(--or);line-height:1.2}
.genki-lp .svc-layer-card__hd span{display:block;font-size:15px;color:var(--body);margin-top:0;font-weight:600}
.genki-lp .svc-layer-card__items{display:flex;flex-direction:column;gap:5px;padding:5px 8px}
.genki-lp .svc-layer-item{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--or-line);border-radius:var(--r-card);padding:10px 16px;min-height:64px;box-sizing:border-box;transition:.15s}
.genki-lp a.svc-layer-item:hover{border-color:var(--or);background:var(--or-tint);transform:translateY(-2px)}
.genki-lp .svc-layer-item img{width:32px;height:32px;flex:0 0 auto;object-fit:contain}
.genki-lp .svc-layer-item span{flex:1;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4}
.genki-lp .svc-layer-item i{font-style:normal;color:var(--or);font-weight:550;font-size:25px;flex:0 0 auto}
.genki-lp .svc-common__items .svc-layer-item span{font-size:18px}
.genki-lp .svc-common__items .svc-layer-item i{font-size:30px}
.genki-lp .svc-common__items .svc-layer-item{padding:5px 16px!important}


/* 3つの層に共通する支援 */
.genki-lp .svc-common{position:relative;background:var(--or-tint);border:0;border-radius:var(--r-card);padding:5px 24px 24px;margin-bottom:10px}
.genki-lp .svc-common__label{text-align:center;font-size:25px;font-weight:700;color:var(--or);margin:0 0 5px}
.genki-lp .svc-common__items{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.genki-lp .svc-bridge__badge{position:absolute;right:24px;bottom:30px;width:120px;height:120px;border-radius:50%;background:#fff;border:1px solid var(--or-on-dark);box-shadow: 0 0 0 5px #fff,0 0 1px 8px rgba(238,95,32,0.9),0 10px 24px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding: 5px;z-index:2}
.genki-lp .svc-bridge__badge img{width:36px;height:36px;margin:0;object-fit:contain}
.genki-lp .svc-bridge__badge b{font-size:18px;font-weight:700;color:var(--or);line-height:1.0}
.genki-lp .svc-bridge__badge span{font-size:10.5px;color:var(--body);line-height:1.4;margin-top:3px;font-weight:600;white-space:normal;letter-spacing:-0.07em}

/* 03 WHY: 差し替え後のイラスト用 */
.genki-lp .why-photo{display:block;width:auto;height:240px;max-width:90%;margin:0 auto;border-radius:var(--r-card);object-fit:contain}

.genki-lp .steps{display:flex;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:#fff}
.genki-lp .steps>div{flex:1;padding:20px 14px;text-align:center}
.genki-lp .steps>div+div{border-left:1px solid var(--line)}
.genki-lp .steps__tag{display:inline-block;font-size:14px;color:var(--or);font-weight:700;letter-spacing:.1em;border:1.5px solid var(--or);border-radius:20px;padding:4px 18px;margin-bottom:12px}
.genki-lp .steps b{display:block;font-size:17.4px;font-weight:700;color:var(--ink)}
.genki-lp .steps__sub{display:block;font-size:14.5px;color:var(--mute);font-weight:700;margin-top:2px}
.genki-lp .steps p{font-size:14.4px;color:var(--body);margin:6px 0 0;line-height:1.6}

/* 05 METHOD 定着デザイン: 望ましい状態バナー＋5層テーブル（テキスト） */
.genki-lp .method-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px;margin-top:34px}
.genki-lp .method-banner{background:var(--or);border-radius:var(--r-card);padding:18px 20px;text-align:center;margin:0 0 24px}
.genki-lp .method-banner__title{font-size:20px;font-weight:700;color:#fff;margin0}
.genki-lp .method-banner__sub{font-size:14.5px;color:#fff;opacity:.9;margin:0}
.genki-lp .method-table{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.genki-lp .method-table__col{background:#fff;border:1px solid var(--line);border-top:4px solid var(--or);border-radius:var(--r-card);padding:18px 12px;text-align:center}
.genki-lp .method-table__cat{font-size:15px;font-weight:700;color:var(--or);margin:0 0 4px}
.genki-lp .method-table__label{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 8px}
.genki-lp .method-table__desc{font-size:14px;color:var(--body);line-height:1.6;margin:0;text-align:left}
.genki-lp .method-note{text-align:center;margin-top:20px;background:var(--or-tint);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px}
.genki-lp .method-note__title{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 4px}
.genki-lp .method-note__body{font-size:14.5px;color:var(--body);margin:0}

.genki-lp .stats{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr;border-top:2px solid var(--or)}
.genki-lp .stats>div{text-align:center;padding:32px 5px 4px}
.genki-lp .stats>div+div{border-left:1px solid var(--line)}
.genki-lp .stats b{display:block;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:var(--fs-stat);color:var(--or);line-height:1.1;letter-spacing:-.02em;font-weight:900}
.genki-lp .stats span{display:block;font-size:17px;color:var(--mute);letter-spacing:.04em;margin-top:8px}

.genki-lp .news{border-top:2px solid var(--ink)}
.genki-lp .news .row{display:flex;align-items:left;gap:26px;padding:18px 4px;border-bottom:1px solid var(--line);font-size:14.5px}
.genki-lp .news .row time{color:var(--mute);font-weight:700;flex:0 0 auto;font-size:14.5px}

.genki-lp .gs-cat-badge{display:inline-block;flex:0 0 auto;background:var(--or);color:#fff;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:4px;white-space:nowrap}
.genki-lp .gs-cat-badge--outline{background:#fff;color:var(--or);border:1px solid var(--or)}

/* クロージングCTA: 背景をbg_contact_cta_top.jpg(上)/bg_contact_cta_under.jpg(下)の
   2枚に分けて配置し、見出し・本文・ボタンは実テキスト/CSSで組む。 */
.genki-lp .cta-box{
	position:relative;
	max-width:1100px;
	margin:0 auto;
	background-color:#FEFDFB;
	background-image:var(--cta-bg-top),var(--cta-bg-under);
	background-repeat:no-repeat,no-repeat;
	background-position: top right,bottom left;
	background-size: 20% auto,20% auto;
	border:2px solid var(--or);
	border-radius:24px;
	padding:48px 56px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	text-align:left;
	overflow:hidden;
}
.genki-lp .cta-box__title{font-family:"Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;font-size:clamp(24px,4vw,48px);font-weight:900;color:var(--ink);line-height:1.45;margin:0 0 14px}
.genki-lp .cta-box__lead{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 6px}
.genki-lp .cta-box__note{font-size:16px;color:var(--mute);margin:0}
.genki-lp .cta-box__actions{flex:0 0 auto;display:flex;flex-direction:column;gap:14px;width:360px}

.genki-lp .cta-btn{display:flex;align-items:center;justify-content:center;gap:14px;border-radius:10px;padding:16px 22px;text-decoration:none;text-align:center;box-sizing:border-box}
.genki-lp .cta-btn--primary{background:var(--or);color:#fff}
.genki-lp .cta-btn--primary:hover{background:var(--or-dark);color:#fff}
.genki-lp .cta-btn__text{display:flex;flex-direction:column;line-height:1.5}
.genki-lp .cta-btn__badge{font-size:20px;font-weight:700}
.genki-lp .cta-btn__main{font-size:25px;font-weight:900}
.genki-lp .cta-btn__arrow{font-size:24px;font-weight:700}
.genki-lp .cta-btn--outline{background:#fff;color:var(--ink);border:1.5px solid var(--ink);font-size:22px;font-weight:700}

@media (max-width:767px){
	.genki-lp{--gutter:var(--gutter-sp)}
	.genki-lp .gs-h1{font-size:var(--fs-h1-sp)}
	.genki-lp .gs-h2{font-size:var(--fs-h2-sp)}
	.genki-lp .gs-section{padding:var(--section-y-sp) 0}
	.genki-lp .gs-grid2,.genki-lp .gs-grid3,.genki-lp .gs-grid4{grid-template-columns:1fr}
	.genki-lp .gs-num{flex-direction:column;align-items:flex-start;gap:2px}
	.genki-lp .gs-btn{display:flex;width:100%;text-align:center;justify-content:center}
	.genki-lp .service-score-title{text-align:left !important}

	/* 定着デザインの成果曲線キャプションをさらに大きく（1行に収まる範囲で） */
	.genki-lp .fig-cycle__caption{
		font-size:20.5px;
		font-size:2.8cqw;
	}

	/* クロージングCTA: 見出しは「まずは、御社の職場の/「感情」を見立てます。」の
	   2行の改行を保てるサイズまで縮小し、リード文・注記は左寄せにする */
	.genki-lp .closing-title{font-size:30px !important}

	/* 05 OVERVIEWの見出しだけ、意図した2行(<br>の位置)に収まるよう縮小する。
	   他の.gs-h2見出しには影響させない(overview-titleに限定)。 */
	.genki-lp .overview-title{font-size:clamp(15px,5vw,20px) !important}
	.genki-lp .closing-lead,
	.genki-lp .closing-note{text-align:left !important}

	/* SP専用の縦長合成画像(sp-fv-background.jpg)に差し替え。
	   画像自体の比率(1536:2752)に section の高さを合わせ、写真が切り取られないようにする。
	   写真+斜め帯はだいたい上から41%までなので、文字はそれより下から始める。 */
	.genki-lp .fv{
		aspect-ratio:1536/2752;
		max-height:none;
		background-image:var(--fv-bg-sp);
		background-position:top center;
		align-items:flex-start;
	}
	.genki-lp .fv__copy{padding:0 18px 40px;padding-top:76vw}
	.genki-lp .fv__copy-inner{max-width:none}
	.genki-lp .fv__kicker,.genki-lp .fv__eyebrow,.genki-lp .fv__lead{font-size:14.5px;letter-spacing:-0.02em}
	.genki-lp .fv__lead--lg{font-size:15.6px}
	.genki-lp .u-br-sp-only{display:inline}
	.genki-lp .fv__pain{font-size:16px;letter-spacing:-0.03em}
	/* 端末幅によって「感情×仕組みから設計する。」が2行に収まりきらず改行されるため、
	   固定サイズではなく画面幅に応じて縮む可変サイズにする */
	.genki-lp .fv .gs-h1{font-size:clamp(19px,7vw,28px)}
	/* PCと同じく「白丸バッジ＋ラベル＋矢印」を横一列のまま維持し、
	   文字サイズだけ縮めて折り返さないようにする（バッジ内の今すぐ/無料診断の改行は維持） */
	.genki-lp .fv-cta{width:100%;flex-wrap:nowrap;gap:6px;padding:5px 5px 5px 3px}
	.genki-lp .fv-cta__badge{width:48px;height:48px;font-size:11.5px;flex:0 0 auto}
	.genki-lp .fv-cta__label{font-size:clamp(10px,3.9vw,16px);white-space:nowrap}
	.genki-lp .fv-cta__label::after{margin-left:.5em;font-size:1.3em}
	.genki-lp .flow3__note{font-size:16px}
	.genki-lp .method-block{padding:26px 20px}
	/* fig-drive図解をスマホのみ背景画像を120%に拡大して大きく見せ、
	   文字（cqw基準）も見やすいよう1.3倍程度に引き上げる */
	.genki-lp .fig-drive{background-size:120%}
	.genki-lp .fig-drive__label{font-size:20px;font-size:3.2cqw}
	.genki-lp .fig-drive__main{font-size:17.8px;font-size:2.47cqw}
	.genki-lp .fig-drive__sub{font-size:15.6px;font-size:2.1cqw}
	.genki-lp .fig-drive__arrow-label{font-size:17.2px;font-size:2.24cqw}
	/* 背景を120%拡大した分、文字の重ね位置も同じ拡大率で再計算して合わせる
	   （中心基準ズームなので new = 1.2 * old - 10 で変換） */
	.genki-lp .fig-drive__layer--1{left:15.7%;right:1%;top:8.7%;bottom:69.7%}
	.genki-lp .fig-drive__layer--2{left:22.8%;right:5.1%;top:40.8%;bottom:36%}
	.genki-lp .fig-drive__layer--3{left:29.4%;right:12.6%;top:72.1%;bottom:3.5%}
	.genki-lp .fig-drive__arrow-label{left:5.6%;bottom:2%}
	.genki-lp .issue-card{padding:26px 20px}
	.genki-lp .svc-bridge{padding:26px 20px 10px;background-image:var(--svc-bridge-bg-bottom-sp),var(--svc-bridge-bg-sp);background-repeat:no-repeat,no-repeat;background-size:100% auto,100% auto;background-position:bottom center,top center}
	.genki-lp .svc-bridge__copy{max-width:none;padding-top:55vw;margin-bottom: 10px;}
	.genki-lp .svc-bridge__h3{font-size:20.4px}
	.genki-lp .svc-bridge__accent{display:inline-block;white-space:nowrap;font-size:clamp(16px,6.5vw,30px)}
    .genki-lp .svc-bridge__lead{font-size:14px}
	.genki-lp .svc-layers-grid{grid-template-columns:1fr;gap: 6px;margin-bottom: 6px}
	.genki-lp .svc-common__items{grid-template-columns:1fr;gap:5px}
	/* sp_service_top.pngに合わせて、スマホのみカード内の余白・文字サイズを縮小 */
	.genki-lp .svc-layer-card__hd{gap:10px;padding: 5px 16px;margin: 5px 5px 0;}
	.genki-lp .svc-layer-card__hd img{width:36px;height:36px}
	.genki-lp .svc-layer-card__hd b{font-size:22px}
	.genki-lp .svc-layer-card__hd span{font-size:14px}
	.genki-lp .svc-layer-card__items{gap: 5px;padding: 5px;}
	.genki-lp .svc-layer-item{gap:10px;padding: 2px 12px;}
	.genki-lp .svc-layer-item img{width:26px;height:26px}
	.genki-lp .svc-layer-item span{font-size:15px}
	.genki-lp .svc-layer-item i{font-size:18px}
	.genki-lp .first-svc-layer-card .svc-layer-item{padding: 2px 12px!important;}
	.genki-lp .svc-common{padding: 5px 5px 5px;}
	.genki-lp .svc-common__label{font-size:18px;margin:0 0 8px}
	.genki-lp .svc-common__items .svc-layer-item span{font-size:15px}
	.genki-lp .svc-common__items .svc-layer-item i{font-size:18px}
	.genki-lp .svc-common__items .svc-layer-item{padding: 5px 12px!important;}
	.genki-lp .svc-bridge__badge{position:static;right:auto;bottom:auto;margin:20px auto 0;width: 120px;height: 120px;}
	.genki-lp .svc-bridge__cta{white-space:nowrap;font-size:15px !important;padding:18px 20px !important}
	.genki-lp .profile-book{flex-direction:column;text-align:center}
	.genki-lp .profile-book img{width:144px}
	.genki-lp .profile-quote{padding:2px 0 2px 5px}
	.genki-lp .profile-book span.profile-book__pain{font-size:15px}
	.genki-lp .profile-book b{font-size:18px}
	.genki-lp .profile-book span{font-size:14.5px}
	.genki-lp .profile-book span.profile-book__subcopy{font-size:14px}
	.genki-lp .tagline-lg{font-size:clamp(15px,4.9vw,22px)}
	.genki-lp .chk{grid-template-columns:1fr}
	.genki-lp .steps{flex-direction:column}
	.genki-lp .steps>div+div{border-left:0;border-top:1px solid var(--line)}
	.genki-lp .steps p{font-size:clamp(12.5px,3.6vw,14.4px)}
	.genki-lp .method-table{grid-template-columns:1fr}
	.genki-lp .method-note{padding:18px 10px;text-align:left}
	.genki-lp .method-block .tagline-lg{text-align:left}
	.genki-lp .stats-title{white-space:nowrap;font-size:clamp(18px,6.5vw,26px) !important}
	.genki-lp .stats{grid-template-columns:1fr}
	.genki-lp .stats>div+div{border-left:0;border-top:1px solid var(--line)}
	.genki-lp .news .row{flex-direction:column;gap:2px}
	.genki-lp .gs-photo--h280{height:210px}
	.genki-lp .gs-photo--h220{height:180px}
	.genki-lp .book-grid{grid-template-columns:1fr;gap:26px}
	.genki-lp .book-grid>div:first-child{max-width:220px;margin:0 auto}
	.genki-lp .cta-box{flex-direction:column;text-align:center;background-position:top right,bottom left;background-size:45% auto,45% auto;padding:30px 20px}
	.genki-lp .cta-box__title{font-size:24px}
	.genki-lp .cta-box__actions{width:360px;max-width:100%}
	.genki-lp .cta-btn{padding:16px 10px}
	.genki-lp .cta-btn__main{font-size:20px}
}

.genki-lp .cta-btn--outline:hover{background:var(--ink);color:#fff}