/* 画面の横幅が767pxまで Landscape phones and down
------------------------------------------------------------ */
@media (max-width: 767px) {
:root{
	/* 画面下固定の申し込みバー（.sp-menu__bottom）の高さ。本体分と被らないよう、
	   bodyの下余白や.pagetopの位置調整はこの値を基準にする（編集のしやすさ優先） */
	--sp-bottom-bar-h:120px;
}
.PC{
	display:none;
}
.SP{
	display:block;
}
.PC-inline{
	display:none;
}
.SP-inline{
	display:inline;
}

a{
	outline:none;
}
a:hover{
	opacity:1;
}

/* コンテンツ基本
------------------------------------------------------------ */
body{
	font-size:var(--fs-base);
	-webkit-text-size-adjust:100%;
	width:100%;
	min-width:100%;
	padding-bottom:var(--sp-bottom-bar-h);
}

/*コンテンツ幅*/
.content-inner,
.content-inner[class]{
	width:92%;
	margin:0 auto;
	text-align:left;
}
.content-innerS,
.content-innerS[class]{
	width:90%;
	margin:0 auto;
	text-align:left;
}

/* flex 凡庸
--------------------------------------------*/
.flex-block{
	display:flex;
	gap:20px;
}
.flex-cell2 .flexbox{
	flex:50%;
}
.flex-cell3 .flexbox{
	flex:33.3333%;
}
.flex-cell4 .flexbox{
	flex:25%;
}
.flex-cell5 .flexbox{
	flex:20%;
}

/*折り返し*/
.flex-wrap{
	display:flex;
	flex-wrap:wrap;
	gap:20px 20px;
}
.flex-wrap.flex-cell2 .flexbox{
	width:calc((100% - 20px) / 2);
}
.flex-wrap.flex-cell3 .flexbox{
	width:calc((100% - 20px * 2) / 3);
}
.flex-wrap.flex-cell4 .flexbox{
	width:calc((100% - 20px * 3) / 4);
}
.flex-wrap.flex-cell5 .flexbox{
	width:calc((100% - 20px * 4) / 5);
}
.content-full-inner{
	width:100%;
}

/* セクションごとに実寸へ上書きしていた幅指定をSPでは解除 */
.header__inner,
.model-case__inner,
.flow__inner,
.news__inner,
.faq__inner{
	width:92%;
}

/* 汎用パーツ：見出し（PCより縮小）
------------------------------------------------------------ */
.sec-ttl{
	font-size:var(--fs-title);
	line-height:1.5;
	margin:0 0 24px;
}
.sec-ttl img{
	display:block;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
}

.sec-ttl--wave:before,
.sec-ttl--wave:after{
	top:inherit;
	width:30px;
	height:50px;
	bottom:0;
}
.sec-ttl--wave:before{
	left:0;
	background:url(../images/txt_left.png) left center no-repeat;
	background-size:30px auto;
}
.sec-ttl--wave:after{
	right:0;
	background:url(../images/txt_right.png) right center no-repeat;
	background-size:30px auto;
}

.badge-pill{
	margin-bottom:10px;
}

.ornament{
	padding:0 40px;
	line-height:1.4;
}
.ornament:before,
.ornament:after{
	content:"";
	position:absolute;
	top:0;
	bottom:4px;
	width:30px;
	height:50px;
}
.ornament:before{
	left:0;
	background:url(../images/txt_left.png) left center no-repeat;
	background-size:30px auto;
}
.ornament:after{
	right:0;
	background:url(../images/txt_right.png) right center no-repeat;
	background-size:30px auto;
}

/* 汎用パーツ：矢印アイコン（PCの約80%に縮小）
------------------------------------------------------------ */
.ico-arrow-circle{
	width:21px;
	height:21px;
}
.ico-arrow-circle:before{
	border-width:4px 0 4px 5.6px;
}

.btn-round{
	min-width:inherit;
	height: auto;
	padding:15px 15px 15px 15px;
}
.btn-round:after{
	border-width:5.6px 0 5.6px 8.8px;
	right: 12px;
}

.btn-round--sm{
	padding:5px 40px 5px 24px;
}


.btn-cta{
	border-radius:6px;
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}
.btn-cta:after{
	border-width:4.8px 0 4.8px 8px;
}
.link-round:after{
	width:16px;
	height:16px;
}
.link-round:before{
	right:4.2px;
	border-width:3.6px 0 3.6px 5.6px;
}


/**/
.link-arrow{
	padding-right: 20px;
}
.link-arrow:before{
	right:5.3px;
	top:50%;
	border-width:5px 0 5px 7px;
	border-color:transparent transparent transparent var(--color-navy);
}

/* ヘッダー
------------------------------------------------------------ */
#header{
	position:sticky;
	top:0;
	z-index:1020;
	width:100%;
	left:0;
	border-bottom:solid #dcdcdc 1px;
	background-color:#fff;
}
.header__inner{
	flex-wrap:wrap;
	box-sizing:border-box;
}
.header__inner--full{
	width:auto;
	padding:0;
	flex-wrap:nowrap;
	margin-left:12px;
	margin-right:12px;
	justify-content:space-between;
}
.header__top{
	position:relative;
	z-index:1040;
	padding:10px 0;
	background-color:#fff;
}
.header__brand{
	flex:1;
	min-width:0;
}
.header__tagline{
	font-size:9px;
	margin:0 0 6px;
	display:block !important;
	line-height:1.3;
	overflow-wrap:break-word;
}
.header__logo img{
	width:130px !important;
	height:auto;
}
.header__side{
	display:flex;
	align-items:stretch;
	gap:6px;
	flex:none;
}
.header__utility{
	display:none;
}
.header__buttons{
	display:flex;
	gap:6px;
}
.header__buttons-item{
	display:none;
}
.header__buttons-item:first-child{
	display:block;
}
.btn-header{
	gap:4px;
	width:58px;
	height:58px;
	padding:0;
	font-size:var(--fs-sup);
	white-space:nowrap;
}
/* 追従時もSPのボタンデザインはPC用のコンパクト表示に切り替えない
   （font-sizeは隣接する#menuBtnの.menu-btn__labelと同じ--fs-supに統一し、
   通常時／追従時でサイズが変化しないようにする） */
#header.is-fixed .btn-header{
	height:58px;
	gap:4px;
	width:58px;
	padding:0;
	font-size:var(--fs-sup);
}
#header.is-fixed .btn-header:not(.btn-header--primary):not(.btn-header--pink){
	flex-direction:column;
	width:58px;
	min-width:0;
	padding:0;
}
#header.is-fixed .btn-header--primary,
#header.is-fixed .btn-header--pink{
	height:58px;
	min-width:180px;
	padding:0 20px;
}
#header.is-fixed .btn-header--pink{
	min-width:194px;
}
#header.is-fixed .btn-header--primary .btn-header__ico,
#header.is-fixed .btn-header--pink .btn-header__ico{
	display:block;
}
.header__gnav{
	border-top:none;
}

/* ナビ部分（ハンバーガー／メニューボタン）
------------------------------------------------------------ */
#shadows{
	display:none;
	position:fixed;
	width:100%;
	height:120%;
	top:0;
	left:0;
	background-color:#000;
	opacity:0.6;
	z-index:1001;
}

#menuBtn{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	flex:none;
	width:58px;
	height:58px;
	background:var(--color-primary);
	border:2px solid transparent;
	border-radius:8px;
	cursor:pointer;
}
.menu-btn__label{
	color:#fff;
	font-size:var(--fs-sup);
	font-weight:700;
	line-height:1;
	white-space:nowrap;
}
/* メニュー展開中：既存の「閉じる」ボタン（枠線＋ネイビー文字）と同じ見た目に切り替える */
#menuBtn.open{
	background:#fff;
	border-color:var(--color-navy);
}
#menuBtn.open .menu-btn__label{
	color:var(--color-navy);
}

/* メニュー展開中はヘッダーのマイページボタンを隠し、閉じるボタンのみにする */
#header:has(#menuBtn.open) .header__buttons-item:first-child{
	display:none;
}

#panel-btn{
	display:block;
	position:relative;
	width:24px;
	height:20px;
}

#panel-btn-icon{
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	width:22px;
	height:2px;
	margin:-1px 0 0 -11px;
	background:#fff;
	transition:.2s;
}
#panel-btn-icon:before,
#panel-btn-icon:after{
	display:block;
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	height:2px;
	background:#fff;
	transition:.3s;
}
#panel-btn-icon:before{
	margin-top:-6px;
}
#panel-btn-icon:after{
	margin-top:4px;
}

#menuBtn.open #panel-btn-icon{
	background:transparent;
}
#menuBtn.open #panel-btn-icon:before,
#menuBtn.open #panel-btn-icon:after{
	background:var(--color-navy);
	margin-top:0;
}
#menuBtn.open #panel-btn-icon:before{
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
}
#menuBtn.open #panel-btn-icon:after{
	transform:rotate(-135deg);
	-webkit-transform:rotate(-135deg);
}

#navi{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	background-color:#fff;
	z-index:1030;
}

/* SPフルスクリーンメニュー（.sp-menu）
------------------------------------------------------------ */
.sp-menu{
	background-color:var(--color-bg-gray);
}

.sp-menu__cta{
	padding:20px 4% 20px;
	background-color: #fff;
}
.sp-menu__cta-list{
	flex-direction:column;
	gap:12px;
	margin-bottom:12px;
}
.sp-menu__cta-list .quick-cta__item{
	width:100%;
	text-align:left;
}
.sp-menu__cta-list .quick-cta__item a{
	height:64px;
	padding:0 20px;
	border-radius: 6px;
	box-shadow:inherit;
}

.sp-menu__cta-list .quick-cta__item.quick-cta__item--blue{
	width:100%;
}
.sp-menu__outline-row{
	display:flex;
	gap:10px;
}
.sp-outline-btn{
	display:flex;
	flex:1;
	align-items:center;
	gap:6px;
	height:64px;
	padding:0 10px;
	border:2px solid var(--color-navy);
	border-radius:6px;
	background:#fff;
	color:var(--color-navy);
	font-size:var(--fs-base);
	font-weight:700;
	white-space:nowrap;
}
.sp-outline-btn__label{
	flex:1;
}
.sp-outline-btn .ico-arrow-circle{
	width:21px;
	height:21px;
	flex:none;
}

.sp-nav{
	list-style:none;
	margin:0;
	padding:0 0 20px;
	background-color:#fff;
}

