/* ============================================================
   法人TOP（/corp/）以下専用スタイル（SP／@media max-width:767px）
   個人向けサイトと同じブレークポイント（767px以下でSP表示）に統一している
   （common/css/corp/style.css側のmin-width:768pxと対、2026-09-20に個人向け
   サイトとの統一指示を受けて1279px/1280pxから変更）。
   なお768px〜1279pxの中間幅は、style.css側の#header・#footer・#main-wrapperの
   min-width:1280px指定により「1280px幅のPCレイアウトを横スクロールで見る」形に
   なる（本ファイルのSPレイアウトはこの範囲では表示されない。詳細はcoding-conventions.md
   2026-09-20参照）。
   ============================================================ */
@media (max-width: 767px) {

:root{
	--sp-bottom-bar-h:0px;
}
.PC{
	display:none;
}
.SP{
	display:block;
}
.PC-inline{
	display:none;
}
.SP-inline{
	display:inline;
}
a{
	outline:none;
}
a:hover{
	opacity:1;
}
body{
	font-size:16px;
	-webkit-text-size-adjust:100%;
	width:100%;
	min-width:100%;
	padding-bottom:80px;
}
.content-inner{
	width:92%;
	margin:0 auto;
	text-align:left;
	box-sizing:border-box;
}

/* ヘッダー
------------------------------------------------------------ */
#header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:1000;
}
#header .corp-header__inner{
	position:relative;
	width:100%;
	min-width: inherit;
	height:88px;
	margin:0;
	box-sizing:border-box;
	border:none;
	border-radius:0;
	background:#fff;
	box-shadow:0 2px 6px rgba(0,0,0,.1);
	/* #naviは#header内で.corp-header__innerの兄弟要素であり、#navi側に明示的な
	   z-index:999が指定されているため、.corp-header__inner側にもそれより高い
	   z-indexを指定しないと、メニューオープン時に#naviの不透明な背景が
	   ロゴ／CTAボタン／ハンバーガーボタンを覆い隠してしまう（#header自体のz-index:1000は
	   自分の子要素同士の重なり順には影響しないため） */
	z-index:1001;
}
/* SPメニューオープン時（#navi.opennavi）は、ヘッダー下のドロップシャドウは不要という指定のため、
   その間だけ.corp-header__innerのbox-shadowを打ち消す */
#header:has(#navi.opennavi) .corp-header__inner{
	box-shadow:none;
}
.corp-header__logo{
	position:absolute;
	left:16px;
	top:16px;
	width:120px;
}
.corp-header__logo img{
	display:block;
	width:120px;
}
.corp-header__logo-sub{
	display:inline-block;
	width:auto;
	margin:6px 0 0;
	padding:4px 8px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--color-corp-primary),var(--color-corp-secondary));
	color:#fff;
	font-size:9px;
	line-height:1.3;
	text-align:center;
	white-space:nowrap;
}
.corp-header__submenu{
	display:none;
}
.corp-header__nav{
	display:none;
}
.corp-header__cta{
	position:absolute;
	top:16px;
	right:80px;
	width:auto;
	height:56px;
}
.corp-header__cta a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:auto;
	height:56px;
	padding:0 14px;
	background:linear-gradient(90deg,var(--color-corp-accent),var(--color-corp-accent-bright));
	color:#fff;
	font-size:13px;
	line-height:1.3;
	text-align:center;
	text-decoration:none;
	white-space:nowrap;
	border-radius:4px;
	box-sizing:border-box;
}
#menuBtn{
	display:block;
	position:absolute;
	right:16px;
	top:16px;
	width:56px;
	height:56px;
	box-sizing:border-box;
	border-radius:4px;
	background:var(--color-corp-text);
}
#menuBtn span{
	position:absolute;
	left:16px;
	top:27px;
	width:24px;
	height:2px;
	background:#fff;
}
#menuBtn span:before,
#menuBtn span:after{
	content:"";
	position:absolute;
	left:0;
	width:24px;
	height:2px;
	background:#fff;
}
#menuBtn span:before{
	top:-8px;
	transition:.2s ease-in-out;
}
#menuBtn span:after{
	top:8px;
	transition:.2s ease-in-out;
}
#menuBtn.open span{
	background:transparent;
}
#menuBtn.open span:before{
	top:0;
	transform:rotate(45deg);
}
#menuBtn.open span:after{
	top:0;
	transform:rotate(-45deg);
}
#navi{
	/* common.jsのリサイズ監視処理が「#naviはPC幅ならdisplay:block」という
	   個人向けサイト用の仕様でinlineスタイルを強制するため、ブラウザをリサイズしただけで
	   このSPドロップダウンメニューが意図せず開いた状態になってしまう不具合があった。
	   !importantで「opennaviクラスが付いている時だけ開く」を明示し、resizeイベントの
	   inline display:block指定より優先されるようにする。
	   top/heightは固定値を持たせず、common.jsのsyncNaviOffset()がヘッダーの実測高さ分
	   padding-topを付与する仕組みをそのまま利用する（ヘッダー高さ変更時の二重オフセットを避けるため）。 */
	display:none !important;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow-y:auto;
	background:#fff;
	z-index:999;
	box-sizing:border-box;
}
#navi.opennavi{
	display:block !important;
}
#shadows{
	display:none;
	position:fixed;
	top:88px;
	left:0;
	width:100%;
	height:calc(100% - 88px);
	background:rgba(0,0,0,.4);
	z-index:998;
}

/* SPメニュー内：上部CTA（無料相談・お見積り／お申し込み／資料ダウンロード）
------------------------------------------------------------ */
.corp-navi__cta{
	display:flex;
	gap:8px;
	padding:16px;
	box-sizing:border-box;
}
.corp-navi__cta-item{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:1;
	height:64px;
	padding:0 4px;
	box-sizing:border-box;
	border-radius:10px;
	color:#fff;
	font-size:13px;
	line-height:1.4;
	text-align:center;
	text-decoration:none;
}
.corp-navi__cta-item--consult{
	background:linear-gradient(90deg,var(--color-corp-accent),var(--color-corp-accent-bright));
}
.corp-navi__cta-item--apply,
.corp-navi__cta-item--dl{
	background:var(--color-corp-primary);
}

/* SPメニュー内：メインメニュー（ホーム／プラン一覧／導入事例／よくあるご質問）
------------------------------------------------------------ */
.corp-navi__list{
	list-style:none;
	margin:0;
	padding:0;
}
.corp-navi__list > li{
	border-bottom:1px solid #eee;
}
.corp-navi__list > li > a{
	position:relative;
	display:block;
	padding:18px 40px 18px 20px;
	color:var(--color-corp-primary);
	font-size:16px;
	text-decoration:none;
	box-sizing:border-box;
}
.corp-navi__list-arrow{
	/* トグルの＋／−アイコン（中心位置=right:6px+44px/2=28px）と縦横のバランスが
	   揃うよう、幅・位置を合わせている（中心位置=right:22px+12px/2=28px） */
	display:block;
	position:absolute;
	right:22px;
	top:50%;
	width:12px;
	height:12px;
	border-top:2px solid var(--color-corp-primary);
	border-right:2px solid var(--color-corp-primary);
	transform:translateY(-50%) rotate(45deg);
}
.corp-navi__accordion-head{
	position:relative;
}
.corp-navi__accordion-head a,
.corp-navi__accordion-label{
	display:block;
	padding:18px 40px 18px 20px;
	color:var(--color-corp-primary);
	font-size:16px;
	text-decoration:none;
	box-sizing:border-box;
}
/* フッターのサービス／ご利用サポート／企業情報／パートナー向けは、リンク遷移を持たせない
   仕様のため<a>を使わず、見出し行（.corp-navi__accordion-head）自体をタップ領域として
   アコーディオンの開閉トリガーにしている（ヘッダーSPメニューのプラン一覧のように
   <a>とトグルアイコンを分けて共存させるパターンとは異なる） */
.corp-navi__accordion-head.js-corp-navi-accordion-toggle{
	cursor:pointer;
}
.corp-navi__accordion-toggle{
	/* 見た目の＋サイズ（16px）はそのままに、タップ反応エリアだけ44x44pxへ拡張。
	   反応エリアの中心が従来の＋アイコン中心（right:20px + 8px = 28px位置）と
	   ずれないよう、rightをその分（28 - 22 = 6px）に調整している */
	display:block;
	position:absolute;
	right:6px;
	top:50%;
	width:44px;
	height:44px;
	transform:translateY(-50%);
	cursor:pointer;
}
.corp-navi__accordion-toggle:before,
.corp-navi__accordion-toggle:after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	background:var(--color-corp-primary);
	transition:.2s ease-in-out;
}
.corp-navi__accordion-toggle:before{
	width:16px;
	height:2px;
	transform:translate(-50%,-50%);
}
.corp-navi__accordion-toggle:after{
	width:2px;
	height:16px;
	transform:translate(-50%,-50%);
}
/* is-openは、ヘッダーSPメニュー（プラン一覧）ではトグルアイコン自身に付与されるが、
   フッターの4項目では見出し行全体（.corp-navi__accordion-head）に付与されるため、
   両方のパターンに対応できるよう2つのセレクタを併記している */
