@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Lato:wght@400;700;900&display=swap');


/* ============================================================
   法人TOP（/corp/）以下専用スタイル（PC/共通）
   ============================================================ */

:root{
	--color-corp-primary:#005ca8;
	--color-corp-secondary:#509ada;
	--color-corp-submenu:#3b8bcc;
	--color-corp-accent:#e87831;
	--color-corp-text:#222222;
	--color-corp-yellow:#ffec85;
	--color-corp-yellow-bright:#fff000;
	--color-corp-red:#a31b21;
	--color-corp-bg:#eef6fb;
	--color-corp-bg-legal:#ebe8e0;
	--color-corp-accent-light:#f2b58e;
	--color-corp-accent-bright:#ffb44a;
	--color-corp-bg-card:#f6f5f0;
	--color-corp-cream:#fff7e8;
}


img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}


@media screen and (min-width: 768px) {
.PC{
	display:block;
}
.SP{
	display:none;
}
.PC-inline{
	display:inline;
}
.SP-inline{
	display:none;
}
a{
	transition:.2s ease-in-out;
}
a:hover{
	opacity:0.6;
}
/* 法人TOPのPC側デザインは1280px以上を前提に組まれており、ヘッダーのナビ・FVギャラリー等が
   絶対配置＋固定pxで実装されているため、768px〜1279pxの間でPC用スタイルをそのまま
   表示すると要素ごとに崩れ方がバラバラになってしまう。個人向けサイトとブレークポイントを
   768pxに揃える必要があるため（本人指定）、768px〜1279pxの間は「1280px幅のPCレイアウトを
   横スクロールで見る」形に統一するため、#header・#footer・#main-wrapperの最小幅を
   1280pxに固定する（本人提案の折衷案。coding-conventions.md 2026-09-20参照）。
   767px以下は引き続きmobile.css側のSP専用レイアウトがそのまま表示される。
   ※2026-09-18の不具合のうち「#navi（SPドロップダウン）がリサイズでテキスト展開されてしまう」
   問題は下記の!important指定で解消済みだが、「768px〜1279pxでPCヘッダーが画面幅より広くなる」
   こと自体は解消したわけではなく、上記min-width:1280pxにより意図的に許容している仕様。 */
#header,
#footer,
#main-wrapper{
	min-width:1180px;
}
#menuBtn,
#shadows,
#navi{
	display:none !important;
}
}

/* ============================================================
   ベースレイアウト
   ============================================================ */
body{
	font-family:"Noto Sans JP", sans-serif;
	color:var(--color-corp-text);
	line-height:1.8;
}
.content-inner{
	width:1100px;
	margin:0 auto;
	text-align:left;
	box-sizing:border-box;
}
main section{
	position:relative;
}
.mark{
	background:linear-gradient(transparent 65%, var(--color-yellow) 65%);
}

/* ============================================================
   ヘッダー（/corp/以下専用・透過→スクロールで白背景に切り替え）
   ============================================================ */
#header{
	position:fixed;
	top:20px;
	left:0;
	width:100%;
	z-index:1000;
	transition:.3s ease-in-out;
}
#header .corp-header__inner{
	position:relative;
	width: 90%;
	min-width:1100px;
	height:116px;
	margin:0 auto;
	box-sizing:border-box;
	border:none;
	border-radius:14px;
	transition:.3s ease-in-out;
	background-color: rgba(255,255,255,.9);
	box-shadow:0 3px 10px rgba(0,0,0,.08);
}
#header.is-fixed .corp-header__inner{
	background-color: rgba(255,255,255,.9);
	border-color:#fff;
	box-shadow:0 3px 10px rgba(0,0,0,.08);
}
.corp-header__logo{
	position:absolute;
	left:40px;
	top:20px;
	width:200px;
}
.corp-header__logo img{
	display:block;
	width:200px;
}
.corp-header__logo-sub{
	display:block;
	width:200px;
	box-sizing:border-box;
	margin:5px 0 0;
	padding:8px 12px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--color-corp-primary),var(--color-corp-secondary));
	color:#fff;
	font-size:13px;
	font-weight:700;
	line-height:1;
	text-align:center;
	white-space:nowrap;
}
.corp-header__submenu{
	position:absolute;
	top:26px;
	right: 160px;
}
.corp-header__submenu ul{
	display:flex;
	align-items:center;
	justify-content:center;
	list-style:none;
	margin:0;
	padding:3px 0px 8px 0px;
	border-radius:999px;
	background:var(--color-corp-submenu);
	line-height:1;
}
.corp-header__submenu li{
	padding:0 14px;
	line-height:1;
	position: relative;
	letter-spacing: 0.1em;
}
.corp-header__submenu li::after{
	content: '';
	position: absolute;
	width: 1px;
	height: 5px;
	background-color: #fff;
	top:8px;
	right: 0;
}
.corp-header__submenu li:last-child::after{
	display: none;
}
.corp-header__submenu a{
	color:#fff;
	font-size:12px;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
}
.corp-header__nav{
	position:absolute;
	top:62px;
	right: 135px;
	width:497px;
}
.corp-header__nav ul{
	display:flex;
	align-items:center;
	gap:32px;
	list-style:none;
	margin:0;
	padding:0;
	letter-spacing: 0.1em;
}
.corp-header__nav a{
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:700;
	text-decoration:none;
}
#header.is-fixed .corp-header__nav a{
	color:var(--color-corp-text);
}
.corp-header__cta{
	position:absolute;
	top:20px;
	right:21px;
	width:110px;
	height:76px;
}
.corp-header__cta a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:110px;
	height:76px;
	background:linear-gradient(90deg,var(--color-corp-accent),var(--color-corp-accent-bright));
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
	text-decoration:none;
	white-space:pre-line;
	border-radius:4px;
	box-sizing:border-box;
}
#menuBtn,
#shadows{
	display:none;
}

/* ============================================================
   FV（メインビジュアル）
   ============================================================ */
/* FV内の要素（テキスト・画像）はブラウザ幅に応じて相対的に拡大縮小させる。
   --fv-u は「デザイン上の1px」がいまの画面で何pxになるかを表す単位で、
   1280px幅（=PCレイアウトの最小幅）のとき1px、それより広いと比例して大きくなる。
   1280px未満は1px固定（=現状のサイズが最小）、.corp-fv__innerのmax-width:2000pxに
   達する幅（2000÷95%≒2106px）で頭打ちにしてレイアウトの比率が崩れないようにしている。
   各サイズは calc(元のpx値 * var(--fv-u)) で指定する。
   ただし.corp-fv__badge6300（6,300社バッジ）は拡大不要のため固定pxのまま。
   SP（767px以下）はmobile.css側で固定値に上書きしているため影響しない。 */