.sp-nav__item--plain > a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px 4%;
	color:var(--color-text);
	font-size:var(--fs-base);
	font-weight:700;
	text-decoration:none;
}
.sp-nav__arrow{
	position:relative;
	flex:none;
	width:26px;
	height:26px;
	border-radius:50%;
	background:var(--color-navy);
}
.sp-nav__arrow:before{
	content:"";
	position:absolute;
	top:50%;
	left:45%;
	width:7px;
	height:7px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:translate(-50%,-50%) rotate(-45deg);
}
.sp-nav__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:12px 4%;
	color:var(--color-text);
	font-size:var(--fs-lead-sp);
	font-weight:700;
	cursor:pointer;
}
.sp-nav__toggle{
	position:relative;
	flex:none;
	width:26px;
	height:26px;
	border-radius:50%;
	background:var(--color-navy);
}
.sp-nav__toggle:before{
	content:"";
	position:absolute;
	top:45%;
	left:50%;
	width:7px;
	height:7px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:translate(-50%,-50%) rotate(45deg);
}
.sp-nav__item--accordion.is-open .sp-nav__toggle:before{
	top:55%;
	transform:translate(-50%,-50%) rotate(-135deg);
}
.sp-nav__sub{
	display:none;
	list-style:none;
	margin:0;
	padding:0 4% 12px;
}
.sp-nav__sub li{
	text-align:left;
}
.sp-nav__sub li:first-child{
	border-top:none;
}
.sp-nav__sub li a{
	position:relative;
	display:block;
	padding:10px 24px 10px 6%;
	color:var(--color-text);
	font-size:14px;
	text-decoration:none;
}
.sp-nav__sub li a:after{
	content:"";
	position:absolute;
	top:50%;
	right:10px;
	width:6px;
	height:6px;
	border-right:2px solid var(--color-navy);
	border-bottom:2px solid var(--color-navy);
	transform:translateY(-50%) rotate(-45deg);
}
.sp-nav__sub--grid{
	overflow:hidden;
}
.sp-nav__sub--grid li{
	float:left;
	width:40%;
	margin-right:10%;
	box-sizing:border-box;
}
.sp-nav__sub--grid li:nth-child(-n+2){
	border-top:none;
}
.sp-nav__sub--grid li:nth-child(even){
	margin-right:0;
	margin-left:10%;
}
.sp-nav__sub-item--indent a{
	padding-left:9%;
}

.sp-menu__totop{
	display:flex;
	align-items:center;
	gap:8px;
	margin:16px 4% 16px auto;
	padding:0;
	border:none;
	background:none;
	color:var(--color-navy);
	font-size:var(--fs-base);
	font-weight:700;
	/**/
	display: none;
}
.sp-menu__totop-ico{
	position:relative;
	width:32px;
	height:32px;
	border-radius:50%;
	background:var(--color-navy);
	flex:none;
}
.sp-menu__totop-ico:before{
	content:"";
	position:absolute;
	top:55%;
	left:50%;
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-left:2px solid #fff;
	transform:translate(-50%,-50%) rotate(45deg);
}

.sp-menu__bottom{
	position:fixed;
	left:0;
	bottom:0;
	width:100%;
	z-index:900;
	background:#fff;
	padding:14px 4% 18px;
	box-shadow:0 -2px 10px rgba(0,0,0,.08);
	box-sizing:border-box;
}
.sp-menu__bottom-ttl{
	margin:0 0 10px;
	text-align:center;
	font-size:var(--fs-base-s);
	font-weight:700;
	color:var(--color-navy);
}
.sp-menu__bottom-list{
	display:flex;
	gap:8px;
}
.sp-bottom-btn{
	display:flex;
	flex:1;
	align-items:center;
	justify-content:center;
	gap:6px;
	height:56px;
	border-radius:8px;
	color:#fff;
	font-size:var(--fs-base);
	font-weight:700;
	text-align:center;
	line-height:1.3;
	text-decoration:none;
}
.sp-bottom-btn--blue{
	background:var(--color-primary);
}
.sp-bottom-btn--green{
	background:var(--color-green);
}
.sp-bottom-btn--tel{
	background:#fff;
	border:2px solid var(--color-navy);
	color:var(--color-navy);
	flex-direction:column;
	gap:2px;
	font-size:var(--fs-base-s);
}

/* ==================== main slider ==================== */
.main-slider{
	--slide-gap:5px;
}
.main-slider__arrow{
	width:30px;
	height:30px;
	margin-top:-18px;
}
.main-slider__arrow:before{
	content:"";
	position:absolute;
	width:10px;
	height:10px;
	border-top:2px solid var(--color-primary);
	border-right:2px solid var(--color-primary);
}
.main-slider__arrow--prev{
	left:4%;
}
.main-slider__arrow--next{
	right:4%;
}

/* ==================== quick cta ==================== */
.quick-cta{
	margin-top:30px;
}
.quick-cta__list{
	gap:10px;
	flex-wrap:wrap;
}
.quick-cta__item{
	width:100%;
}
.quick-cta__item.quick-cta__item--blue,
.quick-cta__item.quick-cta__item--green{
	width:calc(( 100% - 10px )/2);
}

.quick-cta__item a{
	gap:12px;
	height:64px;
	padding:0 10px 0 10px;
	border-radius:6px;
	box-shadow:0 5px 0px rgba(0,0,0,.12);
}
.quick-cta__item a:hover{
	bottom:0;
	box-shadow:0 5px 0px rgba(0,0,0,.12);
}
.quick-cta__item a .ico-arrow-circle{
	right:10px;
	width:18px;
	height:18px;
}


.quick-cta__item--pink a .quick-cta__label{
	font-size:var(--fs-label-s);
}

.quick-cta__ico{
	width:36px;
	height:36px;
}
.quick-cta__label{
	font-size:var(--fs-utility-btn-sp);
	margin-left:-0.3em;
}
.sp-menu .quick-cta__label{
	font-size:var(--fs-label-s);
}

/* ==================== 選ばれる理由 ==================== */
.reason{
	padding-top:40px;
}

.feature4{
	background:url(../images/bg_blue.jpg) center bottom no-repeat;
	background-size:150% 90%;
	padding-bottom:50px;
}

.feature4__list{
	flex-wrap:wrap;
	gap:8px;
	padding-left: 12px;
	padding-right: 12px;
}
.feature4__item{
	width:calc(50% - 8px);
	margin-bottom:20px;
}
.feature4__img{
	margin:0 0 10px;
	padding:10px 15px !important;
	border-radius: 6px;
	height:auto;
}

.feature4__img img{
	max-height:inherit;
	width:auto;
}

.feature4__badge{
	font-size:var(--fs-body-text-sp);
	margin-left: -8px;
	margin-right: -8px;
}

.reason__note{
	margin:0px auto 0;
	text-align:right;
}

.promo{
	padding:10px 0 0;
	margin-bottom:15px;
}
.promo__inner{
	padding:30px 20px;
	text-align:center !important;
}
.promo__mascot{
	margin:0 auto -30px auto;
	width:150px;
}
.promo__badge{
	padding:4px 14px;
	font-size:var(--fs-label-l);
	margin-top:16px;
}
.promo__eyebrow{
	font-size:var(--fs-subtitle-sp);
	line-height:1.4;
}
.promo__lead2{
	font-size:var(--fs-body-text-sp);
	margin-top:10px;
}
.promo__catch-num{
	font-size:var(--fs-large-l);
}

.promo__catch--point{
	margin-top:0px;
	line-height:1.5;
}
.promo__catch-num--sm{
	font-size:70px !important;
	font-weight:700;
}
.promo__catch-num--sm i{
	font-weight:700;
}
.promo--point .promo__catch-text{
	font-weight:700;
	line-height:1.2;
}
.promo__catch--point img{
	margin-bottom:-0.2em;
}
/* ガソリン特典「いつでも給油が5円引き」: 黄色塗り＋ピンク縁取りの吹き出し文字 */
.promo--gasoline .promo__catch{
	display:block;
	margin-top:10px;
	line-height:1.1;
}

.promo--gasoline .promo__catch-text{
	font-size:var(--fs-label-xl);
	display:block;
	font-weight:700;
	line-height:1.2;
}
.promo--gasoline .promo__catch-num{
	font-size:65px;
	-webkit-text-stroke-width:6px;
}
.promo--gasoline .promo__catch-suffix{
	font-size:45px;
	-webkit-text-stroke-width:6px;
}

.promo__lead{
	font-size:var(--fs-lead-sp);
	margin:0 0 20px;
}

.promo--point .promo__catch-text{
	font-size:var(--fs-l);
}
.promo__catch--point img{
	width: 60px;
}

.promo--point .promo__lead{
	font-size:var(--fs-lead-sp);
	font-weight:500;
	margin-top:10px;
}
.promo__illust{
	gap:2%;
	margin-top:20px;
	width:70%;
	margin-left:auto;
	margin-right:auto;
}
.promo__illust img{
	width:auto;
	height:auto;
}
.promo__illust img:nth-child(1){
	max-width:30%;
}
.promo__illust img:nth-child(2){
	max-width:20%;
}
.promo__illust img:nth-child(3){
	max-width:40%;
}

.promo__action{
	margin:0;
	text-align:center;
	margin-bottom:0px;
}
.point-box-list{
	gap:15px;
	margin-bottom:40px;
}
.point-box--wide,
.point-box--narrow{
	width:100%;
	box-sizing:border-box;
}


.point-box__card{
	margin:0 0 15px;
	padding: 20px 10px;
	border-radius:6px;
}
.point-box__btn{
	width:90%;
	height:24px;
	margin-top:16px;
}
.point-box__btn:after{
	content:"";
	width:10px;
	height:10px;
	margin-top:-5px;
}
.promo--point .point-box__note{
	text-align:left;
	line-height:1.3;
}

/* ==================== 料金プラン ==================== */
.plan{
	padding:50px 0 0;
}
.plan.page-plan{
	padding-top: 30px;
}
.plan__list{
	flex-direction:column;
	gap:20px;
	padding-left: 15px;
	padding-right: 15px;
}
.plan-card{
	width:100%;
}

.plan-card__name{
	font-size:var(--fs-large-sp);
	font-weight:700;
	margin-bottom:0;
}
.plan-card__desc{
	margin-bottom:0x;
	padding-bottom:10px;
}

.plan__compare-anchor{
	text-align:center;
}
.plan__compare-anchor .btn-x-circle{
	width:100%;
	height:60px;
	border-radius:14px;
	padding:0 50px 0 20px;
	font-size:var(--fs-m);
	justify-content:center;
	text-align:center;
}

.plan-guide{
	padding-bottom:50px;
}
.plan-guide__ttl{
	margin:0 0 4px;
	font-size:var(--fs-title-sp);
	font-weight:700;
	text-align:center;
}
.plan-guide__sub{
	margin:0 0 20px;
	text-align:center;
}

.plan-guide__list{
	list-style:none;
	margin:0;
	padding:0;
}
.plan-guide__item{
	padding:16px 15px 14px;
	margin-bottom:10px;
}
.plan-guide__item--market{
	background:#f9ecaf;
}
.plan-guide__item--basic{
	background:#e6f8ff;
}
.plan-guide__item--midnight{
	background:#ece9ff;
	margin-bottom:0;
}