.corp-navi__accordion-toggle.is-open:after,
.corp-navi__accordion-head.is-open .corp-navi__accordion-toggle:after{
	transform:translate(-50%,-50%) rotate(90deg);
	opacity:0;
}
.corp-navi__submenu{
	display:none;
	list-style:none;
	margin:0;
	padding:0 0 12px;
	background:var(--color-corp-bg-card);
}
.corp-navi__submenu li{
	border-top:1px solid #fff;
}
.corp-navi__submenu a{
	/* アコーディオン内メニューの文字色は現状どおり黒系のまま（アコーディオン外の
	   項目のみ青系に変更する仕様のため、ここは.corp-navi__list-arrow表示用の
	   position:relativeと矢印分の右余白だけ追加している） */
	position:relative;
	display:block;
	padding:14px 40px 14px 34px;
	color:var(--color-corp-text);
	font-size:14px;
	text-decoration:none;
}

/* SPメニュー内：サブメニュー（個人のお客さまサイトへ／高圧・特別高圧／…／サイトマップ）
------------------------------------------------------------ */
.corp-navi__sublist{
	list-style:none;
	margin:16px 0 0;
	padding:0 16px;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.corp-navi__sublist a{
	position:relative;
	display:block;
	padding:16px 40px 16px 20px;
	background:var(--color-corp-bg);
	border-radius:10px;
	color:var(--color-corp-primary);
	font-size:15px;
	text-decoration:none;
	box-sizing:border-box;
}
.corp-navi__sublist .corp-navi__list-arrow{
	right:22px;
}

/* SPメニュー内：閉じるボタン（通常フローの最後尾に配置した上で、初期状態はopacity:0で
   非表示にしておき、common/js/corp/corp.jsの#naviスクロール監視処理が「実際に最下部まで
   スクロールされた」ことを検知した時だけ.is-visibleを付与して表示する。
   コンテンツがそもそも#naviの高さに収まりスクロールが発生しない場合は、メニューを開いた
   直後の判定で「最下部まで見えている」とみなしすぐに表示する） */
.corp-navi__close{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin:24px 0 0;
	padding:20px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:15px;
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transition:opacity .2s ease-in-out;
}
.corp-navi__close.is-visible{
	opacity:1;
	pointer-events:auto;
}
.corp-navi__close-icon{
	position:relative;
	display:block;
	width:16px;
	height:16px;
}
.corp-navi__close-icon:before,
.corp-navi__close-icon:after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:18px;
	height:2px;
	background:#fff;
}
.corp-navi__close-icon:before{
	transform:translate(-50%,-50%) rotate(45deg);
}
.corp-navi__close-icon:after{
	transform:translate(-50%,-50%) rotate(-45deg);
}