.corp-fv{
	--fv-u:calc(clamp(1280px, 100vw, 2106px) / 1280);
	position:relative;
	overflow:hidden;
	padding:13vh 0 10vh;
	background:linear-gradient(180deg,#ffffff 0%,#e7ecf3 100%);
	height: 90vh;
	min-height:calc(800 * var(--fv-u));
}
.corp-fv__inner{
	position:relative;
	width:98%;
	max-width: 3000px;
	margin:0 auto;
}
.corp-fv__badge6300{
	position:absolute;
	top:40px;
	right:3%;
	width:173px;
	height:auto;
	z-index:5;
}
.corp-fv__badge6300 img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__catch{
	position:relative;
	width:calc(680 * var(--fv-u));
	padding:calc(80 * var(--fv-u)) 0 0 calc(105 * var(--fv-u));
	box-sizing:border-box;
	z-index:2;
}
.corp-fv__tag{
	display:block;
	margin:0;
	width:calc(242 * var(--fv-u));
}
.corp-fv__tag img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__ttl{
	margin:calc(22 * var(--fv-u)) 0 0;
	color:var(--color-corp-primary);
	font-size:calc(42 * var(--fv-u));
	font-weight:700;
	line-height:1.4;
}
.corp-fv__lead{
	margin:calc(30 * var(--fv-u)) 0 0;
	color:var(--color-corp-text);
	font-size:calc(18 * var(--fv-u));
	font-weight:700;
	line-height:1.6;
}
.corp-fv__stats{
	display:flex;
	gap:calc(12 * var(--fv-u));
	margin:calc(30 * var(--fv-u)) 0 0 calc(105 * var(--fv-u));
}
.corp-fv__stat{
	width:calc(134 * var(--fv-u));
}
.corp-fv__stat img{
	display:block;
	width:100%;
	height:auto;
}
.corp-fv__gallery{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	margin:0 auto;
	z-index:0;
	pointer-events:none;
}
.corp-fv__gallery-layer{
	position:absolute;
	top:0;
	bottom:0;
	right:0px;
	width:50%;
	overflow:hidden;
}
.corp-fv__gallery-layer--back{
	z-index:1;
}
.corp-fv__gallery-layer--front{
	z-index:2;
}
.corp-fv__gallery-track{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	width:max-content;
	min-width:100%;
	animation:corpFvLoopY 50s linear infinite;
}
.corp-fv__gallery-layer--front .corp-fv__gallery-track{
	animation-duration:35s;
}
.corp-fv__gallery-track img{
	display:block;
	width:auto;
	height:auto;
	flex:none;
}
/* PCギャラリー画像も原寸（1280px幅時の見た目）を最小として--fv-uで拡大する。
   SPギャラリーは同じクラスを使うため、.PCに限定して指定している */
.corp-fv__gallery.PC .corp-fv__gallery-layer--back .corp-fv__gallery-track img{
	width:calc(1034 * var(--fv-u));
}
.corp-fv__gallery.PC .corp-fv__gallery-layer--front .corp-fv__gallery-track img{
	width:calc(1124 * var(--fv-u));
}
@keyframes corpFvLoopY{
	0%{transform:translateY(0);}
	100%{transform:translateY(-50%);}
}
@media (prefers-reduced-motion:reduce){
	.corp-fv__gallery-track{
		animation:none;
	}
}
.corp-fv__cta-row{
	display:contents;
}
.corp-fv__cta{
	position:relative;
	width:1139px;
	margin:-60px auto 30px;
	box-sizing:border-box;
	display:flex;
	gap:20px;
	padding:20px;
	background:#fff;
	box-shadow:0 6px 8px rgba(0,0,0,.1);
	border-radius:20px;
}
.corp-fv__cta a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:1;
	height:91px;
	padding:0 60px;
	box-sizing:border-box;
	border-radius:12px;
	color:#fff;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
}
.corp-fv__cta-icon{
	display:block;
	position:absolute;
	left:24px;
	top:50%;
	transform:translateY(-50%);
	width:auto;
	height:44px;
}
.corp-fv__cta-arrow{
	display:block;
	position:absolute;
	right:24px;
	top:50%;
	width:10px;
	height:10px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-fv__cta-consult{
	background:var(--color-corp-accent);
}
.corp-fv__cta-apply{
	background:var(--color-corp-primary);
}
.corp-fv__cta-dl{
	background:var(--color-corp-primary);
}

/* ============================================================
   バナー（キャンペーン等・簡易静止画版）
   ============================================================ */
.corp-banner{
	--slide-gap:10px;
	position:relative;
	overflow:hidden;
	padding:60px 0;
	background:#fff;
}
.corp-banner__slider{
	visibility:hidden;
}
/* slick初期化後にJS側でvisibleにする（FOUC防止） */
.corp-banner__slider.slick-initialized{
	visibility:visible;
}
.corp-banner .slick-track{
	display:flex;
	align-items:center;
}
.corp-banner__slide{
	margin:0 var(--slide-gap);
	opacity:.4;
	transition:opacity .3s ease;
}
.corp-banner__slide.slick-current{
	opacity:1;
}
.corp-banner__slide a{
	display:block;
}
.corp-banner__slide img{
	display:block;
	width:100%;
	height:auto;
	border-radius:12px;
}
.corp-banner .slick-dots{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin:24px 0 0;
	padding:0;
	list-style:none;
}
.corp-banner .slick-dots li{
	width:16px;
	height:16px;
}
.corp-banner .slick-dots button{
	width:16px;
	height:16px;
	padding:0;
	border:none;
	border-radius:50%;
	background:#d9d9d9;
	font-size:0;
	line-height:0;
	cursor:pointer;
}
.corp-banner .slick-dots li.slick-active button{
	background:var(--color-corp-primary);
}
.corp-banner__arrow{
	position:absolute;
	top:50%;
	width:60px;
	height:60px;
	margin-top:-40px;
	border-radius:50%;
	background:#fff;
	border:2px solid var(--color-corp-primary);
	cursor:pointer;
	z-index:2;
}
.corp-banner__arrow:before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:12px;
	height:12px;
	border-top:2px solid var(--color-corp-primary);
	border-right:2px solid var(--color-corp-primary);
	border-radius:2px;
}
.corp-banner__arrow--prev{
	left:22%;
}
.corp-banner__arrow--prev:before{
	transform:translate(-30%,-50%) rotate(-135deg);
}
.corp-banner__arrow--next{
	right:22%;
}
.corp-banner__arrow--next:before{
	transform:translate(-70%,-50%) rotate(45deg);
}

.corp-banner .slick-slide{
	transform: scale(0.92);
	transition:.3s ease;
}
.corp-banner .slick-slide.slick-current {
  transform: scale(1);
}

/* ============================================================
   選ばれているイデックスでんき（実績・信頼）
   ============================================================ */