.plan-guide__head{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding: 0 0 15px 0;
}
.plan-guide__ico{
	flex:none;
	width:32px;
	height:auto;
	object-fit:contain;
}
.plan-guide__label{
	display: inline-block;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.3;
	text-align:left;
}
.plan-guide__label em{
	font-style: normal;
	font-size: var(--fs-small);
	font-weight: 500;
	display: block;
}
.plan-guide__label strong{
	font-size: var(--fs-m);
	font-weight: 500;
	display: block;
	text-align: center;
}
.plan-guide__note{
	margin:0 0 10px;
	font-size:12px;
	text-align:center;
	color:#666;
}
.plan-guide__equiv{
	margin:0;
	padding:9px 8px;
	background:#fff;
	font-size:11px;
	text-align:center;
	color:#666;
}
@media (min-width:360px) {
	.plan-guide__equiv{
		white-space:nowrap;
	}
}
.plan-guide__result{
	position:relative;
	margin:0;
	padding:15px 12px 12px;
	text-align:center;
	color:#fff;
}
.plan-guide__result:before{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	width:0;
	height:0;
	border-style:solid;
	border-width:8px 7px 0 7px;
	border-color:#fff transparent transparent transparent;
	transform:translateX(-50%);
}
.plan-guide__item--market .plan-guide__result{
	background:#ef7f06;
}
.plan-guide__item--basic .plan-guide__result{
	background:var(--color-primary);
}
.plan-guide__item--midnight .plan-guide__result{
	background:#7757b5;
}
.plan-guide__result-label{
	display:block;
	margin:0 0 2px;
	font-size:12px;
	font-weight:700;
	line-height:1.3;
}
.plan-guide__result-name{
	display:block;
	font-size:21px;
	font-weight:700;
	line-height:1.25;
}

.plan-guide__result-name a{
	color: #fff;
}
.plan-guide__result-name a.link-arrow:before{
	border-color:transparent transparent transparent #fff;
}
.ico-x-circle{
	width:27px;
	height:27px;
}
.ico-x-circle:before{
	border-width:7.2px 4.8px 0 4.8px;
}

/* ==================== モデルケース ==================== */
.model-case{
	padding:40px 0 50px;
}
.model-case__inner{
	text-align:center !important;
}
.example-card{
	padding:10px 15px 5px 15px;
}
.example-card__catch{
	font-size:var(--fs-label-xl);
	flex-wrap:wrap;
	row-gap:4px;
	margin-bottom:10px;
	-webkit-text-stroke-width:5px;
}
.example-card__catch em{
	font-size:40px;
	margin-top:-0.1em;
	margin-left:-0.1em;
}
.example-card__catch em i{
	font-size:var(--fs-label-xl);
}
.example-card__catch img{
	width:30px;
}
.example-card--point .example-card__catch{
	font-size:var(--fs-label-xl);
	-webkit-text-stroke-width:4px;
	line-height:1.2;
	position:relative;
	padding-top:5px;
	padding-bottom:10px;
}
.example-card--point .example-card__catch span,
.example-card--point .example-card__catch em{
	font-size:var(--fs-label-xl);
}

.example-card__sub{
	font-size:var(--fs-base);
	margin:0 0 8px;
	display:block;
}
.example-card__num{
	font-size:var(--fs-large-sp);
	font-weight:700;
	text-align:center;
	line-height:1.3;
}
.example-card__num strong{
	font-weight:700;
}
.example-card__num strong span{
	font-size:var(--fs-label-xl);
}
.example-card__mascot{
	position:static;
	position:absolute;
	right:-5px;
	bottom:-65px;
	display:block;
	margin:10px auto 0;
	width:80px;
}
.example-card--point .example-card__box{
	padding:20px;
}
.example-card--point .example-card__sub{
	text-align:center;
}
.example-card--point .example-card__catch img{
	position:absolute;
	top:5px;
	left:50%;
	margin-left:2.2em;
	width:40px;
}
.example-card__mascot.example-card__mascot--left{
	position:absolute;
	right:inherit;
	left:0;
	bottom:-28px;
	width:70px;
	height:auto;
}

.example-card__note{
	text-align:left;
	line-height:1.4;
	margin-top:8px;
	font-size:var(--fs-base-s);
}
.example-card__note.note-left{
	padding-right:100px;
}

/* ==================== CTA ==================== */
.cta-block{
	padding:30px 0;
	line-height: 1.4;
}
.cta-block__head{
	gap:12px;
	flex-direction:column;
	margin-bottom: 15px;
}
.cta-block__ttl{
	display:block;
	width:100%;
}
.cta-block__ttl-badge{
	padding:4px 15px;
	margin:0 auto 5px;
	font-size:var(--fs-subtitle-sp);
}
.cta-block__ttl-text{
	font-size:var(--fs-title);
}
.cta-block__mascots{
	display:none;
}
.cta-block__mascot{
	width:auto;
	height:56px;
}
.cta-block__list{
	flex-direction:column;
	gap:16px;
}
.cta-card{
	width:100%;
	box-sizing:border-box;
	border-radius: 12px;
	padding:20px 15px;
}

.cta-card__ttl{
	flex-direction:row;
	gap:15px;
	font-size:var(--fs-subtitle-sp);
	justify-content:center;

	margin:0 0 16px;
}
.cta-card__ttl img{
	width:65px;
}
.cta-card__ttl-icons img{
	width:25px;
}
.cta-card__tel-btn{
	font-size:var(--fs-label-xl);
	font-weight:500;
}

/* ==================== No1実績 ==================== */
.achievement{
	padding:50px 0;
}
.achievement__row{
	gap:20px;
	flex-direction:column;
}
.achievement__lead{
	font-size:var(--fs-body-text-sp);
}
.achievement__ttl{
	font-size:var(--fs-label-xl);
	margin-bottom:16px;
}
.achievement__badge{
	gap:6px;
	flex-wrap:wrap;
	justify-content:center;
	width:80%;
}
.achievement__img{
	width:100%;
	height:auto;
}
.achievement__note{
	margin-top:5px;
}

/* ==================== 安心 ==================== */
.safety{
	position:relative;
	padding:30px 0 50px 0;
	background:var(--color-bg-gray) url(../images/bg_gray.jpg) center top no-repeat;
	background-size:150% 200px;
}
.safety:before{
	display:none;
}
.safety-card-list{
	flex-direction:column;
	gap:5px;
	margin-bottom:8px;
	margin-top:-20px;
}
.safety-card{
	width:100%;
}
.safety-card__label{
	font-size:var(--fs-body-text-sp);
}
.safety-card__ttl{
	font-size:var(--fs-large-sp);
	padding-left:0;
	padding-right:0;
	padding-top:70px;
}
.safety-card__img{
	height:auto !important;
	min-height:inherit;
}
.safety-card__desc{
	padding:5px 15px 20px 15px;
	min-height:inherit;
}
.safety-simple{
	padding:30px 20px;
}
.safety-simple__lead{
	font-size:var(--fs-subtitle-sp);
	line-height:1.6;
	margin:0 0 20px;
}
.safety-point-list{
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:8px;
}

.safety-point{
	width:calc(( 100% - 16px)/3);
}
.safety-point__circle{
	width:60px;
	height:60px;
	margin:-30px auto 10px;
}
.safety-point__label{
	margin:0;
	font-size:var(--fs-label-sp);
	font-weight:700;
}
.safety-point__label strong{
	font-size:var(--fs-label-xl);
	font-weight:700;
	margin:0 0.1em;
}
.safety-point__label strong span{
	font-size:var(--fs-label-m);
}
.safety-point-wide-list{
	gap:8px;
}
.safety-point-wide{
	display:block;
	width:auto;
	height:auto;
	font-size:var(--fs-label);
	font-weight:700;
	flex:1;
	padding:15px 0;
	line-height:1.3;
}
.safety-point-wide span{
	display:block;
	font-size:var(--fs-large-m);
}

/* ==================== 流れ ==================== */
.flow{
	padding:50px 0;
}

.flow__sub{
	font-size:var(--fs-lead-sp);
	font-weight:500;
	margin-top:-1em;
}
.flow-step-list{
	flex-direction:column;
	gap:16px;
	margin: 20px 0 15px;
}
.flow-step{
	width:auto;
	padding:20px 15px 20px 65px;
	text-align:left;
	position:relative;
	border-radius: 10px;
	box-shadow:2px 4px 6px rgba(0,0,0,.2);
}
.flow-step__num{
	display:inline-block;
	padding:3px 10px;
	background:var(--color-primary);
	color:#fff;
	border-radius:20px;
	margin-bottom:16px;
	line-height:1.2;
	margin-right:5px;
}
.flow-step__ico{
	height:auto;
	position:absolute;
	left:20px;
	top:20px;
	width:30px;
}
.flow-step-list li:last-child .flow-step__ico{
	width:25px;
}
.flow-step__ttl{
	font-size:var(--fs-label-sp);
	font-weight:700;
	margin:0 0 12px;
	display:inline-block;
}
.flow-step__desc{
	line-height:1.7;
	margin:0;
	text-align:left;
}
.flow__action{
	margin:0 auto;
	width: 80%;
	text-align:center;
}

/* ==================== お知らせ ==================== */
.news{
	padding:50px 0;
}
.news-important{
	align-items:flex-start;
	gap:8px;
	padding:18px 16px;
	flex-direction:column;
}
.news-important__label{
	width:auto;
}
.news-important__item{
	gap:2px;
	padding:8px 0;
	flex-direction:column;
}
.news-list__item{
	gap:8px 16px;
	flex-wrap:wrap;
}
.news-tag{
	padding:5px 15px;
	font-size:var(--fs-utility-btn-sp);
	line-height:1.2;
}

/* ==================== よくある質問 ==================== */
.faq{
	padding:50px 0 0 0;
}

.faq-item__q{
	gap:16px;
	padding:15px 15px;
	font-size:var(--fs-lead-sp);
	font-weight:500;
	line-height:1.4;
}
.faq-item__mark{
	font-size:var(--fs-large-sp);
}
.faq-item__toggle{
	width:18px;
	height:18px;
}
.faq-item__a{
	padding:0 24px 20px 50px;
}

.faq__actions{
	gap:8px;
}

@media (max-width: 400px) {
	.faq__actions{
	 flex-direction: column;
	}
}



.faq__actions a{
	min-width: inherit;
	width: 40%;
	line-height: 1.2;
}
.faq__actions .btn-round{
	min-width: inherit;
	width:100%;
	padding: 10px 25px 10px 10px;
	box-sizing:border-box;
	font-size: var(--fs-base);
}

.faq-cta{
	padding-bottom:40px;
}

.faq__lead{
	font-size:var(--fs-lead-sp);
}
.faq-contact{
	padding:24px 20px;
	text-align:center;
	flex-direction:column;
}
.faq-contact__img{
	position:absolute;
	left:-15px;
	bottom:-4px;
	flex:none;
	width:20%;
}
.faq-contact__body{
	text-align:center;
}
.faq-contact__ttl{
	font-size:var(--fs-m);
	margin-bottom:5px;
}
.faq-contact__num{
	gap:10px;
	justify-content:center;
	position:relative;
}
.faq-contact__num img{
	display:none;
}
.faq-contact__num a{
	font-size:var(--fs-large-l);
	font-weight:500;
}
.faq-contact__arrow{
	width:20px;
	height:20px;
	position:absolute;
	right:-20px;
}
.faq-contact__arrow:before{
	border-width:4px 0 6px 8px;
	margin-left:2px;
}
.faq-contact__hours{
	font-size:var(--fs-m);
}