/* FV
------------------------------------------------------------ */
.corp-fv{
	position:relative;
	overflow:hidden;
	padding:100px 0 100px;
	height: auto;
	min-height: inherit;
	background:linear-gradient(180deg,#ffffff 0%,#e7ecf3 100%);
}
.corp-fv__inner{
	position:relative;
	width:100%;
	margin:0;
}
.corp-fv__badge6300{
	position:absolute;
	top:0;
	right:16px;
	width:90px;
	height:auto;
	z-index:5;
}
.corp-fv__badge6300 img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__catch{
	position:relative;
	width:100%;
	padding:32px 24px 0;
	box-sizing:border-box;
	z-index:2;
	margin-top: -80px;
}
.corp-fv__tag{
	display:block;
	margin:0;
	width:145px;
}
.corp-fv__tag img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__ttl{
	margin:12px 0 0;
	color:var(--color-corp-primary);
	font-size:28px;
	line-height:1.3;
}
.corp-fv__lead{
	margin:12px 0 0;
	color:var(--color-corp-text);
	font-size:14px;
	line-height:1.6;
}
.corp-fv__gallery{
	position:relative;
	width:100%;
	height:326px;
	margin:0;
	overflow:hidden;
}
.corp-fv__gallery-layer{
	position:absolute;
	left:0;
	top:50%;
	width: 100%;
	transform:translateY(-50%);
	overflow:hidden;
}
.corp-fv__gallery-layer--back{
	height:320px;
	z-index:1;
}
.corp-fv__gallery-layer--front{
	height:326px;
	z-index:2;
}
.corp-fv__gallery-track{
	display:flex;
	flex-direction:row;
	height:100%;
	animation:corpFvLoopX 45s linear infinite;
}
.corp-fv__gallery-layer--front .corp-fv__gallery-track{
	animation-duration:35s;
}
.corp-fv__gallery-track img{
	display:block;
	width:auto;
	height:100%;
	max-width:none;
	flex:none;
}
@keyframes corpFvLoopX{
	0%{transform:translateX(0);}
	100%{transform:translateX(-50%);}
}
@media (prefers-reduced-motion:reduce){
	.corp-fv__gallery-track{
		animation:none;
	}
}
.corp-fv__stats{
	display:flex;
	gap:8px;
	margin:18px 24px 0;
}
.corp-fv__stat{
	width:32%;
}
.corp-fv__stat img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__cta{
	position:relative;
	width:92%;
	margin:-80px auto 20px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	gap:12px;
	padding:16px;
	background:#fff;
	box-shadow:0 4px 10px rgba(0,0,0,.1);
	border-radius:16px;
}
.corp-fv__cta a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	flex:none;
	height:56px;
	padding:0 34px 0 56px;
	box-sizing:border-box;
	border-radius:8px;
	color:#fff;
	font-size:15px;
	text-decoration:none;
}
.corp-fv__cta-icon{
	display:block;
	position:absolute;
	left:14px;
	top:50%;
	transform:translateY(-50%);
	width:auto;
	height:32px;
}
.corp-fv__cta-arrow{
	display:block;
	position:absolute;
	right:10px;
	top:50%;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-fv__cta-row{
	display:flex;
	gap:12px;
}
.corp-fv__cta-row a{
	flex:1;
	min-width:0;
	padding:0 18px 0 34px;
	font-size:12px;
}
.corp-fv__cta-row .corp-fv__cta-icon{
	left:10px;
	height:22px;
}

/* バナー
------------------------------------------------------------ */
.corp-banner{
	--slide-gap:6px;
	padding:30px 0;
}
.corp-banner__slide img{
	border-radius:8px;
}
.corp-banner .slick-dots{
	gap:8px;
	margin:16px 0 0;
}
.corp-banner .slick-dots li{
	width:12px;
	height:12px;
}
.corp-banner .slick-dots button{
	width:12px;
	height:12px;
}
.corp-banner__arrow{
	width:36px;
	height:36px;
	margin-top:-30px;
}
.corp-banner__arrow:before{
	width:10px;
	height:10px;
}
.corp-banner__arrow--prev{
	left:4%;
}
.corp-banner__arrow--next{
	right:4%;
}

/* 選ばれているイデックスでんき
------------------------------------------------------------ */
.corp-trust{
	padding:50px 0;
	background:var(--color-bg-grayish);
}
.corp-trust__ttl{
	margin:0 0 30px;
	text-align:center;
}
.corp-trust__ttl-sub{
	display:block;
	color:var(--color-corp-text);
	font-size:17px;
	line-height:1.6;
}
.corp-trust__ttl-main{
	display:block;
	margin:2px 0 0;
	color:var(--color-corp-primary);
	font-size:26px;
	line-height:1.4;
}
.corp-trust__ttl-en{
	display:block;
	margin:6px 0 0;
	color:var(--color-corp-primary);
	font-size:12px;
	letter-spacing:.1em;
}
.corp-trust__list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-trust__item{
	width:100%;
	box-sizing:border-box;
	padding:20px 16px 20px;
	background:#fff;
	border-radius:16px;
	box-shadow:0 3px 12px rgba(0,0,0,.08);
	text-align:center;
}
.corp-trust__item img{
	display:block;
	margin:0 auto;
	width:76px;
	height:auto;
}
.corp-trust__item-num{
	margin:12px 0 0;
	color:var(--color-corp-primary);
	font-size:15px;
	line-height:1.4;
}
.corp-trust__item-text{
	margin:8px 0 0;
	color:var(--color-corp-text);
	font-size:12px;
	line-height:1.6;
	text-align:left;
}
.corp-trust__note{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:11px;
	text-align:center;
}

/* 選ばれる理由
------------------------------------------------------------ */
.corp-why{
	position:relative;
	overflow:hidden;
	padding:50px 0;
	background:linear-gradient(160deg,var(--color-corp-primary) 0%,#0071b9 100%);
}
.corp-why__bg-text{
	display:none;
}
.corp-why__ttl{
	position:relative;
	margin:0 0 30px;
	color:#fff;
	font-size:24px;
	line-height:1.4;
	text-align:center;
}
.corp-why__ttl-en{
	display:block;
	margin:10px 0 0;
	color:#fff;
	font-size:12px;
	letter-spacing:.1em;
}
.corp-why__ttl-accent{
	color:var(--color-yellow);
}
.corp-why__ttl-accent-sp{
	color:var(--color-yellow);
}
.corp-why__list{
	position:relative;
}
.corp-why__item{
	background:#fff;
	border-radius:12px;
	box-shadow:0 4px 10px rgba(0,0,0,.2);
	box-sizing:border-box;
}
.corp-why__item01{
	padding:0;
	margin:0 0 16px;
	overflow:hidden;
}
.corp-why__item01-inner{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:24px;
}
.corp-why__item01-text{
	width:100%;
	box-sizing:border-box;
	padding:24px 20px 0;
}
.corp-why__item01-chart{
	width:100%;
	box-sizing:border-box;
	padding:24px 20px;
	background:var(--color-corp-bg-card);
	text-align:center;
}
.corp-why__item01-chart img{
	display:block;
	width:100%;
	height:auto;
	margin:14px 0 0;
}
.corp-why__badge{
	display:inline-block;
	padding:6px 16px;
	background:var(--color-corp-text);
	color:#fff;
	font-size:13px;
	line-height:1;
	border-radius:20px;
}
.corp-why__item01-catch{
	margin:12px 0 0;
	color:var(--color-corp-primary);
	font-size:20px;
	line-height:1.4;
}
.corp-why__item01-desc{
	margin:12px 0 0;
	font-size:14px;
	line-height:1.8;
}
.corp-why__item01-chart-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:15px;
}
.corp-why__item01-chart-sub{
	margin:6px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
}
.corp-why__item01-note{
	margin:12px 0 0;
	font-size:11px;
	line-height:1.5;
}
.corp-why__grid{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.corp-why__cell{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	padding:24px 20px;
}
.corp-why__num{
	display:inline-block;
	padding:6px 16px;
	background:var(--color-corp-text);
	color:#fff;
	font-size:13px;
	line-height:1;
	border-radius:20px;
}
.corp-why__cell-catch{
	margin:12px 0 0;
	color:var(--color-corp-primary);
	font-size:19px;
	line-height:1.5;
}
.corp-why__cell-desc{
	width:100%;
	margin:12px 0 0;
	font-size:14px;
	line-height:1.8;
}
.corp-why__cell-icon{
	position:static;
	order:-1;
	align-self:center;
	height:auto;
	margin:0 0 20px;
}
.corp-why__cell-icon[src*="icon_point02"]{
	width:95px;
}
.corp-why__cell-icon[src*="icon_point03"]{
	width:88px;
}
.corp-why__cell-icon[src*="icon_point04"]{
	width:92px;
}
.corp-why__cell-icon[src*="icon_point05"]{
	width:130px;
}
.corp-why__cell-yen{
	position:absolute;
	right:20px;
	bottom:24px;
	color:var(--color-corp-accent);
	font-size:48px;
	line-height:1;
}
.corp-why__cell-check{
	width:100%;
	box-sizing:border-box;
	margin:14px 0 0;
	list-style:none;
	padding:0;
}
.corp-why__cell-check li{
	position:relative;
	padding:0 0 0 30px;
	margin:0 0 8px;
	font-size:14px;
	line-height:1.4;
}
.corp-why__cell-check li img{
	position:absolute;
	left:0;
	top:1px;
	width:22px;
}

/* 料金・プラン一覧
------------------------------------------------------------ */
.corp-plan{
	padding:50px 0 50px;
	background:#fff;
}
.corp-plan__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:24px;
	line-height:1.4;
	text-align:center;
}
.corp-plan__ttl-en{
	display:block;
	margin:6px 0 0;
	color:var(--color-corp-primary);
	font-size:12px;
	letter-spacing:.1em;
}
.corp-plan__lead{
	margin:10px 0 0;
	color:var(--color-corp-text);
	font-size:13px;
	text-align:center;
}
.corp-plan__list{
	display:flex;
	flex-direction:column;
	gap:40px;
	margin:40px 0 0;
}
.corp-plan__card{
	position:relative;
	width:100%;
	box-sizing:border-box;
	border:1px solid #ddd;
	border-radius:12px;
}
.corp-plan__card-photo{
	position:relative;
	height:160px;
	border-radius:12px 12px 0 0;
	overflow:hidden;
}
.corp-plan__card-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.corp-plan__card-badge{
	position:absolute;
	left:8px;
	right:8px;
	top:-24px;
	height:48px;
	margin:0;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:10px;
	color:#fff;
	font-size:18px;
	text-align:center;
	box-shadow:0 4px 10px rgba(0,0,0,.12);
}
.corp-plan__card--market .corp-plan__card-badge{
	background:linear-gradient(90deg,var(--color-corp-accent) 0%,var(--color-corp-accent-bright) 100%);
}
.corp-plan__card--standard .corp-plan__card-badge{
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
}
.corp-plan__card-body{
	padding:20px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 12px 12px;
}
.corp-plan__card-recommend{
	margin:0 0 10px;
	font-size:16px;
	text-align:center;
}
.corp-plan__card--market .corp-plan__card-recommend{
	color:var(--color-corp-accent);
}
.corp-plan__card--standard .corp-plan__card-recommend{
	color:var(--color-corp-primary);
}
.corp-plan__card-checkbox{
	margin:14px 0 0;
	padding:16px 14px;
	background:#fff;
	border-radius:12px;
}
.corp-plan__card-check{
	list-style:none;
	padding:0;
	margin:0;
}
.corp-plan__card-check li{
	position:relative;
	padding:5px 0 5px 30px;
	font-size:15px;
	line-height:1.5;
}
.corp-plan__card-check li img{
	position:absolute;
	left:0;
	top:10px;
	width:22px;
}
.corp-plan__card-target{
	margin:20px 0 0;
	font-size:13px;
	text-align:center;
}
.corp-plan__card-links{
	margin:0;
}
.corp-plan__card-links-btn{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	min-height:50px;
	margin:8px 0 0;
	padding:12px 20px;
	color:#fff;
	font-size:14px;

	line-height:1.3;
	text-decoration:none;
	border-radius:40px;
	box-sizing:border-box;
	text-align: center;
}
.corp-plan__card-links-btn>span:first-child{
	flex:1;
	text-align:center;
}
.corp-plan__card--market .corp-plan__card-links-btn{
	background:var(--color-corp-accent);
}
.corp-plan__card--standard .corp-plan__card-links-btn{
	background:var(--color-corp-primary);
}
.corp-plan__card-links-arrow{
	display:block;
	flex:none;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:rotate(45deg);
	margin: 0;
}
.corp-plan__eco{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:30px 0 0;
}
.corp-plan__eco-catch{
	font-size:15px;
	text-align:center;
}
.corp-plan__eco a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:90%;
	height:64px;
	padding:0 44px;
	background:var(--color-corp-primary);
	border:2px solid #fff;
	color:#fff;
	font-size:15px;
	text-decoration:none;
	border-radius:999px;
	box-shadow:0 6px 15px rgba(0,0,0,.15);
	box-sizing:border-box;
}
.corp-plan__eco-arrow{
	position:absolute;
	right:20px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-plan__note{
	margin:24px 0 0;
	font-size:11px;
	text-align:center;
}

/* 料金・プラン一覧ページ（/corp/plan/）専用パーツ
------------------------------------------------------------ */
.corp-plan__card-usage{
	margin:20px 0 0;
	text-align:center;
}
.corp-plan__card-usage-ttl{
	display:block;
	color:var(--color-corp-text);
	font-size:18px;
	
	line-height:1.3;
}
.corp-plan__card-usage-sub{
	display:block;
	margin:4px 0 0;
	color:var(--color-corp-text);
	font-size:12px;
	
	line-height:1.4;
}

.corp-page-title{
	padding:120px 0 44px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-page-title__ttl{
	margin:0;
	color:#fff;
	font-size:26px;
	
	line-height:1.4;
}
.corp-page-title__ttl-en{
	display:block;
	margin:8px 0 0;
	color:#fff;
	font-size:13px;
	
	letter-spacing:.05em;
}

.corp-breadcrumb{
	background:var(--color-corp-bg-card);
	padding:12px 0;
}
.corp-breadcrumb__inner{
	font-size:12px;
	
	color:var(--color-corp-primary);
}
.corp-breadcrumb__inner a{
	color:var(--color-corp-primary);
	text-decoration:none;
}

/* ▼ プラン比較表 */
.corp-plantable-section{
	padding:50px 0;
}
.corp-plantable-section__tag{
	margin:0;
	color:var(--color-corp-text);
	font-size:16px;
	
	text-align:center;
}
.corp-plantable-section__ttl{
	margin:12px 0 0;
	padding:16px 0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:20px;
	
	letter-spacing:.05em;
	text-align:center;
}
.corp-plantable-wrapp{
	overflow: auto;
}
.corp-plantable{
	width: 800px;
	max-width: inherit;
	margin: 15px 0 0;
}
.corp-plantable col.situation{width:31%;}
.corp-plantable col.current{width:27%;}
.corp-plantable col.result{width:32%;}
.corp-plantable thead th{
	padding:20px 10px;
	font-size:16px;
	line-height: 1.3;
}
.corp-plantable thead th:last-child{
	color:var(--color-corp-accent);
}
.corp-plantable tbody td{
	box-sizing:border-box;
	padding:20px 10px;
	border:1px solid #ebebeb;
	vertical-align:middle;
}
.corp-plantable__situation{
	padding:30px 10px;
	color:#fff;
}
.corp-plantable__situation--sun{
	background:var(--color-corp-accent);
}
.corp-plantable__situation--moon{
	background:var(--color-corp-primary);
}
.corp-plantable__bubble{
	margin:0 0 20px;
	padding:16px 20px;
	font-size:14px;
}
.corp-plantable__bubble-accent{
	font-size:18px;
}

.corp-plantable__situation-icon{
	display:block;
	width:46px;
	height:auto;
}
.corp-plantable__situation-label{
	font-size:18px;
}
.corp-plantable__situation-note{
	margin:12px 0 0;
	font-size:12px;
}
.corp-plantable__result a{
	gap:10px;
	font-size:18px;
}

.corp-planguide{
	margin:24px 0 0;
	display:flex;
	flex-direction:column;
	gap:14px;
}
.corp-planguide__group{
	padding:20px 14px;
	border-radius:12px;
	color:#fff;
	box-sizing:border-box;
}
.corp-planguide__group--orange{
	background:var(--color-corp-accent);
}
.corp-planguide__group--blue{
	background:var(--color-corp-primary);
}
.corp-planguide__bubble{
	margin:0 0 14px;
	padding:10px 14px;
	background:#fff;
	color:var(--color-corp-text);
	font-size:12px;
	
	line-height:1.5;
	text-align:center;
	border-radius:16px;
}
.corp-planguide__bubble-accent{
	display:block;
	color:var(--color-corp-accent);
	font-size:14px;
}
.corp-planguide__head{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin:0;
}
.corp-planguide__icon{
	display:block;
	width:32px;
	height:auto;
}
.corp-planguide__label{
	font-size:15px;
	
	line-height:1.4;
}
.corp-planguide__note{
	margin:8px 0 0;
	font-size:10px;
	font-weight:500;
	text-align:center;
}
.corp-planguide__item{
	margin:14px 0 0;
	padding:14px 0 0;
	border-top:1px solid rgba(255,255,255,.4);
}
.corp-planguide__item-current{
	margin:0;
	color:#fff;
	font-size:12px;
	
	line-height:1.6;
}
.corp-planguide__item-current-tag{
	display:block;
	font-size:10px;
	font-weight:500;
	opacity:.85;
}
.corp-planguide__item-result{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin:8px 0 0;
	padding:12px 16px;
	background:#fff;
	border-radius:8px;
	text-decoration:none;
	color:var(--color-corp-text);
	font-size:15px;
	
	box-sizing:border-box;
}
.corp-planguide__item-result-label{
	text-align:left;
}
.corp-planguide__arrow{
	display:block;
	flex:none;
	width:7px;
	height:7px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:rotate(45deg);
}
.corp-planguide__group--orange .corp-planguide__arrow{
	color:var(--color-corp-accent);
}
.corp-planguide__group--blue .corp-planguide__arrow{
	color:var(--color-corp-primary);
}

/* マーケットプランC 詳細ページ（/corp/plan/market-c/）専用パーツ
------------------------------------------------------------ */
.corp-marketc-fv{
	padding:120px 0 0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-marketc-fv__inner{
	padding:0 0 40px;
	text-align: center;
}
.corp-marketc-fv__ttl{
	margin:0;
	color:#fff;
	font-size:19px;
	
	line-height:1.5;
}
.corp-marketc-fv__ttl-em{
	display:block;
	margin:4px 0 0;
	font-size:25px;
}
.corp-marketc-fv__ttl-en{
	display:block;
	margin:10px 0 0;
	color:#fff;
	font-size:12px;
	
	letter-spacing:.05em;
}
.corp-marketc-fv__photo{
	display:block;
	width:100%;
	height:auto;
}
.corp-marketc-catch{
	padding:24px 0;
	background:var(--color-corp-bg-card);
	text-align:center;
}
.corp-marketc-catch__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:14px;
	
}
.corp-marketc-catch__ttl{
	margin:8px 0 0;
	color:var(--color-corp-text);
	font-size:20px;
	
	line-height:1.5;
}
.corp-marketc-catch__accent{
	color:var(--color-corp-accent);
}

.corp-marketc-badge-wrap{
	text-align:center;
}
.corp-marketc-badge-wrap__bottom{
	margin-bottom: -40px;
}
.corp-marketc-badge{
	display:inline-block;
	margin:0 auto;
	padding:0 22px;
	height:50px;
	background:var(--color-corp-accent);
	color:#fff;
	font-size:16px;
	
	line-height:50px;
	letter-spacing:.05em;
	border-radius:999px;
	box-sizing:border-box;
}

.corp-marketc-recommend{
	padding:30px 0 0;
}
.corp-marketc-recommend__box{
	margin:16px 0 0;
	padding:40px 20px 20px 20px;
	background:var(--color-corp-bg-card);
	border-radius:12px;
	box-sizing:border-box;
}
.corp-marketc-recommend__body{
	display:flex;
	flex-direction:column;
	gap:20px;
}
.corp-marketc-recommend__photo img{
	display:block;
	width:100%;
	height:auto;
}
.corp-marketc-check{
	margin:0;
	padding:0;
	list-style:none;
}
.corp-marketc-check li{
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--color-corp-text);
	font-size:15px;
	
}
.corp-marketc-check li+li{
	margin:12px 0 0;
}
.corp-marketc-check img{
	display:block;
	flex:none;
	width:18px;
	height:13px;
}

.corp-marketc-rendou{
	padding:50px 0 0;
}
.corp-marketc-rendou__body{
	display:flex;
	flex-direction:column;
	gap:20px;
	margin:16px 0 0;
}
.corp-marketc-rendou__photo img{
	display:block;
	width:60%;
	aspect-ratio:1/1;
	height:auto;
	border-radius:12px;
	object-fit:cover;
	margin: 0 auto;
}
.corp-marketc-rendou__text-wrap .corp-marketc-badge-wrap{
	text-align: center;
}
.corp-marketc-rendou__text{
	margin:15px 0 0;
	color:var(--color-corp-text);
	font-size:14px;
	
	line-height:1.9;
}
.corp-marketc-rendou__text-em{
	display:block;
	margin:4px 0;
	font-size:20px;
	line-height:1.5;
}
.corp-marketc-rendou__text-em .corp-marketc-catch__accent{
	font-size:20px;
}

.corp-marketc-merit{
	padding:50px 0 0;
}
.corp-marketc-merit__box1{
	display:flex;
	flex-direction:column;
	gap:20px;
	margin:16px 0 0;
	padding:40px 20px 20px;
	background:var(--color-corp-bg-card);
	border-radius:12px 12px 0 0;
	box-sizing:border-box;
}
.corp-marketc-merit__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:16px;
	line-height:1.6;
}
.corp-marketc-merit__ttl{
	margin:15px 0 0;
	color:var(--color-corp-text);
	font-size:24px;
	line-height:1.4;
}
.corp-marketc-merit__ttl .corp-marketc-catch__accent{
	font-size:28px;
}
.corp-marketc-merit__illust img{
	display:block;
	width:100%;
	max-width:320px;
	height:auto;
	margin:0 auto;
}
.corp-marketc-merit__arrow{
	display:block;
	width:0;
	height:0;
	margin:0 auto;
	border-style:solid;
	border-width:18px 40px 0 40px;
	border-color:var(--color-corp-accent) transparent transparent transparent;
}
.corp-marketc-merit__box2{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:14px;
	padding:26px 20px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 12px 12px;
	box-sizing:border-box;
	text-align:center;
}
.corp-marketc-merit__box2 img{
	display:block;
	width:110px;
	height:auto;
}
.corp-marketc-merit__box2-text{
	color:var(--color-corp-text);
	font-size:17px;
	line-height:1.6;
}
.corp-marketc-merit__box2-ttl{
	display:block;
	margin:4px 0 0;
	font-size:21px;
}
.corp-marketc-merit__box2-ttl .corp-marketc-catch__accent{
	font-size:21px;
}