.corp-trust{
	padding:80px 0;
	background:var(--color-bg-grayish);
}
.corp-trust__ttl{
	margin:0 0 50px;
	text-align:center;
}
.corp-trust__ttl-sub{
	display:block;
	color:var(--color-corp-text);
	font-size:22px;
	font-weight:700;
	line-height:1.6;
}
.corp-trust__ttl-main{
	display:block;
	margin:2px 0 0;
	color:var(--color-corp-primary);
	font-size:38px;
	font-weight:700;
	line-height:1.4;
}
.corp-trust__ttl-en{
	display:block;
	margin:8px 0 0;
	color:var(--color-corp-primary);
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-trust__list{
	display:flex;
	gap:20px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-trust__item{
	width:299px;
	box-sizing:border-box;
	padding:36px 26px 30px;
	background:#fff;
	border-radius:16px;
	box-shadow:0 3px 20px rgba(0,0,0,.08);
	text-align:center;
}
.corp-trust__item img{
	display:block;
	margin:0 auto;
	width:185px;
	height:auto;
}
.corp-trust__item-num{
	margin:24px 0 0;
	color:var(--color-corp-primary);
	font-size:20px;
	font-weight:700;
	line-height:1.4;
}

.corp-trust__item-num sup{
	vertical-align:super;
	font-size:smaller;
	line-height:0;
	font-size: 0.6em;
}
.corp-trust__item-text{
	margin:14px 0 0;
	color:var(--color-corp-text);
	font-size:14px;
	font-weight:400;
	line-height:1.7;
	text-align:left;
}
.corp-trust__note{
	margin:24px 0 0;
	color:var(--color-corp-text);
	font-size:12px;
	font-weight:700;
	text-align:right;
}

/* ============================================================
   選ばれる理由（WHY CHOOSE IDEX DENKI）
   ============================================================ */
.corp-why{
	position:relative;
	overflow:hidden;
	padding:150px 0 100px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
}

.corp-why__bg-text{
	--bg-text-w:1800px;
	--bg-text-gap:60px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	overflow:hidden;
	pointer-events:none;
}
.corp-why__bg-text-track{
	display:flex;
	width:max-content;
	animation:corpWhyBgTextLoop 60s linear infinite;
}
.corp-why__bg-text-track img{
	display:block;
	flex:none;
	width:var(--bg-text-w);
	max-width:none;
	margin-right:var(--bg-text-gap);
	height:auto;
}
@keyframes corpWhyBgTextLoop{
	0%{transform:translateX(0);}
	100%{transform:translateX(calc((var(--bg-text-w) + var(--bg-text-gap)) * -1));}
}
@media (prefers-reduced-motion:reduce){
	.corp-why__bg-text-track{
		animation:none;
	}
}
.corp-why__ttl{
	position:relative;
	margin:0 0 60px;
	color:#fff;
	font-size:40px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
}
.corp-why__ttl-en{
	display:block;
	margin:14px 0 0;
	color:#fff;
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-why__ttl-accent{
	color:var(--color-yellow);
}
.corp-why__ttl-accent-sp{
	color:#fff;
}
.corp-why__list{
	position:relative;
}
.corp-why__item{
	background:#fff;
	border-radius:12px;
	box-shadow:0 8px 15px rgba(0,0,0,.2);
	box-sizing:border-box;
}
.corp-why__item01{
	padding:0;
	margin:0 0 20px;
	overflow:hidden;
}
.corp-why__item01-inner{
	display:flex;
	align-items:stretch;
	gap:40px;
}
.corp-why__item01-text{
	width:435px;
	flex:none;
	box-sizing:border-box;
	padding:40px 0 40px 60px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.corp-why__item01-chart{
	flex:1;
	box-sizing:border-box;
	padding:40px;
	background:var(--color-corp-bg-card);
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:center;
	line-height:1.4;
}
.corp-why__item01-chart img{
	display:block;
	width:100%;
	height:auto;
	margin:20px 0 0;
}
.corp-why__badge{
	display:inline-block;
	padding:8px 20px;
	background:var(--color-corp-text);
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1;
	border-radius:20px;
}

.corp-why__item01-catch{
	margin:16px 0 0;
	color:var(--color-corp-primary);
	font-size:28px;
	font-weight:700;
	line-height:1.4;
}
.corp-why__item01-desc{
	margin:16px 0 0;
	font-size:16px;
	line-height:1.9;
}
.corp-why__item01-chart-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:18px;
	font-weight:700;
}
.corp-why__item01-chart-sub{
	margin:8px 0 0;
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
}
.corp-why__item01-note{
	margin:16px 0 0;
	font-size:12px;
	line-height:1.5;
}
.corp-why__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}
.corp-why__cell{
	position:relative;
	padding:40px;
	overflow:hidden;
}
.corp-why__num{
	display:inline-block;
	padding:8px 20px;
	background:var(--color-corp-text);
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1;
	border-radius:20px;
}

.corp-why .corp-why__item01 .corp-why__item01-text .corp-why__num{
	align-self:flex-start;
}
.corp-why__cell-catch{
	margin:16px 0 0;
	color:var(--color-corp-primary);
	font-size:24px;
	font-weight:700;
	line-height:1.5;
}
.corp-why__cell-desc{
	width:290px;
	margin:16px 0 0;
	font-size:16px;
	line-height:1.9;
}
.corp-why__cell-icon{
	position:absolute;
	right:40px;
	bottom:40px;
}
.corp-why__cell-yen{
	position:absolute;
	right:40px;
	bottom:50px;
	color:var(--color-corp-accent);
	font-size:72px;
	font-weight:700;
	line-height:1;
}
.corp-why__cell-check{
	margin:20px 0 0;
	list-style:none;
	padding:0;
}
.corp-why__cell-check li{
	position:relative;
	padding:0 0 0 34px;
	margin:0 0 10px;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
}
.corp-why__cell-check li img{
	position:absolute;
	left:0;
	top:2px;
	width:25px;
}

/* ============================================================
   料金・プラン一覧
   ============================================================ */
.corp-plan{
	padding:80px 0 80px;
	background:#fff;
}
.corp-plan__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:40px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
}
.corp-plan__ttl-en{
	display:block;
	margin:8px 0 0;
	color:var(--color-corp-primary);
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-plan__lead{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:16px;
	font-weight:700;
	text-align:center;
}
.corp-plan__list{
	display:flex;
	gap:20px;
	margin:100px 0 0;
}
.corp-plan__card{
	position:relative;
	width:540px;
	box-sizing:border-box;
	border:1px solid #ddd;
	border-radius:12px;
}
.corp-plan__card-photo{
	position:relative;
	height:245px;
	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:10px;
	right:10px;
	top:-47px;
	height:76px;
	margin:0;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:8px;
	color:#fff;
	font-size:30px;
	font-weight:700;
	text-align:center;
	box-shadow:0 6px 14px 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:34px 40px 40px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 12px 12px;
}
.corp-plan__card-recommend{
	margin:0 0 14px;
	font-size:20px;
	font-weight:700;
	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:20px 0 0;
	padding:24px 20px;
	background:#fff;
	border-radius:16px;
	text-align: center;
}
.corp-plan__card-check{
	display: inline-block;
	list-style:none;
	padding:0;
	margin:0 auto;
	text-align: left;
}
.corp-plan__card-check li{
	position:relative;
	padding:6px 0 6px 34px;
	font-size:20px;
	font-weight:700;
	line-height:1.5;
}
.corp-plan__card-check li img{
	position:absolute;
	left:0;
	top:12px;
	width:25px;
}
.corp-plan__card-target{
	margin:30px 0 0;
	font-size:16px;
	font-weight:700;
	text-align:center;
}
.corp-plan__card-links{
	margin:0;
}
.corp-plan__card-links-btn{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	height:58px;
	margin:10px 0 0;
	padding:0 28px;
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1.3;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.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:10px;
	height:10px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:rotate(45deg);
}
.corp-plan__eco{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:15px;
	margin:60px 0 0;
}
.corp-plan__eco-catch{
	font-size:18px;
	font-weight:700;
}
.corp-plan__eco a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:540px;
	height:95px;
	padding:0 60px;
	background:var(--color-corp-primary);
	border:2px solid #fff;
	color:#fff;
	font-size:20px;
	font-weight:700;
	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:28px;
	top:50%;
	display:block;
	width:10px;
	height:10px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-plan__note{
	margin:40px 0 0;
	font-size:12px;
	font-weight:700;
	text-align:center;
}

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

.corp-page-title{
	padding:190px 0 70px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-page-title .content-inner{
	text-align: center;
}
.corp-page-title__ttl{
	margin:0;
	color:#fff;
	font-size:40px;
	font-weight:700;
	line-height:1.3;
}
.corp-page-title__ttl-en{
	display:block;
	margin:12px 0 0;
	color:#fff;
	font-size:18px;
	font-weight:400;
	letter-spacing:.05em;
}

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

/* ▼ プラン比較表 */
.corp-plantable-section{
	padding:100px 0;
}
.corp-plantable-section__tag{
	margin:0;
	color:var(--color-corp-text);
	font-size:24px;
	font-weight:700;
	text-align:center;
}
.corp-plantable-section__ttl{
	margin:18px 0 0;
	padding:24px 0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:30px;
	font-weight:700;
	letter-spacing:.05em;
	text-align:center;
	line-height: 1.2;
	border-radius: 8px;
}
.corp-plantable{
	box-sizing:border-box;
	width:100%;
	max-width:100%;
	margin:40px 0 0;
	border-collapse:collapse;
	table-layout:fixed;
	text-align:center;
}
.corp-plantable col.situation{width:45%;}
.corp-plantable col.current{width:23%;}
.corp-plantable col.result{width:33%;}
.corp-plantable thead th{
	padding:20px 10px;
	background:var(--color-corp-cream);
	color:var(--color-corp-text);
	font-size:17px;
	font-weight:700;
	letter-spacing:.05em;
	border:1px solid #ebebeb;
}
.corp-plantable thead th:last-child{
	color:var(--color-corp-accent);
}
.corp-plantable tbody td{
	box-sizing:border-box;
	padding:20px 30px;
	border:1px solid #ebebeb;
	vertical-align:middle;
	text-align: left;
}
.corp-plantable__situation{
	padding:30px 20px;
	color:#fff;
	text-align: center !important;
}
.corp-plantable__situation--sun{
	background:var(--color-corp-accent);
}
.corp-plantable__situation--moon{
	background:var(--color-corp-primary);
}
.corp-plantable__bubble{
	margin:0 auto 20px;
	padding:16px 20px;
	background:#fff;
	color:var(--color-corp-text);
	font-size:16px;
	font-weight:700;
	line-height:1.5;
	border-radius:999px;
	text-align: center;
	display: inline-block;
}
.corp-plantable__bubble-accent{
	color:var(--color-corp-accent);
	font-size:24px;
}
.corp-plantable__situation-head{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin:0;
}
.corp-plantable__situation-icon{
	display:block;
	width:56px;
	height:auto;
}
.corp-plantable__situation-label{
	font-size:22px;
	font-weight:700;
	line-height:1.4;
}
.corp-plantable__situation-note{
	margin:12px 0 0;
	font-size:13px;
	font-weight:500;
	text-align:center;
}
.corp-plantable__result a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	gap:10px;
	color:var(--color-corp-text);
	font-size:22px;
	font-weight:700;
	text-decoration:none;
}
.corp-plantable__result-label{
	text-align:left;
}
.corp-plantable__arrow{
	display:block;
	flex:none;
	width:11px;
	height:11px;
	border-top:3px solid currentColor;
	border-right:3px solid currentColor;
	transform:rotate(45deg);
}
.corp-plantable__result--orange .corp-plantable__arrow{
	color:var(--color-corp-accent);
}
.corp-plantable__result--blue .corp-plantable__arrow{
	color:var(--color-corp-primary);
}

/* ============================================================
   マーケットプランC 詳細ページ（/corp/plan/market-c/）専用パーツ
   ============================================================ */
.page-marketc .corp-plantable-section__ttl{
	background:var(--color-corp-accent);
}

/* ▼ FV（タイトル・写真・キャッチ） */
.corp-marketc-fv{
	padding:190px 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 78px;
	text-align: center;
}
.corp-marketc-fv__ttl{
	margin:0;
	color:#fff;
	font-size:30px;
	font-weight:700;
	line-height:1.4;
}
.corp-marketc-fv__ttl-em{
	font-size:40px;
}
.corp-marketc-fv__ttl-en{
	display:block;
	margin:14px 0 0;
	color:#fff;
	font-size:18px;
	font-weight: 400;
	letter-spacing:.05em;
}
.corp-marketc-fv__photo{
	display:block;
	width:100%;
	height:auto;
}
.corp-marketc-catch{
	padding:38px 0;
	background:var(--color-corp-bg-card);
	text-align:center;
}
.corp-marketc-catch .content-inner{
	text-align: center;
}
.corp-marketc-catch__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:24px;
	font-weight:700;
	line-height: 1.4;
}
.corp-marketc-catch__ttl{
	margin:0px 0 0;
	color:var(--color-corp-text);
	font-size:40px;
	font-weight:700;
}
.corp-marketc-catch__accent{
	color:var(--color-corp-accent);
}

/* ▼ 見出しピルバッジ（共通） */
.corp-marketc-badge-wrap{
	text-align:center;
}
.corp-marketc-badge-wrap__bottom{
	margin-bottom: -60px;
}
.corp-marketc-badge{
	display:inline-block;
	margin:0 auto;
	padding:15px 44px;
	background:var(--color-corp-accent);
	color:#fff;
	font-size:30px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:.05em;
	border-radius:999px;
	box-sizing:border-box;
}

/* ▼ こんな企業様へおすすめ */
.corp-marketc-recommend{
	padding:80px 0 0;
}
.corp-marketc-recommend__box{
	margin:30px 0 0;
	padding:60px 40px 40px;
	background:var(--color-corp-bg-card);
	border-radius:16px;
	box-sizing:border-box;
}
.corp-marketc-recommend__body{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:48px;
}
.corp-marketc-recommend__photo{
	flex:none;
}
.corp-marketc-recommend__photo img{
	display:block;
	width:560px;
	height:auto;
}
.corp-marketc-check{
	flex:1;
	margin:0;
	padding:0;
	list-style:none;
}
.corp-marketc-check li{
	display:flex;
	align-items:center;
	gap:14px;
	color:var(--color-corp-text);
	font-size:22px;
	font-weight:700;
	white-space:nowrap;
}
.corp-marketc-check li+li{
	margin:15px 0 0;
}
.corp-marketc-check img{
	display:block;
	flex:none;
	width:25px;
	height:18px;
}

/* ▼ 市場連動型プランとは？ */
.corp-marketc-rendou{
	padding:100px 0 0;
}
.corp-marketc-rendou__body{
	display:flex;
	align-items: center;
	gap:68px;
}
.corp-marketc-rendou__photo{
	flex:none;
}
.corp-marketc-rendou__photo img{
	display:block;
	width:400px;
	height:400px;
	border-radius:16px;
	object-fit:cover;
}
.corp-marketc-rendou__text-wrap{
	flex:1;
	text-align: left;
}
.corp-marketc-rendou__text-wrap .corp-marketc-badge-wrap{
	text-align: left;
}
.corp-marketc-rendou__text{
	margin:20px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:500;
	line-height:2;
}
.corp-marketc-rendou__text-em{
	display:block;
	margin:4px 0;
	font-size:36px;
	line-height:1.4;
}
.corp-marketc-rendou__text-em .corp-marketc-catch__accent{
	font-size:36px;
}

/* ▼ メリットを得やすい理由 */
.corp-marketc-merit{
	padding:100px 0 0;
}
.corp-marketc-merit__box1{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin:30px 0 0;
	padding:56px 68px 56px 80px;
	background:var(--color-corp-bg-card);
	border-radius:16px 16px 0 0;
	box-sizing:border-box;
}
.corp-marketc-merit__box1-text{
	flex:1;
}
.corp-marketc-merit__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:30px;
	font-weight:500;
	line-height:1.5;
}
.corp-marketc-merit__ttl{
	margin:25px 0 0;
	color:var(--color-corp-text);
	font-size:48px;
	font-weight:700;
	line-height:1.4;
}
.corp-marketc-merit__ttl .corp-marketc-catch__accent{
	font-size:60px;
}
.corp-marketc-merit__illust{
	flex:none;
}
.corp-marketc-merit__illust img{
	display:block;
	width:484px;
	height:auto;
}
.corp-marketc-merit__arrow{
	display:block;
	width:0;
	height:0;
	margin:0 auto 20px;
	border-style:solid;
	border-width:50px 75px 0 75px;
	border-color:var(--color-corp-accent) transparent transparent transparent;
}
.corp-marketc-merit__box2{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:32px;
	padding:44px 68px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 16px 16px;
	box-sizing:border-box;
}
.corp-marketc-merit__box2 img{
	display:block;
	flex:none;
	width:165px;
	height:auto;
}
.corp-marketc-merit__box2-text{
	flex:none;
	color:var(--color-corp-text);
	font-size:30px;
	font-weight:700;
	line-height:1.4;
}
.corp-marketc-merit__box2-ttl{
	display:block;
	margin:6px 0 0;
	font-size:60px;
}
.corp-marketc-merit__box2-ttl .corp-marketc-catch__accent{
	font-size:60px;
}