/* ==================== でんき知恵袋 ==================== */
.wisdom{
	padding:50px 0;
}
.wisdom-list{
	flex-wrap:nowrap;
	flex-direction:column;
	gap:20px;
}
.wisdom-card{
	width:auto;
	display:flex;
	gap:10px;
}

.wisdom-card a{
	display:flex;
	gap:10px;
}
.wisdom-card__img{
	margin-bottom:0px;
	border-radius:0;
	width:45%;
	max-width:250px;
	min-width:100px;
}
.wisdom-card__img img{
	display:block;
	width:100%;
}
.wisdom-card__ttl{
	display:block;
	font-weight:700;
	line-height:1.6;
	margin-bottom:10px;
}
.wisdom-card__cat{
	display:block;
	color:#777;
}
.wisdom__action{
	margin:0;
	text-align:right;
}

/* ==================== 3つのリンク ==================== */
.links3{
	padding:30px 0;
}
.links3-list{
	flex-direction:column;
	gap:15px;
	margin-bottom:15px;
}
.link-card{
	width:100%;
	padding:20px 20px;
	box-sizing:border-box;
}
.link-card__ico{
	width: 30px;
}
.link-card__ttl{
	margin:0 0 10px;
}
.link-card__desc{
	margin:0 0 18px;
}
.link-card__action{
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.2;
}

.btn-flat{
	min-width:0;
	width:100%;
	height: auto;
	padding:18px 15px;
	line-height: 1.2;
}
.contract-banner{
	padding:15px 20px;
	flex-direction:column;
	text-align:center;
	border-radius: 10px;
}

.contract-banner__body{
	text-align:center;
	margin-bottom:8px;
}
.contract-banner__ttl{
	margin:0 0 8px;
}
.contract-banner__desc{
	line-height:1.7;
	margin:0;
	max-width:inherit;
	text-align:left;
}
.contract-banner__action{
	width:85%;
}

.btn-outline-navy{
	padding:15px 15px 15px 20px;
	border-radius:6px;
}
.contract-banner__action .btn-outline-navy{
	width:100%;
	box-sizing:border-box;
	justify-content:center;
}

.btn-outline-navy__arrow{
	width:14.4px;
	height:14.4px;
}
.btn-outline-navy__arrow:before{
	border-width:3.2px 0 3.2px 5.6px;
}

/* ==================== フッター ==================== */
#footer{
	padding:40px 0 0 0;
}
.footer__top{
	gap:0;
	flex-direction:column;
}
.footer__company{
	width:100%;
	margin-bottom:0px;
	line-height:1.4;
	background:url(../images/footer_bg.png) right 10% no-repeat;
	background-size:140px auto;
}
.footer__nav,
.footer__area{
	display:none;
}

.footer__name{
	margin:0 0 6px;
	font-weight:700;
	font-size:var(--fs-label-m);
}
.footer__address{
	margin:0;
	line-height:1.6;
}
.footer__address br{
	display:none;
}
.footer__tel-num{
	margin:0 10px 0 0;
	font-weight:700;
	color:var(--color-text);
	display:inline-block;
}
.footer__tel-num a{
	color:inherit;
	text-decoration:none;
}
.footer__tel-hours{
	margin:0;
	font-weight:500;
	display:inline-block;
}

.footer__btn{
	display:none;
}
.footer__btn:not(:has(~ .footer__btn)){
	display:block;
	margin-top:20px;
}

.btn-footer{
	height:auto;
	font-size:var(--fs-btn-text-sp);
	padding:15px 15px;
}
.btn-footer:after{
	right:8.4px;
	width:16px;
	height:16px;
}
.btn-footer:before{
	right:13.8px;
	border-width:3.2px 0 3.2px 5.6px;
}
.footer-link{
	display:block;
	margin-top:20px;
}
.footer-link a{
	color:var(--color-navy);
	font-size:var(--fs-m);
}

.footer__legal{
	padding:10px 0;
}
.footer__legal-links{
	font-size:var(--fs-sup);
}

.footer__copyright{
	text-align:left;
	padding:15px 4%;
}

.link-blank{
	background:url(../images/icon_blank.png) right center no-repeat;
	background-size:10px auto;
	padding-right:15px;
}

/* ==================== 下層ページ共通：パンくず ==================== */
.breadcrumb{
	padding:10px 0;
}

/* ==================== 下層ページ共通 ==================== */
.block-ttl{
	align-items:flex-start;
	gap:10px;
	margin:0 0 20px;
	font-size:var(--fs-title);
}
.block-ttl:before{
	width:24px;
	height:5px;
	margin-top:.7em;
}

.block-ttl__sub{
	font-size:var(--fs-label-m);
	line-height:1.5;
	margin-bottom: 15px;
}

/*sectionの余白共通*/
.page-section{
	margin-bottom:var(--section-gap-sp);
}
.page-last-section{
	padding-bottom: 50px;
}
/* ページタイトル直後の最初のセクションに自動で余白を付与する共通ルール（PC側と対） */
.page-title + .page-section{
	padding-top:var(--section-gap-title-sp);
}

/**/
.bg-radius-block{
	border-radius:10px;
	padding:20px 15px;
	margin-bottom:20px !important;
}
.card-ttl{
	margin:0 0 16px;
	letter-spacing:normal;
}
.card-hr{
	margin:10px 0 20px;
}
.card-hr__mt{
	margin:0 0 25px !important;
}

.cream-content-bg{
	border-radius:10px 10px 0 0;
	padding:50px 0;
}

/* ==================== ページヘッダー（h1） ==================== */
.page-title{
	padding:30px 0;
	display: block;
	height: auto;
}
.page-title__inner{
	padding:0;
	flex-direction:column;
	text-align:center;
	gap:20px;
}
.page-title__body{
	text-align:center;
}
.page-title__badge{
	padding:6px 16px;
}
.page-title__ttl{
	font-size:var(--fs-large-sp);
	justify-content:center;
}
.page-title__ttl img{
	width:36px;
	height:36px;
}
.page-title__img{
	width:220px;
	height:147px;
	margin-top:20px;
}
.page-title__img.page-title__imgL{
	width:260px;
}
.page-title__img img:first-child{
	width:100%;
	height:100%;
	object-fit:contain;
}
.page-title__img-badge{
	width:46px;
	height:46px;
}

/* ---- シンプルレイアウト各ページ：PC側で個別指定したfont-sizeをSPでは共通値に戻す ---- */
.page-title--eco .page-title__ttl,
.page-title--plan .page-title__ttl,
.page-title--fee .page-title__ttl,
.page-title--sim .page-title__ttl{
	font-size:var(--fs-label-xl);
}

/* ---- イレギュラーレイアウト（ヒーロー画像あり：market・basic・midnight） ---- */
.page-title--market,
.page-title--basic,
.page-title--midnight{
	height: auto;
}
.page-title--market .page-title__ttl,
.page-title--basic .page-title__ttl,
.page-title--midnight .page-title__ttl{
	font-size:var(--fs-label-xl);
}

/* ---- 新規受付停止中プラン一覧 ---- */
.page-title--stop{
	padding:42px 0;
}

/* ==================== プラン一覧ページ（/plan/） ==================== */
.plan-list-lead{
	padding:30px 0 0;
}
.plan-list-lead__text{
	margin:0 auto;
	font-size:var(--fs-body-text-sp);
	line-height:1.6;
}
.plan-list-lead .plan-list-lead__text{
	text-align:center;
}

.plan-compare-block{
	margin-top:60px;
}

.plan-eco-banner{
	margin-top:20px;
	padding-bottom: 80px;
}
.plan-eco-banner__lead{
	margin:0 0 16px;
	font-size:var(--fs-body-text-sp);
	line-height:1.6;
}
.plan-eco-banner__box{
	width:100%;
	margin:0 auto;
}
.plan-eco-banner__link{
	gap:16px;
	height:100px;
	padding:0 20px;
}
.plan-eco-banner__icon{
	width:50px;
	height:50px;
}
.plan-eco-banner__text{
	font-size:18px;
	line-height:1.3;
}
.plan-eco-banner__link .ico-arrow-circle{
	right:16px;
}

/* ==================== プラン詳細本文：背景ラッパー ==================== */
.plan-content-bg{
	padding:40px 0 30px 0;
}

/* ==================== プラン ==================== */
.plan-recommend__box{
	border-radius:16px;
	padding:20px 20px;
}
.plan-recommend__lead{
	width:260px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:0px;
}
.plan-recommend__lead span{
	font-size:var(--fs-label-sp);
}
.check-list{
	display:inline-block;
	width:auto;
	gap:16px;
}
.check-list__item{
	font-size:var(--fs-label-sp);
	text-align:left;
	background:url(../images/icon_check_circle.png) left center no-repeat;
	background-size:25px auto;
	padding:6px 0 6px 30px;
}


.check-list__ico{
	width:26px;
	height:26px;
}
.check-list__item .mark{
	white-space:nowrap;
}

.market-linked__sub{
	font-size:var(--fs-label-sp);
}
.market-graph{
	width:100%;
	padding:12px;
}
.market-graph__badge{
	left:auto;
	top:10px;
	width:80px;
	height:80px;
	font-size:20px;
	right:10px;
}
.market-graph__badge:after{
	bottom:-9px;
	border-width:10px 6px 0 6px;
}

.saving-list{
	gap:12px;
}
.saving-card{
	gap:16px;
	width:100%;
	padding:16px 20px;
}
.saving-card__thumb{
	width:100px;
}
.saving-card__ico img{
	width:100%;
	height:auto;
}
.saving-card__label{
	font-size:var(--fs-sub-link-sp);
}
.saving-card__num{
	font-size:var(--fs-num-lg-sp);
	text-align:center;
	flex:1;
}
.saving-card__unit{
	font-size:var(--fs-label-sp);
}

.pricenavi__eyebrow{
	margin:0 0 16px;
	font-size:var(--fs-label-sp);
}
.pricenavi__action{
	margin:0 0 0px;
}
.pricenavi__btn{
	gap:10px;
	padding:16px 12px;
	width:100%;
	justify-content:center;
	white-space:nowrap;
	box-sizing:border-box;
}
.pricenavi__btn img{
	width:auto;
	height:auto;
	max-width:44px;
}
.pricenavi__desc{
	margin:0 0 24px;
	font-size:var(--fs-base);
}