.corp-marketc-hikaku{
	padding:50px 0 0;
}
.corp-marketc-hikaku__bar{
	margin:16px 0 0;
	padding:18px 10px;
	background:linear-gradient(90deg,var(--color-corp-accent) 0%,var(--color-corp-accent-bright) 100%);
	color:#fff;
	font-size:17px;
	
	letter-spacing:.05em;
	text-align:center;
	border-radius:12px 12px 0 0;
}
.corp-marketc-hikaku__bar-accent{
	color:var(--color-corp-yellow);
}
.corp-marketc-hikaku__body{
	padding:26px 16px 30px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 12px 12px;
	box-sizing:border-box;
}
.corp-marketc-hikaku__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:18px;
	
	text-align:center;
	line-height:1.6;
}
.corp-marketc-hikaku__graph{
	display:block;
	width:100%;
	height:auto;
	margin:20px 0 0;
}
.corp-marketc-hikaku__compare{
	display:block;
	gap:16px;
	margin:16px 0 0;
	padding:10px 20px;
	background:#fff;
	border-radius:12px;
	box-sizing:border-box;
	text-align: left;
}
.corp-marketc-hikaku__compare-item{
	display:flex;
	align-items:center;
	gap:12px;
	margin: 10px 0;
}
.corp-marketc-hikaku__compare-item img{
	display:block;
	flex:none;
	width:44px;
	height:44px;
}
.corp-marketc-hikaku__compare-ttl{
	margin:0;
	color:var(--color-corp-text);
	font-size:16px;
	
}
.corp-marketc-hikaku__compare-sub{
	margin:2px 0 0;
	color:var(--color-corp-text);
	font-size:12px;
	font-weight:500;
}
.corp-marketc-hikaku__compare-sub strong{
	font-size:18px;
	
}
.corp-marketc-hikaku__note{
	margin:14px 0 0;
	color:var(--color-corp-text);
	font-size:11px;
	font-weight:500;
	text-align:center;
}