/* ▼ 全国と九州の時間帯別料金比較 */
.corp-marketc-hikaku{
	padding:100px 0 0;
}
.corp-marketc-hikaku__bar{
	margin:30px 0 0;
	padding:20px 0;
	background:linear-gradient(90deg,var(--color-corp-accent) 0%,var(--color-corp-accent-bright) 100%);
	color:#fff;
	font-size:30px;
	font-weight:700;
	letter-spacing:.05em;
	text-align:center;
	border-radius:8px 8px 0 0;
}
.corp-marketc-hikaku__bar-accent{
	color:var(--color-corp-yellow);
}
.corp-marketc-hikaku__body{
	padding:56px 68px 68px;
	background:var(--color-corp-bg-card);
	border-radius:0 0 16px 16px;
	box-sizing:border-box;
}
.corp-marketc-hikaku__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:36px;
	font-weight:700;
	text-align:center;
}
.corp-marketc-hikaku__graph{
	display:block;
	width:100%;
	height:auto;
	margin:40px 0 0;
}
.corp-marketc-hikaku__compare{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:60px;
	margin:30px 0 0;
	padding:28px 40px;
	background:#fff;
	border-radius:16px;
	box-sizing:border-box;
}
.corp-marketc-hikaku__compare-item{
	display:flex;
	align-items:center;
	gap:16px;
	line-height: 1;
}
.corp-marketc-hikaku__compare-item img{
	display:block;
	flex:none;
	width:65px;
	height:65px;
}
.corp-marketc-hikaku__compare-ttl{
	margin:0;
	color:var(--color-corp-text);
	font-size:26px;
	font-weight:700;
}
.corp-marketc-hikaku__compare-sub{
	margin:2px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:500;
}
.corp-marketc-hikaku__compare-sub strong{
	font-size:30px;
	font-weight:700;
}
.corp-marketc-hikaku__note{
	margin:24px 0 0;
	color:var(--color-corp-text);
	font-size:14px;
	font-weight:500;
	text-align:center;
}