.pricenavi-notice{
	position:relative;
	width:auto;
	max-width:100%;
	height:auto;
	margin:0 auto;
	border-radius:16px;
	padding:20px 20px 100px 20px;
	text-align:center;
}
.pricenavi-notice img{
	vertical-align:middle;
}
.pricenavi-notice__ico{
	position:relative;
	left:inherit;
	top:inherit;
	width:50px;
}
.pricenavi-notice__mail{
	position:relative;
	left:inherit;
	top:inherit;
	width:50px;
}
.pricenavi-notice__img{
	position:absolute;
	right:50%;
	top:inherit;
	margin-right:-50px;
	bottom:0;
	width:100px;
}
.pricenavi-notice__text{
	position:relative;
	left:inherit;
	top:inherit;
	width:auto;
	margin:20px 0 0 0;
	font-weight:700;
	line-height:1.6;
}

.price-table{
	padding:40px 0;
}
.price-table__plan{
	font-size:var(--fs-title);
}
.price-table__note{
	margin:20px 0 10px;
	font-size:var(--fs-sub-link-sp);
}
.price-unit-table-wrap{
	width:100%;
}
.price-unit-table{
	width:650px;
}

.price-unit-table.table-set01{
	width: 500px;
}

.price-unit-table th,
.price-unit-table td{
	padding:10px 10px;
	font-size:var(--fs-lead-sp);
}
.price-unit-table th{
	font-size: 14px;
}

/* ---- 料金構成表（画像） ---- */
.price-composition__img{
	margin:20px 0 0 0;
}

/* ---- 料金構成表（HTML実装／ベーシックプラン・ミッドナイトプラン共通） ---- */
.fee-comp{
	margin:20px 0 0 0;
	border-radius:16px;
	padding:20px 16px;
}
.fee-comp__combo{
	border-radius:12px;
	padding:20px 14px;
}
.fee-comp__combo-box{
	width:50%;
	padding:22px 8px;
	border-radius: 8px;
	font-size:var(--fs-label);
}

.fee-comp__connector{
	height:14px;
}
.fee-comp__row{
	border-radius:12px;
	padding:20px 12px;
}
.fee-comp__ttl{
	margin:0 0 6px;
	font-size:17px;
}
.fee-comp__formula{
	font-size:12px;
}
.fee-comp__combo-formula{
	margin:6px 0 0;
	font-size:var(--fs-base-s);
}
.fee-comp__note-mark{
	margin-left:2px;
	font-size:11px;
}
.fee-comp__plus{
	width:36px;
	height:36px;
	border:2px solid #fff;
	font-size:18px;
	line-height:32px;
}
.fee-comp__plus::before{
	width:14px;
	height:2px;
}
.fee-comp__plus::after{
	width:2px;
	height:14px;
}