.corp-marketc-ryokin{
	padding:50px 0 0;
}
.corp-marketc-ryokin__bar{
	margin:16px 0 10px;
	padding:16px 10px;
	background:linear-gradient(90deg,var(--color-corp-accent) 0%,var(--color-corp-accent-bright) 100%);
	color:#fff;
	font-size:17px;
	
	letter-spacing:.05em;
	text-align:center;
}
.corp-marketc-ryokin__img{
	display:block;
	width:100%;
	height:auto;
}
.corp-marketc-ryokin__btn-wrap{
	margin:24px 0 0;
	text-align:center;
}
.corp-marketc-ryokin__btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:90%;
	margin-left: auto;
	margin-right: auto;
	height:54px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:14px;
	
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-marketc-ryokin__btn-arrow{
	position:absolute;
	right:20px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* 法人_オフィスプラン 詳細ページ（/plan/office/）専用パーツ
------------------------------------------------------------ */
.corp-office-fv{
	padding:120px 0 0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-office-fv__inner{
	padding:0 0 40px;
	text-align:center;
}
.corp-office-fv__ttl{
	margin:0;
	color:#fff;
	font-size:19px;
	
	line-height:1.5;
}
.corp-office-fv__ttl-em{
	display:block;
	margin:4px 0 0;
	font-size:25px;
}
.corp-office-fv__ttl-en{
	display:block;
	margin:10px 0 0;
	color:#fff;
	font-size:12px;
	
	letter-spacing:.05em;
}
.corp-office-fv__photo{
	display:block;
	width:100%;
	height:auto;
}
.corp-office-catch{
	padding:24px 0;
	background:var(--color-corp-bg-card);
	text-align:center;
}
.corp-office-catch__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:14px;
	
}
.corp-office-catch__ttl{
	margin:8px 0 0;
	color:var(--color-corp-text);
	font-size:20px;
	
	line-height:1.5;
}
.corp-office-catch__accent{
	color:var(--color-corp-primary);
}

.corp-office-badge-wrap{
	text-align:center;
}
.corp-office-badge{
	display:inline-block;
	margin:0 auto;
	padding:0 22px;
	height:50px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:16px;
	
	line-height:50px;
	letter-spacing:.05em;
	border-radius:999px;
	box-sizing:border-box;
}

.corp-office-recommend{
	padding:50px 0 0;
}
.corp-office-recommend__box{
	margin:16px 0 0;
	padding:40px 20px 20px;
	background:var(--color-corp-bg-card);
	border-radius:12px;
	box-sizing:border-box;
}
.corp-office-check{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.corp-office-check li{
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--color-corp-text);
	font-size:15px;
	
}
.corp-office-check img{
	display:block;
	flex:none;
	width:18px;
	height:13px;
}
.corp-office-recommend__photo{
	margin:20px 0 0;
}
.corp-office-recommend__photo img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
}
.corp-office-recommend__sub-ttl{
	margin:24px 0 0;
	color:var(--color-corp-primary);
	font-size:17px;
	
	text-align:center;
}
.corp-office-recommend__sub-list{
	margin:10px 0 0;
	color:var(--color-corp-text);
	font-size:13px;
	
	text-align:center;
	line-height:1.8;
}
.corp-office-cta-box{
	margin:24px 0 0;
	padding:24px 20px;
	background:var(--color-office-cta-bg);
	border-radius:12px;
	box-sizing:border-box;
	text-align:center;
}
.corp-office-cta-box__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:14px;
	
	line-height:1.6;
}
.corp-office-cta-box__btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding: 20px 15px;
	margin:16px 0 0;
	background:var(--color-corp-accent);
	color:#fff;
	font-size:16px;
	
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
	line-height: 1;
}
.corp-office-cta-box__btn-arrow{
	position:absolute;
	right:22px;
	top:50%;
	display:block;
	width:9px;
	height:9px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

.corp-office-ryokin{
	padding:50px 0 0;
}
.corp-office-ryokin__bar{
	margin:16px 0 0;
	padding:16px 10px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	color:#fff;
	font-size:17px;
	
	letter-spacing:.05em;
	text-align:center;
}
.corp-office-ryokin__body{
	display:flex;
	flex-direction:column;
	gap:16px;
	margin:16px 0 0;
	padding:16px;
	background:#e6f8ff;
	border-radius:12px;
	box-sizing:border-box;
}
.corp-office-ryokin__chips{
	width:100%;
	box-sizing:border-box;
	padding: 0;
}
.corp-office-ryokin__chip-pair{
	position:relative;
	display:flex;
	align-items:stretch;
	gap:8px;
	background:#fff;
	border:2px solid var(--color-office-table-line);
	border-radius:10px;
	padding:12px 10px;
	box-sizing:border-box;
}
.corp-office-ryokin__chip-half{
	flex:1;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:12px 6px;
	background:var(--color-office-table-line);
	text-align:center;
	border-radius:8px;
	box-sizing:border-box;
}
.corp-office-ryokin__chip-ttl{
	margin:0;
	color:var(--color-corp-text);
	font-size:14px;
	
	line-height:1.3;
}
.corp-office-ryokin__chip-sub{
	margin:4px 0 0;
	color:#666;
	font-size:10px;
	font-weight:400;
	line-height:1.4;
}
.corp-office-ryokin__plus-inline{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	display:block;
	width:30px;
	height:30px;
	margin:0;
	background:var(--color-office-value);
	border:2px solid #fff;
	border-radius:50%;
	font-size:0;
	color:transparent;
	box-sizing:border-box;
	z-index:1;
}
.corp-office-ryokin__plus-inline::before,
.corp-office-ryokin__plus-inline::after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	background:#fff;
	transform:translate(-50%,-50%);
}
.corp-office-ryokin__plus-inline::before{
	width:12px;
	height:2px;
}
.corp-office-ryokin__plus-inline::after{
	width:2px;
	height:12px;
}
.corp-office-ryokin__plus{
	position:relative;
	display:block;
	width:32px;
	height:32px;
	margin:-8px auto;
	background:var(--color-office-value);
	border:2px solid #fff;
	border-radius:50%;
	font-size:0;
	color:transparent;
	box-sizing:border-box;
}
.corp-office-ryokin__plus::before,
.corp-office-ryokin__plus::after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	background:#fff;
	transform:translate(-50%,-50%);
}
.corp-office-ryokin__plus::before{
	width:12px;
	height:2px;
}
.corp-office-ryokin__plus::after{
	width:2px;
	height:12px;
}
.corp-office-ryokin__chip{
	background:#fff;
	border:2px solid var(--color-office-table-line);
	border-radius:10px;
	padding:10px 10px;
	text-align:center;
	box-sizing:border-box;
}
.corp-office-ryokin__chip .corp-office-ryokin__chip-ttl{
	margin:0 0 4px;
}
.corp-office-ryokin__table-wrap{
	width:100%;
	box-sizing:border-box;
	padding: 0;
}
.corp-office-ryokin__table{
	width:100%;
	border-collapse:collapse;
	background:#fff;
	table-layout:fixed;
	border-radius:10px;
	overflow:hidden;
}
.corp-office-ryokin__table th,
.corp-office-ryokin__table td{
	padding:8px 4px;
	border:1px solid var(--color-office-table-line);
	color:var(--color-corp-text);
	font-size:11px;
	
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
	word-break:break-all;
}
.corp-office-ryokin__table thead th{
	font-size:14px;
}
.corp-office-ryokin__table-note{
	display:block;
	color:#888;
	font-size:9px;
	font-weight:400;
}
.corp-office-ryokin__table .corp-office-ryokin__table-idex-head{
	color:var(--color-office-value);
}
.corp-office-ryokin__table .corp-office-ryokin__table-diff-head{
	color:var(--color-office-diff);
}
.corp-office-ryokin__table .corp-office-ryokin__table-idex{
	color:var(--color-office-value);
	font-size:16px;
}
.corp-office-ryokin__table .corp-office-ryokin__table-diff{
	color:var(--color-office-diff);
	font-size:11px;
}
.corp-office-ryokin__table-triangle{
	display:block;
	margin:0 auto 2px;
	width:0;
	height:0;
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	border-bottom:11px solid var(--color-office-diff);
}
.corp-office-ryokin__table .corp-office-ryokin__table-juryo{
	color:var(--color-corp-text);
	font-size:12px;
}
.corp-office-ryokin__table-juryo-note{
	display:block;
	margin:2px 0 0;
	font-size:9px;
	font-weight:400;
	color:#888;
}
.corp-office-ryokin__btn-wrap{
	margin:24px 0 0;
	text-align:center;
}
.corp-office-ryokin__btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:54px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:14px;
	
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-office-ryokin__btn-arrow{
	position:absolute;
	right:20px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* 導入事例
------------------------------------------------------------ */
.corp-case{
	padding:0 0 50px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	overflow: hidden;
}
.corp-case__photos{
	overflow:hidden;
}
.corp-case__photos img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.corp-case__ttl{
	margin:60px 0 0;
	color:#fff;
	font-size:24px;
	line-height:1.4;
	text-align:center;
}
.corp-case__ttl-en{
	display:block;
	margin:8px 0 0;
	color:#fff;
	font-size:12px;
	letter-spacing:.1em;
}
.corp-case__lead{
	margin:16px 0 0;
	color:#fff;
	font-size:14px;
	text-align:center;
}
.corp-case__list-wrap{
	position:relative;
	margin:40px -4.5% 0;
}
.corp-case__list{
	--slide-gap:10px;
	display:block;
	margin:0;
	visibility:hidden;
}
/* slick初期化後にJS側でvisibleにする（FOUC防止） */
.corp-case__list.slick-initialized{
	visibility:visible;
}
.corp-case__list .slick-track{
	display:flex;
	align-items:stretch;
}
.corp-case__list .slick-dots{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:20px 0 0;
	padding:0;
	list-style:none;
}
.corp-case__list .slick-dots li{
	width:12px;
	height:12px;
}
.corp-case__list .slick-dots button{
	width:12px;
	height:12px;
	padding:0;
	border:none;
	border-radius:50%;
	background:#d9d9d9;
	font-size:0;
	line-height:0;
	cursor:pointer;
}
.corp-case__list .slick-dots li.slick-active button{
	background:var(--color-corp-primary);
}
.corp-case__arrow{
	display:block;
	position:absolute;
	top:160px;
	transform:translateY(-50%);
	width:36px;
	height:36px;
	padding:0;
	border-radius:50%;
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,.15);
	border:none;
	cursor:pointer;
	z-index:2;
	border: solid var(--color-corp-primary) 1px;
}
.corp-case__arrow:before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:10px;
	height:10px;
	border-top:2px solid var(--color-corp-primary);
	border-right:2px solid var(--color-corp-primary);
	border-radius:2px;
}
.corp-case__arrow--prev{
	left:9%;
}
.corp-case__arrow--prev:before{
	transform:translate(-30%,-50%) rotate(-135deg);
}
.corp-case__arrow--next{
	right:9%;
}
.corp-case__arrow--next:before{
	transform:translate(-70%,-50%) rotate(45deg);
}
.corp-case__card{
	position:relative;
	width:100%;
	box-sizing:border-box;
	margin:0 var(--slide-gap);
	background:var(--color-corp-bg-card);
	border-radius:12px;
	box-shadow:0 4px 12px rgba(0,0,0,.15);
	overflow:hidden;
}
.corp-case__card-photo{
	position:relative;
	height:180px;
}
.corp-case__card-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.corp-case__card-rate{
	position:absolute;
	right:16px;
	bottom:-16px;
	width:80px;
	height:80px;
	box-sizing:border-box;
	border:2px solid #fff;
	border-radius:50%;
	background:var(--color-corp-primary);
	color:var(--color-corp-yellow);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	font-size:14px;
	line-height:1.3;
	text-align:center;
}
.corp-case__card-body{
	padding:0;
}
.corp-case__card-type{
	margin:0;
	padding:30px 16px 16px;
	background:#fff;
	font-size:14px;
	line-height:1.5;
}
.corp-case__card-result{
	margin:0;
	padding:20px 16px 24px;
	background:var(--color-corp-bg-card);
	font-size:14px;
	line-height:1.5;
}
.corp-case__card-result-num{
	color:var(--color-corp-accent);
	font-size:24px;
}
.corp-case__card-result-unit{
	color:var(--color-corp-accent);
	font-size:14px;
}
.corp-case__btn-wrap{
	text-align:center;
	margin:50px 0 0;
}
.corp-case__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:60px;
	padding:0 40px;
	background:var(--color-corp-primary);
	border:2px solid #fff;
	color:#fff;
	font-size:15px;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-case__btn-arrow{
	position:absolute;
	right:20px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}