/* ▼ 料金表 */
.corp-marketc-ryokin{
	padding:100px 0 0;
}
.corp-marketc-ryokin__bar{
	margin:30px 0 0;
	padding:20px 0;
	background:linear-gradient(90deg,var(--color-corp-accent) 0%,var(--color-corp-accent-bright) 100%);
	color:#fff;
	font-size:30px;
	font-weight:700;
	letter-spacing:.05em;
	text-align:center;
	border-radius:8px;
	line-height: 1.2;
	margin-bottom: 30px;
}
.corp-marketc-ryokin__img{
	display:block;
	width:100%;
	height:auto;
}
.corp-marketc-ryokin__btn-wrap{
	margin:40px 0 0;
	text-align:center;
}
.corp-marketc-ryokin__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:370px;
	height:58px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:16px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-marketc-ryokin__btn-arrow{
	position:absolute;
	right:26px;
	top:50%;
	display:block;
	width:9px;
	height:9px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* ============================================================
   法人_オフィスプラン 詳細ページ（/plan/office/）専用パーツ
   ============================================================ */
:root{
	--color-office-cta-bg:#eeebe4;
	--color-office-table-line:#bbecff;
	--color-office-value:#0071b9;
	--color-office-diff:#ff0042;
}
.corp-office-fv{
	padding:190px 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 78px;
	text-align: center;
}
.corp-office-fv__ttl{
	margin:0;
	color:#fff;
	font-size:30px;
	font-weight:700;
	line-height:1.4;
}
.corp-office-fv__ttl-em{
	font-size:40px;
}
.corp-office-fv__ttl-en{
	display:block;
	margin:14px 0 0;
	color:#fff;
	font-size:18px;
	font-weight:700;
	letter-spacing:.05em;
}
.corp-office-fv__photo{
	display:block;
	width:100%;
	height:auto;
}
.corp-office-catch{
	padding:38px 0;
	background:var(--color-corp-bg-card);
	text-align:center;
	line-height: 1.4;
}
.corp-office-catch .content-inner{
	text-align: center;
}
.corp-office-catch__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:24px;
	font-weight:700;
}
.corp-office-catch__ttl{
	margin:14px 0 0;
	color:var(--color-corp-text);
	font-size:40px;
	font-weight:700;
}
.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 44px;
	height:80px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:30px;
	font-weight:700;
	line-height:80px;
	letter-spacing:.05em;
	border-radius:999px;
	box-sizing:border-box;
}

/* ▼ こんな企業様へおすすめ */
.corp-office-recommend{
	padding:100px 0 0;
}
.corp-office-recommend__box{
	margin:30px 0 0;
	padding:60px 40px 40px;
	background:var(--color-corp-bg-card);
	border-radius:16px;
	box-sizing:border-box;
}
.corp-office-check{
	margin:0;
	padding:0;
	list-style:none;
	display:grid;
	grid-template-rows:repeat(2,auto);
	grid-auto-flow:column;
	column-gap:60px;
	row-gap:20px;
	justify-content:center;
}
.corp-office-check li{
	display:flex;
	align-items:center;
	gap:14px;
	color:var(--color-corp-text);
	font-size:22px;
	font-weight:700;
	white-space:nowrap;
}
.corp-office-check img{
	display:block;
	flex:none;
	width:25px;
	height:18px;
}
.corp-office-recommend__photo{
	margin:40px 0 0;
	text-align:center;
}
.corp-office-recommend__photo img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
	margin:0 auto;
}
.corp-office-recommend__sub-ttl{
	margin:40px 0 0;
	color:var(--color-corp-primary);
	font-size:30px;
	font-weight:700;
	text-align:center;
}
.corp-office-recommend__sub-list{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:24px;
	font-weight:700;
	text-align:center;
}
.corp-office-cta-box{
	margin:40px 0 0;
	padding:40px;
	background:var(--color-office-cta-bg);
	border-radius:16px;
	box-sizing:border-box;
	text-align:center;
}
.corp-office-cta-box__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:700;
	line-height:1.6;
}
.corp-office-cta-box__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:552px;
	max-width:100%;
	padding: 25px 0;
	margin:24px 0 0;
	background:var(--color-corp-accent);
	color:#fff;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
	line-height: 1;
}
.corp-office-cta-box__btn-arrow{
	position:absolute;
	right:36px;
	top:50%;
	display:block;
	width:11px;
	height:11px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* ▼ 料金表 */
.corp-office-ryokin{
	padding:100px 0 0;
}
.corp-office-ryokin__bar{
	margin:30px 0 0;
	padding:24px 0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	color:#fff;
	font-size:30px;
	font-weight:700;
	letter-spacing:.05em;
	text-align:center;
	border-radius:8px;
	line-height: 1;
}
.corp-office-ryokin__body{
	display:flex;
	align-items:stretch;
	gap:24px;
	margin:30px 0 0;
	background:#e6f8ff;
	border-radius:24px;
}
.corp-office-ryokin__chips{
	flex:none;
	width:380px;
	padding:35px 0px 24px 28px;
	box-sizing:border-box;
}
.corp-office-ryokin__chip-pair{
	position:relative;
	display:flex;
	align-items:stretch;
	gap:20px;
	background:#fff;
	border:2px solid var(--color-office-table-line);
	border-radius:16px;
	padding:14px 20px;
	box-sizing:border-box;
}
.corp-office-ryokin__chip-half{
	flex:1;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:14px 8px;
	background:var(--color-office-table-line);
	text-align:center;
	border-radius:12px;
	box-sizing:border-box;
}
.corp-office-ryokin__chip-ttl{
	margin:0;
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
	line-height:1.3;
}
.corp-office-ryokin__chip-sub{
	margin:6px 0 0;
	color:#666;
	font-size:12px;
	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:44px;
	height:44px;
	margin:0;
	background:var(--color-office-value);
	border:3px 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:16px;
	height:2px;
}
.corp-office-ryokin__plus-inline::after{
	width:2px;
	height:16px;
}
.corp-office-ryokin__plus{
	position:relative;
	display:block;
	width:44px;
	height:44px;
	margin:-8px auto;
	background:var(--color-office-value);
	border:3px 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:16px;
	height:2px;
}
.corp-office-ryokin__plus::after{
	width:2px;
	height:16px;
}
.corp-office-ryokin__chip{
	background:#fff;
	border:2px solid var(--color-office-table-line);
	border-radius:16px;
	padding:13px 16px;
	text-align:center;
	box-sizing:border-box;
}
.corp-office-ryokin__chip .corp-office-ryokin__chip-ttl{
	margin:0 0 6px;
}
.corp-office-ryokin__table-wrap{
	flex:1;
	padding:36px 36px 36px 0;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	line-height: 1.4;
}
.corp-office-ryokin__table{
	width:100%;
	border-collapse:collapse;
	background:#fff;
	table-layout:fixed;
	overflow:hidden;
}
.corp-office-ryokin__table th,
.corp-office-ryokin__table td{
	padding:29px 12px;
	border:1px solid var(--color-office-table-line);
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
	line-height:1.35;
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
	overflow-wrap:break-word;
}
.corp-office-business__table-wrap .corp-office-ryokin__table th,
.corp-office-business__table-wrap .corp-office-ryokin__table td{
	padding:32px 12px;
}

.corp-office-ryokin__table thead th{
	font-size:20px;
	line-height:1.35;
}
.corp-office-ryokin__table-note{
	display:block;
	color:#888;
	font-size:14px;
	font-weight:400;
	line-height:1.3;
}
.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:28px;
}
.corp-office-ryokin__table .corp-office-ryokin__table-diff{
	color:var(--color-office-diff);
	font-size:22px;
}
.corp-office-ryokin__table-triangle{
	display:block;
	margin:0 auto 4px;
	width:0;
	height:0;
	border-left:10px solid transparent;
	border-right:10px solid transparent;
	border-bottom:18px solid var(--color-office-diff);
}
.corp-office-ryokin__table .corp-office-ryokin__table-juryo{
	color:var(--color-corp-text);
	font-size:22px;
	line-height:1.2;
}
.corp-office-ryokin__table-juryo-note{
	display:block;
	margin:10px 0 0;
	font-size:14px;
	font-weight:400;
	line-height:1.3;
	color:#888;
}
.corp-office-ryokin__table .corp-office-ryokin__table-tier{
	font-size:13px;
	line-height:1.3;
}
.corp-office-ryokin__table-row--tier td,
.corp-office-ryokin__table-row--tier th{
	padding:18px 12px;
}
.corp-office-ryokin__table-row--tier .corp-office-ryokin__table-tier{
	padding-left:6px;
	padding-right:6px;
}
.corp-office-ryokin__btn-wrap{
	margin:40px 0 0;
	text-align:center;
}
.corp-office-ryokin__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:370px;
	height:58px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:16px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-office-ryokin__btn-arrow{
	position:absolute;
	right:26px;
	top:50%;
	display:block;
	width:9px;
	height:9px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* ============================================================
   導入事例（CASE STUDIES）
   ============================================================ */
.corp-case{
	padding:0 0 100px;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
}
.corp-case__photos{

	height:auto;
	overflow:hidden;
}
.corp-case__photos img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.corp-case__ttl{
	margin:140px 0 0;
	color:#fff;
	font-size:40px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
}
.corp-case__ttl-en{
	display:block;
	margin:14px 0 0;
	color:#fff;
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-case__lead{
	margin:32px 0 0;
	color:#fff;
	font-size:18px;
	font-weight:700;
	text-align:center;
}
.corp-case__list{
	display:flex;
	gap:20px;
	margin:90px 0 0;
}
.corp-case__card{
	position:relative;
	width:379px;
	box-sizing:border-box;
	background:#fff;
	border-radius:12px;
	box-shadow:0 4px 8px rgba(0,0,0,.15);
	overflow:hidden;
}
.corp-case__card a{
	display: block;
	text-decoration: none;
	color: #333;
}
.corp-case__card-photo{
	position:relative;
	height:240px;
}
.corp-case__card-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.corp-case__card-rate{
	position:absolute;
	right:20px;
	bottom:-20px;
	width:105px;
	height:105px;
	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:18px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
}
.corp-case__card-body{
	padding:30px 20px 20px;
}
.corp-case__card-type{
	margin:0;
	font-size:16px;
	font-weight:700;
	line-height:1.5;
}
.corp-case__card-result{
	margin:0;
	padding:20px;
	font-size:16px;
	font-weight:700;
	line-height:1.5;
	background-color: #f9f8f2;
}
.corp-case__card-result-num{
	color:var(--color-corp-accent);
	font-size:30px;
}
.corp-case__card-result-unit{
	color:var(--color-corp-accent);
	font-size:16px;
}
/* 導入事例カードのスライダー化（SP専用）はcommon/css/corp/mobile.css側で行う。
   PCは従来通り3カラムの静的グリッド表示のため、矢印ボタンはPCでは非表示にする。 */
.corp-case__arrow{
	display:none;
}
.corp-case__btn-wrap{
	text-align:center;
	margin:100px 0 0;
}
.corp-case__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:540px;
	height:76px;
	padding:0 60px;
	background:var(--color-corp-primary);
	border:2px solid #fff;
	color:#fff;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-case__btn-arrow{
	position:absolute;
	right:28px;
	top:50%;
	display:block;
	width:10px;
	height:10px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}

/* ============================================================
   法人_導入事例 一覧ページ（/case/）専用パーツ
   トップページの.corp-caseセクション（3件・SPはスライダー）とは別に、
   9件グリッド表示＋「もっとみる」ボタンの静的一覧ページ用。
   カード自体（.corp-case__card等）は上記トップページ用スタイルをそのまま流用。
   ============================================================ */
.corp-case-page{
	padding:80px 0 100px;
}
.corp-case-page__lead{
	margin:0;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:700;
	line-height:1.8;
	text-align:center;
}
.corp-case-page__grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:40px 20px;
	margin:50px 0 0;
}
.corp-case-page__grid[hidden]{
	display:none;
}
.corp-case-page__grid--more{
	margin-top:40px;
}
.corp-case-page__grid .corp-case__card{
	width:100%;
}
.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:14px;
	font-weight:700;
}
.corp-case-page__btn-wrap{
	text-align:center;
	margin:80px 0 0;
}
.corp-case-page__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:540px;
	height:76px;
	padding:0 60px;
	background:var(--color-corp-primary);
	border:2px solid var(--color-corp-primary);
	color:#fff;
	font-family:inherit;
	font-size:20px;
	font-weight:700;
	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:28px;
	top:50%;
	display:block;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