.fee-comp__plus--combo{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}
.fee-comp__connector .fee-comp__plus{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

/* ---- 料金単価表：複数table（ミッドナイトプラン等） ---- */
.price-unit-block{
	margin:0 0 40px;
}
.price-unit-block__ttl{
	margin:0 0 12px;
	font-size:var(--fs-label);
}

/* ---- こんな生活の方におすすめです：電力量料金グラフ＋おトク額（ミッドナイトプラン） ---- */
.midnight-saving{
	gap:24px;
	flex-direction:column;
	margin-top:30px;
}
.midnight-saving__chart{
	width:260px;
}
.midnight-saving__box{
	width:100%;
	max-width:320px;
}
.midnight-saving__ttl{
	padding:10px;
	border-radius:8px;
	font-size:22px;
	line-height:1.3;
	border-width:2px;
}
.midnight-saving__compare{
	font-size:18px;
	line-height:1.3;
	margin-bottom:10px;
}
.midnight-saving__season{
	width:84px;
	padding:8px 0;
	font-size:18px;
	line-height:1.3;
}
.midnight-saving__price{
	font-size:32px;
	line-height:1.3;
}
.midnight-saving__price small{
	font-size:18px;
	line-height:1.3;
}

.fee-link{
	width: 75%;
	margin-left: auto;
	margin-right: auto;
	padding:24px 0;
}

.caution{
	padding:0 0 40px;
}
.caution__box{
	padding:24px 20px;
}
.caution__ttl{
	font-size:var(--fs-label);
}

.plan-list-links{
	padding:40px 0 50px;
}
.plan-link-list{
	gap:18px;
	flex-direction:column;
}
.plan-link-card{
	width:90%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 8px;
}

.plan-link-card__flag{
	width:200px;
	top:-18px;
	left:50%;
	margin:0 0 0 -100px;
	padding:3px 20px;
}

.plan-link-card__head{
	padding:13px 5px 13px;
	line-height: 1.3;
}

.plan-link-card--current .plan-link-card__head{
	padding:20px 5px 13px;
	border-radius:4px 4px 0 0;
}

.plan-link-card__note{
	margin:0 0 5px;
}


.plan-link-card__ttl .ico-arrow-circle{
	width:15px;
	height:15px;
	top:0.1em;
}
.plan-link-card__ttl .ico-arrow-circle:before{
	top:50%;
	left:50%;
	width:0;
	height:0;
	border-width:3px 0 3px 5px;
	border-color:transparent transparent transparent currentColor;
	transform:translate(-20%,-50%);
}

.plan-link-card__ttl img{
	width: 23px;
}

.plan-link-card__target{
	line-height: 1.3;
	padding:13px 5px 18px;
}
.plan-link-card__target li{
	font-size:var(--fs-label-sp);
	margin-bottom: 10px;
	padding-left:22px;
	font-weight: 500;
}
.plan-link-card__target li:before{
	top:.4em;
	width:15px;
	height:11px;
	background:url(../images/icon_check.png) left center no-repeat;
	background-size:15px auto;
}
.plan-link-card__target li .mark{
	white-space:nowrap;
}

/* ページトップ
------------------------------------------------------------ */
.pagetop{
	right:4%;
	bottom:calc(var(--sp-bottom-bar-h) + 16px);
}
.pagetop span{
	width:56px;
	height:56px;
}

.eco-intro{
	padding:30px 0 40px;
}
.eco-intro__body{
	display:block;
	max-width:none;
	width:100%;
}
.eco-intro__ttl{
	font-size:var(--fs-label-xl);
	margin:0 0 10px;
}
.eco-intro__sub{
	font-size:var(--fs-middle-sp);
	margin:0;
}
.eco-intro__price-row{
	gap:12px;
	margin:20px 0;
}
.eco-intro__price-box{
	padding:25px 10px;
	min-width:100px;
}
.eco-intro__plus{
	font-size:var(--fs-title-sp);
}
.eco-intro__note{
	line-height:1.7;
	margin:0;
}
.eco-intro__icons-sp{
	display:block;
	margin:30px auto 0;
}
.eco-intro__icons-sp img{
	width:80%;
	height:auto;
}
.eco-features{
	padding:40px 0 40px;
	margin-top:30px;
}
.eco-features__ttl{
	font-size:var(--fs-title-sp);
	margin:0 -40px 50px 0;
}
.eco-features__ttl img{
	width:40px;
	margin-left:8px;
	margin-top: -15px;
}

.eco-feature-list{
	gap:8px;
	margin:0;
	padding:0;
}
.eco-feature__num{
	position:absolute;
	top:-20px;
	left:50%;
	width:40px;
	z-index:1;
	margin-left:-20px;
}
.eco-feature__card{
	padding:20px 10px 20px 10px;
	line-height:1.2;
}
.eco-feature__label{
	font-size:var(--fs-base);
	font-weight:700;
	margin:15px 0 0px;
	height:2.5em;
}
.eco-feature__value{
	padding-bottom:14px;
	font-size:var(--fs-title-sp);
	color:#ff9900;
	width:auto;
	line-height:1.2;
	height:80px;
	margin-top:-0.5em;
}
.eco-feature__value em{
	padding-bottom:5px;
}
.eco-feature__value--sub{
	font-size:var(--fs-subtitle-sp);
}
.eco-feature__value--num{
	font-size:56px;
	margin:0 0 -0.5em 0px;
}

.eco-detail-list{
	margin:30px 0 30px;
}
.eco-detail{
	padding:34px 20px 36px;
	margin:0 0 24px;
}
.eco-detail:last-child{
	margin-bottom:0;
}
.eco-detail__tag{
	padding:5px 15px;
	font-size:var(--fs-base);
	margin:0 0 12px;
}
.eco-detail__ttl{
	font-size:var(--fs-title-sp);
	margin:0 0 20px;
}
.eco-detail__flow{
	margin:0;
}
.eco-detail__flow img{
	width:100%;
}
.eco-detail__body{
	display:block;
	text-align:left;
}
.eco-detail__icon{
	width:140px;
	margin:0 auto 20px;
}
.eco-detail__content{
	text-align:left;
	display:block;
	text-align:center;
}
.eco-detail__stat{
	margin:0 0 8px;
}
.eco-detail__stat-badge{
	margin-right:10px;
	width:64px;
	height:64px;
	font-size:14px;
}
.eco-detail__stat-value{
	font-size:var(--fs-large-sp);
	margin:0;
}
.eco-detail__stat-note{
	font-size:14px;
	margin:0 0 24px;
	text-align:left;
}
.eco-detail__highlight{
	font-size:var(--fs-title-sp);
	margin:0 0 8px;
	text-align:left;
}
.eco-detail__small-note{
	font-size:14px;
	margin:0 0 20px;
	text-align:left;
}
.eco-detail__caption{
	font-size:var(--fs-base);
	margin:0;
	text-align:left;
}
.eco-detail__head{
	margin:0 0 30px;
}
.eco-detail__badge-circle{
	margin-right:10px;
	width:58px;
	height:58px;
	font-size:11px;
}
.eco-detail__head .eco-detail__ttl{
	margin:0;
	font-size: var(--fs-label);
}
.eco-perk-list{
	gap:30px;
	flex-direction:column;
	align-items:center;
	margin:0;
	padding:0;
}
.eco-perk{
	width:340px;
	display:flex;
	align-items:center;
	gap:20px;
	text-align:left;
}
.eco-perk__icon{
	margin:0;
	height: auto;
	width: 30%;
	max-width: 120px;
	flex:none;
}
.eco-perk__icon-mail{
	width:90px;
}
.eco-perk__icon-cert{
	width:70px;
}
.eco-perk__body{
	flex:1;
}
.eco-perk__ttl{
	font-size: var(--fs-label-sp);
	margin:0 0 10px;
}
.eco-perk__desc{
	font-size:var(--fs-base);
	margin:0;
}

.eco-price-section{
	padding:0 0 60px;
}
.eco-price-block{
	margin:0 0 60px;
}
.eco-price-block:last-child{
	margin-bottom:0;
}
.eco-price-block__ttl{
	font-size:var(--fs-title-sp);
	margin:0 0 10px;
	line-height: 1.4;
}
.eco-price-block__note{
	font-size:var(--fs-base);
	margin:0 0 24px;
}
.eco-price-table-wrap{
	width:100%;
}
.eco-price-table{
	width:550px;
}
.eco-price-table th,
.eco-price-table td{
	padding:10px 10px;
	font-size:var(--fs-label-s);
	line-height: 1.4;
}
.eco-price-table th{
	font-size:var(--fs-lead-sp);
}




.eco-price-table col.col--name{
	width:40%;
}
.eco-price-table__amount{
	font-size:20px;
}
.eco-price-table__unit{
	font-size:14px;
}

/* ==================== 給油特典ページ（/benefit/gasoline/） ==================== */
.gasoline-intro{
	padding:30px 0 0;
}
.gasoline-intro__ttl{
	margin:0;
	font-size:22px;
	line-height:1.6;
}
.gasoline-intro__banner{
	margin:20px auto 0;
}
.gasoline-intro__banner img{
	width:100%;
	height:auto;
}
.gasoline-benefit{
	margin-top:30px;
	padding:40px 0;
}
.gasoline-inner{
	width:92%;
	margin:0 auto;
	padding-bottom:50px;
}
.gasoline-block{
	margin:0 0 40px;
}
.gasoline-block__ttl{
	width:100%;
	height:56px;
	margin:0 0 20px;
	border-radius:28px;
	font-size:var(--fs-title-sp);
	line-height:1;
}
.gasoline-benefit-card{
	display:block;
	gap:0;
	padding:30px 20px;
	border-radius:12px;
}
.gasoline-benefit-card__item + .gasoline-benefit-card__item{
	margin-top:30px;
}
.gasoline-benefit-card__img{
	margin:0;
	height:auto;
}
.gasoline-benefit-card__img img{
	margin:0 auto;
	height:auto;
}
.gasoline-benefit-card__item:nth-child(1) .gasoline-benefit-card__img img{
	width:200px;
}
.gasoline-benefit-card__item:nth-child(2) .gasoline-benefit-card__img img{
	width:260px;
}
.gasoline-benefit-card__text{
	margin:16px auto 0;
	font-size:var(--fs-label-s);
	line-height:1.6;
	width:auto;
}
.gasoline-benefit-card__item:nth-child(1) .gasoline-benefit-card__text,
.gasoline-benefit-card__item:nth-child(2) .gasoline-benefit-card__text{
	width:auto;
}
.gasoline-notes{
	margin:20px 0 0;
	padding:0;
}
.gasoline-notes li{
	line-height:1.8;
}
.gasoline-steps{
	margin:0;
	padding:0;
}
.gasoline-steps__item{
	display:block;
	gap:0;
	padding:30px 20px;
	border-radius:12px;
	text-align:center;
	height:auto;
	position:relative;
}
.gasoline-steps__item + .gasoline-steps__item{
	margin-top:16px;
}
.gasoline-steps__img{
	margin:0;
	display:block;
	margin:0 auto;
}

.gasoline-steps__item:nth-child(1) .gasoline-steps__img img{
	width:150px;
}
.gasoline-steps__item:nth-child(2) .gasoline-steps__img img{
	width:160px;
}
.gasoline-steps__item:nth-child(3) .gasoline-steps__img img{
	width:190px;
}
.gasoline-steps__num{
	width:40px;
	height:40px;
	margin:0;
	font-size:24px;
	line-height:1;
	position:absolute;
	left:20px;
	top:20px;
}
.gasoline-steps__body{
	padding-top:16px;
	text-align:left;
}
.gasoline-steps__desc{
	margin:0;
	line-height:1.6;
	text-align:left;
}
.gasoline-steps__caption{
	margin:12px 0 0;
	line-height:1.5;
}
.gasoline-steps__banner{
	margin:10px 0 0;
}
.gasoline-steps__banner img{
	width:100%;
	max-width:380px;
	margin:0 auto;
	height:auto;
}
.gasoline-steps__note{
	margin:10px 0 0;
	line-height:1.6;
}
.gasoline-pdf-lead{
	margin:40px 0 0;
	line-height:1.6;
}
.gasoline-pdf-link{
	margin:16px 0 0;
}
.btn-pdf{
	gap:12px;
	width:100%;
	height:70px;
	font-size:14px;
	line-height:1.5;
}
.btn-pdf__icon{
	width:32px;
	height:auto;
}

/* ==================== 引越しに伴う手続き（/howto/hikkoshi/） ==================== */
.hikkoshi-sec{
	padding:50px 0;
}
.hikkoshi-sec__ttl{
	margin:0 0 24px;
	font-size:var(--fs-label-m);
	line-height:1.5;
	text-align: left;
}
.hikkoshi-sec__lead{
	margin:0 0 40px;
	line-height:1.8;
	text-align:left;
}
.hikkoshi-sec__sub{
	margin:0 0 16px;
	line-height:1.5;
}

.hikkoshi-compare{
	flex-direction:column;
	gap:6px;
	margin:0 0 30px;
}
.hikkoshi-compare__box{
	width:100%;
	padding:20px 15px 22px;
}
.hikkoshi-compare__label{
	margin:0 0 8px;
	line-height:1.3;
}
.hikkoshi-compare__badge{
	margin:0 0 16px;
	padding:5px 20px;
	font-size:var(--fs-lead-sp);
	line-height:1.3;
}
.hikkoshi-compare__img{
	height:100px;
	margin:0 0 16px;
}
.hikkoshi-compare__note{
	font-size:var(--fs-lead-sp);
	line-height:1.6;
}
.hikkoshi-compare__arrow{
	width:45px;
	height:120px;
	margin:-40px 6px;
	line-height:1.2;
	transform:rotate(90deg);
}
.hikkoshi-compare__arrow span{
	transform:rotate(-90deg);
	margin-left: -10px;
}

.hikkoshi-tel-box{
	display: block;
	flex-wrap:wrap;
	width:100%;
	gap:10px 16px;
	padding:18px 20px;
	text-align: center;
}
.hikkoshi-tel-box__label{
	width:100%;
	margin:0;
	font-size:var(--fs-lead-sp);
	line-height:1.3;
}
.hikkoshi-tel-box__hours{
	margin-top:4px;
	line-height:1.4;
}
.hikkoshi-tel-box__call{
	display: inline-block;
	margin-top: 10px;
}

.hikkoshi-tel-box__ico{
	margin:0 10px 0 0;
	width: 32px;
}

.hikkoshi-tel-box__num{
	margin:0;
	font-size:var(--fs-large-l);
	line-height:1.2;
}
.hikkoshi-tel-box .ico-arrow-circle{
	margin:0;
}

.hikkoshi-web-btn{
	width:100%;
	gap:16px;
	padding:16px 20px;
}

.hikkoshi-web-btn__ico{
	width: 50px;
	margin-left: 0;
}

.hikkoshi-web-btn__label{
	font-size:var(--fs-label);
	line-height:1.4;
	margin: 0;
}

.hikkoshi-outline-btn{
	width:100%;
	gap:12px;
	padding:16px 20px;
}
.hikkoshi-outline-btn__label{
	font-size:var(--fs-label);
	line-height:1.4;
}

.hikkoshi-note-box p{
	margin:0 0 8px;
	line-height:1.8;
}

/* ==================== 申込み分岐ページ（/formbranch/） ==================== */
.formbranch-bg{
	padding:40px 0 30px;
}

.formbranch-tel{
	margin:0 0 40px;
}
.formbranch-tel__ttl{
	margin:0 0 20px;
	font-size:var(--fs-label-m);
	font-weight:700;
	line-height:1.5;
}
.formbranch-tel__box{
	width:100%;
	padding:25px 20px;
	border-radius:10px;
}
.formbranch-tel__label{
	margin:0 0 16px;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.3;
}
.formbranch-tel__btn{
	display:block;
	width:100%;
	padding:16px 50px 16px 20px;
	border-radius:16px;
	text-align:left;
}
.formbranch-tel__ico{
	width:30px;
}
.formbranch-tel__num{
	display:inline-block;
	margin-left:12px;
	font-size:var(--fs-large-l);
	font-weight:700;
	line-height:1.2;
	vertical-align:middle;
}
.formbranch-tel__btn .ico-arrow-circle{
	right:16px;
}
.formbranch-tel__hours{
	margin:16px 0 0;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.3;
}

.formbranch-web{
	margin:0 0 40px;
}
.formbranch-web__ttl{
	margin:0 0 20px;
	font-size:var(--fs-label-m);
	font-weight:700;
	line-height:1.5;
}
.formbranch-web__list{
	flex-direction:column;
	gap:20px;
}
.formbranch-web__item{
	width:100%;
	padding:24px 20px 26px;
	border-radius:14px;
}
.formbranch-web__btn{
	gap:16px;
	padding:16px 20px;
	border:3px solid #fff;
	border-radius:14px;
}
.formbranch-web__badge{
	width:56px;
	height:56px;
}
.formbranch-web__badge img{
	max-width:26px;
	max-height:42px;
}
.formbranch-web__label{
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.4;
}
.formbranch-web__note{
	margin:16px 0 0;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.6;
}

.formbranch-mypage__ttl{
	margin:0 0 12px;
	font-size:var(--fs-label-m);
	font-weight:700;
	line-height:1.5;
}
.formbranch-mypage__sub{
	margin:0 0 20px;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.6;
}
.formbranch-mypage__box{
	width:100%;
	padding:25px 20px;
	border-radius:10px;
}
.formbranch-mypage__btn{
	display:block;
	width:100%;
	padding:16px 50px 16px 20px;
	border-radius:16px;
	text-align:left;
}
.formbranch-mypage__ico{
	width:26px;
}
.formbranch-mypage__label{
	display:inline-block;
	margin-left:12px;
	font-size:var(--fs-label);
	font-weight:700;
	line-height:1.3;
	vertical-align:middle;
}
.formbranch-mypage__btn .ico-arrow-circle{
	right:16px;
}
.formbranch-mypage__note{
	margin:16px 0 0;
	font-size:var(--fs-small);
	font-weight:700;
	line-height:1.7;
	text-align:left;
}

/* ==================== 特定商取引法に基づく表記（/howto/tokutei/） ==================== */
.tokutei-sec{
	padding:40px 0 50px;
}

.tokutei-info__row{
	flex-direction:column;
	align-items:flex-start;
	padding:20px 0;
}
.tokutei-info__label{
	width:100%;
	margin:0 0 8px;
	font-weight:700;
}
.tokutei-info__value{
	font-weight:500;
	line-height:1.6;
}

.tokutei-h2{
	margin:50px 0 30px;
	font-weight:700;
}

.tokutei-block{
	margin:36px 0 0;
}
.tokutei-block__ttl{
	margin:0 0 12px;
	font-weight:700;
}
.tokutei-block__text--mt{
	margin-top:20px;
}

/* ==================== 会社概要（/company/） ==================== */
.company-sec{
	padding:40px 0 50px;
}

.company-photo{
	float:none;
	width:100%;
	max-width:344px;
	margin:0 auto 30px;
}
.company-photo img{
	height:auto;
	aspect-ratio:344/390;
}
.company-info__row{
	flex-direction:column;
	align-items:flex-start;
	padding:20px 0;
}
.company-info__label{
	width:100%;
	margin:0 0 8px;
	font-weight:700;
}
.company-info__value{
	font-weight:500;
	line-height:1.6;
}

/* ==================== 電気工事店様（/electrical-contractor/） ==================== */
.eleccon-content-bg{
	padding-bottom:50px;
}

.eleccon-lead{
	margin:0 0 30px;
}
.eleccon-lead__ttl{
	margin:0 0 20px;
	font-weight:700;
}
.eleccon-lead__text{
	font-weight:400;
	line-height:1.8;
	text-align:left;
}

.eleccon-box__ttl{
	font-weight:700;
}
.eleccon-box__ttl--mt{
	margin-top:36px;
}
.eleccon-box__text{
	font-weight:400;
	line-height:1.8;
}
.eleccon-box__text--mt{
	margin-top:20px;
}

.eleccon-tel-box{
	max-width:none;
	margin:30px 0 0;
}

/* ==================== 電気料金シミュレーション（/simulation-market02/） ==================== */
.page-title__ico{
	width:34px;
	height:auto;
}

.sim-form-sec{
	padding:20px 0 40px;
}
.sim-form-sec__lead{
	margin:0 0 30px;
	font-size:var(--fs-lead-sp);
	line-height:1.6;
	text-align:left;
}
.sim-form{
	width:90%;
}
.sim-form__row{
	flex-wrap:wrap;
	margin-bottom:16px;
}
.sim-form__num{
	width:28px;
	height:28px;
	margin-right:10px;
	font-size:var(--fs-label-s);
}
.sim-form__label{
	width:auto;
	flex:1;
}
.sim-form__control{
	flex:none;
	width:100%;
	margin-top:10px;
}
.sim-form__select,
.sim-form__input{
	height:60px;
	padding:0 36px 0 16px;
	border-radius:8px;
}
.sim-form__input{
	padding-right:56px;
}
.sim-form__control:after{
	right:18px;
}
.sim-form__unit{
	right:16px;
	font-size:var(--fs-label-sp);
}
.sim-form__control--capacity .sim-form__select{
	padding-right:56px;
}
.sim-form__control--capacity .sim-form__unit{
	right:36px;
}
.sim-form__error{
	margin-top:16px;
	font-size:13px;
}
.sim-form__submit-wrap{
	margin-top:30px;
}
.sim-form__submit{
	width:100%;
	height:50px;
	font-size:var(--fs-label-m);
	border-radius:12px;
}

.sim-result{
	padding:40px 0 50px;
	background:url(../images/bg_sim_result_curve.png) center -10px no-repeat, linear-gradient(180deg, #e6f9ff 0%, #cbf0ff 100%);
	background-size:100% auto, 100% 100%;
}
.sim-result__ttl-img{
	margin-bottom:10px;
}
.sim-result__date{
	margin-bottom:24px;
	font-size:var(--fs-sub-link-sp);
}
.sim-result__cards{
	flex-direction:column;
	align-items:center;
	gap:20px;
	margin-bottom:24px;
}

.sim-card{
	width:100%;
}
.sim-card__head{
	padding:16px 20px;
}
.sim-card__head-sub{
	margin-bottom:6px;
	font-size:var(--fs-label-sp);
}
.sim-card__head-ttl{
	font-size:var(--fs-middle-sp);
}
.sim-card__summary{
	padding:20px 20px 16px;
}
.sim-card__catch{
	margin-bottom:14px;
}
.sim-card__catch-year{
	font-size:var(--fs-label-s);
}
.sim-card__catch-txt{
	font-size:23px;
}
.sim-card__price{
	margin:0 13px;
	padding:10px 0;
}
.sim-card__price-label{
	font-size:14px;
}
.sim-card__price-num{
	font-size:38px;
}
.sim-card__price-unit{
	font-size:21px;
}
.sim-card__mascot{
	bottom:-5px;
	right:10px;
	width:57px;
}
.sim-card__toggle{
	padding-bottom:18px;
}
.sim-card__toggle-ico{
	width:22px;
	height:22px;
}
.sim-card__toggle-ico:before{
	border-width:6px 5px 0 5px;
}
.sim-card__detail{
	padding:0 20px 20px;
}
.sim-card__annual{
	margin-top: 20px;
	margin-bottom:20px;
	line-height: 1.2;
}
.sim-card__annual-label{
	display: block;
	margin:0;
	font-size:13px;
}
.sim-card__annual-num{
	font-size:30px;
}
.sim-card__annual-unit{
	font-size:21px;
}
.sim-card__banner{
	margin-bottom:14px;
	padding:8px;
	font-size:14px;
}
.sim-card__banner::after{
	bottom:-8px;
	border-width:8px 7px 0 7px;
}
.sim-card__item{
	height:auto;
	min-height:64px;
	padding:10px 16px;
	margin-bottom:8px;
}
.sim-card__item-label{
	font-size:14px;
}
.sim-card__item-value{
	font-size:14px;
}
.sim-card__item-value strong{
	font-size:30px;
}
.sim-card__item-value em{
	margin-left:16px;
	font-size:14px;
}

.sim-current{
	width:100%;
	padding:24px 20px;
}
.sim-current__ttl{
	margin-bottom:12px;
	font-size:var(--fs-label-sp);
}
.sim-current__price{
	margin-bottom:12px;
	font-size:var(--fs-middle-sp);
}
.sim-current__note{
	font-size:var(--fs-sub-link-sp);
	line-height:1.6;
}

.sim-notes{
	padding:30px 0 40px;
}
.sim-notes__list{
	font-size:var(--fs-fine-print-sp);
	line-height:1.7;
}

/* ==================== 各種調整金について（/plan/fee/） ==================== */

.fee-block .block-ttl{
	font-size:var(--fs-label-l);
}
.fee-block__sub-ttl{
	margin:0 0 16px;
	font-size:var(--fs-l);
	line-height:1.4;
}
.fee-note-list{
	gap:12px;
}
.fee-note-item{
	padding:14px 16px;
	font-size:var(--fs-lead-sp);
	line-height:1.6;
}
.fee-desc{
	margin:24px 0 0;
	font-size:var(--fs-lead-sp);
	line-height:1.7;
}
.fee-label{
	margin:40px 0 16px;
	font-size:17px;
	line-height:1.4;
}
.fee-formula-list{
	gap:12px;
}
.fee-formula-item{
	padding:14px 16px;
	font-size:var(--fs-lead-sp);
	line-height:1.6;
}
.fee-rate-table{
	width:100%;
}
.fee-rate-table th,
.fee-rate-table td{
	width:50%;
	height:60px;
	padding:8px 10px;
	font-size:var(--fs-lead-sp);
}
.fee-example-list{
	gap:12px;
}
.fee-example-item{
	padding:16px;
	border-radius:8px;
}
.fee-example-item__ttl{
	margin:0 0 6px;
	font-size:var(--fs-lead-sp);
	line-height:1.5;
}
.fee-example-item__body{
	font-size:var(--fs-small-sp);
	line-height:1.6;
}
.fee-pdf-grid{
	gap:10px;
	margin:24px 0 0;
}
.fee-pdf-item{
	width:100%;
}
.fee-pdf-item a{
	height:72px;
	padding:0 16px;
}
.fee-pdf-item__text{
	gap:10px;
}
.fee-pdf-item__year{
	font-size:17px;
}
.fee-pdf-item__size{
	font-size:12px;
}
.fee-pdf-item__icon{
	width:32px;
}

/* ==================== 新規受付停止中プラン一覧（/plan/stop/） ==================== */
.stop-plan{
	padding-bottom: 50px;
}
.stop-plan__group{
	margin-bottom:40px;
}
.stop-plan__group-ttl{
	margin:0 0 20px;
	padding:14px 0;
}
.stop-plan__cards{
	grid-template-columns:1fr;
	gap:20px 0;
}
.stop-card{
	height:auto;
	padding:30px 20px;
}
.stop-card__name{
	font-size:var(--fs-label-xl);
}
.stop-card__msg{
	margin-top:16px;
	font-size:var(--fs-lead-sp);
}
.stop-plan__more{
	margin-top:40px;
}
.stop-plan__more-btn{
	width:100%;
	height:60px;
	font-size:var(--fs-btn-text-sp);
	border-radius:8px;
}
.stop-plan__more-btn:after{
	right:20px;
	border-width:6px 0 6px 9px;
}

/* ==================== 受付停止中プラン詳細（/plan/family/ 等） ==================== */
.plan-stop-notice{
	padding:40px 24px;
	border-radius:12px;
}
.plan-stop-notice__name{
	font-size:var(--fs-label-xl);
}
.plan-stop-notice__msg{
	margin-top:24px;
	font-size:var(--fs-middle-sp);
}
.plan-stop-notice__link-text{
	margin-top:20px;
	font-size:var(--fs-lead-sp);
}
.plan-stop-notice__desc{
	margin-top:20px;
}
.price-composition__note{
	margin-top:16px;
}

/* ==================== 夜の料金はずっと一緒！（/plan/night/） ==================== */
.night-saving{
	padding:40px 0 30px;
}
.night-saving__card{
	padding:24px 20px 30px;
	border-radius:12px;
}
.night-saving__ttl{
	margin-bottom:24px;
	font-size:var(--fs-label-xl);
}
.night-saving__cards{
	flex-direction:column;
	align-items:center;
	gap:40px;
}
.night-saving__img{
	width:80%;
	margin-left: auto;
	margin-right: auto;
	max-width:342px;
}
.night-saving__note{
	margin-top:16px;
}

/* ==================== 404エラーページ（/404.html） ==================== */
.error-404{
	padding:60px 0;
}
.error-404__box{
	padding:36px 20px 40px;
	border-radius:12px;
}
.error-404__illust{
	margin-bottom:24px;
}
.error-404__illust img{
	width:200px;
}
.error-404__ttl{
	font-size:var(--fs-label-xl);
}
.error-404__desc{
	margin-top:24px;
}
.error-404__btn-wrap{
	margin-top:32px;
}
.error-404__btn{
	width:100%;
	max-width:340px;
	height:64px;
}

/* ==================== 他社からの切替えに伴う手続き（/howto/join/） ==================== */
.join-content-bg{
	padding:50px 0;
}
.join-content-bg .bg-radius-block{
	margin-bottom:20px !important;
}

.join-apply__sub{
	line-height:1.5;
}
.join-apply__lead{
	margin:0 0 24px;
	line-height:1.8;
	text-align:left;
}
/* .hikkoshi-web-btn / .hikkoshi-tel-box のSP用スタイルは共通パーツ側の定義をそのまま利用 */

.join-prepare__sub{
	line-height:1.5;
}
.join-prepare__body{
	flex-direction:column-reverse;
	gap:20px;
	margin-bottom:24px;
}
.join-prepare__img{
	width:100%;
}

.join-meter__toggle{
	margin-top:24px;
	padding:18px 50px;
}
.join-meter__toggle-ico{
	right:14px;
	width:28px;
	height:28px;
}
.join-meter__toggle-ico:before{
	width:13px;
}
.join-meter__toggle-ico:after{
	height:13px;
}
.join-meter__inner{
	padding:24px 0 0;
	flex-direction: column;
}

.join-meter__img{
	width: auto;
}
.join-meter__img-item{
	margin-bottom: 20px;
}
.join-meter__row{
	flex-direction:column;
	gap:20px;
	margin-bottom:24px;
	padding: 20px 0 0 0;
}
.join-meter-item{
	margin-bottom:20px;
}
.join-meter__img{
	width:100%;
}

.join-flow-bar{
	padding:14px 34px 14px 20px;
	margin:0 auto 20px;
	clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}
.join-flow__note,
.join-flow__notes{
	text-align:left;
}

.join-flow__notes{
	margin:20px auto 10px;
}

.join-faq{
	padding:50px 0;
}
.btn-round.join-faq__btn{
	min-width: 280px;
}
.btn-round.join-faq__btn img{
	margin-right: 8px;
	margin-left: -20px;
	width: 30px;
}


/* ==================== お支払い方法（/howto/payment/） ==================== */
/* セクション自体のpaddingは共通パーツ.cream-content-bgを使用 */
.payment-select__row{
	gap:24px;
	margin-bottom:24px;
}



.payment-select__icon{
	height:80px;
}
.payment-select__or{
	width:30px;
	height:30px;
	margin-bottom:0;
	padding:0 0 4px;
	font-size:var(--fs-lead-sp);
}
.payment-select__label{
	font-size: var(--fs-label);
}
.payment-select__desc{
	text-align:left;
}
.payment-section__lead{
	margin-bottom:24px;
}
.payment-block__ttl{
	margin-bottom:16px;
}
.payment-block{
	margin-bottom:20px;
}
.payment-block:last-of-type{
	margin-bottom:24px;
}
.payment-section__note{
	margin-bottom:16px;
}
.payment-brand-list{
	margin-bottom:24px;
}
.payment-brand-list img{
	height:36px;
}
.payment-notes{
	margin-bottom:24px;
}
.payment-pdf-list{
	gap:14px;
}
.payment-pdf-item a{
	width:100%;
	height:auto;
	min-height:80px;
	padding:14px 16px;
}
.payment-pdf-item__icon{
	width:32px;
}

/* ==================== 契約変更・解約（/howto/kaiyaku/） ==================== */
.kaiyaku-content-bg .hikkoshi-sec__lead{
	margin:0;
}
.kaiyaku-proc__row{
	flex-direction:column;
	gap:40px;
}
.kaiyaku-list{
	margin-bottom:24px;
}
.kaiyaku-list li{
	margin-bottom:12px;
}
.kaiyaku-proc__col .hikkoshi-outline-btn{
	height:auto;
	padding:16px 20px;
}
.kaiyaku-tel-box{
	height:auto;
	gap:30px;
	padding:18px 20px;
}
.kaiyaku-tel-box__ico{
	width: 40px;
}
.kaiyaku-tel-box__num{
	font-size:var(--fs-large-l);
}

/* ==================== 供給エリア・契約条件（/howto/kyokyu/） ==================== */
.kyokyu-area__row{
	flex-direction:column;
	align-items:center;
	gap:24px;
}
.kyokyu-area__pref{
	text-align:left;
}
.kyokyu-area__mascot{
	margin:16px 0 0;
}
.kyokyu-area__map img{
	width:200px;
}
.kyokyu-cond__row{
	flex-wrap:wrap;
	gap:12px;
	margin-bottom:24px;
}
.kyokyu-cond__item{
	flex:0 0 calc(50% - 6px);
}
.kyokyu-cond__label{
	padding:10px;
	font-size:var(--fs-base);
}
.kyokyu-cond__value{
	padding:14px 8px;
	font-size:var(--fs-base);
	line-height:1.5;
}

/* ==================== ポイント特典（/benefit/dpoint/） ==================== */
.point-hero-lead{
	font-size:var(--fs-label-sp);
}
.point-hero .promo__catch--point{
	flex-wrap:wrap;
}
.point-hero .promo__catch--point .promo__catch-text{
	font-size:22px;
}
.point-hero .promo__catch-num--sm{
	font-size:60px !important;
}
.point-hero .promo__catch-num--sm i{
	font-size:46px;
}
.point-hero .promo__catch--point img{
	width: 60px;
}
.point-hero__catch{
	margin-bottom:14px;
	font-size:var(--fs-large-sp);
}
.point-hero__action{
	margin-top:20px;
}
.point-hero__action-link{
	font-size:var(--fs-label-sp);
	min-width: inherit;
	width: 90%;
}

.point-hero .point-box-list{
	gap:15px;
	margin:0 0 24px;
}
.point-hero .point-box__label{
	font-size:var(--fs-m);
}
.point-hero .point-hero__action-link{
	max-width:100%;
	padding:14px 44px 14px 20px;
	font-size:16px;
}
.point-hero .point-hero__action-link:after{
	right:16px;
	border-width:6px 0 6px 9px;
}
.point-page-bg{
	padding:50px 0;
}
.point-block + .point-block{
	margin-top:40px;
}
.point-block__hero img{
	width:260px;
}
.point-block__head{
	margin-bottom:20px;
}
.point-block__logo{
	gap:8px;
	padding:0 0 8px;
}
.point-block__logo img{
	width:108px;
}
.point-block__logo-text{
	font-size:26px;
}
.point-block__mascot{
	top:-18px;
	right:0;
	width:76px;
	display: none;
}
.point-block__box{
	padding:24px 16px;
	margin-bottom:20px;
}
.point-block__card{
	gap:16px;
	margin-bottom:20px;
}
.point-block__card img{
	width:104px;
}
.point-block__wordmark{
	font-size:22px;
}
.point-block__wordmark i{
	margin-right:6px;
	font-size:36px;
}
.point-block__amount{
	padding:12px 10px;
	font-size:22px;
}
.point-block__intro{
	margin-bottom:40px;
	font-size:var(--fs-base);
}
.point-block__head-text{
	padding-right:0;
	font-size:22px;
}
.point-block__mascot--waon{
	top:-14px;
	right:0;
	width:78px;
}
.point-block__wordmark-waon{
	margin-bottom:12px;
}
.point-block__card-waon{
	margin-bottom:20px;
}
.point-block__card-waon img{
	width:260px;
}
.point-ttl{
	margin-bottom:15px;
	font-size:var(--fs-title-sp);
}
.point-table-wrap{
	margin-bottom:60px;
}
.point-table{
	display:block;
}
.point-table tbody,
.point-table tr{
	display:block;
}
.point-table th,
.point-table td{
	display:block;
	width:auto;
	padding:10px 16px;
}
.point-table th{
	text-align:left;
}

.point-table__inline-logo{
	margin: 15px 0;
	width: 180px;
}
.point-timing{
	margin-bottom:60px;
}
.point-timing img{
	width: 60%;
	min-width: 200px;
}


.point-apply{
	flex-direction:column;
	gap:30px;
	margin-bottom:40px;
}
.point-apply__col{
	padding:24px 20px;
}
.point-apply__step{
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	padding:0;
}
.point-accordion{
	margin-top:24px;
}
.point-accordion__toggle{
	padding:18px 50px 18px 18px;
}
.point-accordion__toggle-ttl{
	font-size:var(--fs-base);
}
.point-accordion__toggle-ico{
	right:14px;
	width:28px;
	height:28px;
}
.point-accordion__toggle-ico:before{
	width:13px;
}
.point-accordion__toggle-ico:after{
	height:13px;
}
.point-accordion__inner{
	padding:24px 0 0;
}
.point-accordion__inner.point-accordion__inner-wide{
	padding-top: 30px;
}
.point-nocard__cols{
	flex-direction:column;
	gap:16px;
}
.point-nocard__col{
	flex-direction:column;
	align-items:flex-start;
	gap:12px;
	padding:20px;
}
.point-nocard__col-ico img{
	width:32px;
}
.point-nocard__col-ttl{
	white-space:normal;
	font-size: var(--fs-label);
}
.point-btn-outline{
	min-width:0;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}
.point-merit-bubble{
	margin-bottom:30px;
	text-align: center;
}
.point-merit-bubble img{
	margin: 0 auto;
}
.point-merit-group + .point-merit-group{
	margin-top:30px;
}
.point-merit-group__head{
	margin:0 0 -10px;
}
.point-merit-group__label{
	height:40px;
	margin: 0 -25px 0 0;
}
.point-merit-group__mascot{
	top:0;
	transform:translateY(-50%);
}
.point-merit-group__mascot--star{
	right:4%;
	width:56px;
}
.point-merit-group__mascot--chicks{
	left:4%;
	top:auto;
	bottom:-14px;
	width:58px;
	transform:none;
}
.point-merit-group__box{
	padding:24px 16px;
}
.point-merit-strip{
	margin-top:20px;
}
.point-merit-strip img{
	max-width:90%;
	height:80px;
	margin: 0 auto;
}
.point-merit-closing img{
	margin: 0 auto;
}

.point-merit-cards{
	gap:12px;
}
.point-merit-card,
.point-merit-cards--6 .point-merit-card{
	flex:0 0 calc(50% - 6px);
	min-width:0;
	padding:16px 8px;
}
.point-merit-notes{
	text-align:left;
}
.point-merit-3col{
	flex-direction:column;
	flex-wrap:nowrap;
	gap:16px;
	padding:10px;
	border-radius:16px;
}
.point-merit-3col__item{
	flex:none;
	width:100%;
	padding:24px 20px;
}
.point-detail-card{
	padding:30px 20px;
}
.point-detail-card__link .point-btn-outline{
	min-width:240px;
	width: 60%;
}
.point-table__inline-logo--waon{
	width:280px;
}

/* ==================== イデックスでんきが選ばれる理由（/about/） ==================== */
.about-idex{
	padding:50px 0;
}
.about-idex__head{
	margin:0 0 20px;
}
.about-idex__logo{
	width:320px;
}
.about-idex__text{
	font-size:var(--fs-base);
	line-height:1.8;
}

.about-reason{
	padding:50px 0;
}
.about-reason__ttl{
	margin:0 0 24px;
	font-size:26px;
}
.about-reason-list{
	flex-direction:column;
	gap:16px;
	margin:0 0 20px;
}
.about-reason-card{
	width:100%;
	padding:24px 20px;
}
.about-reason-card__img{
	height:110px;
}
.about-reason-card__text{
	font-size:var(--fs-label);
}

.about-safety{
	padding:50px 0;
}
.about-safety__ttl{
	margin:0 0 30px;
	font-size:24px;
}

.about-sec-ttl{
	margin:0 0 20px;
}
.about-sec-lead{
	margin:0 0 30px;
	text-align:left;
}

.about-elecmix{
	padding:50px 0;
}
.about-elecmix-list{
	flex-direction:column;
	gap:20px;
	margin:0 0 30px;
}
.about-elecmix-card{
	width:100%;
	padding:30px 20px;
}
.about-elecmix-card__badge{
	font-size:var(--fs-base);
}

.about-co2{
	padding:50px 0;
}
}