/* 法人_導入事例 一覧ページ（/case/）専用パーツ
------------------------------------------------------------ */
.corp-case-page{
	padding:40px 0 50px;
}
.corp-case-page__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:14px;
	
	line-height:1.8;
	text-align:center;
}
.corp-case-page__grid{
	display:flex;
	flex-direction:column;
	gap:20px;
	margin:24px 0 0;
}
.corp-case-page__grid[hidden]{
	display:none;
}
.corp-case-page__grid--more{
	margin-top:20px;
}
.corp-case-page__grid .corp-case__card{
	width:100%;
	margin:0;
}
.corp-case__card-photo--placeholder{
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--color-corp-bg-card);
}
.corp-case__card-photo-note{
	margin:0;
	color:#999;
	font-size:12px;
	
}
.corp-case-page__btn-wrap{
	text-align:center;
	margin:40px 0 0;
}
.corp-case-page__btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:60px;
	padding:0 40px;
	background:var(--color-corp-primary);
	border:2px solid var(--color-corp-primary);
	color:#fff;
	font-family:inherit;
	font-size:15px;
	
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}
.corp-case-page__btn-arrow{
	position:absolute;
	right:20px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* ご利用開始までの流れ
------------------------------------------------------------ */
.corp-flow{
	padding:50px 0;
	background:var(--color-corp-bg-card);
}
.corp-flow__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:24px;
	line-height:1.4;
	text-align:center;
}
.corp-flow__ttl span{
	display:block;
	margin:6px 0 0;
	color:var(--color-corp-text);
	font-size:14px;
}
.corp-flow__ttl-en{
	display:block;
	margin:6px 0 0;
	color:var(--color-corp-primary);
	font-size:12px;
	letter-spacing:.1em;
}
.corp-flow__lead{
	margin:10px 0 0;
	color:var(--color-corp-text);
	font-size:13px;
	text-align:center;
}
.corp-flow__list{
	display:flex;
	flex-direction:column;
	gap:25px;
	margin:30px 0 0;
}
.corp-flow__item{
	position:relative;
	width:100%;
	box-sizing:border-box;
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	column-gap:20px;
	padding:24px 20px 20px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 3px 10px rgba(0,0,0,.1);
	text-align:left;
}
.corp-flow__item-step{
	position:absolute;
	top:-14px;
	left:50%;
	transform:translateX(-50%);
	box-sizing:border-box;
	padding:8px 20px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:14px;
	line-height:1;
	white-space:nowrap;
	border-radius:8px;
	box-shadow:0 4px 10px rgba(0,0,0,.12);
}
.corp-flow__item img{
	display:block;
	flex:none;
	width:auto;
	height:50px;
	margin:0;
}
.corp-flow__item-body{
	flex:1;
	min-width:0;
	line-height: 1.4;
}
.corp-flow__item-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:20px;
}
.corp-flow__item-text{
	width:100%;
	margin:5px 0 0;
	font-size:14px;
	line-height:1.5;
	text-align:left;
}