/* ============================================================
   ご利用開始までの流れ（STARTUP FLOW）
   ============================================================ */
.corp-flow{
	padding:100px 0;
	background:var(--color-corp-bg-card);
}
.corp-flow__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:40px;
	font-weight:700;
	line-height:1.3;
	text-align:center;
}
.corp-flow__ttl span{
	display:block;
	margin:8px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
}
.corp-flow__ttl-en{
	display:block;
	margin:8px 0 0;
	color:var(--color-corp-primary) !important;
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-flow__lead{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:16px;
	font-weight:700;
	text-align:center;
}
.corp-flow__list{
	display:flex;
	gap:20px;
	margin:60px 0 0;
}
.corp-flow__item{
	position:relative;
	width:299px;
	box-sizing:border-box;
	padding:40px 20px 20px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 4px 15px rgba(0,0,0,.1);
	text-align:center;
}
.corp-flow__item-step{
	position:absolute;
	top:-21px;
	left:50%;
	transform:translateX(-50%);
	box-sizing:border-box;
	padding:12px 28px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:18px;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
	border-radius:10px;
	box-shadow:0 6px 14px rgba(0,0,0,.12);
}
.corp-flow__item img{
	display:block;
	margin:30px auto 0;
	height:70px;
	width:auto;
}
.corp-flow__item-ttl{
	margin:20px 0 0;
	color:var(--color-corp-primary);
	font-size:24px;
	font-weight:700;
}
.corp-flow__item-text{
	margin:16px 0 0;
	font-size:16px;
	font-weight:700;
	line-height:1.5;
}

/* ============================================================
   お知らせ（NEWS）／ FAQ（共通の2カラムレイアウト）
   ============================================================ */
.corp-news{
	padding:100px 0;
	background:#fff;
}
.corp-news__inner{
	display:flex;
	align-items:flex-start;
	gap:20px;
}
.corp-news__head{
	width:300px;
	flex:none;
}
.corp-news__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:40px;
	font-weight:700;
	line-height:1.2;
}
.corp-news__ttl span{
	display:block;
	font-size:16px;
}
.corp-news__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:180px;
	height:56px;
	margin:30px 0 0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:16px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-news__btn-arrow{
	position:absolute;
	right:24px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-news__body{
	width:780px;
}
.corp-news__important{
	display:flex;
	align-items:flex-start;
	gap:40px;
	padding:40px 48px;
	background:var(--color-corp-bg-card);
	border-radius:8px;
	box-sizing:border-box;
}
.corp-news__important-label{
	flex:none;
	width:140px;
	margin:0;
	color:var(--color-corp-accent);
	font-size:18px;
	font-weight:700;
}
.corp-news__important-rows{
	flex:1;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:14px;
}
.corp-news__important-row{
	display:flex;
	align-items:baseline;
	gap:20px;
	margin:0;
	padding:0;
}
.corp-news__date{
	flex:none;
	width:72px;
	color:var(--color-corp-text);
	font-size:14px;
}
.corp-news__important-row a{
	color:var(--color-corp-text);
	font-size:14px;
	text-decoration:none;
}
.corp-news__list{
	margin:16px 0 0;
	list-style:none;
	padding:0;
}
.corp-news__list li{
	display:flex;
	align-items:center;
	gap:20px;
	padding:14px 0;
	border-bottom:1px solid #ddd;
}
.corp-news__list-meta{
	display:flex;
	align-items:center;
	gap:20px;
}
.corp-news__tag{
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	width:112px;
	height:26px;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:14px;
	font-weight:700;
	border-radius:999px;
}
.corp-news__list a{
	color:var(--color-corp-text);
	font-size:14px;
	text-decoration:none;
}

/* ============================================================
   よくあるご質問（FAQ）
   ============================================================ */
.corp-faq{
	padding:100px 0;
	background:var(--color-corp-bg-card);
}
.corp-faq__inner{
	display:flex;
	align-items:flex-start;
	gap:20px;
}
.corp-faq__head{
	width:300px;
	flex:none;
}
.corp-faq__ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:40px;
	font-weight:700;
	line-height:1.2;
}
.corp-faq__ttl-en{
	display:block;
	margin:8px 0 0;
	color:var(--color-corp-primary);
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
}
.corp-faq__btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:180px;
	height:56px;
	margin:30px 0 0;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:16px;
	font-weight:700;
	text-decoration:none;
	border-radius:999px;
	box-sizing:border-box;
}
.corp-faq__btn-arrow{
	position:absolute;
	right:24px;
	top:50%;
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-faq__body{
	width:780px;
}
.corp-faq__list{
	width:100%;
	margin:0;
	list-style:none;
	padding:0;
}
.faq-item{
	margin:0 0 20px;
	background:#fff;
	border-radius:8px;
	box-shadow:0 4px 15px rgba(0,0,0,.1);
}
.faq-item:last-child{
	margin-bottom:0;
}
.faq-item__q{
	position:relative;
	display:flex;
	align-items:center;
	gap:20px;
	padding:20px 70px 20px 30px;
	margin:0;
	cursor:pointer;
	font-size:18px;
	font-weight:700;
	line-height: 1.4;
}
.faq-item__q .faq-item__mark{
	flex:none;
	display:block;
	width:28px;
	color:var(--color-corp-primary);
	font-size:36px;
	font-weight:500;
}
.faq-item__toggle{
	position:absolute;
	right:30px;
	top:50%;
	width:32px;
	height:32px;
	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:15px;
	top:9px;
	width:2px;
	height:14px;
}
.faq-item__toggle:after{
	left:9px;
	top:15px;
	width:14px;
	height:2px;
}
.faq-item.is-open .faq-item__toggle:before{
	display:none;
}
.faq-item__a{
	display:none;
	padding:0 30px 24px 30px;
}
.faq-item__a-row{
	display:flex;
	align-items:flex-start;
	gap:20px;
}
.faq-item__a-row .faq-item__mark{
	flex:none;
	display:block;
	width:28px;
	color:var(--color-corp-accent);
	font-size:36px;
	font-weight:500;
}
.faq-item__a-row p{
	margin:0;
	font-size:16px;
	line-height:1.5;
}

/* ============================================================
   その他（会社概要／環境への取り組み／低圧販売代理店募集）
   ============================================================ */
.corp-other{
	padding:100px 0;
	background:#fff url('../../images/corp/bg_other_deco.png') no-repeat center center/cover;
}
.corp-other__list{
	display:flex;
	gap:40px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-other__item{
	position:relative;
	width:340px;
	box-sizing:border-box;
	text-decoration:none;
	display:block;
}
.corp-other__item-photo{
	height:340px;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 4px 15px rgba(0,0,0,.15);
}
.corp-other__item-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}
.corp-other__item:hover{
	opacity:1;
}
.corp-other__item:hover .corp-other__item-photo img{
	transform:scale(1.1);
}
.corp-other__item:hover .corp-other__item-ttl{
	color:var(--color-corp-secondary);
}
.corp-other__item-body{
	padding:30px 0 0;
	background:transparent;
	text-align:center;
}
.corp-other__item-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:24px;
	font-weight:700;
	text-align:center;
	transition:color .4s ease;
}
.corp-other__item-text{
	margin:20px auto 0;
	color:var(--color-corp-text);
	font-size:16px;
	line-height:1.6;
	text-align:left;
	display: inline-block;
	width: 80%;
}

/* ============================================================
   フッターCTA
   ============================================================ */
.corp-footer-cta{
	padding:60px 0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	text-align:center;
}
.corp-footer-cta .content-inner{
	text-align: center;
}
.corp-footer-cta__ttl{
	margin:0;
	color:#fff;
	font-size:30px;
	font-weight:700;
}
.corp-footer-cta__ttl-mark{
	color:var(--color-corp-yellow);
}
.corp-footer-cta__lead{
	margin:14px 0 0;
	color:#fff;
	font-size:18px;
	font-weight:700;
}
.corp-footer-cta__list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px 21px;
	width:1100px;
	margin:50px auto 0;
	list-style:none;
	padding:0;
}
.corp-footer-cta__list a:hover{
	opacity: 1;
}
.corp-footer-cta__btn,
.corp-footer-cta__tel{
	display:flex;
	align-items:center;
	gap:16px;
	height:97px;
	box-sizing:border-box;
	padding:0 30px;
	border:2px solid #fff;
	border-radius:8px;
	background:#fff;
	color:var(--color-corp-primary);
	font-size:24px;
	font-weight:700;
	line-height:1.2;
	text-decoration:none;
	transition:background-color .3s ease, color .3s ease;
}
.corp-footer-cta__icon{
	display:block;
	flex:none;
	width:40px;
	height:auto;
	transition:filter .3s ease;
}
.corp-footer-cta__arrow{
	display:block;
	flex:none;
	width:10px;
	height:10px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:rotate(45deg);
	margin-left:auto;
}
.corp-footer-cta__consult{
	border-width:4px;
	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:15px;
	font-weight:700;
	line-height:1.4;
}
.corp-footer-cta__tel-numwrap{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:2px;
}
.corp-footer-cta__tel-num{
	font-size:36px;
	font-weight:700;
	line-height:1.1;
	font-family:"Lato",sans-serif;
	color:inherit;
	text-decoration:none;
}
.corp-footer-cta__tel-hours{
	font-size:14px;
	font-weight:700;
	line-height:1.1;
}

/* ============================================================
   フッター
   ============================================================ */
#footer{
	padding:60px 0 0;
	background:var(--color-corp-bg-card);
}
.corp-footer__top{
	display:flex;
	gap:60px;
	margin:40px 0 0;
}
.corp-footer__brand{
	width:246px;
	flex:none;
	line-height: 1.2;
}
.corp-footer__brand-mark{
	display:block;
	width:200px;
	height:auto;
}
.corp-footer__brand-logo{
	display:block;
	margin:5px 0 0;
	padding:8px 12px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--color-corp-primary),var(--color-corp-secondary));
	color:#fff;
	font-size:13px;
	font-weight:700;
	line-height:1;
	text-align:center;
	white-space:nowrap;
	width:200px;
	box-sizing:border-box;
}
.corp-footer__brand-idex{
	display:block;
	margin:16px 0 0;
	width:135px;
	height:auto;
}
.corp-footer__brand-name{
	margin:16px 0 0;
	font-size:16px;
}
.corp-footer__brand-addr{
	margin:8px 0 0;
	font-size:13px;
	line-height:1.6;
}
.corp-footer__brand-tel{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	display:block;
}
.corp-footer__brand-hours{
	margin:0;
	font-size:13px;
	font-weight:700;
}
.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:50px;
	box-sizing:border-box;
	border-radius:12px;
	color:#fff;
	font-size:16px;
	font-weight:700;
	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;
	flex:1;
	line-height: 1.3;
}
.corp-footer__nav{
	display:flex;
	gap:40px;
}
.corp-footer__nav-col{
	flex:1;
}
.corp-footer__nav-group{
	margin:0 0 30px;
}
.corp-footer__nav-ttl{
	/* サービス／ご利用サポート／企業情報／パートナー向けはリンク遷移なし（テキストのみ）の
	   仕様のため、<a>の有無に関わらず同じ見た目になるよう、文字装飾は.corp-footer__nav-ttl
	   自体に指定し、<a>がある場合（ホーム／高圧・特別高圧／個人のお客さまサイトへ）は
	   color:inheritで揃える */
	margin:0 0 12px;
	color:var(--color-corp-primary);
	font-size:17px;
	font-weight:700;
}
.corp-footer__nav-group ul{
	list-style:none;
	margin:0;
	padding:0;
}
.corp-footer__nav-group li{
	margin:0 0 8px;
}
.corp-footer__nav-group a{
	color:var(--color-corp-text);
	font-size:13px;
	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;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	margin:0;
	padding:30px 60px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 4px 15px rgba(0,0,0,.05);
}
.corp-footer__contract-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:20px;
	font-weight:700;
}
.corp-footer__contract-text{
	margin:12px 0 0;
	font-size:16px;
	font-weight:700;
}
.corp-footer__contract-btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:340px;
	height:91px;
	flex:none;
	box-sizing:border-box;
	background:var(--color-corp-primary);
	color:#fff;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	border-radius:8px;
}
.corp-footer__contract-btn-icon{
	display:block;
	position:absolute;
	left:25px;
	top:50%;
	transform:translateY(-50%);
	width:40px;
	height:auto;
}
.corp-footer__contract-btn-arrow{
	display:block;
	position:absolute;
	right:18px;
	top:50%;
	width:13px;
	height:13px;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	transform:translateY(-50%) rotate(45deg);
}
.corp-footer__area{
	display:flex;
	align-items:center;
	gap:40px;
	justify-content:flex-start;
	margin:40px 0 0;
	padding:20px 40px;
	background:#fff;
	border-radius:80px;
}
.corp-footer__area-ttl{
	margin:0;
	color:var(--color-corp-primary);
	font-size:17px;
	font-weight:700;
}
.corp-footer__area-list{
	display:flex;
	gap:30px;
	list-style:none;
	margin:0;
	padding:0;
}
.corp-footer__area-list a{
	color:var(--color-corp-text);
	font-size:14px;
	text-decoration:none;
}
.corp-footer__legal{
	margin:40px 0 0;
	padding:20px 0;
	background:var(--color-corp-bg-legal);
}
.corp-footer__sub{
	margin:0 auto;
	text-align:center;
}
.corp-footer__sub a{
	color:var(--color-corp-text);
	font-size:12px;
	text-decoration:none;
}
.corp-footer__copyright{
	display:block;
	margin:0;
	padding:20px 0 100px;
	background:#fff;
	font-size:13px;
	font-style:normal;
	text-align:center;
}
.link-blank{
	background:url(../../images/icon_blank.png) right center no-repeat;
	background-size:19px auto;
	padding-right:22px;
}