/* お知らせ
------------------------------------------------------------ */
.corp-news{
	padding:50px 0;
	background:#fff;
}
.corp-news__inner{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:20px;
}
.corp-news__head{
	width:100%;
	text-align:center;
}
.corp-news__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:24px;
	line-height:1.2;
}
.corp-news__ttl span{
	display:block;
	font-size:12px;
}
.corp-news__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:220px;
	height:56px;
	margin:30px 0 0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:13px;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-news__btn-arrow{
	position:absolute;
	right:18px;
	top:50%;
	display:block;
	width:7px;
	height:7px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-news__body{
	width:100%;
	line-height: 1.4;
}
.corp-news__important{
	display:block;
	padding:20px;
	background:var(--color-corp-bg-card);
	border-radius:8px;
}
.corp-news__important-label{
	display:inline-block;
	margin:0 0 10px;
	color:var(--color-corp-accent);
	font-size:15px;
}
.corp-news__important-rows{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.corp-news__important-row{
	display:flex;
	flex-direction:column;
	gap:2px;
	padding:0;
	margin:0;
}
.corp-news__date{
	flex:none;
	width:auto;
	color:var(--color-corp-text);
	font-size:12px;
}
.corp-news__important-row a{
	color:var(--color-corp-text);
	font-size:13px;
	text-decoration:none;
}
.corp-news__list{
	margin:12px 0 0;
	list-style:none;
	padding:0;
}
.corp-news__list li{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	padding:20px 0;
	border-bottom:1px solid #ddd;
}
.corp-news__list-meta{
	display:flex;
	align-items:center;
	gap:8px;
}
.corp-news__tag{
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	width:80px;
	height:22px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:12px;
	border-radius:999px;
}
.corp-news__list a{
	color:var(--color-corp-text);
	font-size:13px;
	text-decoration:none;
}
.corp-news__btn-wrap{
	margin:30px 0 0;
	text-align:center;
}

/* よくあるご質問（FAQ）
------------------------------------------------------------ */
.corp-faq{
	padding:50px 0;
	background:var(--color-corp-bg-card);
}
.corp-faq__inner{
	display:flex;
	flex-direction:column;
	gap:20px;
}
.corp-faq__head{
	width:100%;
	text-align:center;
}
.corp-faq__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:24px;
	line-height:1.2;
}
.corp-faq__ttl-en{
	display:block;
	margin:6px 0 0;
	color:var(--color-corp-primary);
	font-size:12px;
	letter-spacing:.1em;
}
.corp-faq__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:220px;
	height:56px;
	margin:0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:13px;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-faq__btn-arrow{
	position:absolute;
	right:18px;
	top:50%;
	display:block;
	width:7px;
	height:7px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-faq__body{
	width:100%;
}
.corp-faq__list{
	width:100%;
	margin:0;
	list-style:none;
	padding:0;
}
.corp-faq__btn-wrap{
	margin:30px 0 0;
	text-align:center;
}
.faq-item{
	margin:0 0 14px;
	background:#fff;
	border-radius:8px;
	box-shadow:0 3px 10px rgba(0,0,0,.1);
}
.faq-item:last-child{
	margin-bottom:0;
}
.faq-item__q{
	position:relative;
	display:flex;
	align-items:center;
	gap:14px;
	padding:16px 52px 16px 16px;
	margin:0;
	cursor:pointer;
	font-size:15px;
}
.faq-item__q .faq-item__mark{
	flex:none;
	display:block;
	width:20px;
	color:var(--color-corp-primary);
	font-size:26px;
}
.faq-item__toggle{
	position:absolute;
	right:16px;
	top:50%;
	width:26px;
	height:26px;
	box-sizing:border-box;
	background:var(--color-corp-secondary);
	border-radius:50%;
	transform:translateY(-50%);
}
.faq-item__toggle:before,
.faq-item__toggle:after{
	content:"";
	position:absolute;
	background:#fff;
}
.faq-item__toggle:before{
	left:12px;
	top:7px;
	width:2px;
	height:12px;
}
.faq-item__toggle:after{
	left:7px;
	top:12px;
	width:12px;
	height:2px;
}
.faq-item.is-open .faq-item__toggle:before{
	display:none;
}
.faq-item__a{
	display:none;
	padding:0 16px 18px 16px;
}
.faq-item__a-row{
	display:flex;
	align-items:flex-start;
	gap:14px;
}
.faq-item__a-row .faq-item__mark{
	flex:none;
	display:block;
	width:20px;
	color:var(--color-corp-accent);
	font-size:26px;
}
.faq-item__a-row p{
	margin:0;
	font-size:14px;
	line-height:1.6;
}

/* その他
------------------------------------------------------------ */
.corp-other{
	padding:50px 0;
	background:#fff url('../../images/corp/bg_other_deco.png') no-repeat center center/cover;
}
.corp-other__list{
	display:flex;
	flex-direction:column;
	gap:40px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-other__item{
	position:relative;
	width:100%;
	box-sizing:border-box;
	text-decoration:none;
	display:block;
}
.corp-other__item-photo{
	aspect-ratio:1/1;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 3px 10px rgba(0,0,0,.15);
	width: 80%;
	margin: 0 auto;
}
.corp-other__item-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}
.corp-other__item:hover .corp-other__item-photo img{
	transform:scale(1.1);
}
.corp-other__item-body{
	padding:20px 30px 0;
	background:transparent;
	text-align:center;
}
.corp-other__item-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:19px;
	text-align:center;
}
.corp-other__item-text{

	margin:16px 8% 0;
	color:var(--color-corp-text);
	font-size:14px;
	line-height:1.6;
	text-align:left;
}

/* フッターCTA
------------------------------------------------------------ */
.corp-footer-cta{
	padding:40px 0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-footer-cta__ttl{
	margin:0;
	color:#fff;
	font-size:20px;
}
.corp-footer-cta__ttl-mark{
	color:var(--color-corp-yellow);
}
.corp-footer-cta__lead{
	margin:10px 0 0;
	color:#fff;
	font-size:14px;
}
.corp-footer-cta__list{
	display:flex;
	flex-direction:column;
	width:100%;
	margin:30px 0 0;
	gap:15px;
	list-style:none;
	padding:0;
}
.corp-footer-cta__btn,
.corp-footer-cta__tel{
	display:flex;
	align-items:center;
	gap:10px;
	height:70px;
	box-sizing:border-box;
	padding:0 16px;
	border:2px solid #fff;
	border-radius:8px;
	background:#fff;
	color:var(--color-corp-primary);
	font-size:16px;
	line-height:1.2;
	text-decoration:none;
	transition:background-color .3s ease, color .3s ease;

	box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.corp-footer-cta__icon{
	display:block;
	flex:none;
	width:26px;
	height:auto;
	transition:filter .3s ease;
}
.corp-footer-cta__arrow{
	display:block;
	flex:none;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:rotate(45deg);
	margin-left:auto;
}
.corp-footer-cta__consult{
	border-width:3px;
	background:var(--color-corp-accent);
	color:#fff;
}
.corp-footer-cta__apply:hover,
.corp-footer-cta__dl:hover,
.corp-footer-cta__tel:hover{
	background:var(--color-corp-secondary);
	color:#fff;
}
.corp-footer-cta__consult:hover{
	background:var(--color-corp-accent-light);
	opacity:1;
}
.corp-footer-cta__apply:hover .corp-footer-cta__icon,
.corp-footer-cta__dl:hover .corp-footer-cta__icon,
.corp-footer-cta__tel:hover .corp-footer-cta__icon{
	filter:brightness(0) invert(1);
}
.corp-footer-cta__tel{
	flex-direction:row;
}
.corp-footer-cta__tel-ttl{
	margin:0;
	text-align:left;
	font-size:11px;
	line-height:1.4;
}
.corp-footer-cta__tel-numwrap{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:1px;
}
.corp-footer-cta__tel-num{
	font-size:20px;
	line-height:1.1;
	font-family:"Lato",sans-serif;
	color:inherit;
	text-decoration:none;
}
.corp-footer-cta__tel-hours{
	font-size:10px;
	line-height:1.1;
}

/* フッター
------------------------------------------------------------ */
#footer{
	padding:40px 0 0;
	background:var(--color-corp-bg-card);
}
.corp-footer__top{
	display:flex;
	flex-direction:column;
	gap:30px;
	margin:20px 0 0;
}
/* .corp-footer__top自体にdisplay:flexが指定されているため、汎用クラス.PC（display:none）と
   詳細度が同じになり、後方で定義された.corp-footer__topが優先されてSPでも表示されてしまう。
   .corp-footer__top.PCとして詳細度を上げ、SPでは確実に非表示にする */
.corp-footer__top.PC{
	display:none;
}
.corp-footer__brand{
	width:100%;
	flex:none;
}
.corp-footer__brand-top{
	display:block;
}
.corp-footer__brand-top.PC{
	display: none;
}
.corp-footer__brand-logos{
	flex:none;
}
.corp-footer__brand-mark{
	display:block;
	width:140px;
	height:auto;
}
.corp-footer__brand-logo{
	display:inline-block;
	margin:8px 0 0;
	padding:5px 10px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--color-corp-primary),var(--color-corp-secondary));
	color:#fff;
	font-size:11px;
	line-height:1;
	text-align:center;
	white-space:nowrap;
	width:auto;
	box-sizing:border-box;
}
.corp-footer__brand-idex{
	display:block;
	flex:none;
	margin:0;
	width:118px;
	height:auto;
}
.corp-footer__brand-name{
	margin:16px 0 0;
	font-size:14px;
}
.corp-footer__brand-addr{
	margin:6px 0 0;
	font-size:12px;
	line-height:1.6;
}
.corp-footer__brand-tel{
	margin:12px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
	text-decoration:none;
	display:block;
}
.corp-footer__brand-hours{
	margin:0;
	font-size:12px;
}
.corp-footer__brand-btns{
	list-style:none;
	margin:20px 0 0;
	padding:0;
}
.corp-footer__brand-btns li{
	margin:0 0 10px;
}
.corp-footer__brand-btns li:last-child{
	margin:0;
}
.corp-footer__brand-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:48px;
	box-sizing:border-box;
	border-radius:12px;
	color:#fff;
	font-size:15px;
	text-decoration:none;
}
.corp-footer__brand-btn--consult{ background:var(--color-corp-accent); }
.corp-footer__brand-btn--apply,
.corp-footer__brand-btn--dl,
.corp-footer__brand-btn--mypage{ background:var(--color-corp-primary); }
.corp-footer__nav-wrap{
	display:flex;
	flex-direction:column;
}
.corp-footer__nav{
	display:flex;
	flex-direction:column;
	flex:none;
	gap:0;
}
.corp-footer__nav-col{
	flex:none;
}
.corp-footer__nav-group{
	margin:0 0 20px;
}
.corp-footer__nav-ttl{
	margin:0 0 10px;
	color:var(--color-corp-primary);
	font-size:15px;
}
.corp-footer__nav-group li{
	margin:0 0 8px;
}
.corp-footer__nav-group a{
	color:var(--color-corp-text);
	font-size:12px;
	text-decoration:none;
	line-height:1.6;
}
.corp-footer__nav-ttl a{
	color:inherit;
	font-size:inherit;
	text-decoration:none;
}
.corp-footer__contract{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:16px;
	margin:0;
	padding:20px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.corp-footer__contract-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:17px;
}
.corp-footer__contract-text{
	margin:8px 0 0;
	font-size:13px;
}
.corp-footer__contract-btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:56px;
	flex:none;
	box-sizing:border-box;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:15px;
	text-decoration:none;
	border-radius:8px;
}
.corp-footer__contract-btn-icon{
	display:block;
	position:absolute;
	left:16px;
	top:50%;
	transform:translateY(-50%);
	width:26px;
	height:auto;
}
.corp-footer__contract-btn-arrow{
	display:block;
	position:absolute;
	right:16px;
	top:50%;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-footer__area{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	justify-content:center;
	margin:30px 0 0;
	padding:16px;
	background:#fff;
	border-radius:8px;
}
.corp-footer__area-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:15px;
}
.corp-footer__area-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px 20px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-footer__area-list a{
	color:var(--color-corp-text);
	font-size:13px;
	text-decoration:none;
}
.corp-footer__legal{
	margin:20px 0 0;
	padding:16px 20px;
	background:var(--color-corp-bg-legal);
}
.corp-footer__sub{
	margin:0 auto;
	text-align:center;
	font-size:11px;
	line-height:2;
}
.corp-footer__sub a{
	color:var(--color-corp-text);
	font-size:11px;
	text-decoration:none;
}
.link-blank{
	background:url(../../images/icon_blank.png) right center no-repeat;
	background-size:10px auto;
	padding-right:15px;
}
.corp-footer__copyright{
	display:block;
	margin:0;
	padding:16px 20px;
	background:#fff;
	font-size:11px;
	font-style:normal;
	text-align:center;
}