/* ============================================================
   固定フローティングCTA（PC・スクロール後に表示）
   ============================================================ */
.corp-fixed-cta{
	position:fixed;
	right:88px;
	bottom:20px;
	z-index:900;
	display:flex;
	align-items:center;
	gap:8px;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:.3s ease-in-out;
}
.corp-fixed-cta.is-visible{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
.corp-fixed-cta a{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	height:60px;
	color:#fff;
	font-size:16px;
	font-weight:700;
	text-decoration:none;
	background:var(--color-corp-primary);
	border-radius:8px;
	box-shadow:0 4px 10px rgba(0,0,0,.2);
}
.corp-fixed-cta__apply{
	width:260px;
}
.corp-fixed-cta__dl{
	width:270px;
}

/* ============================================================
   ページトップへ戻るボタン（common.jsのスクロール制御をそのまま流用）
   ============================================================ */
.pagetop{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:800;
	display:none;
	cursor:pointer;
}
.pagetop span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:60px;
	border-radius:50%;
	background:url(../../images/corp/icon_pagetop.png) center center / cover no-repeat;
	box-shadow:0 3px 10px rgba(0,0,0,.2);
	color:#fff;
	font-size:0;
	text-align:center;
}


/* ============================================================
   特典・サービス（/benefit/service/）専用スタイル（PC／共通）
   ============================================================ */
:root{
	--color-benefit-red:#e8022c;
	--color-benefit-blue:#0560ab;
}
.corp-benefit{
	padding:80px 0 100px;
}
.corp-benefit__heading{
	margin:0 0 50px;
	text-align:center;
}
.corp-benefit__heading-row{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:20px;
	margin:0 0 14px;
}
.corp-benefit__heading-mascot{
	width:343px;
	flex-shrink:0;
	vertical-align: bottom;
}
.corp-benefit__heading-tag{
	margin:0;
	padding:8px 20px;
	background:var(--color-benefit-red);
	border-radius:6px;
	color:#fff;
	font-size:18px;
	font-weight:700;
	white-space:nowrap;
}
.corp-benefit__heading-note{
	margin:0 0 -2em;
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
	vertical-align: bottom;
	display: inline-block;
}
.corp-benefit__heading-ttl{
	margin:0;
	font-size:80px;
	font-weight:900;
	line-height:1.3;
}
.corp-benefit__heading-ttl-blue{
	color:var(--color-benefit-blue);
}
.corp-benefit__heading-ttl-red{
	margin-left:.15em;
	color:var(--color-benefit-red);
}
.corp-benefit__heading-lead{
	margin:14px 0 0;
	color:var(--color-corp-text);
	font-size:20px;
	font-weight:700;
}
.corp-benefit__panel{
	position:relative;
	padding:56px 60px 70px;
	background:linear-gradient(135deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 100%);
	border-radius:10px;
	box-shadow:0 8px 15px rgba(0,0,0,.2);
	text-align:center;
}
.corp-benefit__panel-ttl{
	margin:0;
	color:#fff;
	font-size:36px;
	font-weight:700;
	line-height:1.5;
}
.corp-benefit__panel-ttl span{
	color:var(--color-corp-yellow);
	font-size:52px;
}
.corp-benefit__panel-desc{
	display:inline-block;
	margin:20px auto 0;
	padding:14px 40px;
	background:#fff;
	border-radius:999px;
	color:var(--color-benefit-blue);
	font-size:20px;
	font-weight:700;
}
.corp-benefit__cards{
	margin:36px 0 0;
}
.corp-benefit__cards img{
	width:640px;
	max-width:100%;
}
.corp-benefit__combo{
	margin:-30px 0 10px;
}
.corp-benefit__combo2{
	margin:10px 0 -40px;
	position: relative;
	z-index: 2;
}
.corp-benefit__combo-icon{
	width:50px;
	height:50px;
}
.corp-benefit__logo-badge img{
	width:250px;
}
.corp-benefit__result{
	position:relative;
	max-width:960px;
	margin:16px auto 0;
	padding:36px 260px 36px 56px;
	background:#fff;
	border-radius:20px;
	box-shadow:0 8px 15px rgba(0,0,0,.2);
	text-align:left;
	overflow:hidden;
}
.corp-benefit__result-ttl{
	display:flex;
	align-items:center;
	gap:16px;
	margin:0;
	color:var(--color-benefit-red);
	font-size:58px;
	font-weight:700;
}
.corp-benefit__result-ttl-icon{
	width:82px;
}
.corp-benefit__result-msg{
	display:inline-block;
	margin:16px 0 0;
	padding:12px 30px;
	background:var(--color-corp-primary);
	border-radius:4px;
	color:#fff;
	font-size:26px;
	font-weight:700;
	text-align:center;
	white-space:nowrap;
}
.corp-benefit__result-msg span{
	color:var(--color-corp-yellow);
	font-size:26px;
}
.corp-benefit__result-note{
	margin:10px 0 0;
	color:#666;
	font-size:12px;
	font-weight:700;
}
.corp-benefit__result-example{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:700;
	line-height:1.4;
	display: flex;
}
.corp-benefit__result-example-tag{
	line-height: 1.3;
	margin:5px 15px 5px 5px;
	padding:10px 24px;
	background:#2d2d2d;
	border-radius:999px;
	color:#fff;
	font-size:18px;
	line-height:1.2;
	vertical-align:middle;
}
.corp-benefit__result-mascot{
	position:absolute;
	right:40px;
	bottom:10%;
	width:190px;
}
.corp-benefit__terms{
	margin:40px 0 0;
	color:#fff;
	text-align:left;
}
.corp-benefit__terms-ttl{
	margin:0 0 12px;
	font-size:18px;
	font-weight:700;
}
.corp-benefit__terms-list{
	margin:0;
	padding:0;
	list-style:none;
}
.corp-benefit__terms-list li{
	position:relative;
	margin:0 0 4px;
	padding:0 0 0 1.1em;
	font-size:14px;
	line-height:1.8;
}
.corp-benefit__terms-list li::before{
	content:"●";
	position:absolute;
	left:0;
	top:0.25em;
	font-size:.75em;
}


/* ============================================================
   事務サポート（/corp/support/）専用スタイル（PC／共通）
   ============================================================ */
.corp-support{
	padding:60px 0 100px;
}
.corp-support__lead{
	margin:0 0 40px;
	color:var(--color-corp-text);
	font-size:18px;
	font-weight:700;
	line-height:1.7;
	text-align:center;
}
.corp-support__card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	margin:0 0 30px;
	padding:50px 60px;
	background:var(--color-corp-bg-card);
	border-radius:8px;
}
.corp-support__card:last-child{
	margin-bottom:0;
}
.corp-support__card-body{
	max-width:635px;
}
.corp-support__card-ttl{
	margin:0;
	background:linear-gradient(90deg,var(--color-corp-primary) 0%,var(--color-corp-secondary) 60%);
	background-clip:text;
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	color:var(--color-corp-primary);
	font-size:36px;
	font-weight:700;
	line-height:1.35;
}
.corp-support__card-text{
	margin:16px 0 0;
	color:var(--color-corp-text);
	font-size:16px;
	font-weight:700;
	line-height:1.85;
}
.corp-support__card-icon{
	flex-shrink:0;
	width:142px;
	margin-right: 6%;
}
.corp-support__card-icon--bundle{
	width:128px;
}