/* SP専用フッター（.corp-footer__top-sp）
   ナビ（アコーディオン）→対応エリア→CTA4ボタン→ロゴ→社名住所→電話バー、の順に
   参考画像通り並べる。内容はPC用フッターと同一のため、リンク一覧・対応エリアなどの
   個別要素はPC用と同じクラス（.corp-footer__area／.corp-footer__brand-mark等）を
   そのまま流用し、CTA4ボタンのグリッドのみ専用クラスを新設している。
------------------------------------------------------------ */
.corp-footer__top-sp{
	display:flex;
	flex-direction:column;
	gap:24px;
	margin:20px 0 0;
}
.corp-footer__nav-sp .corp-navi__list{
	border-top:1px solid #eee;
}
/* プラン一覧アコーディオン内の「・マーケットプランC」等、PC版では「・」を付けて
   一段下げていた項目を、SPでは文字を消してインデントだけで一段深い階層に見せる */
.corp-navi__submenu-sub a{
	padding-left:54px;
}
/* アコーディオンを開いている間、見出し行の背景をハイライト。
   ヘッダーSPメニュー（プラン一覧）はis-openがトグルアイコン側に付くため:has()で検知し、
   フッターの4項目はis-openが見出し行自体に付くため直接.is-openで検知する */
.corp-navi__accordion-head:has(.js-corp-navi-accordion-toggle.is-open),
.corp-navi__accordion-head.is-open{
	background:#d7e2eb;
}
.corp-footer__cta-grid{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-footer__cta-grid li{
	width:calc(50% - 4px);
}
.corp-footer__cta-grid-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	height:60px;
	padding:0 8px;
	box-sizing:border-box;
	border-radius:10px;
	color:#fff;
	font-size:14px;
	line-height:1.3;
	text-align:center;
	text-decoration:none;
}
.corp-footer__cta-grid-btn--consult{
	background:linear-gradient(90deg,var(--color-corp-accent),var(--color-corp-accent-bright));
}
.corp-footer__cta-grid-btn--apply,
.corp-footer__cta-grid-btn--dl,
.corp-footer__cta-grid-btn--mypage{
	background:var(--color-corp-primary);
}
.corp-footer__tel-bar{
	margin:0;
}

/* 固定フローティングCTA（SPは下部固定バーとして表示）
   表示/非表示の切り替えは、PC・SPともstyle.css側の.corp-fixed-cta（opacity/visibility）と
   .corp-fixed-cta.is-visibleの組み合わせをそのまま利用する（このファイルでは上書きしない）。
   is-visibleの付与条件はcorp.js側で判定しており、SPは.pagetop（ページトップへ戻るボタン）と
   同じ表示タイミング（scrollTop > 150）になるよう揃えている。
   ここではSP専用の見た目（画面下部に固定される全幅バー）のみを指定する。
   右側は.pagetop（ページトップへ戻る丸ボタン）の表示スペース分だけpadding-rightで空けておく。
   z-indexは#navi（SPドロップダウンメニュー、通常時z-index:999）より高くしているが、
   SPメニュー展開時（#navi.opennavi）は下の:has()指定で固定CTAを非表示にし、
   メニューの方を常に手前に表示する。
------------------------------------------------------------ */
.corp-fixed-cta{
	display:flex;
	align-items:center;
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:1001;
	gap:8px;
	padding:10px 70px 10px 12px;
	box-sizing:border-box;
	background:#fff;
	box-shadow:0 -2px 8px rgba(0,0,0,.1);
}
.corp-fixed-cta a{
	flex:1;
	height:44px;
	font-size:14px;
	box-shadow:none;
}
.corp-fixed-cta__apply,
.corp-fixed-cta__dl{
	width:auto;
}
/* SPメニュー展開中（#navi.opennavi）は、固定CTAバーがメニューより手前に来て
   見た目が重なってしまうため非表示にする。メニューを閉じれば.is-visibleの状態に応じて
   通常どおり再表示される */
body:has(#navi.opennavi) .corp-fixed-cta{
	display:none;
}

/* ページトップへ戻るボタン
   .corp-fixed-cta（下部固定バー、z-index:1001）より後にDOM上へ出現するため、同じz-indexだと
   バーの不透明な背景に隠れてしまう。1002にして確実にバーより手前に表示する。
   SPメニュー展開時（#navi, z-index:999）でも隠れないようにする意図も兼ねる
------------------------------------------------------------ */
.pagetop{
	position:fixed;
	right:12px;
	bottom:12px;
	z-index:1002;
	display:none;
	cursor:pointer;
}
.pagetop span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border-radius:50%;
	background:url(../../images/corp/icon_pagetop.png) center center / cover no-repeat;
	box-shadow:0 3px 8px rgba(0,0,0,.2);
	color:#fff;
	font-size:0;
	text-align:center;
}


/* ============================================================
   特典・サービス（/benefit/service/）専用スタイル（SP）
   ============================================================ */
.corp-benefit{
	padding:40px 0 50px;
}
.corp-benefit__heading{
	margin:0 0 30px;
}
.corp-benefit__heading-row{
	flex-wrap:wrap;
	gap:10px 12px;
	margin:0 0 10px;
}
.corp-benefit__heading-mascot{
	width:150px;
}
.corp-benefit__heading-tag{
	padding:6px 12px;
	font-size:13px;
}
.corp-benefit__heading-note{
	font-size:14px;
	display: block;
	margin: 5px 0 0;
	line-height: 1.4;
}
.corp-benefit__heading-ttl{
	font-size:45px;
}
.corp-benefit__heading-ttl span{
	display: block;
	margin: 0 !important;
}
.corp-benefit__heading-lead{
	margin:10px 0 0;
	font-size:14px;
}
.corp-benefit__panel{
	padding:32px 20px 40px;
	border-radius:8px;
}
.corp-benefit__panel-ttl{
	font-size:24px;
}
.corp-benefit__panel-ttl span{
	display:block;
	margin-top:4px;
	font-size:35px;
}
.corp-benefit__panel-desc{
	padding:10px 20px;
	font-size:13px;
	line-height:1.6;
}
.corp-benefit__cards{
	margin:24px 0 0;
}
.corp-benefit__cards img{
	width:100%;
}
.corp-benefit__combo{
	margin:-30px 0 10px;
}
.corp-benefit__combo2{
	margin:10px 0 -30px;
	position: relative;
	z-index: 2;
}
.corp-benefit__combo-icon{
	width:36px;
	height:36px;
}
.corp-benefit__logo-badge img{
	width:170px;
}
.corp-benefit__result{
	max-width:none;
	margin:10px 0 0;
	padding:24px 20px 24px;
	border-radius:14px;
}
.corp-benefit__result-ttl{
	gap:8px;
	font-size:26px;
}
.corp-benefit__result-ttl-icon{
	width:37px;
}
.corp-benefit__result-msg{
	max-width:none;
	padding:10px 20px;
	border-radius:4px;
	font-size:19px;
	white-space:normal;
}
.corp-benefit__result-msg span{
	font-size:19px;
}
.corp-benefit__result-note{
	font-size:11px;
}
.corp-benefit__result-example{
	font-size:13px;
	display: block;
	margin-top: 20px;
}
.corp-benefit__result-example-tag{
	padding:7px 16px;
	font-size:14px;
}
.corp-benefit__result-example p{
	margin-top: 20px;
	width: 65%;
}

.corp-benefit__result-mascot{
	right:16px;
	bottom:20px;
	width:80px;
}
.corp-benefit__terms{
	margin:24px 0 0;
}
.corp-benefit__terms-ttl{
	font-size:15px;
}
.corp-benefit__terms-list li{
	font-size:12px;
	line-height:1.7;
}


/* ============================================================
   事務サポート（/corp/support/）専用スタイル（SP）
   ============================================================ */
.corp-support{
	padding:30px 0 50px;
}
.corp-support__lead{
	margin:0 0 24px;
	font-size:14px;
	text-align:left;
}
.corp-support__card{
	
	align-items:flex-start;
	gap:16px;
	margin:0 0 20px;
	padding:24px;
}
.corp-support__card-body{
	max-width:none;
}
.corp-support__card-ttl{
	font-size:20px;
}
.corp-support__card-text{
	margin:10px 0 0;
	font-size:13px;
	line-height:1.7;
}
.corp-support__card-icon{
	width:80px;
	align-self:flex-end;
	margin-top:-46px;
	margin-right: 0;
}
.corp-support__card-icon--bundle{
	width:72px;
}

}
